ビットコインのスケーラビリティ問題に対応する策として2016年から考案されてきたのが、ライトニングネットワークです。今回は、ライトニングネットワークが提案された背景、その構想と仕組み、オフチェーンにするメリットとデメリットなどを紹介します。
Joseph Poon | Thaddeus Dryja |
Follow @jcp | Follow @tdryja |
ライトニングネットワークは、Joseph PoonとThaddeus Dryjaの2人によって2016年1月に書かれた論文で提案された、ビットコインのスケーラビリティ問題を解決する技術です。
2人の論文によると、ライトニングネットワークは
複数のピアツーピア支払いチャネルに安全にルーティングできるようにする、双方向支払いチャネルを備えたHashed Timelock Contracts(HTLC)が提案された実装
と定義されています。
これによって、ネットワーク上の任意の人が、互いの間に開いているチャネルを直接持っていなくても、他の人にも支払うことができるネットワークの形成が可能になります。
言い換えると、第三者を経由してでもペイメントチャネルで繋がっている人であれば、誰にでも送金可能とするのが、ライトニングネットワークです。
連載記事「ブロックチェーンの未来」の『ブロックチェーンの課題と解決に向けた方策とは?-性能効率性-』の章でビットコインにはスケーラビリティに関する問題が存在することを解説しました。
ビットコインは、およそ10分に1回ブロックを発行し、取引情報を保存していますが、1ブロックに埋め込まれる取引の数は 4,000 件ほどです。
従って理論上、秒間 7 件程度の取引しか処理することができていません。
これを超えた場合、通常は取引毎に取引の当事者が付与している取引手数料が高いものから処理されていくため、多くの取引がなかなか確定されない状況が生じています。
また、ビットコインの取引を埋め込んでいく台帳であるブロックも、1MBの上限が定められています。
上図は、「TradeBlock」というデータサマリを提供するサービスのBitcoinの消費ブロックサイズの履歴です。 ご覧の通り、2018年1月に970kbyte(0.97MB)に近づいたあと、漸減傾向にありましたが、2019年5月2日時点では900kbyte(0.9MB)近くを消費していることがわかります。
ビットコインが世界的に普及していき取引量が増えていったことによって、1MBという現在のブロックサイズでは容量が足りなくなる…という問題がすぐそこまできているというわけです。
つまり決済システムであるビットコインの利便性を考えた時に、このままでは機能しなくなってしまうかもしれない危険があるのです。
さらに、ビットコインを実用的に送金するためには、それを確認するマイナーに対する手数料がかかるため、少額を送金する際には手数料が決済金額を上回ってしまうケースも出てしまいます。これを解決するために考案されたのが、オフチェーンまたはライトニングネットワークと呼ばれる技術です。
前述のようなビットコインの制限を回避するために、取引処理をビットコインブロックチェーンの外で管理・実行する構成が、ビットコインのライトニングネットワークです。
構造として、ライトニングネットワークはブロックチェーンネットワークとは別のレイヤーに存在します。
このことから、ライトニングネットワークは、オフチェーンまたは、レイヤー2(セカンドレイヤー)の技術とも呼ばれています。
東京三菱UFJ銀行が運営するInnovationHubのウェブサイトには、ライトニングネットワークの仕組みが図解付きで分かり易く説明されています。
この例では、AliceがDavidとペイメントチャネルで間接的に繋がっていれば、Aliceは間にいる二人(BobとCarol)を信用することなく、Davidに送金できるようになる仕組みが紹介されています。その過程は、以下の3ステップからきています。
ここで重要なのが、ライトニングネットワークでは直接結びついていない参加者が安全な取引を実現するため、Hashed Time-Lock Contract(HTLC)取引という仕組みを採用している点です。
これがないと、BobまたはCarolのどちらかが、経由途中のビットコインを持ち逃げできてしまいます。
考案者であるPoonとDryjaの言葉では、論文内でこう解説しています。
Lightning Networkは、安全な暗号化ハッシュの知識を条件として支払いを埋め込むことによって、いかなる当事者も一方的な保管所有権を有する必要なしに、チャネルのネットワークを介して支払いを行うことができます。Lightning Networkを使用すると、管理下での信頼と所有権を必要とせずに、信頼できるが独占に脆弱であった金融システムでは不可能だったことを実現します。 ネットワークへの参加は動的であり、すべての人に開かれています。
さらにこの仕組みは、手数料とブロックチェーンの容量にも大きな影響を与えます。
まず手数料に関して、マイクロペイメント等の取引をオフチェーンで実行し、最初と最後の取引だけをビットコインのブロックチェーンに記して確定させることで、介在する第三者とのやり取りで本来発生するはずだった多額の取引手数料が省略されます。
そこから、仮想通貨の取引履歴を記録する役割を担うマイナーに支払われる手数料が最小で済みます。簡単に言うと、オフチェーン(ブロックチェーン外)での処理となるため、マイニングが不要になり手数料が安く出来るのです。
容量についても、もしビットコインを使用するすべての取引がブロックチェーン上にあり、1日に70億人が2つの取引を実行できるようにするには、少なくとも10分ごとに24 GBのブロックが必要です。
今日のブロックチェーンで全世界の支払い取引を行うことは、マイナーたちが驚くべきほどの量の計算を行う必要があることを意味します。
しかし、PoonとDryjaの理論でこれをライトニングネットワークで行う場合、チャネル内で取引を無制限にして年間70億人が2チャネルを作成できるようにするには133 MBブロックしか必要ではありません。これは、手持ちのデスクトップPCでもフルノードを実行できる容量です。
上記のように、ライトニングネットワークを採用することで、以下のような諸問題を解決できるようになりました。
一方、ライトニングネットワークには以下の様なデメリットもあります。
上記のMediumで数学的に証明された図が分かり易く説明していますが、ライトニングネットワークでは左2つのようにネットワークが特定のノードに集中された状態になってしまうことが懸念されます。
右のような分散化されたネットワークではなく、既存の中央集権的な体系になってしまう可能性があります。
また、ライトニングネットワークでは中継するノードは「貸付」をしなくてはいけません。
前述の4者間でのペイメントチャネルで解説の例のように、Alice→Bob→Carol→Davidと0.1BTCが送金されるとき、まさにこの流れでビットコインが移動するのではなく、まずCarol→Davidで0.1BTCが移動し、その後Bob→Carol、そしてAlice→Bobと0.1BTCが送られます。
つまり、ライトニングネットワークで中継するノードは、ルーティングのためにビットコインを貸し出す必要があるのです。
巨大なネットワークでライトニングネットワークを作ると、中継するノードでのデポジットの不足や、このような継続的な貸付が問題化することが予想されます。ハブが送金を仲介することから、資金移動事業と見なされる法的な潜在リスクがあることも、指摘されています。
課題も指摘されるライトニングネットワークですが、その便利さから、2019年4月の現在1058以上のビットコインを運ぶ42,000以上のチャンネルが存在していることが以下のダッシュボードから証明されています。
さらにビットコインだけではなく、イーサリアムにもライデンネットワークというオフチェーンプロジェクトが存在しますし、Zcashなどでも同様のプロジェクトが進行しています(出典:『Decentralized off-chain governance in the context of digital currencies』/midium)。
課題も残るオフチェーンネットワークですが、ビットコインで長年問題視されてきたスケーラビリティの課題を迂回するには、現段階で実用的な技術といえるでしょう。