今週のニュースレターでは、トラストレスなマイナーの先物手数料率のコントラクトの提案と、 デュアルファンディングの流動性を提供するLNノードのコイン選択アルゴリズムのリンク、 OP_CATを使用したVaultのプロトタイプの詳細、LNとZKCPを使用したecashの送受信の議論を掲載しています。 また、Bitcoin Stack Exchangeから人気のある質問とその回答のまとめ、 新しいリリースとリリース候補の発表、人気のあるBitcoinインフラストラクチャプロジェクトの最近の変更など、 恒例のセクションも含まれています。

ニュース

  • マイナーの将来の手数料率に対するトラストレスなコントラクト: ZmnSCPxjは、将来のブロックにトランザクションを含めるために、 二者が限界手数料率に基づいて条件付きで互いに支払うことを可能にするスクリプトのセットを Delving Bitcoinに投稿しました。 たとえば、アリスはブロック1,000,000(もしくはその付近のブロック)で トランザクションが含まれることを期待するユーザーです。 そしてボブはその頃にブロックをマイングする可能性があるマイナーです。 両者は、それぞれ資金の一部を以下の3つの方法のいずれかで使用可能なファンディングトランザクションにデポジットします。

    1. ボブは、ブロック1,000,000(またはその付近のブロック)で、 ファンディングトランザクションのアウトプットを使用して自分のデポジットを取り戻し、アリスのデポジットも請求します。 彼らが使用するスクリプトは、ボブによる一方的な回収が(2つの典型的な支払いよりも大きいような)特定の最小サイズであること要求します。

    2. あるいは、アリスはブロック1,000,000以降のいつか(たとえば1日後のブロック1,000,144)で、 ファンディングトランザクションのアウトプットを使用して自分のデポジットを取り戻し、さらにボブのデポジットも請求します。 アリスのトランザクションは比較的小さなものです。

    3. さらに別の方法として、アリスとボブは協力して、ファンディングトランザクションのアウトプットを好きなように使用できます。 これには、効率を最大化するためTaprootのkeypath支払いを使用します。

    ブロック1,000,000における手数料率が予想よりも低い場合、 ボブはそのブロック(もしくはその付近のブロック)にサイズが大きな支払いを含めて利益を得ることができます。 ネットワーク全体の手数料率が低いタイミングで利益を上げることは、マイナーであるボブにとっては特に有利です。 手数料率が低いということは、彼が生成するブロックからそれほど多くの報酬を得られないことを意味するからです。

    ブロック1,000,000における手数料率が予想よりも高い場合、 ボブはそのブロック(もしくはその付近のブロック)にサイズの大きな支払いを含めたくないでしょう。 彼が得る利益よりも手数料が多くかかることになります。 これにより、アリスはブロック1,000,144(またはそれ以降)に、 彼女のサイズの小さな支払いを含めることで利益を得ることができます。 ネットワーク全体の手数料率が高いタイミングで利益を上げることは、 ブロック1,000,000に含める予定の通常のトランザクションを含めるための高い手数料コストを相殺するため、 アリスにとって特に有利です。

    さらにアリスとボブの両者が、ボブへの支払いをブロック1,000,000に含めることが有益であると認識した場合、 ボブへの支払いに協力して、ボブによる一方的なトランザクションよりも小さなサイズのトランザクションを作成できます。 これにより、ボブにとっては手数料を節約することができ、 アリスにとってはブロック1,000,000のデータ量が削減され利益を得られます。つまり、 そのブロックに含める予定だったトランザクションに対して支払わなければならない手数料が少なくなる可能性があります。

    このトピックについて、いくつかの返信がありました。ある返信では、 このコントラクトはトラストレスなだけでなく(コンセンサスによる強制を好む一般的な理由)、 取引相手の不正を回避するという興味深い特性があると指摘されました。 たとえば、集中型の手数料率の先物市場があった場合、 ボブと他のマイナーは帯域外で手数料を受け入れたり、 他のトリックを使用して見かけの手数料を操作したりする可能性があります。 しかし、ZmnSCPxjの構成では、そのリスクはなくなります。 サイズの大きな支払いを使用するかどうかについてのボブの選択は、 現在のマイニングとmempoolの状況に対する彼の視点によって純粋に決定されます。 返信ではまた、大規模なマイナーの方が小規模なマイナーよりも有利であるかどうかも検討されており、 Anthony Townsはデフォルトのトランザクション選択アルゴリズムを使用するマイナーにとって、 コントラクトゲームを行う試みはより大きな利益をもたらすことを示す収益表を提供しました

  • 流動性プロバイダー向けのコイン選択: Richard Myersは、Liquidity Adsを介して流動性を提供するLNノードに最適化された コイン選択アルゴリズムをDelving Bitcoinに投稿しました。 彼の投稿では、Bitcoin CoreのドラフトPRに実装したアルゴリズムについて説明しています。 アルゴリズムをテストしたところ、「Bitcoin Coreのデフォルトのコイン選択と比較して、 オンチェーン手数料が15%削減された」ことが分かりました。Myersは、 このアプローチに対する批判と改善の提案を求めています。

  • OP_CATを使用したシンプルなVaultのプロトタイプ: 開発者Rijndaelは、 既存のコンセンサスルールと提案中のOP_CAT opcodeのみに依存する Vault用に作成したRust言語の概念実証の実装についてDelving Bitcoinに投稿しました。 このVaultの使用方法の簡単な例:アリスはVaultソフトウェアで作成されたスクリプトを使用してアドレスを生成し、 そのアドレスへの支払いを受け取ります。その後、 彼女か彼女の資金を盗もうとする誰かによってその資金の使用がトリガーされます。

    • 正当な使用: アリスは、 2つのインプットと2つのアウトプットを持つトリガートランザクションを作成して、資金の使用をトリガーします。 インプットは、保管された資金の支払いと手数料を追加するインプットです。 アウトプットは、最初のインプットの正確に同額のステージングアウトプットと、 最終的な引き出しアドレスに支払う少額のアウトプットです。一定数のブロックが経過した後、 アリスは2つのインプットと1つのアウトプットを持つトランザクションを作成して引き出しを完了します。 インプットは、前のトランザクションの最初のトリガーアウトプットと別の手数料支払い用のインプットです。 アウトプットは引き出しアドレスです。

      最初の支払いでは、OP_CATと以前説明したSchnorr署名を使用したトリックにより( ニュースレター #134参照)、支払いに使用されるアウトプットと 作成される対応するアウトプットが同じスクリプトと金額を持つことを検証し、 トリガートランザクションによってVaultから資金が引き出されないことを保証します。 2つめのトランザクションは、最初のインプットに特定のブロック数(例:20ブロック)の BIP68相対的タイムロックがあること、 アウトプットについては、支払われるのが最初のインプットと同額であること、 トリガートランザクションの2つめのアウトプットのアドレスと同じアドレスであることを検証します。 相対的なタイムロックは、コンテスト期間(後述)を提供します。 正確に同額であることの検証により、許可なく資金が引き出されることがないことが保証されます。 またアドレスの検証により、泥棒が最後の瞬間に正当な引き出しアドレスを自分のアドレスに変更できないことを保証します( 私たちの知るすべての事前署名済みVaultの問題、ニュースレター #59参照)。

    • 不正使用: マロリーは、上記のようにトリガートランザクションを作成することで、 支払いをトリガーします。アリスのウォッチタワーは、 コンテキスト期間中(例:20ブロックの遅延)に不正使用が起こったことを認識し、 2つのインプットと1つのアウトプットを持つRe-Vaultトランザクションを作成します。 インプットはトリガートランザクションの最初のアウトプットと手数料支払い用のインプットです。 アウトプットは資金をVaultに戻します。Re-Vaultトランザクションにはアウトプットが1つしかありませんが、 スクリプトの引き出し条件には、2つのアウトプットを持つトリガートランザクションからの支払いが必要であるため、 マロリーはアリスの資金を盗むことができません。

      資金は、トリガーされたのと同じVaultスクリプトに返されるため、マロリーは別のトリガートランザクションを作成し、 アリスに同じサイクルを何度も強制することができ、その結果、マロリーとアリスの両方に手数料コストが発生します。 Rijndaelのプロジェクトの拡張ドキュメントによると、 そのような場合は、おそらくアリスが別のスクリプトに資金を送れるようにしたいでしょうし、 彼の構成の背後にあるアイディアはそれを可能にしますが、簡素化のため現在は実装されていません。

    これらのCATベースのVaultは、コンセンサスの変更なく現在作成可能な事前署名済みのVaultや、 ソフトフォークでサポートが追加された場合に最もよく知られたVaultの機能セットを提供する BIP345スタイルのOP_VAULTを用いたVaultと比較することができます。

    事前署名版 BIP345 OP_VAULT OP_CATとSchnorr
    有効性 現在利用可能 OP_VAULTOP_CTVのソフトフォークが必要 OP_CATのソフトフォークが必要
    直前のアドレス置換 脆弱 脆弱ではない 脆弱ではない
    一部の引き出し 事前に取り決めがある場合のみ可能 可能 不可能
    静的で非対話型の計算可能なデポジットアドレス 不可能 可能 可能
    手数料節約のためのRe-Vault/隔離のバッチ化 不可能 可能 不可能
    最良(つまり正当な使用)の場合の効率(Optechによる非常に大まかな推定) 通常のシングルシグの2倍のサイズ 通常のシングルシグの3倍のサイズ 通常のシングルシグの4倍のサイズ

    このプロトタイプは、この記事の執筆時点で、フォーラムで少しの議論と分析を受けています。

  • LNとZKCPを使用したecashの送受信: Anthony Townsは、 「ecashの匿名性を失うことなく、または追加の信頼を導入することなく、 ecashの発行をライトニングネットワークにリンクする」ことについてDelving Bitcoinに投稿しました。 この目標を達成するための彼の提案では、ecashの発行ユーザーに支払いを送信するためのゼロ知識条件付き支払い(ZKCP)と、 ecashの資金をLNに引き出すためのハッシュのプリイメージにコミットするプロセスを使用します。

    ecashの実装Cashuのリード開発者であるCalleは、 いくつかの懸念を示しながらもこのアイディアへの支持、既にCashuに実装されているゼロ知識証明システムへの言及、 そしてアトミックなecash-to-LNの転送をサポートするために積極的に調査し書いているコードのメモを返信しました

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

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

リリースとリリース候補

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

  • Core Lightning 24.02は、この人気のLNノードの次期メジャーバージョンのリリースです。 これには、「緊急リカバリのストレスを軽減する」recoverプラグインの改善、 アンカーチャネルの改善、ブロックチェーン同期の50%の高速化、 testnetで発見された大規模トランザクションのパースのバグ修正が含まれています。

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

今週のBitcoin CoreCore LightningEclairLDKLNDlibsecp256k1Hardware Wallet Interface (HWI)Rust BitcoinBTCPay ServerBDKBitcoin Improvement Proposals(BIP)Lightning BOLTsBitcoin InquisitionおよびBINANAsの注目すべき変更点。