暗号通貨とブロックチェーン研究所

暗号通貨とブロックチェーンに関する技術やトレンド情報を解説していきます。

ビットコインの少額決済を可能にするライトニングネットワークとは?

ライトニングネットワークとは、直接繋がっていない二者間のマイクロペイメントを可能にした技術のことです。オフチェーンでトランザクションをまとめてからブロックチェーン上に記録することで取引の効率化と高速化を実現しました。それによりビットコインの暗号通貨決済が日常生活に普及する可能性を秘めていることから注目を集めています。

ライトニングネットワークの仕組み

ライトニングネットワークの仕組みを理解するために、まずはペイメントチャネルの仕組みを理解しましょう。

ペイメントチャネルとは、トランザクション処理をオフチェーン(ブロックチェーンの外)で実行し、最後の取引だけをブロックチェーンに記録することで取引の高速化と少額の決済を可能にした技術のことです。通常の取引ではマイニングの際に手数料が発生するため、何度も同じ人とやり取りをする場合はその度に手数料が発生してしまいます。特に少額の支払いを行う際は、取引手数料が支払額を上回ってしまう場合もあるため、ビットコインは今まで少額決済に向いていませんでした。

f:id:tomoya415:20180722160045p:plain

アリスとボブにおける2者間の取引において、例えば送金と返金があったとします。

  • アリスからボブに1BTCを送金
  • ボブからアリスに1BTC返金

通常の取引の場合は、2つのトランザクションブロックチェーンに記録しなければなりません。そのため、時間も手数料かかってしまいます。

しかし、ペイメントチャネルを活用した場合を考えて見ましょう。

ペイメントチャネルはオフチェーンを利用した取引で、ブロックチェーンに記録をするのは確定した最後の取引だけです。つまりペイメントチャネルを活用すれば送金と返金を行なった2つのトランザクションブロックチェーンへの記録が1回で済むのです。それにより無駄な手数料がかかることのない効率的な取引が可能になりました。

具体的な仕組みは以下になります。

  1. オンチェーンでマルチシグのアドレスにデポジットを送る。
  2. オフチェーンでアリスからボブにトランザクションを作る。
  3. オンチェーンで最終的なトランザクションのみを記録する。

次はライトニングネットワークの説明です。

ペイメントチャネルでは繋がっている2者間での取引に限定されるので、別の人と取引をするには新たにペイメントチャネルを開かなければならず、複数の人と取引をするための利便性を備えていませんでした。

そこで第三者を経由して、ペイメントチャネルで直接繋がっていない二者間の取引を可能にしたのがライトニングネットワークです。

f:id:tomoya415:20180722160213p:plain

例えば、下記の取引があったとします。

  • アリスからキャロルに1BTC送金
  • キャロルからボブに1BTC送金

今まではアリスからボブに送金をしたい場合は、アリス-ボブ間でチャネルを開く必要がありました。しかしライトニンングネットワークでは、アリス-キャロル、キャロル-ボブ間のチャネルが開いていれば、キャロルを経由してアリス-ボブ間の送金が可能になったのです。

ライトニングネットワークはこれを同時にネットワーク上で何千人単位で行うことで、中継の人を知らなくても無駄なトランザクションを減らして効率的かつ高速な取引を実現させました。

しかしこれだけでは第三者であるキャロルの信用が必要になり、ビットコイン最大の特徴であるトラストレスを失うことになってしまいます。そこでライトニングネットワークではトラストレスを実現させるためにHash Time Lock Contract(HTLC)という仕組みを実装しました。

Hash Time Lock Contractとはライトニングネットワークで安全な送金を実現させるための技術のことでハッシュとタイムロックという仕組みを活用しています。トランザクション内にハッシュを入れることで、ボブだけがロックを解除してビットコインを使用できるようになっており、中継役を担う第三者はロックの解除ができないので、トラストレスな仕組みが実現しました。

ハッシュに関してはこちらの記事を参考にしてください。

tomoyaishida.hatenablog.com

チャネルの閉じ方

取引終了後チャネルを閉じるためには、最終的なトランザクションをブロードキャストするだけです。これによりブロックチェーンへの記録は終了です。

ライトニングネットワークのイメージがよく伝わるので、こちらの動画をご覧ください。

youtu.be

ライトニングネットワークのメリット

マイクロペイメントが可能になる。

マイクロペイメントとは少額単位での送金を可能にする送金システムのことです。1円以下の支払いもできることからデジタルコンテンツの支払いに向いています。

例えば、

  • 記事を1ページ読むたび、動画を1秒を見るたびに課金。
  • クラウドサービスの利用量や転送量、APIへのアクセス数に応じて課金。
  • IoT機器の使用時間ごとに課金。

といった、従来のシステムではできなかったマネタイズができるようになります。これを現状のシステムで実現しようとした場合、クレジットカードで支払わなければならず、手数料が5~10円ほどかかってしまうので、秒単位の支払いをすることは現実的ではないのです。

秒速で送金ができ、取引量が増える。

ライトニングネットワークはオフチェーンであるためトランザクションの承認が早く取引の高速化、取引量の増加が実現しました。

ビットコインはブロックの生成時間に取引速度が依存しているため、10分ごとにしかブロックが生成されません。そのため最短でも送金可能までに10分かかってしまいます。しかしライトニングネットワークであれば一瞬で送金できます。

