【徹底図解】ライトニングネットワーク(lightning network)の仕組み

ビットコインの大きな問題としてスケーラビリティ問題というものがあります。スケーラビリティ問題を解決するためにマイクロペイメントとライトニングネットワークと呼ばれる方法が考えられています。
この記事ではまず、スケーラビリティ問題について解説した後、マイクロペイメントそしてライトニングネットワークに関して解説していきたいと思います。

クリトピさん

この記事を理解するにはビットコインの基本的な仕組みを理解している必要があります。理解に自信がない方は、まずこちらの記事を参照ください。

【図解付き】誰でもわかるビットコインの仕組み

スケーラビリティ問題とは?

スケーラビリティ問題とは、ブロックチェーンのブロック容量が1MBと決まっていることで引き起こされる「取引手数料増加」問題です。容量が1MBだと取引手数料が増加するのは一体どうしてでしょうか?

 

下の図を見てください。仮に山田さんと田中さんが取引A、取引Bを行ったとします。この際、山田さんと田中さんは取引手数料を自由に決めることができます。山田さんは0.1btc、田中さんは0.5btcの手数料を設定しました。

この時、マイナーは取引Aと取引Bのどちらを次のブロックに含めるか決定する権利を持っています。当然取引手数料が高い取引Bを先に処理します。そして取引Aは後回しにされます。

つまり迅速に処理をして欲しい場合、取引手数料を高く設定する必要があります。逆に時間がかかってしまっても構わない取引は手数料を限りなく少額にすることが可能です。このように、経済合理的に全員が動いた結果、全体として最適になるような仕組みが作られています。

しかしながら、取引の全体の総数が少なかった時は、このシステムは有効でしたが、現在ではビットコインの取引の数は膨大になり、またその数は指数関数的に増えていっています。

取引が多くなれば多くなるほど、競争率が高くなり、取引手数料が高く設定しなくてはならなくなります。これがスケーラビリティ問題と言われるものです。

マイクロペイメントチャネルとは?

スケーラビリティ問題の解決策として生まれたのが、「マイクロペイメントチャネル」です。
マイクロペイメントチャネルとは、ブロックチェーンの外側で直接取引を行う方法です。

下記の図を見てください。山田さんと田中さんの間で、一定期間に複数の取引を行い最後にまとめてブロックチェーンに書き込みます。この方法によって取引手数料を削減することができます。
しかしマイクロペイメントチャネルを実現する上で大きな問題があります。
山田さんが田中さんに0.1btcを送金し、その代わりに何らかの商品を送るという取引を行いたいとします。しかし田中さんは商品を送らずに0.1btcを持ち逃げするということができてしまいます。

ここでマルチシグという考え方が登場します。マルチシグとは二人の秘密鍵があって初めて成立する取引です。

まず取引を行いたい山田さんは、取引Xを作成します。取引Xはいわゆる「デポジット」です。この取引Xは1btcをデポジットし「山田へ1btc返金する」という内容が書かれています。またこの取引Xは、一定期間内に不成立(二人の秘密鍵が揃わない状態)だと強制的にブロックチェーンに書き込まれます。この一定期間はLockTimeと呼ばれています。LockTimeを過ぎると、デポジットが返金されることになります。

これで二人は取引を行う準備が整いました。仮に山田から田中へ1btc送りたい場合、新しく取引Aを作成します。
取引Aは取引Xを上書きする形で作成します。つまり「山田へ0.9btc送る」「田中へ0.1btc送る」という取引を作成し、成立したら取引Xを上書きます。その後もLockTimeが切れるまでは、取引B→取引Cと複数の取引を上書きすることができます。ブロックチェーンに書き込むのは最後の一回だけです。(厳密には2回ですが・・わかりやすさのために割愛します)また途中で田中さんが逃げてしまったとしても、LockTimeが切れれば自動的にブロックチェーンに書き込まれるため問題ありません。

まとめると、

  1. 一定量のコインをデポジットし、そのデポジットを返金する取引(取引Xを作成
  2. この取引は二人の鍵が揃って初めて成立する
  3. この取引は一定期間、二人の鍵が揃わないと、デポジットを返金する取引(取引Xが成立する
  4. 山田から田中へ0.1BTC送る場合、取引A(デポジットから山田へ0.9BTC, 田中へ0.1BTCを送る)を作成し、取引Xを上書きする
  5. 取引A→取引B→・・・→取引Zとデポジット額内なら繰り返すことが可能
  6. 最後の取引(取引Z)をブロックチェーンに書き込む

ライトニングネットワークとは?

しかし、このマイクロペイメントチャネルは二者間でしか行えないという大きな問題があります。仮に10人の人と取引を行う場合、10個のチャネルを開き、全ての取引にデポジットをしなくてはなりません。とても現実的な方法とは思えません。

そこで、ライトニングネットワークという方法が考え出されました。ライトニングネットワークとは山田さんと佐藤さんが繋がっており、佐藤さんと田中さんが繋がっていれば、山田さんから田中さんの取引を可能にする方法です。

これはとても画期的な方法です。簡略化のために3者間で説明をおこなていきますが、現実には間に100人入っていても構いません。ネットワークのようにペイメントチャネルが広がっていくことから、ライトニングネットワークと呼ばれています。

ライトニングネットワークの仕組みは複雑そうに見えてすごく単純です。順を追って説明していきます。

Step1 田中から山田へHash値を渡す

まず田中は値Rから生成されるハッシュ値Hを作成します。
このハッシュ値は南京錠だと思ってください。田中さんは南京錠を作り、手元に鍵を残して山田さんに南京錠を渡します。

Step1 山田から佐藤への取引Aのペイメントチャネルを開く

この取引Aは、田中から渡されたHash値(南京錠)佐藤さんの南京錠がかかったマルチシグです。この状態では田中さんの鍵(R)がないため取引は成立しません。

Step3 佐藤から田中への取引Bのペイメントチャネルを開く

田中のR佐藤の鍵を使って取引Bを成立させます。そして取引Bはブロックチェーンに投げられます。

Step4 佐藤はブロードキャストされたRを確認し取引Aを成立させる

田中がブロードキャストした取引Bに記載されているRを佐藤は使用して取引Aを成立させます。

以上の4つのステップで山田から田中へ送金したことになります。
ここで再度説明しますが、山田と佐藤、佐藤と田中の間では、先に説明したマイクロペイメントチャネルの仕組みで取引を行っています。マルチシグの鍵か揃わずLockTimeを過ぎると取引は自動的にブロードキャストされるので、中央管理者が不在で安全性を担保することができています。

まとめ

ビットコインが直面するスケーラビリティ問題と、それを解決するためのライトニングネットワークという方法に関してご説明させていただきました。ライトニングネットワークは複雑な仕組みに見えますが、実はとってもシンプルです。それは仮想通貨に関しても同じです。少しでも理解できれば幸いです。より詳しい仕様を知りたい方は、原文のホワイトペーパーなどを参考にして見てください。

(追記)現状ライトニングネットワークはテスト版の開発が成功しています。

ライトニングネットワーク最終版がビットコインでのテスト運用を成功

安全性NO1 取引所「QUOINEX」がオススメ


【QUOINEX】口座開設はこちら

クリトピさん

安全性で選ぶならQUOINEXがおすすめです。100%コールドウォレット管理、大規模障害ゼロの取引所です!下記で口座開設の方法を説明しています。
Liquid by Quoine(リキッドバイコイン)の登録方法と使い方 -入金方法・買い方・送金方法- 仮想通貨取引所「Liquid by Quoine」をおすすめする8つの理由

 

2 Comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください