ブロックチェーン/レベル V · レイヤー/5.1 Lightning/レッスン 5
ペナルティとウォッチタワー
リボケーションキー、タイムロックの猶予期間、そして監視する第三者
用意するものトランザクションスクリプトを閲覧できるブロックエクスプローラー(例:mempool.space)BOLT #2仕様書スクリプトのロジックを確認するためのテキストエディタ
問い
- 技術的には有効だが古くなったトランザクションをブロードキャストすると、部分的な利益ではなく全額の喪失につながるのはなぜか?
- ノードは、どのようにして数週間オフラインになっても相手方に資金を盗まれずにいられるのか?
- どのようなビットコインのコンセンサス変更があれば、2者が古い状態を新しい状態で単純に上書きでき、ペナルティのロジックを完全に不要にできるのか?
探究
- ライトニングチャネルは、残高のスナップショットを表す署名済みのコミットメントトランザクションに依存している。一方の当事者がオフラインの間に、相手方が自分の保有資金がより多い古い状態をブロードキャストした場合、これはプロトコル違反となる。誠実なノードには、数週間接続が途切れた後でも即座に反応して残高を取り戻す仕組みが必要である。そうした保護がなければ、セキュリティは常時接続に完全に依存することになる。
- 防御はリボケーションシークレットに依存している。チャネルの状態が更新されるたびに、各側は直前のコミットメントの背後にあるシークレットを明かし、相手方はそれを使ってその古い状態のリボケーションキーを導出できる。後に相手がその状態をブロードキャストしても、誠実な当事者はすでにそのキーを持っている。これにより、不正者のアウトプットをいかなる遅延も受けずに即座に使うことができる。ブロードキャストした側自身のアウトプットは相対タイムロックで保留され、その期間は実装やチャネルサイズに応じて通常144〜2,016ブロック(約1日〜2週間)である。
- この仕組みでは、誰かがチェーンを監視している必要がある。オフラインの期間が長すぎるノードは、ブロードキャストを間に合ううちに検知できない。ウォッチタワーは、ユーザーが用意した暗号化済みのペナルティトランザクションを保管することでこれを解決する。これらのバックアップは特定のトランザクションIDに紐付けられており、違反が起きるまでプライバシーが保たれる。タワーはメンプールとブロックチェーンでこれらのIDを監視する。
- ウォッチタワーは古い状態がチェーンに入るのを検知すると、違反トランザクションのIDを使って該当するバックアップを復号する。次に、不正なアウトプットを誠実な当事者に送るペナルティトランザクションをブロードキャストする。これにより、プロトコルのルールを破った罰として不正者の残高全体が没収される。全額を失う脅威は、不正による潜在的な利益を上回る。
- チャネルの強制クローズにも大きなコストが伴う。タイムロックによって資金へのアクセスが遅れ、手数料が高い時期でもトランザクションが確実に伝播するよう、手数料用のリザーブを保持しておく必要がある。こうした経済的な摩擦が協調クローズを促す。自分のノードを運用するユーザーはこれらのリスクを直接負い、カストディアルサービスの利用者はこの負担をプロバイダーに移している。
- 別の設計であるeltoo(LN-Symmetry、Decker、Russell、Osuntokun、2018年)は、ペナルティを単純な状態の置き換えで代替するものである。これにはソフトフォークが必要で、SIGHASH_ANYPREVOUT(BIP118)、またはCTVとCHECKSIGFROMSTACKの組み合わせなどの代替案がある。これが有効化されるまでは、現行のペナルティ・リボケーションモデルが、実運用されているライトニングチャネルにおける唯一の安全な強制執行メカニズムであり続ける。
重要な事実
- 古い状態のリボケーションシークレットは、その状態が置き換えられた時点で引き渡されているため、その状態をブロードキャストすると相手方はチャネル残高全体を請求できる。
- ブロードキャストした側のアウトプットは相対タイムロック(多くの場合144〜2,016ブロック)の後でしか使えないため、被害者に対応する時間が与えられる。
- ウォッチタワーはトランザクションIDに紐付けられた暗号化済みの状態バックアップを保管し、オンチェーンで違反が検知されるまでプライバシーを保つ。
- eltooプロトコルの設計は、単純な状態の置き換えによってペナルティトランザクションを不要にするが、有効化にはBIP118のソフトフォークが必要となる。
- 強制クローズでは手数料用のリザーブを保持し、タイムロックの期間を待たなければならないため、協調クローズに比べて経済的なコストが大きい。
- 更新のたびに各側は直前のコミットメントのシークレットを明かすため、その状態がブロードキャストされればペナルティを科すことができる。
演習 九・六・三・一
9集めるライトニングチャネルのライフサイクルにおいて、鍵交換、署名、またはオンチェーンでのブロードキャストを伴うプロトコル上の状態やイベントを9つ挙げてください。
6まとめるこれら9項目を、セキュリティ上の意味合いに基づいて6つのカテゴリーに分類してください:協調的な行動、一方的な強制執行、プライバシーの保護、経済的コスト、コンセンサスへの依存、状態遷移。
3絞り込む6つのグループを、ノンカストディアルなライトニングノードを運用する際のリスクプロファイルを決める3つの核心的なトレードオフにまとめてください。
1結晶化するリボケーションシークレットによる全額喪失の脅威が、オフチェーン決済のセキュリティに必要である理由を1文で書いてください。
事実確認
日付、数字、主張は、下記に記載された公表資料と照合して確認しました。