目次

    全ての目次を見る
  1. ビットコイン(bitcoin)のスケーラビリティ問題の解決策として注目されるライトニングネットワーク
  2. ビットコイン(bitcoin)のライトニングネットワークの概要とは
  3. (ビットコインの)ライトニングネットワークを支える2つの仕組みとは
  4. ペイメントチャンネルとは
  5. HTLC(Hashed Timelock Contracts)とは
  6. 【図解】ライトニングネットワークの仕組みとは~HTLCとペイメントチャンネルを使用した送金~
  7. ライトニングネットワークで懸念されていること
  8. ビットコインのライトニングネットワークに関するニュース・トピック
  9. ライトニングネットワークのまとめ
Large

ライトニングネットワークとは、スケーラビリティ問題の解決策やマイクロペイメントを実現するための技術として注目が集まっています。

最近ではビットコインのスケーラビリティ問題について取り上げられることが多いので、その名前を耳にした方も多いのではないでしょうか

中でもこの記事にたどり着いた方は

「そもそもライトニングネットワークって何」
「ライトニングネットワークはどうやってスケーラビリティ問題の解消やマイクロペイメントを実現するの」
「ライトニングネットワークの技術的な詳細を知りたい」

などさまざまな疑問をお持ちの方がいらっしゃるかと思います。

そこで、この記事ではビットコインで話題の、「ライトニングネットワークの概要」や「ライトニングネットワークの技術的詳細」「ライトニングネットワークの懸念点や現在の動向」などの情報をわかりやすく図解します。

ライトニングネットワークとは、ブロックチェーンネットワーク外(オフチェーン)で構築される決済ネットワークです。

図のように、ブロックチェーンネットワークとは別のレイヤーにライトニングネットワークは存在します。

このことから、ライトニングネットワークは、オフチェーン(ブロックチェーンネットワークはオンチェーン)または、レイヤー2の技術といわれています。

このライトニングネットワークをビットコインに実装すれば、以下のことが実現するとされています。

直接結びついていない者同士での安全な送金
スケーラビリティ問題の解決
少額決済(マイクロペイメント)

それぞれどのように実現するのか解説していきます。

ライトニングネットワークを活用すると、直接結びついていないネットワーク参加者同士で、安全で迅速な送金が実現します。

図ご覧ください。

図のように、ライトニングネットワークを活用すれば、直接接続していない「AさんからDさんへの送金」を、BさんとCさんを経由して実行することができます。

