今週のニュースレターでは、恒例のBitcoin Stack Exchangeでの先月の最良の質問と回答や、 Taprootの準備に関する最新のコラム、新しいソフトウェアのリリースとリリース候補のリスト、 人気のあるBitcoinインフラストラクチャソフトウェアの注目すべき変更点について掲載しています。

ニュース

今週は重要なニュースはありません。

Bitcoin Stack Exchangeから選ばれたQ&A

Bitcoin Stack ExchangeはOptech Contributor達が疑問に対して答えを探しに(もしくは他のユーザーの質問に答える時間がある場合に)アクセスする、 数少ない情報ソースです。この月刊セクションでは、前回アップデート以降にされた、最も票を集めた質問・回答を紹介しています。

Taprootの準備 #6: Taprootを使って学ぶ

ブロック高709,632のTaprootのアクティベーションに向けて、 開発者やサービスプロバイダーがどのような準備をすればよいかについての週刊シリーズです。

約2年前、James ChiangとElichai Turkelは、 開発者にTaproot技術をトレーニングするためのOptechワークショップシリーズ用に Jupyter Notebookのオープンソースリポジトリを作成しました。 サンフランシスコ、ニューヨーク市、ロンドンで開催されたワークショップは好評でしたが、 渡航制限により、その後の対面のワークショップはできませんでした。

Jupyter Notebookの公開以来、Taprootにはいくつかの変更が加えられました。 しかし、TaprootのサポートもBitcoin Coreにマージされたため、 NotebookもBitcoin Coreのカスタムブランチへの依存関係を削除できるようになりました。 開発者のElle Moutonは、これらの変更にあわせてNotebook更新し、 Taprootのアルゴリズムやデータタイプを使ったハンズオンを素早く構築するための優れた方法を再び提供してくれました。

Notebookは、4つのセクションに分かれています:

  • セクション 0には、環境のセットアップに役立つNotebookが含まれており、 楕円曲線暗号の基本をカバーし、BIP 340341および342全体で使用されているタグ付きハッシュについて学べます。

  • セクション 1では、Schnorr署名の作成について説明しています。 これをマスターしたら、MuSigプロトコルを使ってマルチシグを作成する方法を学びます。

  • セクション 2では、Taprootのあらゆる側面を体験できます。 segwit v0トランザクションの原理を確認するところから始まり、 segwit v1 (taproot)トランザクションの作成、送信を行います。 セクション 1の知識を応用して、MuSigを使ったTaprootアウトプットを作成、使用します。 鍵の調整という概念が導入され、Taprootで公開鍵を使ってデータにコミットできることを学びます。 コミットメントが作成できるようになったので、Tapscriptについて、 従来のsegwit v0 scriptとの違いや、Tapscriptのツリーにコミットする方法を学びます。 最後に短いNotebookで最適なスクリプトツリーを作成するためのハフマンエンコーディングを紹介します。

  • セクション 3では、アウトプットが使われない期間が長くなるほど、 必要になる署名が変わるTaprootアウトプットを作成するオプションの演習を用意しています。 これにより、通常の状況下ではアウトプットを効率的に使用できるだけでなく、 問題が発生した場合には堅牢なバックアップが提供されます。

Notebookには、比較的簡単ですが提示された資料を実際に学習することを保証するプログラミング演習が多数含まれています。 凄いコーダーではないこのコラムの著者は6時間でNotebookを完了させることができ、 もっと早くこのNotebookで学ぶ時間を取っていればよかったと後悔しました。

リリースとリリース候補

人気のBitcoinインフラストラクチャプロジェクトの新しいリリースとリリース候補。 新しいリリースにアップグレードしたり、リリース候補のテストを支援することを検討してください。

注目すべきコードとドキュメントの変更

今週のBitcoin CoreC-LightningEclairLNDRust-Lightninglibsecp256k1Hardware Wallet Interface (HWI)Rust BitcoinBTCPay ServerBitcoin Improvement Proposals(BIP)、および Lightning BOLTsの注目すべき変更点。

  • Bitcoin Core #22387では、各ピアから処理する通知されたアドレスの平均数を10秒に1つに制限します。 制限を超えるアドレスは無視されます。ピアをホワイトリストに登録し、この制限を超えられるようにすることは可能です。 また、ノードがピアから明示的に要求するアドレス通知も制限から除外されます。 この制限は、Bitcoin Coreノードがアドレスを通知する現在のレートの4倍になると推定されます。

  • C-Lightning #4669は、LN offerのパースと検証ロジックのいくつかのバグを修正しました。 また、ユーザーが同じパラメータで新しいOfferを作成しようとすると、 以前作成された有効期限の切れていないOfferを返します。 Offerはデフォルトで有効期限付きで作成されないため、これは特に便利です。

  • C-Lightning #4639は、BOLTs #878で提案された流動性の配信を実験的にサポートします。 これにより、ノードはLNゴシッププロトコルを使って、資金を一定期間貸し出す意思があることを配信し、 他のノードに即時支払いを受けられるインバウンド・キャパシティを購入する能力を与えることができます。 配信を確認したノードは、デュアル・ファンディング チャネルを開いてインバウンド・キャパシティの支払いと受信を同時に行うことができます。 配信ノードが実際に支払いをルーティングすることを強制する方法はありませんが、 この提案には、合意したリース期間が終了するまで配信者が資金を他の目的に使用できないようにするという、 Lightning Poolでも使用が予定されている以前の提案が組み込まれているため、 ルーティングを拒否しても、ルーティング手数料を獲得する機会が失われるだけです。 以下の表は、流動性の配信とニュースレター #123に掲載した同様のLightning Pool市場との比較です。

    Lightning Pool 流動性の配信
    リストの管理 中央化: キュレーションにより高品質のリストを確保できるが、リストの検閲も可能 分散化: リストを検閲することはできないが、ユーザーはリースを購入する前に独自の調査が必要
    ライセンス オープンソースクライアント、専用サーバー、オープンなプロトコル すべてオープンソース
    価格情報 実際に支払われた価格は、公開オークション結果による公開情報 配信された価格は、パブリックなゴシップネットワークの公開情報
    第三者による流動性の購入(“sidecar channels”) はい。アリスはボブにキャロルとのチャネルの資金の支払いが可能 おそらく可能
  • BIPs #1072は、”Multi-Script Hierarchy for Multi-Sig Wallets”と題された情報 BIP48をマージしました。 このドキュメントでは、m/48'プレフィックスをベースにしたマルチシグのセットアップに参加するウォレットに広く展開されている導出標準について説明し、 スキームで使用される6つの導出レベルについて詳しく説明しています。

  • BIPs #1139は、Taprootトランザクションで PSBTversion 0version 2の両方)を使用するための新しいフィールドの仕様を含むBIP371を追加しています。 これまでの議論はニュースレター #155をご覧ください。

謝辞と編集

Bitcoin Core PR #22387 に関する私たちの最初の説明では、 新しいレートの制限は測定されたレートの約40倍であると記載していました。 正しい数値は約4倍です。この誤りを報告してくれたAmiti Uttarwarに感謝します。