/ home / newsletters /
Bitcoin Optech Newsletter #201
今週のニュースレターでは、パッケージリレーのためのBIPドラフトの要約と、 BitcoinのCovenantの設計におけるMiner Extractable Value(MEV)に関する懸念の概要を掲載しています。 また、Bitcoin Stack Exchangeのトップの質問とその回答、 新しいリリースとリリース候補の発表、人気のあるBitcoinインフラストラクチャソフトウェアの注目すべき変更など、 恒例のセクションも含まれています。
ニュース
-
● パッケージリレーの提案: Gloria Zhaoは、 Bitcoin-DevメーリングリスにパッケージリレーのためのBIPドラフトを投稿しました。 これは、子トランザクションが親トランザクションを承認するための手数料の貢献を確実にするために、 CPFPによる手数料の引き上げの信頼性を大幅に高めることができる機能です。 LNを含む、いくつかのコントラクトプロトコルは、既に信頼性の高いCPFPによる手数料の引き上げを必要としており、 パッケージリレーはそのセキュリティとユーザービリティを向上させるでしょう。 BIPのドラフトは、BitcoinのP2Pプロトコルに4つの新しいメッセージの追加を提案しています:
-
sendpackages
は、2つのピアがサポートするパッケージの受け入れ機能についてのネゴシエートを可能にします。 -
getpckgtxns
は、パッケージの一部として以前に通知されたトランザクションを要求します。 -
pckgtxns
は、パッケージの一部であるトランザクションを提供します。 -
pckginfo1
は、トランザクション数、各トランザクションの識別子(wtxid)、トランザクションの合計サイズ(weight)、 トランザクションの総手数料を含む、トランザクションのパッケージに関する情報を提供します。 パッケージの手数料率は、手数料をweightで割ることで計算できます。さらに、既存の
inv
およびgetdata
メッセージは、新しいinventory(inv)タイプMSG_PCKG1
で更新され、 ノードはトランザクションに関するpckginfo1
メッセージを送信する意思があること、 およびそのピアが特定のトランザクションのためにpckginfo1
メッセージを要求するのに使用できるようにします。これらのメッセージを使用すると、ノードは
inv(MSG_PCKG1)
メッセージを使用して、 あるトランザクションについてpckginfo1
の受信に関心があることをそのピアに伝えることができます。 例えば、ピアが他の方法では無視するかもしれない低手数料率の未承認の親トランザクションでも高手数料率の子トランザクションがある場合などです。 どのピアもpckginfo1
メッセージを要求した場合、そのメッセージの情報を使用して、 本当にそのパッケージに興味があるかどうかを判断し、 高手数料率の子を検証するのにダウンロードする必要のある全てのトランザクションのwtxidを知ることができます。 実際のトランザクションは、getpckgtxns
メッセージを使って要求し、pckgtxins
メッセージで受信することができます。BIPのドラフトは、プロトコルにのみフォーカスしていますが、 Zhaoのメールは追加のコンテキストを提供し、欠陥が見つかった代替設計を簡単に説明し、 追加の詳細を含むプレゼンテーションのリンクを掲載しています。
-
● Miner Extractable Valueの議論: 開発者の/dev/fd0は、 Bitcoin-DevメーリングリストにOP_CHECKTEMPLATEVERIFY (CTV)に関する 9回めのIRCメーティングの概要を投稿しました。 ミーティングで議論された他のトピックの中で、 Jeremy Rubinは(CTVでは無効な)再帰的なCovenantに関して彼が聞いたいくつかの懸念を挙げました。 それらの懸念の1つは、Bitcoin Coreが提供するような単純なトランザクション選択アルゴリズムの実行から得られる量を大幅に超える Miner Extractable Value (MEV)を作り出すことでした。
MEVは、パブリックなオンチェーン取引プロトコルの使用により、 マイナーが取引を先行させることができるEthereumおよび関連プロトコルにおいて、特に懸念されるようになりました。 例えば、次の2つの未承認トランザクションの両方が次のブロックでマイニング可能であることを想像してみてください:
- アリスはアセットxをボブに1 ETHで売却する
- ボブはxをキャロルに2 ETHで売却する(ボブは1 ETHの利益を得る)
この2つの交換が、パブリックなオンチェーン取引プロトコルで行われる場合、 マイナーはボブを取引から切り離すことができます。例えば:- アリスはアセットxをマイナーのマロリーに1 ETHで売却する
- マイナーのマロリーはxをキャロルに2 ETHで売却する(マロリーは1 ETHの利益を得て、ボブは何も得られない)
これは明らかにボブにとって問題ですが、ネットワークにもいくつかの問題を引き起こします。 最初の問題は、マイナーがMEVの機会を見つける必要があることです。上記の単純な例では些細なことですが、 より複雑な機会は計算量の多いアルゴリズムによってのみ見つけることができます。 特定の計算量で見つけられる値の量は、各マイナーのハッシュレートとは無関係であるため、 2人のマイナーが協力すればMEVの獲得に必要な計算量を半分にすることができます。 これは、マイニングの集中化を促す規模の経済を生み出し、ネットワークがトランザクションの検閲に対してより脆弱になる可能性があります。 BitMex Researchのレポートによると、 この種のMEVトランザクションを仲介する集中型のサービスは、 レポートが書かれた時点でEthereumのハッシュレートの90%で使用されていたようです。 最大のリターンを得るために、そのサービスは競合するトランザクションのマイニングを抑制するよう変更することができ、 マイナーの100%が使用した場合(または50%以上のマイナーによって使用され、ブロックチェーンの再編成がされた場合)、 事実上トランザクションを検閲する権限を与えることができます。2つめの問題は、マロリーが1 ETHのMEVを獲得するブロックを生成したとしても、 他のマイナーが自分がMEVを獲得するために代替ブロックを生成できることです。 このようなブロックの再マイニングの圧力は、フィー・スナイピングの圧力を悪化させ、 最悪の場合、トランザクションのファイナリティを決定するための承認スコアが役に立たなくなり、 ネットワークを保護するためにProof of Workを使用する能力が失われる可能性があります。
Bitcoinは、Ethereumのようなアカウント型ではなく、UTXOを使用しているため、 MEVに対して特に脆弱なタイプのプロトコルを実装するのは難しくなっています。 しかし、CTVのミーティングでJeremy Rubinは、 再帰的なCovenantによりBitcoinのUTXO上にアカウントベースのシステムを実装することが容易になるため、 MEVがBitcoinのプロトコル設計にとって重要な将来の懸念事項になる可能性が高くなると指摘しています。
メーリングリストの/dev/fd0の要約に返信した開発者のZmnSCPxjは、 最大のオンチェーンプライバシーのために設計されたプロトコルを奨励する仕組みのみを採用することを提案しました。 そのプライバシーは、マイナーがMEVを行うために必要な情報を否定することになります。 このニュースレターを書いている時点では、メーリングリストにそれ以上のコメントは寄せられていませんが、 Twitterやその他の場所での言及から、 開発者がBitcoinのプロトコル設計におけるMEVの影響をますます考慮するようになっている証拠が見受けられます。
Bitcoin Stack Exchangeから選ばれたQ&A
Bitcoin Stack ExchangeはOptech Contributor達が疑問に対して答えを探しに(もしくは他のユーザーの質問に答える時間がある場合に)アクセスする、 数少ない情報ソースです。この月刊セクションでは、前回アップデート以降にされた、最も票を集めた質問・回答を紹介しています。
-
● ニーモニックをアルファベット順に並べると、どのくらいのエントロピーが失われますか? HansBKKは、12個または24個の単語からなるシードフレーズをアルファベット順に並べた場合、どれだけのエントロピーが失われるか疑問に思っています。 Pieter Wuilleは、可能性の数、エントロピー、12個と24個のブルート・フォースの平均推測数などの一連の指標を分析し、 単語の繰り返しについての考察も述べています。
-
● PSBTによるTaprootの署名: 署名方法をどうやって決定しますか? Guggeroは、Taprootで有効なSchnorr署名を提供する方法として、 BIP86のコミットメントを伴うkeypathの使用、Scriptツリーのルートへのコミットメントを伴うkeypathの使用、 scriptpathの使用の3つを挙げています。Andrew Chowは、 各署名方法がPSBT内でどのように示されるかというGuggeroのアウトラインを確認しています。
-
● ブロックの高速化はどのようにマイニングの集中化を引き起こしますか? Murchは、ブロック間隔が短くなると再編成がより頻繁に行われるようになる理由と、 ブロック伝播の遅延の観点からそれが大規模なマイナーにどのような利益をもたらすかにフォーカスしています。
-
● コイン選択における”waste metric”とはどういう意味ですか? Murchは、コインを使用する際、Bitcoin Coreは「仮想的な長期の手数料率で同じインプットを使用した場合と比較して、 現在の手数料率でのインプットのセットについて手数料を測定する」ものとしてwaste metricヒューリスティックを使用すると説明しています。 このヒューリスティックは、Branch and Bound (BnB)、Single Random Draw (SRD)およびナップザックアルゴリズムから得られる コイン選択候補を評価するために使用されています。
-
● なぜ
OP_CHECKMULTISIG
はSchnorr署名のバッチ検証と互換性がないのですか? Pieter Wuilleは、OP_CHECKMULTISIG
は、どの署名がどの公開鍵に対応しているかを示さないため バッチ検証と互換性がなく、BIP342の新しいOP_CHECKSIGADD
opcode導入の動機となったことを指摘しています。
リリースとリリース候補
人気のBitcoinインフラストラクチャプロジェクトの新しいリリースとリリース候補。 新しいリリースにアップグレードしたり、リリース候補のテストを支援することを検討してください。
-
● Core Lightning 0.11.1は、一方的なチャネルクローズトランザクションが不必要にブロードキャストされる問題および、 C-Lightningノードのクラッシュを引き起こす別の問題を解消するバグ修正リリースです。
-
● LND 0.15.0-beta.rc3は、この人気のあるLNノードの次のメジャーバージョンのリリース候補です。
注目すべきコードとドキュメントの変更
今週のBitcoin Core、Core Lightning、Eclair、LDK、 LND、libsecp256k1、Hardware Wallet Interface (HWI)、Rust Bitcoin、BTCPay Server、BDK、Bitcoin Improvement Proposals(BIP)、およびLightning BOLTsの注目すべき変更点。
-
● Bitcoin Core #20799は、segwitをサポートしていないピアにブロックとトランザクションをより速く、 より帯域幅効率の良い方法でリレーするバージョン1のCompact Blockリレーのサポートを削除しました。 バージョン2は引き続き有効で、segwitをサポートするピアへの高速で効率的なリレーを可能にします。
-
● LND #6529は、
constrainmacaroon
コマンドを追加し、 既に作成されたmacaroon(認証トークン)の権限を制限できるようにしました。 これまでは、権限の変更には新しいmacaroonの作成が必要でした。 -
● LND #6524は、LNDのaezeedのバックアップスキームのバージョン番号を0から1に上げました。 これは、aezeedのバックアップから資金をリカバリする将来のソフトウェアに、 ウォレットに受信したTaprootのアウトプットをスキャンするように指示します。
特別な感謝
通常のニュースレターの寄稿者に加えて、特に今週はMEVに関する追加情報を提供してくれたJeremy Rubinに感謝します。 誤りや抜けがあった場合は、我々が単独で責任を負います。