この方法では、仲介となるBさんやCさんが、ビットコインを持ち逃げするリスクがありますが、ライトニングネットワークでは後述するHTLC(HTLC(Hashed Timelock Contracts)を活用することで、経由する参加者を信頼せずに、安全な送金が実現するのです。

技術の詳細はHTLC(Hashed Timelock Contracts)とはの段落で解説しています。

ライトニングネットワーク(オフチェーン技術)を活用すればビットコインの課題の一つである、スケーラビリティ問題が解決できるといわれています。

スケーラビリティ問題とは、取引データ(トランザクション)の増加ブロック(トランザクションを格納する箱)容量が1MBに設定されていることで生じている問題で、決済や送金の遅延を引き起こす深刻な問題です。

オンチェーン上で同じ参加者同士でトランザクションが複数発生した場合、すべてのトランザクションをブロックチェーンに追加しなければなりません

しかし、ライトニングネットワークで複数のトランザクションが発生した場合、最初と最後のトランザクションをブロックチェーンに追加すればよいので、ブロックに格納するトランザクション数を減らすことが可能です。

最初と最後のトランザクションのみ追加すればよい理由は、ペイメントチャンネルとはの段落で解説します。

すなわち、ライトニングネットワークでは、従来と比較してオンチェーンで管理するトランザクション数を減らすことが可能なので、スケーラビリティの解決ができるといわれています。

ライトニングネットワークを活用すれば、少額決済(マイクロペイメント)が実現します。

少額決済とは、漫画や動画の話数単位の購入やゲームの少額課金のような支払金額が少ない決済のことです。

ビットコインでは決済や送金の際にかかる、トランザクション手数料が支払い金額を上回ってしまうためマイクロペイメントは現実的ではないとされていました。

ビットコインのトランザクション手数料はスケーラビリティ問題の影響で増加しています。

トランザクション手数料とは、取引台帳であるブロックチェーンにトランザクションを追加してもらうためにかかる手数料で、高い手数料ほどブロックチェーンに格納されやすくなっているからです。

ライトニングネットワークを活用すればスケーラビリティ問題が解決するので手数料が抑えられることに加えて、後述するペイメントチャネルの課題をライトニングネットワークが解決したことで、少額決済が実現します。

ここまでで、ライトニングネットワークの概要とライトニングネットワークにより実現することを解説しました。

次の段落からは、ライトニングネットワークを支える技術について解説します。

このことを理解すれば、ライトニングネットワークではスケーラビリティ問題の解消や少額決済が実現する理由についてご理解いただけるかと思います。

ライトニングネットワークを支える技術は以下の2つです。

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

これらの技術的詳細について図とともにわかりやすく解説していきます。

ペイメントチャンネルとは、オフチェーン上において個人間で開かれる支払いチャンネル(経路)で、ライトニングネットワークは、ペイメントチャネルが複数接続されたものです。

わかりやすくするために、Bさん(漫画家)から、話数単位での購入を行いたいAさん(支払人)のペイメントチャンネルを活用したやりとりを例に図解していきます。

まず、Aさん(支払人)とBさん(提供者)の間でペイメントチャンネルを開設し、マルチシグアドレスにビットコインを送金します。

マルチシグアドレスとは、アドレスに管理されているビットコインを使用する際に、AさんとBさんの署名(シグ)が必要なアドレスのことです。

この時のトランザクションはブロックチェーンで管理されます。

次に、Aさんは、Bさんから読みたい漫画の話数を買うために少額決済を複数実行します。

この時の支払いトランザクションはブロックチェーンに格納されません。

Aさんが読みたい話数を買い取ったら、最後の状態(図ではAさん0.6BTC,Bさん1.4BTC)のトランザクションをブロックチェーンで管理してもらうために、オンチェーンに伝搬します。

このとき「A→Bに0.4BTC送金」という最終結果のトランザクションのみブロックチェーンで管理しても、整合性は失われません。

このペイメントチャネルを活用すれば、途中で行う複数の支払いをブロックチェーンで管理する必要はありません。

最後のトランザクションのみブロックチェーンで管理すれば、整合性が失われないからでしたね。

ペイメントチャンネルでは、複数の少額決済毎に手数料を支払う必要がなくなるので、少額決済が可能になります。

しかし、このペイメントチャネルには『 支払先ごとにペイメントチャネルを開かねばならない』という課題がありました。

これには手間もかかりますし、ペイメントチャンネル開設の際に(マルチシグにデポジットする毎に)手数料が発生してしまいます。

ライトニングネットワークでは、ペイメントチャンネルが抱える課題を、仲介者を活用した安全な送金を実現することで解決しました。

先ほど解説したとおり、自分が直接接続していない場合でも(ペイメントチャンネルを開設していなくても)、仲介者を介して安全な送金ができるので、自分がペイメントチャンネルを複数開設する必要がないのです。

では、ライトニングネットワークで仲介者を信頼する必要なしに安全な送金を可能にする、「HTLC」という技術についてご紹介します。

HTLCとは、「Hashed Timelock Contracts」の略称で、ハッシュとタイムロック(Timelock)という技術で、ライトニングネットワークで安全な送金の実現を可能にしています。

HTLCでは、ペイメントチェネルで使用するマルチシグアドレスにハッシュという暗号化技術とタイムロックという技術でマルチシグを使用するための条件を設定することができるのです。

具体的な条件については、【図解】ライトニングネットワークの仕組みとはで解説するので、まずは、HTLCを理解する上で重要なハッシュとタイムロックについてご紹介します。

ハッシュとは一方行関数とも呼ばれる暗号化技術で、この技術を活用することで情報を暗号化することが可能です。

暗号化したデータをハッシュ値といい、ハッシュ値には以下の特徴があります。

①ハッシュ値から元のデータ(暗号化前のデータ)を割り出すことは極めて困難
②元のデータから、ハッシュ値を確認するのは簡単
③異なるデータから同じハッシュ値が取れることはほとんどない
→少しでも元のデータが変わればハッシュ値は変化する

HTLCではこのハッシュという技術を活用しているのです。

タイムロックとは、トランザクションを設定した時間まで使えなくする技術のことです。

ペイメントチャンネルについて解説しましたが、ペイメントチャンネルでもタイムロックが活用されています。

例えば、先ほどのペイメントチャンネルの場合、AさんBさんのどちらかが亡くなった場合、デポジットしたお金が取り出せないという事態が発生します。

このような事態(亡くなるは極端すぎますが)発生に備え、あらかじめ「3日経過した場合デポジットした金額が払い戻される」という条件(タイムロック)を設定したトランザクションを作成しておきます。

このタイムロックを活用することで、デポジットした資金が宙に浮くことはありません。

では、今解説したペイメントチャネルやHTLC(ハッシュ・タイムロック)を活用した、ライトニングネットワークの取引の一連の流れを図解していきます。

ここでは、Bさんを仲介としたAさんからCさんへの流れを図解していきます。

図解する前にライトニングネットワークでの一連の流れをご紹介します。

①Cさんしか知らない情報Rをハッシュ化したH(R)を(Bさんを介して)Aさんへ送信
②AさんはHTLCで条件付けされたペイメントチャネル(※1)に1BTCを送金
③BさんもHTLCで条件付けされたペイメントチャネル(※2)に1BTCを送金
④Cさんはペイメントチャネルから1BTCを取り出す
→この際秘密情報Rもブロックチェーンネットワーク上に送信
⑤AさんやBさんはRとH(R)の整合性(H(R)の元のデータがRかどうか確認)する
⑥BさんはRを手に入れたため、ペイメントチャンネルから1BTCを取り出す

では、この一連の流れを図解していきます。

先にH(R)を伝える理由は、Cさんが後で伝える情報Rが正しい情報なのか確認するためです。

ハッシュの段落で解説しましたが、異なるデータから同じハッシュ値が取れることはほとんどない ためRをハッシュ化してH(R)にならなければ、Cさんが伝えたRが嘘の情報ということがわかります。

AさんとBさん、BさんとCさんのペイメントチャンネルの詳細(条件内容)を確認してみましょう。

Bさんがぺメントチャネルからビットコインを取り出すには、『Bさんの署名とCさんしか知らないR』が必要です。

すなわち、現段階ではBさんはビットコインを持ち逃げすることはできません。

②の条件を設定するのは、取引のキャンセルや不測の事態が発生した場合に資金が宙づりになるのを防ぐためでしたね。

CさんがBさんとのぺメントチャネルからビットコインを取り出すには、『Cさんの署名とCさんしか知らない情報R』が必要です。

すなわちCさんはビットコインを取り出すことが可能です。

取りだす際、『ペイメントチャネルからCさんへ1BTC送金』というトランザクションを作成するのですが、この時に情報RもCさんはブロックチェーンネットワークに公開します。

そして、AさんやBさんは、H(R)を活用しRが正しいかどうか確認し、Bさんもビットコインを取り出すために、トランザクションを作成し、ブロックチェーンネットワーク上に公開します。

HTLCでは、送金の際にタイムロックを設定していますが、1つ注意点があります。

このときAさんが資金を取り出せる期間はBさんが取りだせる期間よりも長く設定しなければなりません。

仮にAさんが5日、Bさんが10日で資金を取り出せるようタイムロックを設定した場合を仮定すると、6日目にCさんがビットコインを取り出したら、Aさんはすでに資金を自分で回収してしまっており、Bさんが損をするという自体が発生してしまうからです。

ライトニングネットワークで懸念されているのは以下の2点です。

  • ルーティング機能
    →送金の際に最短経路が探せるかどうか
  • 仲介者の中央集権化
    →多く接続している参加者を中心に分散化のネットワークが崩れるのではないか

下の図をご覧ください。

AさんからJさんへ送金を行う場合、ライトニングネットワークでは最短ルートを探知するのが困難なのではないかという懸念点があります。

ちなみに最短ルートは『A→E→J』です。

2015年に提唱されたライトニングネットワークは技術的にも改善が進み、現在ではルーティング問題も解決しているのかもれません。

今後詳細がわかり次第追記いたします。

ライトニングネットワークでは、仲介者の中央集権化が懸念されています。

下の図をご覧ください。

※図では、左から「集権型のネットワーク」「一部集権型のネットワーク」「分散型のネットワーク」を表しています。

このように、ライトニングネットワーク内で数多くのペイメントチャンネルを開設している参加者を仲介とした、集権的なネットワークになってしまうのではないかということが懸念されています。

この問題が実際起きるかどうかはわかりませんが、今後の動向に注目が集まります。

最近、テスト段階ではありますが、ライトニングネットワークはトランザクションのやりとりに成功しているようです。

このライトニングネットワークのテスト成功に、日本ブロックチェーン協会のアドバイザーを務める大石哲之氏は以下のような発言をTwitterに投稿しています。

ライトニングネットワークはについてのここまでの内容をまとめると以下の通りです。

  • ライトニングネットワークとはオフチェーンの技術
  • ライトニングネットワークで実現することは以下の3つ
    ①直接接続していない参加者同士の送金
    ②スケーラビリティ問題の解消
    ③少額決済(マイクロペイメント)が実現

でしたね。

そして、ライトニングネットワークでこれらが実現するのは、『ペイメントチャンネルというオフチェーン技術の活用』と『HTLC(Hashed Timelock Contracts)の活用』が理由です。

ライトニングネットワークはまだ開発段階ですが、ビットコインに導入されればビットコインの利便性の向上が期待されているので、今後の動向に注目が集まっています。