ライトニングネットワークにおける交換サイクル攻撃

Bitcoin Lightning Network は、ビットコインのレイヤー 2 スケーリング ソリューションであり、ビットコイン ブロックチェーンのスケーラビリティの課題に対処することを目的としています。これにより、即時かつ低コストのビットコイン取引が可能になり、ユーザーにとってより効率的でアクセスしやすくなります。ビットコインのオンチェーントランザクションと比較して、ライトニングネットワーク上のトランザクションはプライベートであり、オフチェーンで発生し、全体的な結果のみが記録されます。

ライトニング ネットワークの主な利点の XNUMX つは、速度と手頃な価格です。これにより、ユーザーはビットコイン ネットワーク経由で簡単かつコスト効率よく少額の支払いを送受信できるようになります。ライトニング ネットワークは、ユーザー間に支払いチャネルのネットワークを作成することで、すべてのトランザクションをブロックチェーンにブロードキャストすることなくトランザクションを可能にします。これにより、ビットコイン ブロックチェーンの輻輳が軽減され、トランザクションのスケーラビリティが向上します。

ただし、ライトニング ネットワークはまだ開発中であり、特定のセキュリティ リスクや集中化リスクに直面していることに注意する必要があります。今年XNUMX月、ライトニングネットワークにおいて、トランザクション置換機構に関わる「置換サイクル攻撃」と呼ばれる脆弱性が新たに発見され、ライトニングネットワーク内のチャネル資金の損失につながる可能性があります。この攻撃手法の出現により、ライトニング ネットワークのセキュリティに関する懸念が生じ、プロトコルと実装に対するさらなる研究と改善が促されました。

ライトニングネットワークの仕組み

ビットコイン ライトニング ネットワークは、マルチシグ メカニズムを利用して支払いチャネルのセキュリティを確保します。参加者は資金をロックし、支払いチャネルを確立する必要があります。参加者は、毎回トランザクションをビットコイン ブロックチェーンに送信する必要がなく、チャネル内で迅速かつ低コストの支払いを行うことができます。支払いチャネルは、ビットコイン ブロックチェーンの外部にある参加者間の関係にすぎません。これは、ビットコイン ネットワーク全体のコンセンサスが関与することなく、チャネルの両端間でのみ伝播されるチャネル内の一連のトランザクションに署名することによって実現されます。

具体的なプロセスに関しては、支払いチャネルを開くときに、参加者は、必要な署名数を指定しながら、チャネル上の各当事者に公開鍵の提供を要求するマルチ署名スクリプトを作成する必要があります。たとえば、次のようなスクリプトを定義します。複数の公開キーと署名検証ロジックが含まれています。マルチシグネチャ アドレスを生成する際、このスクリプトはビットコイン アドレスに変換され、支払いチャネルのインフラストラクチャを形成します。

たとえば、図 1 に示すように、ボブとアリスはまず、共同資金として 2-of-2 マルチ署名ビットコイン アドレスをオンチェーンに作成します。チャネル内では、無制限のオフチェーンコミットメントトランザクションを実行して、資金割り当ての現在の状態を記録できます。両者は、これらの更新をビットコイン ネットワーク全体にブロードキャストすることなく、新しいコミットメント トランザクションを交渉して署名し、チャネルの状態を更新できます。チャネルを閉じることを決定すると、最終的なオンチェーン決済トランザクションによって、最後に交渉された割り当てに従って資金が分配されます。この決済取引には、最終的に合意された方法で資金が割り当てられるように、ボブとアリスの両方の連名署名が必​​要です。このようにして、ライトニング ネットワークは、分散型の特性を維持しながら、ビットコイン取引の効率を向上させ、コストを削減します。

図 1: ステート チャネル図 出典:https://cypherpunks-core.github.io/bitcoinbook/images/mbc2_1204.png

HTLC機構

ビットコイン ライトニング ネットワークは、ルーティング可能なマルチホップ支払いチャネル システムを実装するために、ハッシュ タイムロック コントラクト (HTLC) に基づく支払いチャネルも採用しています。 HTLC の実装では、ハッシュ条件とタイム ロック条件を満たすために、スクリプト言語で定義された複雑なトランザクション スクリプトが必要です。このスクリプトは、支払いチャネルを開くときの初期化に使用され、支払い中にトリガーされます。このようにして、ビットコイン ライトニング ネットワークは、クロスチェーン支払いの効率とセキュリティを実現します。

