Blog of a Consultant
Offering information about Blockchains and Consulting
ブロックチェーン

【ブロックチェーン】ライトニングネットワークを理解する

【ブロックチェーン】ライトニングネットワークを理解する

こんにちは、
戦略コンサルタントのシータです。

今日は、
ビットコインの諸問題を解決しうる「ライトニングネットワーク」を誰でもわかりやすく理解してもらえるよう説明したいと思います。

ライトニングネットワークによって何が改善されるのか

・直接結びついていない者同士で安全な送金
・少額決済
・スケーラビリティ問題の解決

直接結びついていない者同士で安全な送金をライトニングネットワークは実現してくれます。これはトラストレスに行えます。

少額決済は、今までブロックチェーン上でビットコインの取引を行うには手数料が高く、頻度の高い少額決済には向いていませんでした。
そこをライトニングネットワークは解決します。
送金の手数料はほぼ0円です。

また、スケーラビリティ問題をライトニングネットワークは解決します。

※スケーラビリティ問題とは、ブロックの容量が1MBに決められているので、
取引データの増加に耐えきれなくなり、決済や送金に遅延をもたらしてしまう問題

そして、ライトニングネットワークの大きなメリットは、
秒速で送金ができるということ。
ビットコインはブロックの生成時間に送金速度を依存しています。
ビットコインは約10分で1つのブロックを作成します。
そのため、最短でも10分間はトランザクションが成立するのにかかってしまいます。
しかし、ライトニングネットワークはオフチェーンでの取引なので秒速で送金が可能です。

こちらの動画を見ていただけたらざっくりとライトニングネットワークに関して理解が進むと思います。

 

ライトニングネットワークを支える2つの技術

ペイメントチャネル
→オフチェーン上で展開される個人間の取引手段で、これが無数に繋がったものがライトニングネットワーク
HTLC(Hashed Timelock Contracts)
→直接結びついていない参加者が安全に取引を実現するための技術

※ペイメントチャネルは、オフチェーン(ブロックチェーン上に記録されない)上において、個人間で開かれる支払いチャネル

ここでは、AさんがBさんの音楽を一曲単位での購入をしたい場合のペイメントチャネルを考えてみます。
まずAさん(支払人)とBさん(提供者)の間でのペイメントチャネルを開設し、マルチシグアドレスにビットコインを送金する。
このマルチシグアドレスはアドレスに管理されているビットコインを送金するためにはAさんとBさんの署名が必要なアドレスです。
そしてこの時のトランザクションはブロックチェーンに記録されます。

次にAさんからBさんに一曲単位(0.1BTC)で少額決済を行います。
この時の支払いトランザクションはブロックチェーンに記録されません。

Aさんが買いたい曲を全て購入でき次第、最後の状態をオンチェーンに伝搬し、ブロックチェーンで管理する。

以上が、ペイメントチャネルの流れです。

ここで問題となるのは、
個人間の取引を行うためにわざわざチャネルを新しく作る必要があるというコストです。

それを解決したのがHTLC
ハッシュとタイムロックという技術でライトニングネットワークでの安全な取引を実現しました。

タイムロックとは、トランザクションを決められた時間まで使えなくする技術のことです。
例)1000ブロック作成するまでは引き出せない。

ライトニングネットワークの流れ

※ここではAさんがBさんを介してCさんに1ビットコインを送ると想定します。

1、Cさんがある情報Rをハッシュ化したH(R)をBさんを介して送る。
2、AさんはHTLCで条件付けされたペイメントチャネル1に1BTCを送る。
3、BさんもHTLCで条件つけされたペイメントチャネル2に1BTCを送る。
4、Cさんはペイメントチャネル2から1BTCを取り出す
→この際にCさんはブロックチェーンのトランザクション上にRを載せる
5、A三谷BさんはRとH(R)の情報の整合性を確認する
6、BさんはRを手に入れたため、ペイメントチャネルから1BTCを取り出す

ここで、ペイメントチャネル1と2の条件を確認しましょう。

ペイメントチャネル1の条件

①Bさんの署名と秘密情報R
or
②10日目以降はAさんの署名で取り出せる

つまり、Bさんが1BTCを取り出すためには、Bさんの署名と秘密情報Rが必要なわけです。
そして、もし取引のキャンセルなどが生じた場合は、10日以降にAさんの手元に1BTCが戻ります。

ペイメントチャネル2の条件

①Cさんの署名と秘密情報R
or
②5日目以降はBさんの署名で取り出せる

つまり、Cさんが1BTCを取り出すためには、Cさんの署名と秘密情報Rが必要なわけです。
そして、もし取引のキャンセルなどが生じた場合は、5日以降にBさんの手元に1BTCが戻ります。

 

以上のようなシステムによって、
ライトニングネットワークが完成されます。

※ライトニングネットワークはSegwit対応のコインでしか適用できません。
Segwitとは、ブロックチェーンのデータの一部をブロックチェーンの外で処理をする技術です。
Segwitのおかげで、ブロックチェーンから切り離してトランザクションを処理できる土壌が出来上がったのです。
対応しているコインは、現在ビットコインとライトコインとモナコインですね。

以上が、
ライトニングネットワークについての説明です。