ライトニングネットワーク

この記事は、2018年1月25日にBitMEX Researchにアップロードされた記事の日本語訳です。

抜粋:この記事では、ライトニングネットワーク誕生のきっかけと、従来のネットワークより格段に優れた拡張性により、画期的な進歩につながる可能性を秘めている理由について説明します。ライトニングを実現可能にする基本的な技術的ビルディングブロックの一部についても説明します。また、チェーン上のトランザクションに対するセキュリティ上の欠点などの制限をいくつか挙げ、高額の支払いに不適当な理由を考察します。

出典:flickr.com

ライトニングネットワーク誕生のきっかけ

ブロックチェーンを基盤とする決済システムは、通常、「全員にブロードキャスト」モードで機能します。このモードでは、決済時にネットワークの参加者全員にそのトランザクションをブロードキャスト (一斉送信) する必要があります。

このシステムのノードは次の要件を満たす必要があります。

  • トランザクションを無期限に保存する
  • トランザクションを検証する
  • トランザクションをリレーする

一方、採掘者は、エネルギー集約型の競争プロセスに関与し、相反トランザクションの発生に備えて、トランザクションをレジャーに記録するかどうかを判断する必要があります。

決済受領者を特別扱いすることはありません。例えば、ビットコインを使ってコーヒーを購入する場合、そのトランザクションは全ビットコインネットワークにブロードキャストされますが、コーヒーショップやコーヒーショップの決済事業者にトランザクションデータを優先的に伝達することはありません。こうした扱いに不備があると考える人はたくさんいます。世界中の無数の人が利用する決済システムの構築が目的であれば、この手法は論理的とは思えません。

2000 5月にアーセナルがシェフィールドウェンズデイにホームで 33 で引き分けた試合で、「全員にブロードキャスト」する旧式な方法。   携帯電話が普及する前に、スタジアムのアナウンサーは個人向けメッセージを観戦客全員に公開する方式で放送していました。携帯電話はメッセージを受信相手に直接送ることができるため、このプロセスにかかる時間を短縮し、効率化しました。

ライトニングネットワークは、効率性に優れ、より論理的な決済ネットワークの構築に使用されます。トランザクションは、全員にブロードキャストする代わりに、支払い受領者により直接的に送信できます。トランザクションの当事者が誠実でない場合のみ、コンセンサス (合意形成) を維持するために必要な耐センサーシップシステムを配布する手間のかかるプロセスに頼る必要があります。この方法では、インターネットを通じて当事者同士が直接やり取りする方法にほぼ匹敵するパフォーマンスと効率性を実現できます。しかもビットコインのブロックチェーンの特長である優れたセキュリティもある程度維持できます。

ただし、問題が生じた場合はいつでも当事者全員がブロックチェーンに戻って、資金を取り戻せるように決済システムを構築するのは、複雑なプロセスであり、重大なリスクと制約にもさらされます。

ライトニングの基本的技術ビルディングブロック

一方向マイクロペイメントチャネル。出典:BITMEX リサーチ

上図は、基本的な一方向決済チャネルを設定する伝統的な方法を示したものです。チャネルの設定には、トランザクションを全員にブロードキャストする必要がありますが、設定後はボブからアリスへの複数の支払いはボブからアリスにデータを送信するだけで実現し、全ネットワークへのブロードキャストは不要です。決済プロセスは資金 (この例では 1 BTC) がチャネルで消滅するまで、何度も繰り返せます。

以下の理由で、上記チャネルは理論上安全です。

  • ボブが支払いの取消しを試みる場合、アリスがやるべきことは当初の支払い時にボブが署名したネットワークトランザクション「P1」に署名しブロードキャストするだけです。このプロセスがトランザクション B の 1 週間のロックタイム前に確認される限り、アリスはボブの行為にかかわらず、0.1 BTC を安全に受領します。
  • アリスがボブを困らせようとして署名を拒んだ場合、ボブはトランザクション B が有効になるまで 1 週間待ち、その後アリスが署名済みのトランザクション B をブロードキャストするだけで、資金をチャネルから自分に移動できます。

第三者がトランザクション A を確定できない場合 (TXID が変更) 、このプロセスの安全性は強化されます。さもなければボブはトランザクション A が変更した場合無効になるようにトランザクション B を構築することができるため、アリスの資金は永久に元の持ち主に戻ることがありません。