HTLC (Hashed Timelock Contract) は、ブロックチェーン上でクロスチェーン トランザクションを実装するための重要なコンポーネントの XNUMX つであるハッシュ タイムロック コントラクトです。 HTLC には、クロスチェーン アトミック スワップとライトニング ネットワークの支払いチャネルという XNUMX つの一般的なアプリケーションがあります。 HTLC は、転送をロックし、指定された時間内に特定の情報を提供するなどのロック解除条件を設定できます。これにより、条件が満たされた場合にのみ受取人が資金を引き出すことができるようになります。

技術的には、HTLC は、固有の出力スクリプトを備えたコミットメント トランザクションの追加出力です。これは、OP_HASH160、OP_EQUALVERIFY などの操作を含むスクリプトであり、資金をロックして、プリイメージ値 R を提供するだけでロックを解除できるようにするために使用されます。このスクリプトには XNUMX つのパスが考えられます。最初のパス (OP IF で定義) は、ボブが R を提供できる場合にボブに資金を送信します。 XNUMX 番目のパスは、支払いトランザクションで nLockTime を使用してタイムロックを強制し、ロックの有効期限が切れた後にアリスに返金できるようにします。

OP_IF

OP_HASH160 OP_EQUALVERIFY 

2 OP_CHECKMULTISIG

OP_ELSE

2 OP_CHECKMULTISIG

OP_ENDIF

ルーティングの例

ライトニング ネットワークでは、アリスはエリックに 1 ビットコインを支払いたいと考えていますが、アリスとエリックの間には直接支払いチャネルがありません。そこで、アリスは支払いを支払いチャネル ネットワークの中間ノード (ボブ、キャロル、ダイアナ) にルーティングして安全な支払い経路を構築し、間接的に 1 ビットコインをエリックに支払うことができるようにします。支払いルーティングには HTLC が使用されます。特定の時間枠内に正しい「秘密」を提供することによってのみ資金のロックが解除され、支払いの安全性が確保されます。 

この例では、ステップ 1 で、エリックは秘密 R (解) を生成し、ハッシュ値 H (パズル) を計算し、ハッシュ値 H をアリスに渡します。

ステップ 2 ~ 5: アリス、ボブ、キャロル、ダイアナ、エリックはそれぞれペアで HTLC を構築し、ロックされた資金を上流側から回収するために一定期間内に R (ソリューション) を提供する必要があります。

ステップ 6 ~ 9: エリックはダイアナに R (ソリューション) を提供し、1 BTC を取得します。次に、ダイアナは R を使用してキャロルから BTC を取得します。アリスの 1.003 BTC (うち 0.003 BTC は中間ノードのサービス料金) が取得されるまで、R はこのように逆方向に渡されます。

この例では、ステップ 6 でエリックが一定時間内に R (解決策) を提供しなかった場合、時間経過後、ステップ 2 ~ 5 でロックされた資金が直接ロックを解除されて返却されます。

図 2: ルーティングの例 出典:https://cypherpunks-core.github.io/bitcoinbook/images/mbc2_1210.png

交代サイクリング攻撃

ビットコインのトランザクション置換メカニズムとは、トランザクションが置換可能としてマークされると、トランザクションがブロックで確認される前に、より高い手数料を払ってネットワーク内の別のトランザクションに置き換えられることを指します。トランザクションに高い絶対手数料と高い手数料率が支払われた場合、トランザクションと直接競合する保留中の未確認トランザクションを置き換えることができます。置換トランザクションを受信した後、ノードは、より低い手数料レートの元のトランザクションをメモリプールから削除し、置換トランザクションのみを保持します。トランザクション置換メカニズムにより、トランザクションが確認される前にトランザクション手数料やその他のパラメータを調整できます。ただし、このメカニズムは、重要なトランザクションを繰り返し置き換えて確認を失敗させるなど、トランザクション拒否攻撃を実装するためにも使用できます。したがって、トランザクション置換メカニズムはトランザクションを調整するための利便性を提供しますが、悪用のリスクももたらします。

Bitcoin Core 開発者の Antoine Riard 氏の電子メールによると、交換サイクル攻撃には主に Bitcoin Lightning Network の支払いチャネルが関与しています。攻撃者は、正直なノードの HTLC タイムアウト トランザクションを置き換えるために、絶対料金と料金レートがより高い HTLC プリイメージ トランザクションをブロードキャストします。置換中に、攻撃者は追加の入力または出力を追加して、置換トランザクションがネットワークに正常に受け入れられるようにすることができます。この攻撃方法は、支払いチャネルで資金を二重に支出する可能性があります。つまり、正直なノードが HTLC タイムアウト トランザクションをブロードキャストした後、攻撃者は置き換えによって資金を取得することに成功します。前の例と同様に、パスがアリス、ボブ、エリックのみに単純化され、アリスとエリックが共謀してボブの BTC を盗むと仮定して、簡単な例を示して説明します。