また取引量に関してもビットコインは1秒間に7件の送金しかできませんが、ライトニングネットワークであれば1秒間につき1000件以上の処理ができるようになります。また最終的には1秒間に数万件以上の処理を目指しており、クレジット決済の処理能力を上回るポテンシャルを持っていると考えられます。

スケラビリティ問題の解決

ライトニングネットワークはブロックチェーンから切り離された場所(オフチェーン)で処理を行ってくれるので、処理件数がどんなに増えてもブロックチェーンの処理件数には問題は起きません。そのため、利用者の増加に伴い生まれるスケーラビリティ問題を解決してくれるのです。

ライトニングネットワークの懸念点・問題点

中央集権的ネットワークになる可能性がある

ライトニングネットワークの仕組み自体は分散的ですが、特定のノードにより中央集権状態が生じる可能性があります。ライトニングネットワークはその仕組み上、中継するノードはデポジットを行わなければなりません。ネットワークが巨大化することで中継するノードは継続的に巨額のデポジットをしなければならず問題視されています。またその中で手数料で収益をあげる銀行のような中央集権ビジネスモデルが成立してしまう懸念があります。さらには、それにより規制対象となり自由な取引が阻まれる恐れがあります。

マイナーの手数料が減る

取引がオフチェーンで行われるためマイニングの手数料が減ってしまいます。ビットコインネットワークはマイニングにより成立しているので、マイニングを行うマイナーのインセンティブ設計が非常に重要です。今後ビットコインはマイニング成功報酬が減っていくので、将来的には手数料だけがマイナーの報酬になった場合、どのようなインセンティブ設計を行うかが課題となります。

セキュリティ

ブロックチェーンの外であるオフチェーンで管理することになるので、ブロックチェーンとは別の堅牢なセキュリティ対策が必要になります。しかし、ライトニングネットワーク上で堅牢なセキュリテイを作れるかは断言できず、それらを踏まえて少額決済のための決済プラットフォームと言われています。現状では財布と金庫の関係性のように、利便性と安全性はトレードオフとなっています。

なぜ、今まで実装されなかったのか?

ライトニングネットワークを実装するための基礎的な要件をビットコインが満たしていなかった(マリアビリティ問題の解決と半永久的なペイメントチャネルの実装)からです。

しかしその後マリアビリティ問題はSegwit、半永久的なペイメントチャネル の実装はOP_CSVによりそれぞれ解決に導かれます。

それによってライトニングネットワークは実装可能になりました。

マリアビリティ問題とは?

P2Pネットワークを介してトランザクションがマイナーのもとに伝えられる途中でトランザクションの一部の領域であるscriptSigがハッカーによる改ざんを受ける可能性がありました。この問題のことをマリアビリティ問題と言います。

悪意のハッカーや受取主により、scriptSigが改変されると、ハッシュ関数に入力して得られるトランザクションIDが元のトランザクショントランザクションIDと異なってしまいます。それにより、送金主の認識しているトランザクションIDとハッカーにより改変されたトランザクションIDで二重に存在してしまい、マイナーのもとに改変されたトランザクションIDが先に伝えられてしまうと、マイナーはこのトランザクションIDを本物のトランザクションIDと認識してしまいます。そのため、後から本物のトランザクションIDが伝えられた際には、二重送金と認識され拒否されてしまうのです。

そして、多くのウォレットでは、ウォレット上で認識されているトランザクションIDをもつ取引が拒否されると、自動で同じ取引を繰り返すようになっています。それは改ざんを受けた場合に限らず取引が拒否されることは稀に起こりうるためです。そのため、実際には済んでいる取引をまだ済まされていないものと認識し、二重送金をしてしまう問題が発生してしまうのです。

Segwitとは?

Segwitとはトランザクションの中のscriptSigを切り離しサイドチェーンに記録する技術のことで、ハッカーにより改ざんを防ぐことができます。さらにトランザクション内に格納するデータ容量が縮小されることでスケーラビリティ問題の解決にも一翼を担っています。

OP_CSVとは?

OP_CSVとは時限トランザクションを作るための仕組みのことで、今ままでは絶対的な時間指定(〇月〇日)しかできませんでしが、相対的な時間の指定(あるトランザクションの承認されてから5ブロック後など)ができるようになったことで、期限を定めない半永久的なペイメントチャネルが作れるようになりました。

ライトニングネットワークを活用したアプリ「Lapps」

Lappsとはライトニングネットワーク上で動作するアプリのことで、マイクロペイメントを活用したプロダクトが主流となっています。

File Bazaar

コンテンツクリエイターをターゲットにした電子商取引ツール。デジタルコンテンツのクリエイターはFileBazaarを利用することで、マイクロペイメントによる支払いを受け取ることができ、デジタルコンテンツでの簡単かつ透明なマネタイズが実現します。

PayperCall

APIコール一回一回に対しての少額課金ツール。

ライトニングネットラークの発展に伴い、今後新たなLappsが続々とリリースされることが予想されます。

エンジニアの方もBizDevの方もアンテナを貼っておいた方が良さそうです。

よろしければTwitterのフォローもよろしくお願いします!

twitter.com