ナカモト・サトシがビットコイン開発者の Mike Hearn 氏に送信したメールによると、この基本構造はサトシのアイデアです。

「nLockTime」の用途の 1つは、所定当事者間での頻度の高い取引である。当事者は匿名契約で tx を更新し続けることができる。支払い側当事者は次のバージョンの最初の署名者となる。当事者の 1 人が変更への同意を打ち切った場合、最後の状態が「nLockTime」に記録される。希望する場合、n-1 の当事者が応答しない当事者を排除できるように、デフォルトトランザクションを作成できる。仲介トランザクションはブロードキャスト不要であり、 最終結果のみネットワークに記録される。「nLockTime」の直前に、当事者と証人数人のノードが最も頻繁に目にしたシーケンスの tx がブロードキャストされる。

出典:https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2013-April/002417.html

ライトニングの機能方法

このマイクロペイメント構造は、ライトニングネットワークの中核的ビルディングブロックと考えることができ、実質的に、決済チャネルに類似した構造のネットワークです。支払いは最終受領者に達するまで、相互に直結済みのチャネルに沿ってパスを見つけます。

ライトニングで使用されるチャネル構造は、より高度で複雑なテクノロジーを使ってこの基本的な構造上に構築されます。上記構造は一方向ですが、支払いを双方向で作成した方が利便性は高まります。例えば、アリスとボブとの間に 逆方向の 2 つのチャネルを構築することで、双方向の決済チャネルの作成を検討できます。正確には、ライトニングでは「Poon- Dryja」チャネル構築手法を採用しており、一方向の決済チャネルネットワークを逆方向で設定するとチャネル内部にロックする必要のある金額は 2 倍になるため、必要な流動性を減らすことができます。ただし、「Poon-Dryja」チャネル構造には、他の手法と比べて顕著な弱点があり、各当事者はチャネルが更新される (支払いが行われる) たびに新規トランザクションに署名する必要があります。対照的に、一方向チャネルでは、更新時に署名が必要なのは送信者のみです。

旧式のロックタイム機能は、より高度な次の機能で置き換えることができます。

  • チェックロックタイム検証 (BIP65) 機能では、特定日までアウトプットが支出不可であることを証明できます。これはアウトプットの特定支出を特定日まで無効に保つ、ロックタイム類似機能と異なります。
  • 相対的ロックタイム (BIP68) 機能では、対応アウトプットに関連する日付で指定終了日を置き換えることができます。この機能を利用すると、決済チャネルは無期限で開いたままとなり、閉鎖トランザクションによって他の当事者が取消しトランザクションをブロードキャストして資金を取り戻す特定期間 (2 週間等) の時間枠が始動します。
  • ハッシュタイムロック契約 (HTLC) 機能では、特定日までに特定の値に変換される文字列を提供するか、支払い者への返金を資金の受領者に要求できます。この同じハッシュは、そのチャネルネットワークの別の支払いのトリガに使用して、チャネルチェーンにわたり支払いを実行できます。

ライトニングネットワークの誕生とその利点

以上より、ライトニングネットワークを利用すれば、ノード内のパスを見つけることで、ネットワーク参加者はほぼ瞬時にあらゆる方向で割安にトランザクションを行うことが理論的に可能です。しかも、問題が生じない限り、ビットコインネットワークへのブロードキャストは不要であるため、拡張的なネットワークにつながります。こうしたアーキテクチャでは、マイクロトランザクションも可能であり、支払いの機密性を向上させます。

相対的ロックタイム機能により、無期限にチャネルをオープンにしておけるうえ、カウンターパーティリスクがありません。敵対的なチャネルの閉鎖により資金を盗もうとする人物がいても、トランザクションの他の参加者は返金トランザクションを発行して資金を取り戻す十分な時間的余裕があります。

ネットワークの機能とユーザーエクスペリエンス

重大な不透明要素として、個人や企業が実際にどのようにネットワークを利用するかという点があり、この点に対する評論家の意見は分かれているようです。  ライトニングネットワークは、複雑な部分を自動処理するため、いずれ少額決済のユビキタスになるという意見もあれば、  より懐疑的なスタンスの意見もあります。例えば、ネットワークの複数の要素はシステム使用時に手動での構築を必要とし、予測不能のチャネル閉鎖やライトニングネットワークのダウンタイムによってもたらされるユーザーエクスペリエンスの不備が懸念されています。

 

懐疑的意見 楽観的意見
チャネル設定

 

ライトニングチャネルの設定には新たに高価なオンチェーントランザクションを手動で作成しなければならない。 ライトニングチャネルの設定は既存ウォレットとシステムに組み込まれるシームレスなプロセスとなる。支払いの受領やビットコインの購入時には、資金の移動が必要であるが、受領次第ライトニングチャネルに資金を即座に組み入れられるため、チャネルの設定に追加手順やコストは不要。
チャネル閉鎖 支払いが完了すると、手動作成の高価なオンチェーントランザクションでチャネルを閉鎖する必要がある。 チャネルの閉鎖は必要なく、ユーザーは自分のウォレットと資金を無期限または長期的に保有できる。
ネットワークルーティング 当事者間の短いパスを見つけるのはアルゴリズム的に解決すべき難しい問題であり、ルーティング面が大きな問題となる可能性がある。ルートが見つからない場合、ユーザーと業者は、決済プロセスを手動で変更して、オンチェーンの取引を選択する手間のかかるプロセスを行う必要がある。

1.既存の P2P ネットワークでも既にネットワークトポロジやメッセージのリレーが必要であり、ノードには通常 8 の接続点がある。ライトニングネットワークのトポロジは単にその拡張にすぎない。

2. 巨大ネットワークでさえ、ユーザー間のパスの平均手順数は小さいため、ルーティングは大した問題ではない。

3. ルーティングに問題があるとしても、支払いはユーザーが違いに気付くことなく、オンチェーンで簡単に実行可能。

4. 大型チャネル運営者の寡占状態により、ルーティング問題を回避可能。

決済チャネルの集中化 ネットワークは、最も効率的なモデルである小数の大型ハブを中心にまとめられるが、システマチックなチャネルエラーのリスクは高まる。小数の大型チャネルにエラーが生じた場合、大量の資金が同時にチャネルから流出し、チェーンが過密状態となるため、満期までにチャネルを出ることができない支払いが発生する。 集中化を避ける経済的理由として、参入障壁が低いため誰でもノードを設定できることや、請求手数料の引き下げにより、他のノードを削減可能なことが挙げられる。

ネットワークを小数の大型ハブを中心に集中化させた場合でも、ライトニングネットワークは便利でユニークなシステムとなり得る。ビットコインには、コインベースなど、巨額資金を預かる大手事業者が既に存在する。ライトニングでは、資金の保管者は存在せず、支払い用データの伝達役を務めるにすぎない。

流動性 決済チャネルの流動性は不十分であるため、決済業務の範囲は限定的。相応規模の支払いはチャネル全体の流動性をほぼ瞬時に枯渇させ、ライトニングペイメントの中断が必要となる。 ライトニングノードの実行と手数料を受領するための流動性提供がユーザーに推奨される。ネットワークはチャネルの最大能力よりはるかに少額の支払いに使用されるため、流動性は十分確保される。
支払い受領時のオンライン要件 オンチェーントランザクションでは、送金者に必要なのは、支払いアドレスのみであり、受領者がオンライン状態である必要はない。反面、上述したとおり、ライトニングでは受領者は支払いを受領する前に再請求トランザクションに署名する必要がある。受領者は秘密鍵をホットウォレット状態に維持する必要があることになるため、重大な制約であり、高額支払い、ATMや店舗POSシステムでの高額の支払いやインターネット接続が限定的な環境での支払いなど多数の状況でライトニングを非実現的とする。 受領者は支払いを受け取るためオンライン状態である必要はあるが、大半のオンチェーンでの決済と大きな違いはなく、オンライン状態でない場合、受領者は支払いの検証や確認ができない問題が生じる。  また、支払いを直接受領するユーザーやデバイスが秘密鍵を保存する必要があるとは限らない。例えば、店舗の PoS 端末や暗号通貨対応 ATM では、支払いを受領する前に、会社の本部からインターネット経由で返金を受け、トランザクションに署名できるが、支払いを受ける際にやり取りが必要である。
チャネル監視のための潜在的要件 ライトニングネットワーク参加者は、資金を保護するために、決済チャネルを監視して、所定期限までに措置を講じる必要がある。例えば、悪意のある返金取引は、他の当事者が所定期限までに自己資金を保護するためにトランザクションの再請求が必要な期限の開始のきっかけとなり得る。これは、ユーザーに相当の負担を強いることになる。 相対的ロックタイムによって定められる期限に応じてチャネルを常時監視する必要はない。チャネル監視塔(監視業者) はユーザーに代わってチャネルを監視することでリスクを軽減する。こうしたサービスは悪意のあるトランザクション再請求時に警告を発したり、トランザクションの再請求を自ら発行できる(ユーザーが事前に署名し提供した場合)。

