ビットコインのスケーリング問題を解決する「ライトニングネットワーク」の現状とその仕組み

今回は、ビットコインによる決済を効率化するために開発が続けられているライトニングネットワークの現状・仕組みについて、ビットコインを使った投げ銭やコンテンツの購入ができる「Spotlight」のチーフエンジニア 小川 裕也 氏に解説していただきました。

目次

  1. ライトニングネットワークの4つの特徴
    1-1. 少額決済
    1-2. 高速送金
    1-3. 処理性能
    1-4. 低手数料
  2. ライトニングネットワークの現状を知る3つ+αの指標
    2-1. ロック金額
    2-2. ノード数
    2-3. チャネル数
    2-4. 取引量
    2-5. 運用益
  3. ビットコインがライトニングネットワークを必要とする理由
    3-1. リソースが限られている
    3-2. 送金ごとのデータ書き込み
  4. スケーリング問題を解決するライトニングネットワークの仕組み
    4-1. ペイメントチャネル
    4-2. マルチホップペイメント
  5. まとめ

ライトニングネットワークはビットコインのスケーリング問題を解決するために考案された技術で、コストの高いブロックチェーンへの書き込みを最小限に抑えつつ、オフチェーン取引と言われるブロックチェーンの外側での送金によって数百万取引/秒の処理が可能となりました。

今回はそのライトニングネットワークの特徴や現状とその仕組みについて紹介します。

ライトニングネットワークの4つの特徴

先ずは、ライトニングネットワークの特徴についてみていきましょう。

1. 少額決済

通常のビットコイン送金(以下、オンチェーン送金)の最低金額は294satoshiとなっていて、それにかかる手数料も300satoshiほど必要です。一方、ライトニングネットワーク上でのビットコイン送金(以下、LN送金)は、1satoshiから可能です。

2. 高速送金

オンチェーン送金の場合、1承認されるまでに10分待つ必要がありますが、LN送金の場合は承認という概念がなく、数秒で送金が完了します。

3. 処理性能

ライトニングネットワークは、ビットコイン・ブロックチェーンの制約に縛られないため、毎秒数百万件の送金が可能です。

4. 低手数料

LN送金の手数料は送金金額に対する従量課金制です。現在の手数料は平均して送金金額の0.1%となっています。例えば、1万円のビットコインをオンチェーン送金するには、10分以内の着金のためには1,000円以上の手数料がかかります。一方、LN送金する場合なら10円で済みます。

ライトニングネットワークの現状を知る3つ+αの指標

次に、現在のライトニングネットワークの市場規模を計るための指標について紹介します。

1. ロック金額

ライトニングネットワークではビットコインをロックすることで、そのネットワーク上で高速かつ低手数料でビットコインの送金をすることが可能になります。このロックされた金額はその市場規模を計る指標になります。現在、ライトニングネットワーク上にロックされているビットコインは1,000BTC(3月16日記事執筆時点で約65億円)以上となっています。

2. ノード数

ライトニングネットワークへ参加するには専用ノードもしくわ専用ウォレットが必要です。現在ネットワークへ参加しているノードは5,000、ウォレットを含めると10,000以上のユーザーが参加しています。

3. チャネル数

チャネルとは各ノード間に作られる送金経路のことで、このチャネル数もライトニングネットワークの現状や成長率を計るのに使われます。現在、公開されているパブリックなチャネルは30,000以上あります。より多くのチャネルがノード間で形成されることで、ライトニングネットワークの利便性が向上します。

4. 取引量

ライトニングネットワーク上での送金は当事者間によるオフチェーン取引であるため正確な送金金額や取引量を知ることはできません。しかし、私自身が運用しているノードやインターネット上で公表されているノード運用者の情報を使うことで、ある程度の取引量を推測することができ、現在の取引量は10~100BTC/日と推測されます。通常のビットコインは10~20万BTC/日の取引量がありますが、ライトニングネットワーク上の取引量はオンチェーン取引量の約0.1%ほどしかないのが現状です。

5. 運用益

ライトニングネットワーク上へビットコインをロックして流動性を提供すること、また送金のルーティングをすることで、ルーティング手数料と呼ばれる手数料を得ることができます。現状の運用益は0~5%と言われています。

ビットコインがライトニングネットワークを必要とする理由

ビットコインの処理性能が低く一度に多くの取引を処理できないことをスケーリング問題と言いますが、なぜビットコインの処理性能は遅いのでしょうか。

1. リソースが限られている

ビットコインのブロックチェーンには以下の制限があります。

  • 10分に1ブロックの生成
  • 1ブロックのサイズは1MB

取引データを格納する1ブロックの容量は1MBで、これは約10,000件の取引データしか格納できません。このリソースが限られたブロックチェーンを使って、世界中のユーザーが送金をしています。多くのユーザーが送金しようとすれば、それだけ格納するための取引データが増えます。単位時間内に処理できる件数は決まっているので、それを越える送金には遅延が生じます。

