コンテンツ
はじめに
ライトニングネットワークとは?
まずはじめに、他ユーザー間でスマートコントラクトを構築するためのトランザクションの作成が必要です。詳細は後ほど説明しますが、現在は、スマートコントラクトが他ユーザーとプライベートな電子帳簿を保持していると考えてください。この電子帳簿には多数のトランザクションを記録することができます。これらのトランザクションはあなたとカウンターパーティーにしか見ることができず、セットアップ時に複数の特殊な機能が実装されているため、不正を行うことはできません。
いつでも、チャネルの現在の状態をブロックチェーンに公開することができます。その時点で、チャネルの各残高は、チェーン上のそれぞれのパーティーに割り当てられます。
なぜライトニングネットワークが必要なのか?
実験をブロックチェーンから遠ざける程に、柔軟性が増加します。なにか問題が発生しても、実際のビットコインネットワークには何の影響もなく、レイヤ2ソリューションは、プロトコルを10年以上継続してきたセキュリティ上の前提を損なうものではありません。
ユーザーは、従来の方法から切り替える義務はありません。エンドユーザーにとっては、オンチェーントランザクションは通常通りに機能しますが、オフチェーントランザクションも同時に機能します。
ライトニングネットワークを使用すると、いくつかのメリットがあります。以下では、主なものを見ていきましょう。
スケーラビリティ
ビットコインの平均取引手数料(米ドル)
数千ドル相当のビットコインを移動させる取引では重要ではないと思われるかもしれませんが、少額な支払いによる持続性は損なわれます。5ドルの手数料が付いた3ドルのコーヒーを購入したい人はいるのでしょうか?
ライトニングネットワークでは、チャネルの開設および閉設するために2種類の手数料を支払う必要があります。しかし、チャネルを開設してしまえば、あなたと取引相手は無料で何千ものトランザクションを処理することができます。取引完了後、最終状態をブロックチェーン上に更新します。
大規模なスキームでは、ライトニングネットワークのようなオフチェーンソリューションに依存するユーザーが増加すると、ブロックスペースはより効率的に使用されるでしょう。低価値で高頻度の送金は決済チャネルで行われ、ブロックスペースは大規模なトランザクションやチャネルの開閉に使用されます。これにより、システムにアクセスできるユーザー数が大幅に増え、長期的にはスケールアップが可能となります。
マイクロペイメント
マイクロペイメントにとって、ライトニングは魅力的です。通常のトランザクションでは手数料が発生するため、メインチェーン上で少額を送金することは現実的ではありません。しかし、チャネル内では、無料でビットコインの端数を送金することができます。
また、マイクロペイメントは多くのユースケースに適しています。ユーザーがサービスを利用するたびに少額を支払うサブスクリプションベースのモデルに入れ替わる可能性があると推測する人もいます。
プライバシー
例えば、アリスがボブとのチャンネルを持ち、ボブがキャロルとのチャンネルを持つ場合、アリスとキャロルはボブを介してお互いに支払いを送金することができます。ダンがキャロルと繋がっている場合、アリスはダンに支払いを送金することができます。これを利用して、相互接続された決済チャネルを大規模なネットワークへと拡大することができます。しかし、この設定では、チャネルが閉鎖された後、アリスが誰に送金したかを確認することはできません。
ライトニングネットワークの仕組みとは?
ここまで、ライトニングネットワークがどのようにノード間のチャネルに依存しているかを説明してきました。それでは、ライニングネットワークの仕組みについて詳しく見ていきましょう。
マルチシグネチャーアドレス
これは、2人が共同所有のマルチシグアドレスに3BTCずつ入金することから始まります。繰り返しになりますが、ボブはアリスの同意がなければ、アドレスから資金を移動させることはできず、逆も同様です。
今では、両者の残高を調整する用紙を保管することができます。どちらも開始残高は3BTCですが、アリスがボブに1BTCの支払いをした場合、アリスが2BTC、ボブが4BTCを所有していることをメモしておきましょう。このように資金の移動が決定されるまで、残高を追跡することができます。
残高の追跡は可能ですが、どのような意味があるのでしょうか?さらに重要なのは、非協力的な人が出てくることはないのでしょうか?アリスが6BTCを所有しており、ボブは何も所有していない場合、ボブは資金の送金を拒否することで何も失うことはありません(アリスとの友情を除いては)。
ハッシュタイムロックコントラクト(HTLC)
上記のようなシステムは、既存の信頼されたセットアップよりも劣っています。アリスとボブの間の“契約”を強制する仕組みを導入することで、さらに興味深いことが発生します。一方の当事者がルールに従わない場合、もう一方の当事者はチャネルから資金を引き出す救済策が用意されています。
HTLCはハッシュロックとタイムロックを組み合わせて作成されます。実際には、HTLCは条件付きの支払いを作成するために使用することができ、受信者は特定の時間前に秘密を提供しなければならず、送信者は資金を回収することができます。この部分は例を挙げて説明した方が良いでしょう。アリスとボブに話を戻します。
開閉チャネル
私たちは、アリスとボブが共有するマルチシグネチャーアドレスに資金を提供するトランザクションを作成した例を示しました。しかし、これらのトランザクションはまだブロックチェーン上に公開されていません。最初にもう1つやるべきことがあります。
ボブから3枚、アリスから3枚の仮想通貨。
彼女は、トランザクションをすぐにブロードキャストすることもできますが、ボブが署名していないため無効になります。アリスは最初に不完全なトランザクションをボブに提出します。その後、彼が署名した場合、トランザクションは有効になります。
全員が誠実なプレイを続けるための仕組みはまだできていません。先述したように、取引相手が協力を拒否した場合、事実上、資金は制限されてしまいます。それを防ぐための仕組みについて説明します。いくつか異なる動きがありますので、ご了承ください。
各当事者は秘密を作成する必要があります。それらをハッシュAとハッシュBと呼びましょう。アリスとボブが秘密を明らかにしてしまうと大変なことになってしまうため、隠しておくことにします。ペアはそれぞれ秘密のハッシュAとハッシュBを作成します。秘密を共有する代わりに、ハッシュを共有するのです。
アリスとボブは、相互の秘密のハッシュを共有します。
前述の電子帳簿のようなチャネルについて考えると、コミットメント・トランザクションは元帳へのアップデートです。コミットメント・トランザクションの新しいペアを作成するたび、2人の参加者の間で資金の残高を調整していることになります。
アリスの取引には2つの出力があります。1つはアドレスへ、もう1つは新しいマルチシグへの出力です。それらを有効にするためにはボブの署名が必要です
ボブも同様で、一方の出力は自分自身に支払い、他方の出力はマルチシグアドレスに支払います。それらに署名をしてアリスへ提出します。
非常に類似した2つの不完全な取引があります。
新しいマルチシグネチャーアドレス(3BTCの出力先)には、いくつかの固有の特性があります。アリスが署名をしてボブに提出した不完全なトランザクションを見てみましょう。マルチシグの出力は、以下の条件で使用することができます。
- 両者が協力して署名をすることができます。
- ボブは特定時間の経過後に1人で使用することが出来ます(タイムロックのため)。
- アリスはボブのハッシュBを知っていれば使用することができます。
ボブがアリスに提出したトランザクション
- 両者が協力して署名をすることができます。
- アリスは特定時間の経過後に1人で使用することができます。
- ボブはアリスのハッシュAを知っていれば使用することができます。
両当事者は、まだ相互の秘密を知らないため、3.は不可能であることを覚えておいてください。もう1つ注意したいのは、取引成立後、相手の出力に特別な条件がない場合、すぐに使用できるということです。タイムロックの期限切れになるのを待ち、自身で資金を使用、または相手と協力をして使用するかのどちらかになります。
これで、2-of-2マルチシグアドレスにトランザクションを公開することができます。取引相手がチャネルを拒否した場合、資金を回収できるため、安全に使用することができます。
トランザクションが確認されると、チャネルは稼働状態となります。最初の取引ペアは電子帳簿の現状を示しています。現在、ボブには3BTC、アリスには3BTCが支払われています。
アリスがボブに新たな支払いを希望する場合、ペアは最初のセットを置き換えるために2つのトランザクションを新しく作成します。方法は同様で、一方だけ署名します。アリスとボブは古いハッシュを放棄し、次のトランザクションのための新しいハッシュを交換します。
例えば、アリスがボブに1BTCの支払いを希望する場合、2つの新しいトランザクションは、アリスに2BTC、ボブに4BTCをクレジットすることになります。そして、残高が更新されます。
両当事者は、最新のトランザクションに署名をしてブロードキャストすることで、ブロックチェーン上で“決済”をすることができます。しかし、両当事者がそうした場合でも、タイムロックが切れるまで待つ必要があり、もう一方の当事者はすぐに使用することができます。ボブがアリスのトランザクションに署名をしてブロードキャストした場合、アリスは、条件なしの出力を持つことになります。
仮想通貨の購入を検討している場合、バイナンスでビットコインを購入しましょう。
ライトニングネットワークで不正行為を防止する方法
アリスは即座に仮想通貨を受け取ることができます。一方ボブは、タイムロックが切れるまで待つ必要があるため、マルチシグアドレスを使用することはできません。アリスが同資金をすぐに使用する場合のもう1つの条件を覚えていますか?彼女は当時所有していなかった秘密が必要です。しかし、現在は秘密を所有しています。2回目のトランザクションが作成されると、ボブはその秘密をすぐに共有します。
ボブがタイムロックが切れるのを待っている間、アリスは資金を移動させることができます。この処罰に基づくメカニズムは、参加者が不正行為を行う可能性が低いことを意味します。なぜなら、相手が自身の仮想通貨にアクセスすることができるからです。
ペイメントルーティング
以前にも触れましたが、ライトニングネットワークのチャネルには接続可能です。そうでない場合、支払いにそれほど利便性はありません。今後数ヶ月間、毎日の修正を得るためにコーヒーショップに500ドルを預けますか?
そのような必要はありません。 アリスがボブとチャネルを開設し、ボブがすでにキャロルとのチャネルを開設している場合、ボブは両者間での支払いをルーティングすることができます。これは複数の“hops”をまたいで接続することができます。つまり、アリスはパスが存在する誰にでも支払いをすることができるということです。
このシナリオでは、アリスは複数のルートを経由してフランクに到達することができます。実際に、彼女はいつも1番簡単なものを選びます
ルーティングという役割のために、仲介者は少額の手数料を要求するかもしれません(義務ではない)。ライトニングネットワークはまだ新しいため、フリーマーケットは実現していません。多くのユーザーは、提供される流動性に基づく手数料に期待しています。
ベースチェーン上では、手数料はトランザクションがブロック内で占有するスペースのみに基づいており(送信される価値に問題ありません)、1ドルと1万ドルの支払いは同じコストです。対照的に、ライトニングネットワークにはブロックスペースというものは存在しません。
アリスからフランクへ0.3BTCを送金する前後のユーザー残高です。
アリスが0.3BTCをフランクに送金する場合、彼女はキャロル側のチャネルに0.3BTCをプッシュします。するとキャロルは、フランクとのチャネルのローカル残高から0.3BTCをプッシュします。その結果、キャロルの残高は変わらず、アリスからの+0.3BTCとフランクへの-0.3BTCで差し引きゼロになるからです。
キャロルはフランクとの仲介人として価値を損失しているわけではありませんが、柔軟性が低下しています。現在、彼女はアリスとのチャンネルで0.6BTCを使用できるようになりましたが、フランクとのチャンネルでは0.1BTCしか使用できません。
アリスはキャロルにしか接続されておらず、フランクは広範なネットワークに接続されている状況を想像してみてください。キャロルは以前、フランク経由で合計0.4BTCを他ユーザーに送金することが可能でしたが、現在は、0.1BTCしか所有していないため、プッシュすることができません。
前述したように、事実上、手数料を請求する必要はありません。流動性の低下を気に留めない人もいるかもしれません。また、レシーバーに直接チャネルを開設する人もいます。
ライトニングネットワークの限界
ライトニングネットワークがビットコインのスケーラビリティ問題への解決策であることを証明できるのであれば、それは素晴らしいことですが、残念ながら、妨げに成り得る固有の欠点があります。
ユーザビリティ
現在、ライニングネットワークでは不可能です。スマートフォンアプリに関しては、選択肢が限られています。一般的に、ライニングノードが完全に使用できるようになるには、ビットコインノードへの接続が必要です。
クライアントのセットアップ完了後、ユーザーは支払いを行う前にチャネルを開設する必要があります。これは時間のかかるプロセスであり、新規ユーザーがインバウンド、アウトバウンド容量のような概念を導入した場合、圧倒される可能性があります。
とはいえ、参入障壁を減らし、より合理的な体験をユーザーに提供するために、常に改善が行われています。
流動性
ライトニングネットワークに対する最大の批判は、取引能力が制限されていることです。チャネルにロックした資金以上を使用することはできません。リモート残高がチャネルのすべての資金を含んでいるため、資金をすべて使用した場合、チャネルを閉設する必要があります。あるいは、第三者が支払うまで待つことは可能ですが、それは理想的ではありません。
集中型ハブ
前述の問題から、ネットワークが巨大な“ハブ”の作成を促進するのではないかという懸念があります。つまり、流動性の高い、大規模で重接続なエンティティなのです。重要な支払いは、これらのエンティティを経由する必要があります。
明らかに、理想的な状況ではありません。これらのエンティティがオフラインになれば、ピア間の関係が大きく崩れるため、システムが弱体化することになります。また、トランザクションが行われるポイントが限られているため、検閲のリスクも高くなります。
ライトニングネットワークの現状
2020年4月現在、ライトニングネットワークは順調に見えます。12,000以上のオンラインノード、3万以上のアクティブチャネル、920BTC強の容量を誇っています。
ライトニングネットワークノードのグローバル分布。ソース:explorer.acinq.co
まとめ
現在、ライニングノードを操作するにはある程度の技術的な習熟が必要であるため、まだ克服すべきユーザビリティの障害はあります。しかし、開発が進むにつれ、参入障壁が徐々に低くなっていく可能性があります。
また、問題が解決された場合、ライトニングネットワークはビットコインエコシステムの不可欠な存在となり、スケーラビリティとトランザクション速度を大幅に向上する可能性があります。