現実には、真実は上記 2 つの見方の間にあると考えられますが、いずれ楽観的な見方へシフトしていく可能性があります。  こうした意見の相違は、ライトニング懐疑派がこのネットワークを、チャネル構造システムのみを基準に、複雑で実用的でない決済システムであると捉えていることに由来します。支持派はライトニングをビットコインのブロックチェーンの上部の 2 番目の層を理由に拡張的なビルディングブロックである点を重視しています。いずれ、ウォレットや決済プロトコルシステム、チャネルサービス企業に補完され、シンプルでシームレスなユーザーエクスペリエンスを提供できるようになると期待しています。いずれ、ウォレットは、相互コミュニケーションを可能にし、オンチェーンでの最適な決済方法やライトニング経由での実用的な手法を、ユーザーが気付かないうちに、自動で判断できるようになるかもしれません。

ライトニングのセキュリティリスク増大

  • 支払い受領時のオンライン要件:上述したとおり、資金の受領者は受領前にトランザクションの再請求に署名して、悪意のあるチャネルの閉鎖や署名拒否の場合に、送金者が自己資金を取り戻せることを認識できるようにする必要があります。そのため、資金の受領にはホットウォレットが必要となりますが、反面、セキュリティインシデントが発生した場合、秘密鍵が危険にさらされる恐れがあります。
  • チャネル監視の要件:ライトニングネットワークの参加者や監視業者は、支払いチャネルの積極的な監視が必要な場合があります。ユーザーや監視業者にとってこれは負担となる可能性があり、オンチェーンに保存されるビットコインと比べてチャネル内の資金の安全性を低下させる可能性があります。チャネルの適切な監視を怠った場合やチェーンネットワークの過密が原因で、トランザクションの再請求の期限を逃す危険性もあります。
  • 採掘者はチャネル閉鎖トランザクションを検閲可能:51% というハッシュレートは、採掘者を相手側当事者とするチャネル閉鎖トランザクションの検閲を通じて、ライトニングユーザから資金を盗む機会を提供する可能性があります。この種の攻撃の結果は、ライトニングがない場合でも悲惨ですが、ライトニングネットワークは敵対的採掘者に、通常より広範な攻撃対象となる可能性があります。

3 つの要因は個別には重要ではないかもしれませんが、支払いの受領時に秘密鍵をインターネットにさらす必要性、敵対的なチャネル閉鎖リスク、採掘者による返金トランザクションのチャネル検閲リスクは、すべてある程度管理可能であるものの、組み合わさると大きなセキュリティ上の欠点と言えます。

手間をかけるのを厭うユーザーや情報を十分知らされていないユーザーがチャネルに巨額の資金を維持して、こうしたリスクシナリオが原因で資金を紛失したり盗難に遭ったりするリスクがあります。また、価格変動の結果、決済チャネルに想定していた以上に多くの資金を保持することになるリスクもあります。

結論

当社の意見では、ライトニングネットワークは拡張性の点で大幅で画期的な改善となる余地があるように見受けられます。  その結果、トランザクション速度や手数料率は、基盤となる中核セキュリティプロトコルに影響を及ぼすことなく、劇的に改善が期待できます。  ただし、ライトニング決済に関連するセキュリティ面での弱点は、高額決済でのライトニングネットワークの使用を不適当とする可能性があります(少なくとも高額払いにこのネットワークを使用することは無責任と言えます)。巨額の支払いを必要とする投機や投資フローは、現在、暗号通貨市場の主な牽引役と考えられる一方、小売分野での支払いは比較的少額にとどまっています。そのため、ライトニングは少なくとも中期的には、想像するほど事態を変革する要因とならないかもしれません。このテクノロジーの熱心な支持者は早期の採用に踏み切る可能性がありますが、広範な普及にはかなり時間がかかるでしょう。