banner
CKB 中文

CKB 中文

CKB 是理想的比特币 Layer 2

ライトニングネットワークはどのように機能しますか(2)?

在上一篇《ライトニングネットワークはどのように機能するか(1)》中、私たちはライトニングネットワークの動作原理と双方向支払いチャネルの安全保障に関する技術を探りました。今日の記事では、ライトニングネットワークについてさらに紹介し、双方向支払いチャネルをライトニングネットワークに拡張するための関連原理と技術を明らかにします。

双方向支払いチャネルをライトニングネットワークに拡張する:マルチホップルーティング技術#

私たちは同様にアリスとボブをチャネルの基本背景として使用しますが、この世界にはアリスとボブ以外にもライトニングネットワークに接続したい人々がいます。すべての人をネットワークに接続し、ネットワーク内の任意の人に支払いを開始する方法はあるのでしょうか?

この問題を解決するために、私たちは双方向支払いチャネルをライトニングネットワークに拡張し、 マルチホップルーティング技術を使用する必要があります。「ルーティング」の文字通りの意味は「経路を探す」ことであり、ライトニングネットワークでは、特定の対象に支払いを行うために、チャネルが前後に接続された経路を見つけることを指します。

アリスがデイビッドに 2000 サトシを支払う例を考えてみましょう。彼らの間には支払いチャネルが確立されていないと仮定しますが、アリスとボブの間、ボブとキャロルの間、キャロルとデイビッドの間にはすでに支払いチャネルが確立されています。この場合、アリスはまずボブにお金を転送し、次にボブがキャロルに転送し、最後にキャロルがデイビッドに転送することで、アリスからデイビッドへの支払いチャネルが実現されます。このとき、ボブとキャロルはネットワーク内のルーティングノードとして機能します。もしアリスとエヴァの間、エヴァとデイビッドの間にも支払いチャネルが確立されていれば、アリスはお金をエヴァに転送し、次にエヴァがデイビッドに転送することも選択できます。

img

経路の観点から見ると、アリスがエヴァを通じてデイビッドにお金を転送するのが最短の選択肢であることは明らかですが、実際の操作の過程では、最短の経路が必ずしも最良の選択肢であるとは限りません。なぜなら、チャネルの容量、ルーティングノードの手数料、ルーティングノードがオンラインかどうかなど、他の要素も考慮する必要があるからです。

現在、主流のビットコインライトニングネットワークの実装(クライアント)である Lightning Labs が開発した LND や Blockstream が開発した CLN(Core Lightning)では、ルーティングアルゴリズムに Dijkstra アルゴリズムの変種を使用しています。Nervos CKB が提供するライトニングネットワーク Fiber Network も、最適なルーティングパスを見つけるために Dijkstra アルゴリズムを使用します。

ルーティングの安全性を確保する:HTLC から PTLC へ#

上記のアリスがデイビッドに支払いを行う例では、どのようにして中間のルーティングノードが不正を行わず、悪意を持って資金を保持しないようにするのでしょうか?従来の金融システムは通常、大手の信頼できる金融仲介機関の信用保証に依存していますが、ライトニングネットワークは P2P ネットワークであり、取引者とは独立した第三者が信用保証を提供することはありません。私たちは取引の安全を確保するために異なるメカニズムが必要です。これが **HTLC(ハッシュタイムロック契約)** の役割です。

HTLC は 2 つの部分から構成されています:ハッシュ検証と期限検証。 アリスがデイビッドに 2000 サトシを支払う例を考え、ボブとキャロルをネットワーク内のルーティングノードとして選択して HTLC の動作原理を理解しましょう:

img

  1. まず、デイビッドは秘密値 Rを生成します。任意の単語や数字がこの秘密値として使用できます。その後、ハッシュ値 Hを計算し、アリスに送信します。このハッシュ値 H は取引出力のロックスクリプトに配置され、H に対応する秘密値 R を知っている人だけがこの出力を使用できます。R はライトニングネットワーク内で「原像」と呼ばれます。秘密値 R が適時に公開されない場合、この支払いは無効になり、送信者はすべての資金を回収します。
  2. 次に、アリスは受け取ったハッシュ値 H を使用して HTLC を作成し、タイムロックを未来の 5 ブロックに設定し、出力額を 2020 サトシにします。このうち 20 サトシはルーティングノードボブの手数料です。簡単に言うと、アリスはボブに 2020 サトシを支払いますが、彼が 5 ブロック内に秘密値 R を提供できない場合、これらのお金はアリスに戻ります。
  3. ボブは自分とキャロルのチャネル内で、アリスが提供したのと同じハッシュ値 H を使用して HTLC を作成し、タイムロックを未来の 4 ブロックに設定し、出力額を 2010 サトシにします。このうち 10 サトシはルーティングノードキャロルの手数料です。簡単に言うと、ボブはキャロルに 2010 サトシを支払いますが、彼が 4 ブロック内に秘密値 R を提供できない場合、これらのお金はボブに戻ります。
  4. キャロルは自分とデイビッドのチャネル内で、同じハッシュ値 H を使用して HTLC を作成し、タイムロックを未来の 3 ブロックに設定し、出力額を 2000 サトシにします。簡単に言うと、キャロルはデイビッドに 2000 サトシを支払いますが、彼が 3 ブロック内に秘密値 R を提供できない場合、これらのお金はキャロルに戻ります。
  5. デイビッドは秘密値 R を使用してキャロルが設定した HTLC を解除し、2000 サトシを受け取ります。
  6. デイビッドが資金を受け取った後、キャロルもこの秘密値 R を知り、彼は R を使用してボブが設定した HTLC を解除し、2010 サトシを受け取ります。
  7. キャロルが資金を受け取った後、ボブも秘密値 R を得て、彼は R を使用してアリスが設定した HTLC を解除し、2020 サトシを受け取ります。

このメカニズムにより、アリスはデイビッドに 2000 サトシを支払うことに成功し、直接支払いチャネルを確立する必要がありません。この過程で、各当事者は互いに信頼する必要がなく、 ルーティングノードも適切な手数料を得ることができます。たとえ支払いがある段階で中断されても、タイムロックメカニズムが存在するため、各当事者は損失を被ることはなく、資金はロック時間が過ぎた後に自動的に戻ります。

しかし、HTLC には潜在的なプライバシーの問題もあります: 経路全体で同じ秘密値(原像)が使用されます。もしある主体が支払い経路上の複数のノードを制御している場合、異なるノードの入力と出力を比較することで、完全な取引情報を推測したり、支払い者と受取人を推測したりする可能性があります。これにより、ライトニングネットワークがオン ion ルーティングを通じて実現したプライバシー保護が弱まります。

この問題を解決するために、ビットコインコミュニティは **PTLC(ポイントタイムロック契約)** を提案しました。PTLC の仕組みでは、経路内の各ホップが異なる秘密値を使用するため、オン ion ルーティングを通じて実現されるプライバシーが保護されます。Nervos CKB が提供するライトニングネットワークFiber Networkは、将来的に PTLC を導入し、ライトニングネットワークのプライバシー保護能力をさらに強化する予定です。

結論#

技術の進歩に伴い、ライトニングネットワークは引き続き最適化と改善が進んでいます。LN-Penalty から eltoo、さらに Daric、HTLC から PTLC に至るまで、私たちはライトニングネットワークが安全性やプライバシー保護の面での継続的な向上を目の当たりにしています。今後、さらなる革新技術の適用とエコシステムの整備が進むことで、ライトニングネットワークは暗号通貨の普及を推進する重要な基盤インフラとなり、真の P2P 経済の実現に貢献することが期待されます。

参考資料:

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。