本文へスキップ
buybitcoinsmart

用語集 / ライトニングとレイヤー2

アンカー出力

アンカー出力とは?
アンカー出力とは、ライトニングネットワークのコミットメントトランザクションに付随する330サトシの2つの緊急避難口であり、それぞれが各当事者の鍵に紐づいているため、あらかじめ署名されたクローズ時の手数料をどちらの当事者も引き上げることができます。

アンカーチャネルは各取引相手に、最初は本人しか使用できないごく小さな出力を付与し、これは後で手数料を引き上げるための足がかりにすぎません。BOLT 3はその額を330サトシと定めており、16ブロックの経過後は、誰も請求しなかったアンカーを誰でも回収できるようになります。ライトニングウォレットを運用している場合は、アンカーだけでは手数料を支払えないため、予備のオンチェーンコインを用意しておいてください。

仕組み

アンカー出力は、チャネルの取引相手の資金提供用鍵の下に330サトシを保持しており、コミットメントが1つの共有の足がかりではなく2つを備えている理由は、ある攻撃にあります。

スクリプトは短く、資金提供用公開鍵、OP_CHECKSIG、OP_IFDUP、続いてOP_16とOP_CHECKSEQUENCEVERIFYを含むOP_NOTIFの分岐で構成されています。自分の署名があればすぐに開けられます。コミットメントが承認されてから16ブロック後には、空のウィットネスで誰でも開けるようになり、これによってBOLT 3は、放置された釣り銭が有効なコインの集合に永久に滞留するのを防いでいます。この経路が意味を持つのは、330サトシを回収する価値があるほど手数料が下がった場合だけです。

各当事者に1つずつアンカーを持たせるのが、ピンニングへの対抗策です。両当事者に1つの共有の足がかりを与えると、取引相手はそこに手数料の低い大きな子トランザクションを接続し、未承認トランザクションのファミリーを膨らませて、あなた自身の手数料引き上げでは手が届かない価格にしてしまい、コミットメントはブロードキャストした期限に間に合わなくなります。BOLT 3は、別々のアンカーによる防御を機能させた変更をBitcoin Core 0.19の功績とし、各アンカーを資金提供用鍵に固定しています。これが、そうしたコミットメント上の他のすべての出力に、to_remoteを含めてシーケンスロックが付いている理由でもあります。

いずれも無償ではありません。アンカー2つの額はいずれも資金提供者の残高から出て、合計660サトシとなり、コミットメントトランザクションの価格計算の基礎となる基本ウェイトは724から1124ウェイトユニットに増えます。資金提供者が得るのは、手数料をまったく含まない第二段階のHTLCトランザクションです。option_anchorsの下では手数料はゼロでなければならず、SIGHASH_SINGLEとSIGHASH_ANYONECANPAYで署名されるため、ブロードキャスト時に自分のインプットを添えて、その時点の相場で支払います。BOLT 9はこれをビット22と23に、手数料ゼロのHTLCトランザクションを伴うアンカーコミットメント種別として記載しています。

どこで見られるか

アンカー出力は、ライトニングチャネルが協力なしにクローズした瞬間に、誰かのミスのように見える330サトシ相当の2つの出力としてブロックエクスプローラー上に現れます。BOLT 3は、処理中のHTLCがなく、一方の当事者の残高がダストリミットを下回る場合にのみ、これを1つ省きます。

当サイトの41件のウォレットレビューのうち、どれがアンカー出力に直面させるかはカストディで決まります。当サイトで4.0と評価したPhoenixは、端末上で実際の自己管理型ライトニングノードを運用しており、当サイトのレビューでは強制クローズ後の復旧に約720ブロックかかると記録しているため、アンカーの管理は利用者自身の責任になります。3.8と評価したMuunも自己管理型ですが、そのライトニング決済にはオンチェーンで決済されるサブマリンスワップが必要になることがあります。2.7と評価したWallet of Satoshiは既定でカストディ型です。330サトシの出力では子トランザクションの資金を賄えないため、手数料の引き上げとは、アンカーをすでに保有しているコインと一緒に使用することを意味します。

アンカー出力vsエフェメラルアンカー

アンカー出力は最初の16ブロックの間、特定の資金提供用鍵によって使用でき、一方エフェメラルアンカーは最初の瞬間から鍵を持たず、守る価値のある価値も保持しません。

BOLT 3のより新しいzero_fee_commitmentsチャネルは、機能ビット40と41を備え、2つのアンカーを、標準的なpay to anchorスクリプトに基づく単一のshared_anchorに置き換えます。これはOP_1に続いて2バイトの0x4e73を置いたもので、誰でも空のウィットネスで使用できます。その額は240サトシで、このスクリプトの標準的なダストリミットであり、それより少ない額しか残らない場合にのみこれより低くなります。これは、その場合コミットメントが手数料を支払わないため、エフェメラルダストのルールが認めています。2つの方式は同じ脅威に反対の端から対処します。鍵付きアンカーは、他の誰も引けないレバーを各当事者に渡すことでピンニングに打ち勝ち、鍵なしのものは、誰かが手数料を添えるまでコミットメントをマイニング不可能にすることで打ち勝ちます。

混同しやすい用語

よくある質問

アンカー付きのライトニングチャネルを使うにはオンチェーンのビットコインが必要ですか?

はい、自分のチャネルを保有している場合は必要です。アンカーは330サトシで、それを使用するトランザクションの手数料を支払うにはまったく足りないため、クローズ時の手数料を引き上げるには、アンカーをすでに管理している別のコインと組み合わせる必要があります。カストディ型のライトニングウォレットはチャネル自体をサービスが保有するため、この問題が利用者に及ぶことはありません。

BOLT 3がアンカーチャネルでより高いダストリミットを勧めるのはなぜですか?

option_anchorsの下では第二段階のHTLCトランザクションが手数料を支払わないため、小さなHTLCが独自の出力を持つかどうかを決める際にそのウェイトが考慮されなくなります。そのためBOLT 3は、実際に現れる出力を使用するのが経済的になるよう、これらのチャネルでdust_limit_satoshisを引き上げることを勧めています。

アンカー出力は誰でも使用できますか?

はい、16ブロック後です。このスクリプトにより、コミットメントトランザクションが16ブロックの深さに達すると、誰でも空のウィットネスで未請求のアンカーをスイープできるため、放棄された330サトシの出力が未使用のコイン集合に永久に残り続けることを防ぎます。手数料が非常に低い場合にのみ行う価値があります。

次に読む

関連用語

ライトニングとレイヤー2のその他の用語

このページを英語で読む