2. 送金ごとのデータ書き込み

ビットコインの送金は、実際にはブロックチェーンへのデータ書き込みに他なりません。例えば、AさんがBさんへビットコインを送金する場合、「AさんのアドレスからBさんのアドレスへ何BTCを送金する」という取引データをブロックチェーンという分散型データーベースへ書き込んでいます。このデータを書き込む際に手数料を払います。送金をする度に、限られたリソースであるブロックチェーンへデータを書き込む必要があるため、コストがかかります。

このようにビットコイン送金は、限られたリソースに対して、送金ごとにデータを書き込むことが処理性能を低下させている原因なのです。

スケーリング問題を解決するライトニングネットワークの仕組み

以降では、ライトニングネットワークの仕組みについてみていきます。ライトニングネットワークでは、ブロックチェーンへのデータ書き込みを極力少なくし、オフチェーン取引と言われる、当事者間のみで送金データの送受信をします。以下ではLNの2つのコア技術について紹介します。

1. ペイメントチャネル

ペイメントチャネルとは、オフチェーン取引をするために2者間で作る台帳のことで、仮想的なトンネルと考えるとイメージしやすいかもしれません。この台帳(またはトンネル)は2者間でしか共有されず、送金ごとの内容はブロックチェーンへ書き込みません。

具体的には、当事者間で2-of-2マルチシグアドレスを作り、そのアドレスへビットコインをロック(預託)します。このロックした金額内であれば、当事者間のビットコイン送受信が、何度でも無料で、10分のブロック承認を待たずして可能です。そして最終的な残高をブロックチェーンへ書き込みます。以下がペイメントチャネルのライフサイクルです。

  1. マルチシグアドレスを生成し、BTCを預託(ブロックチェーン書き込み)
  2. 当事者間で送受信
  3. マルチシグアドレスから最終残高をお互いのアドレスへ送金(ブロックチェーン書き込み)

このライフサイクルではブロックチェーンへの書き込みは①と③のみなのが分かります。日々の送金である②ではブロックチェーンへの書き込みをしないので、無料かつブロック承認を待たずして何度でも送金をすることができるのです。

2. マルチホップペイメント

ペイメントチャネルでは2者間の送金でした。2者間の送受信であれば1つのペイメントチャネルで十分ですが、もし他の相手に送金したい場合、別のペイメントチャネルを作る必要があるのでしょうか?もしそのような場合、送金したい相手の数だけチャネルを作る必要がでてきてしまい実用的ではありません。

マルチホップペイメントは、すでに開設されているペイメントチャネルを経由することで、第三者へビットコインを送金する仕組みです。

チャネルを経由して送金をする場合に問題となるのが、「中継者への信頼」です。例えば、AさんがBさんを経由してCさんへ送金する場合、AさんはBさんへビットコインを送金し、BさんがCさんへ中継してくれることを信頼しないといけません。もしかしたらBさんは中継せずに、受け取ったコインを持ち逃げするかもしれません。

このような信頼モデルを回避するために、HTLC(Hash Time Lock Contract)と呼ばれるビットコインのスマートコントラクトが使われます。このスマートコントラクトは、任意のハッシュ値を使ってビットコインをロックし、ハッシュ値の原像を使うとロックの解除ができるような内容となっています。

以下はマルチホップペイメントのフローとなります。

  1. Cは鍵とそのハッシュ値を作成して、ハッシュ値のみAへ送信
  2. Aはそのハッシュ値でビットコインをロックしたHTLCを作り、Bへ送信
  3. Bも同様なHTLCを作り、Cへ送信
  4. Cは鍵を使ってHTLCを解除してビットコインを受け取る
  5. Bは④で受け取った鍵を使ってHTLCを解除してビットコインを受け取る

このようにHTLCを使うことで、中継者を信頼することなく、ペイメントチャネルを経由して目的地へとビットコインを送金することができます。また、この中継時にBさんはルーティング手数料をAさんから受け取ることができます。

マルチホップペイメントの過程でも、ブロックチェーンへのデータ書き込みは行われません。このようにペイメントチャネルとマルチホップペイメントを組み合わせることで、LNの大半の処理をブロックチェーンと切り離されたオフチェーンで行っているのです。

まとめ

リソースの限られているブロックチェーンに対して、送金ごとにデータを書き込むことは非常にコストが高くスケールアップが難しいとされています。しかし、ライトニングネットワークの仕組みは、ブロックチェーンへの書き込みを最小限に抑え、殆どの処理をブロックチェーンと切り離されたオフチェーンで行うことで処理性能を向上し、スケーリング問題を解決しています。

【関連記事】ビットコインとは?特徴・仕組み・購入方法

Source: 仮想通貨の最新情報BTCN | ビットコインニュース
ビットコインのスケーリング問題を解決する「ライトニングネットワーク」の現状とその仕組み