最近(2023年10月下旬)、ビットコインコミュニティは、ライトニングネットワークに大きな欠陥があり、ユーザーが「ライトニング交換サイクリング攻撃」と呼ばれるお金を盗むための攻撃方法を構築できる可能性があることを明らかにしました。 私はそれの原則を読みました、そして中国語の名前は「ライトニングネットワークサイクリック置換トランザクション攻撃」と翻訳することができます。その攻撃原理は以下の通りである。まず、ライトニングネットワークがどのように機能するかを説明します。1.アリスとボブは支払いチャネルを開きます、つまり、共同で2-2の署名アドレスを開き、それぞれが秘密鍵を保持します。アリスとボブはそれぞれこの2-2署名アドレスに0.5BTCと0.6BTCを再充電します(金額は任意に選択できます、私は単なる例です)、どちらもメインのビットコインチェーンで発生し、鉱夫は確認する必要があります。 このように、この支払いチャネルの初期状態は、0.5BTCがALICEに属し、0.6BTCがBOBに属しているというものです(ALICE:0.5BTC; ボブ:0.6BTC)。このようにして、この2-2の署名アドレスでは、アリスとボブはお互いに支払うことができ、たとえば、アリスはBOB 0.1BTCを支払うことができるため、ステートチャネルの状態は0.4BTCがアリスに属し、0.7BTCはBOBに属します(ALICE:0.4BTC; ボブ:0.7BTC)。 そして、そのような取引はメインのビットコインチェーンにパッケージ化する必要はありませんが、支払いチャネルと呼ばれるアリスとボブの間でのみ発生します。アリスとボブの間の任意の転送はメインチェーンに決済する必要がないため、マイナー料金を大幅に節約でき、リアルタイムで受信できるため、10分間のブロック確認が不要になります。しかし、2人間でしかトランザクションを転送できない場合、それは役に立ちません。2.ボブとキャロルの間に支払いチャネルも開かれ、初期状態はボブが1.0BTC、carol0BTCを持っているというもので、これは(BOB:1.0BTC; キャロル:0BTC)。3.この時点で、アリスとボブの間に支払いチャネルがあり、ボブとキャロルの間にも支払いチャネルがあることがわかります。その後、アリスはボブを介してキャロルにビットコインを支払うことができます。支払いプロセスは次のとおりです:アリスはキャロルに0.1BTCを支払い、上記の2つの支払いチャネルで次のステータスの変更が発生します1)アリスとボブのステータスの変化は(アリス:0.3BTC、ボブ:0.8BTC)2)BOBとキャロルの間の状態変化は(BOB:0.9BTC、キャロル:0.1BTC)です。3)これで、アリスからキャロルへの0.1BTC転送の取引が完了します。4.ますます多くの当事者が支払いチャネルを開き、相互接続を実現すると、ライトニングネットワークと呼ばれる支払いネットワークが形成されます。もちろん、詳細な技術的説明は複雑すぎます、そして上記は最も簡潔な説明です。以下は、ライトニングネットワークの循環置換トランザクション攻撃の一般的なプロセスを説明しており、詳細な技術的詳細がわからず、これらのオペコード、コントラクト、および機能は少し複雑です。1.攻撃者はボブを攻撃するために共謀したアリスとキャロルであり、ボブは犠牲者です。アリスはキャロルに0.3BTCを支払います。1)初期状態のチャネルは次のとおりです(アリス:0.3BTC、BOB:0.8BTC)および(BOB:0.9BTC、キャロル:0.1BTC)2)アリスとボブの間の状態チャネルを(アリス:0; ボブ:1.1BTC)3) BOBとキャロルの間のステートチャネルを(BOB:0.6BTC、キャロル:0.4BTC)に変更する必要があります。アリスとキャロルはボブの0.3BTCを詐欺するために提携することにしました1)キャロルは、アリスから0.3BTCを受け取ったことを確認すると主張していない、つまり、キャロルはライトニングネットワークの領収書情報をBOBに送信していません。 その結果、ボブはライトニングネットワーク内でアリスの0.3BTCを合法的に請求することができなくなります。2)ある時間に、アリスはトリックをして、メインのビットコインチェーンで清算トランザクションTX1を直接開始し、ボブはまだ0.3BTCを持っていると主張しましたが、ボブは州のチャネルに0.8BTCしかありません。tx1取引では、0.3BTCがアリス自身のアドレス(単一署名)に送られたため、アリスは自分のものではない0.3BTCを盗もうとしていました。3)ボブはキャロルの領収書を受け取らなかったため、ボブは証明できません(アリス; この状態のチャネルの Bob) を (ALICE:0BTC; ボブ:1.1BTC)4)TX1がオンチェーンでパッケージ化されると、つまりアリスが0.3BTCを盗むと、キャロルはすぐにライトニングネットワークで0.3BTCを収集し、領収書をBOBに送信します。5)このように、アリスは実際にBOBに0.3BTCを送信しませんでしたが、キャロルは実際にBOBから0.3BTCを受け取りました。 そのため、ボブはアリスとキャロルのパートナーシップで0.3BTCを盗まれました。6)アリスがメインチェーンでTX1コイン盗難取引を開始した場合、ボブには対策があり、メインチェーンへの取引を開始すると、TX2はアリスが不正行為をしていることを証明しますが、ボブはキャロルの領収書を受け取らなかったため、TX2取引はまだかなり面倒ですが、理論的には可能です。アリスがTX2を見た後、彼女は再びより高いマイナー料金方式を使用してTX1をリセットし、マイナーにTX1をパッケージ化し、「交換」と呼ばれるTX2を拒否するように誘導します。7)現在、開発者は、アリスとキャロルの共謀により、ビットコインのメインチェーンマイナーでBOBのTX2を正当化し、TX2が正当であることをより明確に証明し、プロトコルを変更する必要があり、メインチェーンのソフトフォークであり、難しいと述べています。上記は、ライトニングネットワークの周期的置換トランザクション攻撃の一般的なプロセスであり、特定の技術原理は複雑すぎ、理解できませんが、インターネットで見た開発者が投稿した技術的な詳細は正しいと思います。攻撃の方法は、2つのうちの1つを挟むことであり、交換は自然であり、すべてのユーザーは支払いチャネルを開いたため、交換は苦しむことになります。結局、これは大したことではなく、ソフトウェアにバグはなく、修正する方法があると思います。
ライトニングネットワーク置換トランザクションループ攻撃をすばやく理解する
最近(2023年10月下旬)、ビットコインコミュニティは、ライトニングネットワークに大きな欠陥があり、ユーザーが「ライトニング交換サイクリング攻撃」と呼ばれるお金を盗むための攻撃方法を構築できる可能性があることを明らかにしました。
私はそれの原則を読みました、そして中国語の名前は「ライトニングネットワークサイクリック置換トランザクション攻撃」と翻訳することができます。
その攻撃原理は以下の通りである。
まず、ライトニングネットワークがどのように機能するかを説明します。
1.アリスとボブは支払いチャネルを開きます、つまり、共同で2-2の署名アドレスを開き、それぞれが秘密鍵を保持します。
アリスとボブはそれぞれこの2-2署名アドレスに0.5BTCと0.6BTCを再充電します(金額は任意に選択できます、私は単なる例です)、どちらもメインのビットコインチェーンで発生し、鉱夫は確認する必要があります。 このように、この支払いチャネルの初期状態は、0.5BTCがALICEに属し、0.6BTCがBOBに属しているというものです(ALICE:0.5BTC; ボブ:0.6BTC)。
このようにして、この2-2の署名アドレスでは、アリスとボブはお互いに支払うことができ、たとえば、アリスはBOB 0.1BTCを支払うことができるため、ステートチャネルの状態は0.4BTCがアリスに属し、0.7BTCはBOBに属します(ALICE:0.4BTC; ボブ:0.7BTC)。 そして、そのような取引はメインのビットコインチェーンにパッケージ化する必要はありませんが、支払いチャネルと呼ばれるアリスとボブの間でのみ発生します。
アリスとボブの間の任意の転送はメインチェーンに決済する必要がないため、マイナー料金を大幅に節約でき、リアルタイムで受信できるため、10分間のブロック確認が不要になります。
しかし、2人間でしかトランザクションを転送できない場合、それは役に立ちません。
2.ボブとキャロルの間に支払いチャネルも開かれ、初期状態はボブが1.0BTC、carol0BTCを持っているというもので、これは(BOB:1.0BTC; キャロル:0BTC)。
3.この時点で、アリスとボブの間に支払いチャネルがあり、ボブとキャロルの間にも支払いチャネルがあることがわかります。
その後、アリスはボブを介してキャロルにビットコインを支払うことができます。
支払いプロセスは次のとおりです:アリスはキャロルに0.1BTCを支払い、上記の2つの支払いチャネルで次のステータスの変更が発生します
1)アリスとボブのステータスの変化は(アリス:0.3BTC、ボブ:0.8BTC)
2)BOBとキャロルの間の状態変化は(BOB:0.9BTC、キャロル:0.1BTC)です。
3)これで、アリスからキャロルへの0.1BTC転送の取引が完了します。
4.ますます多くの当事者が支払いチャネルを開き、相互接続を実現すると、ライトニングネットワークと呼ばれる支払いネットワークが形成されます。
もちろん、詳細な技術的説明は複雑すぎます、そして上記は最も簡潔な説明です。
以下は、ライトニングネットワークの循環置換トランザクション攻撃の一般的なプロセスを説明しており、詳細な技術的詳細がわからず、これらのオペコード、コントラクト、および機能は少し複雑です。
1.攻撃者はボブを攻撃するために共謀したアリスとキャロルであり、ボブは犠牲者です。
アリスはキャロルに0.3BTCを支払います。
1)初期状態のチャネルは次のとおりです(アリス:0.3BTC、BOB:0.8BTC)および(BOB:0.9BTC、キャロル:0.1BTC)
2)アリスとボブの間の状態チャネルを(アリス:0; ボブ:1.1BTC)
アリスとキャロルはボブの0.3BTCを詐欺するために提携することにしました
1)キャロルは、アリスから0.3BTCを受け取ったことを確認すると主張していない、つまり、キャロルはライトニングネットワークの領収書情報をBOBに送信していません。 その結果、ボブはライトニングネットワーク内でアリスの0.3BTCを合法的に請求することができなくなります。
2)ある時間に、アリスはトリックをして、メインのビットコインチェーンで清算トランザクションTX1を直接開始し、ボブはまだ0.3BTCを持っていると主張しましたが、ボブは州のチャネルに0.8BTCしかありません。
tx1取引では、0.3BTCがアリス自身のアドレス(単一署名)に送られたため、アリスは自分のものではない0.3BTCを盗もうとしていました。
3)ボブはキャロルの領収書を受け取らなかったため、ボブは証明できません(アリス; この状態のチャネルの Bob) を (ALICE:0BTC; ボブ:1.1BTC)
4)TX1がオンチェーンでパッケージ化されると、つまりアリスが0.3BTCを盗むと、キャロルはすぐにライトニングネットワークで0.3BTCを収集し、領収書をBOBに送信します。
5)このように、アリスは実際にBOBに0.3BTCを送信しませんでしたが、キャロルは実際にBOBから0.3BTCを受け取りました。 そのため、ボブはアリスとキャロルのパートナーシップで0.3BTCを盗まれました。
6)アリスがメインチェーンでTX1コイン盗難取引を開始した場合、ボブには対策があり、メインチェーンへの取引を開始すると、TX2はアリスが不正行為をしていることを証明しますが、ボブはキャロルの領収書を受け取らなかったため、TX2取引はまだかなり面倒ですが、理論的には可能です。
アリスがTX2を見た後、彼女は再びより高いマイナー料金方式を使用してTX1をリセットし、マイナーにTX1をパッケージ化し、「交換」と呼ばれるTX2を拒否するように誘導します。
7)現在、開発者は、アリスとキャロルの共謀により、ビットコインのメインチェーンマイナーでBOBのTX2を正当化し、TX2が正当であることをより明確に証明し、プロトコルを変更する必要があり、メインチェーンのソフトフォークであり、難しいと述べています。
上記は、ライトニングネットワークの周期的置換トランザクション攻撃の一般的なプロセスであり、特定の技術原理は複雑すぎ、理解できませんが、インターネットで見た開発者が投稿した技術的な詳細は正しいと思います。
攻撃の方法は、2つのうちの1つを挟むことであり、交換は自然であり、すべてのユーザーは支払いチャネルを開いたため、交換は苦しむことになります。
結局、これは大したことではなく、ソフトウェアにバグはなく、修正する方法があると思います。