ステップ 1: アリスはボブを通じてエリックに 1 BTC を支払うつもりです。 Alice\Bob と Bob\Eric はそれぞれ HTLC を構築します。エリックはブロック 1020 の前にボブに R (解決策) を提供する必要があります (現在の高さが 1000 であると仮定します)。そうしないと、ボブはロックされた 1 BTC を取得できます。同様に、ボブはブロック 1080 の前にアリスに応答する必要があり、そうでない場合、アリスは自分の 1 BTC を取得できます。

ステップ 2: エリックはブロック 1020 の前にボブに R (解決策) を提供しませんでした。ボブは HTLC タイムアウトを含むトランザクションをブロードキャストします。この取引の資金はボブに返金されます。

ステップ 3: Eric は、Bob の HTLC タイムアウト トランザクションを監視し、より高い料金レートの HTLC プリイメージ トランザクションに置き換えます。次に、Eric は別のトランザクションを開始して、以前の HTLC プリイメージをメモリプールから削除します。

ステップ 4: ボブのノードは、ブロック 1080 まで HTLC タイムアウト トランザクションを再ブロードキャストします。エリックは毎回置換を開始できます。ブロック1080までに、チャネル相手のアリスのトランザクションが確認され、アリスはロックされたBTCを取得する。

ステップ 5: エリックは HTLC プリイメージを確認するので、ボブによってロックされた 1 BTC がエリックに転送されます。

したがって、ボブの 1 BTC はエリックに送金されましたが、彼はアリスから受け取るべき BTC も受け取りませんでした。

まとめ

2023 年 16,000 月の時点で、ライトニング ネットワークには 5,000 を超えるライトニング ノードと XNUMX BTC があります。実際の交換サイクル攻撃の事例は確認されていませんが、ライトニングネットワークの継続的なセキュリティ研究と改善の必要性を浮き彫りにしています。 Antoine Riard 氏はまた、置換サイクル攻撃を回避または軽減するためのいくつかの対策を提案しました。たとえば、ローカル メモリプールとリレーされたトランザクションの監視、マイナーと Lightning ノード間のオーバーレイ ネットワークの構築、攻撃者のコストを増加させるために HTLC タイムアウト トランザクションを積極的にリプレイするなどです。しかし同時に、同氏はライトニングネットワークへの参加と、プロトコルレベルのセキュリティ脆弱性に対する解決策の調整などの実装作業を停止すると発表した。

ライトニング ネットワークが規模を拡大するにつれて、交換サイクル攻撃の潜在的な脅威がその開発過程の障害となる可能性があり、コミュニティはセキュリティの研究と改善にさらに注力せざるを得なくなります。しかし、セキュリティ問題に真剣に取り組み、改善することによってこそ、ライトニング ネットワークが将来的に潜在的なリスクを徐々に解決し、より健全で信頼性の高いエコシステムを実現するのを目撃できるかもしれません。

CoinExについて

2017 年に設立された CoinEx は、取引を容易にすることに尽力した世界的な暗号通貨取引所です。このプラットフォームは、現物および証拠金取引、先物、スワップ、自動マーケットメイク (AMM)、財務管理サービスなどの幅広いサービスを、5 以上の国と地域の 200 万人を超えるユーザーに提供します。 CoinEx は設立以来、「ユーザー第一」のサービス原則を堅持してきました。 CoinEx は、公平で敬意を持った安全な暗号通貨取引環境を育成するという真摯な意図により、使いやすい製品とサービスを提供することでユーザーが暗号通貨の世界に簡単にアクセスできるようにします。

参考文献

https://cypherpunks-core.github.io/bitcoinbook/

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-October/022032.html

https://lightning.network/lightning-network-paper.pdf

https://github.com/ariard/mempool-research/blob/2023-10-replacement-paper/replacement-cycling.pdf

免責事項:これは有料の投稿であり、ニュース/アドバイスとして扱われるべきではありません。  

出典: https://ambcrypto.com/replacement-cycle-攻撃-in-the-lightning-network/