/ home / newsletters /
Bitcoin Optech Newsletter #197
今週のニュースレターでは、OP_CHECKTEMPLATEVERIFY
のアクティベートに関する議論の要約と、
Bitcoin Stack Exchangeのトップの質問とその回答、
新しいソフトウェアのリリースとリリース候補、人気のあるBitcoinインフラストラクチャソフトウェアの最近の変更など
恒例のセクションを掲載しています。
ニュース
-
● CTVのアクティベートに関する議論: Jeremy Rubinは、Bitcoin-Devメーリングリストに、 提案中のOP_CHECKTEMPLATEVERIFY (CTV) opcodeのBIP119ルールを適用する意思があるかどうかを マイナーがシグナリングし始めることができるソフトウェアをリリースする計画を投稿しました。 今後いくつかの2,016ブロック(2週間)のリターゲット期間に90%のブロックがポジティブなシグナルを送ると、 Rubinのソフトウェアを使用するユーザーは、11月初旬頃からCTVのルールを適用し始めることになります。
Rubinは、Bitcoinユーザーが今すぐCTVをアクティベートする方が良いと考える理由について、 以下のように詳しく説明してます:
-
● 一貫性: CTVは安定した仕様と実装を持っている
-
● 人気: Bitcoinコミュニティでよく知られている多くの人々や組織がCTVをサポートしている
-
● 実現性: CTVがBitcoinに強く望まれる特性に違反していると主張する異論はない
メーリングリストでは、Rubinのメールに直接、あるいは他のスレッドで、10人以上の人が返信しています。 注目すべき返信をすべてまとめることはできませんが、特に興味深いと思われるコメントをいくつか紹介します:
-
● Anthony Townsは、CTVのsignetのトランザクションを分析しました。 ほぼすべてが同じソフトウェア(Sapio)で構築されているように見え、 これはCTVの公開調査が不足していることを示している可能性があります。 彼はさらに、新しい機能を追加するためにコンセンサスルールを変更することは、 新しい機能を使用する予定がない人でも、すべてのBitcoinユーザーにリスクが生じるため、 その機能が「リスクを正当化するのに十分な価値がある」という公的な証拠を非採用者に提供することが重要だと述べています。 この投稿に続いて、CTVのsignetで追加の実験が行われました。
-
Matt Coralloはまた、コンセンサスを変更することは誰にとっても大きなコストを生むので、 提案が変更により最大の価値を提供すると確信できる場合にのみソフトフォークを試みるべきであると主張しました。 Covenantの場合、Coralloは「最も柔軟で有用で、できればプライベートな」設計を見たいと考えています。 その後、「私が見た限りでは、CTVが本当に良い選択肢であるかどうかは明らかではない」と述べています。
-
Russell O’Connorは、#bitcoin-wizards IRCで、 提案されているCTVの使用法の1つは、base58checkやbech32およびbech32mなどの 既存のBitcoinアドレスで通信できないことを指摘しました。 Bare Script(scriptPubKey内に直接登場するScript)を介してCTVを使用するその方法は、 ウォレット開発者が、独自の内部トランザクションでBare CTVのみを使用するか、 アドレスに通常含まれる情報を伝達するための特別なツールを作成する必要があります。 あるいは、一部のアプリケーション(Vaultなど)にCTVを使用したいウォレットは、 後でBare CTVを使用することをコミットしたP2TRアドレスへの支払いを受け取ることができます。
アドレスの制限に関するO’Connorの議論は、Townsによってメーリングリスト上で言及されました。 O’Connorはさらに詳細を返信し、Bare CTVのサポートがCTVのBIP119の仕様の一部でない場合、 よりシンプルでより構成しやすい(他のopcodeと組み合わせて有用なScriptを生成しやすい)別の設計を提唱すると述べました。 しかし、それ以上に、より一般的な
OP_TXHASH
の設計(ニュースレター #185参照)を好んでいます。 Rubinは、いくつかの反論を返信しました。 -
David Hardingは、CTVの用途が明白でないか、他のCovenantの構成がより一般的な用途に適しているため、 CTVが長期的にはあまり使用されないかもしれないという懸念を伝えました。 この場合、将来のコンセンサスコードの開発者は、CTVのコードを維持し、 後で提案されるコンセンサスの変更との潜在的な相互作用性を分析するという永続的な負担を負わなければならなくなります。 Hardingは、5年間BitcoinにCTVを一時的に追加し、 その間に人々がそれをどのように使用したかについてデータを収集し、 5年後にBitcoinのユーザーが維持する価値があると判断しない限り、自動的に無効にすることを提案しました。 このアプローチに賛成する回答者はおらず、ほとんどの回答者が、この方法のコストは高すぎる、 もしくはメリットが低すぎると主張していました。また、CTVが有効な間に作成されたブロックを将来完全に検証したい人は、 依然としてCTVの検証コードを必要とするため、5年後にopcodeが無効になったとしても、 CTVのコードは永久に維持する必要があるかもしれないと指摘されました。
-
Antoine “Darosior” Poinsotは、CTVの代わりに、 BIP118
SIGHASH_ANYPREVOUT
(APO)の少し修正されたバージョンを、 あるいは少なくともCTVのアクティベートの前にこれをアクティベートすることについてフィードバックを求めました。 APOを修正することで、アプリケーションによってはより高いコストになるものの、 CTVの機能をエミュレートすることができます。APOをアクティベートすることで、 LNで提案されているEltooレイヤーを有効にするという本来の用途も可能になり、 より効率的でほぼ間違いなくより安全なLNチャネルの状態の更新が可能になります。 -
● James O’Beirneは、彼のCTVベースのSimple Vaultは、 そのシンプルさとそれが実運用可能であれば多くのBitcoinユーザーのセキュリティを大幅に強化する能力があるため、 異なるCovenantの設計を評価するためのベンチマークとして使用できると提案しました。 Darosiorは、このチャレンジを最初に受け入れ、Simple Vaultのコードを CTVから
SIGHASH_ANYPREVOUT
の実装に移植しました。
この要約が書かれている時点では、メーリングリストでの議論はとても活発なままでした。 また、TwitterやIRC、Telegramのチャットなどでも、CTVとCovenantの技術に関する興味深い会話がいくつか見受けられました。 それらの会話の参加者は、重要な洞察をBitcoin-Devメーリングリストで共有することをお勧めします。
上記の議論の後、Jeremy Rubinは、 CTVのアクティベートを可能にするソフトウェアのバイナリビルドを直ちにリリースしないことを発表しました。 その代わりに、彼は受け取ったフィードバックを評価し、他のCTVのサポーターと協力して修正したアクティベートプランを提案する可能性がとのことです。 Optechは、今後のニュースレターでこの件に関する最新情報を提供します。
-
Bitcoin Stack Exchangeから選ばれたQ&A
Bitcoin Stack ExchangeはOptech Contributor達が疑問に対して答えを探しに(もしくは他のユーザーの質問に答える時間がある場合に)アクセスする、 数少ない情報ソースです。この月刊セクションでは、前回アップデート以降にされた、最も票を集めた質問・回答を紹介しています。
-
● secp256k1曲線の生成点Gはどのように選ばれたのでしょうか? Pieter Wuilleは、生成点Gを選択した正確な根拠は公表されていないが、 珍しい特性がその構造を示唆している可能性があると述べています。
-
● 現実的なP2Pメッセージの最大ペイロードサイズはどのくらいですか? 0xb10cは、
MAX_SIZE
(32MB)の有効なP2Pメッセージが存在するかどうかを尋ねています。 Pieter Wuilleは、MAX_PROTOCOL_MESSAGE_LENGTH
(4MB、 Segwitの一部として2MBから増加) がサービス拒否攻撃を防止するために受信メッセージのサイズを実際に制限しているものであると説明しています。 -
● 古いブロックがなくなっている証拠はありますか? Lightlikeは、KIT統計ウェブサイトのブロック伝播時間の履歴チャートを参照し、 #8068で最初に実装されたCompact Blockリレー(BIP152)が、 時間の経過とともに古いブロックの頻度を減らす要因になっていると指摘しています。
-
● コインベーストランザクションのインプットフィールドにはVOUTフィールドがありますか? Pieter Wuilleは、コインベーストランザクションのインプットの要件を概説しています: prevout hashは
0000000000000000000000000000000000000000000000000000000000000000
でなければならず、 prevout indexはffffffff
で、2-100バイトのscriptSig
が必要で、 BIP34からscriptSig
はブロック高から始まる必要があります。
リリースとリリース候補
人気のBitcoinインフラストラクチャプロジェクトの新しいリリースとリリース候補。 新しいリリースにアップグレードしたり、リリース候補のテストを支援することを検討してください。
-
● Bitcoin Core 23.0は、この重要なフルノードソフトウェアの次のメジャーバージョンです。 リリースノートには、 新しいウォレットのデフォルトとしてディスクリプターウォレットが追加され、 ディスクリプターウォレットがTaprootを使用して bech32mアドレスへの受け取りを簡単にサポートするなど、複数の改善点が記載されています。
-
● Core Lightning 0.11.0は、この人気のあるLNノードソフトウェアの次のメジャーバージョンのリリースです。 この新しいバージョンでは、他の機能やバグ修正に加えて、 同じピアに対する複数のアクティブチャネルと、 ステートレスインボイスへの支払いをサポートしています。
-
● Rust-Bitcoin 0.28は、このBitcoinライブラリの最新リリースです。 最も大きな変更点は、Taprootのサポートの追加とPSBTなどの関連APIの改善です。 その他の改善やバグ修正については、リリースノートに記載されています。
注目すべきコードとドキュメントの変更
今週のBitcoin Core、Core Lightning、Eclair、LDK、 LND、libsecp256k1、Hardware Wallet Interface (HWI)、Rust Bitcoin、BTCPay Server、BDK、Bitcoin Improvement Proposals(BIP)、およびLightning BOLTsの注目すべき変更点。