Lightning Network:ブロックを待たずに行う Bitcoin 決済

·4 分で読める·SSP Editorial Team 著
SSP Academy カバー画像:Lightning Network 解説

Lightning Network:ブロックを待たずに行う Bitcoin 決済

Bitcoin はおよそ10分ごとにブロックを確定させ、各ブロックの容量には限りがあります。これはセキュリティと分散性のために意図的に選ばれたトレードオフですが、そのせいで Bitcoin はコーヒー1杯を買うような用途には不向きです。Lightning Network はこの問題に対する最もよく知られた答えです。ブロックチェーンに触れるのはときどきだけで、高速かつ低コストな Bitcoin 決済を何度も行えるようにする仕組みです。

ここでは、その仕組み、得意な場面、そしてその見返りとして求められることを説明します。

中心となる考え方:チャネル

Lightning はペイメントチャネルで構成されています。2人がオンチェーンの共有アドレスにビットコインをロックし、それを使うには両者の署名が必要になります。これが 2-of-2 マルチシグであり、SSP があなたのボールトに使っているのと同じ基本構造です。

チャネルが開かれると、2人はロックされた残高が現在どう配分されているかを示す署名付きの更新をやり取りすることで、互いに支払いを行います。Alice が Bob に1,000サトシを送ると、2人は配分の新しいバージョンに署名します。Bob が300サトシを返すと、また新しいバージョンができます。こうした更新はどれもブロックチェーンには記録されません。即座に完了し、コストはほとんどかかりません。

やり取りが終わったら、どちらの当事者でも最新の配分をオンチェーンに公開することでチャネルを閉じられます。開設と閉鎖という2つのオンチェーン取引の間に、何千件もの支払いを収めることができます。

全員を誠実に保つ仕組み

Alice が Bob に支払う前の古い配分を公開するのを防いでいるものは何でしょうか?

残高が変わるたびに、両者は古い状態を公開した者を罰するための手段を互いに渡し合います。古い状態は、タイムロックによって強制される待機期間のあいだ、だまされた側が使えるようになっています。Alice が古い状態をブロードキャストすれば、Bob には一定の猶予期間があり、その間にペナルティとしてチャネルの残高全額を受け取ることができます。

これは巧妙な仕組みですが、ひとつの帰結があります。誰かが見張っていなければならないのです。異議申し立て期間中ずっとオフラインだと、不正を働く相手が罰を逃れてしまうかもしれません。Lightning ウォレットは、定期的にオンラインになるか、あなたに代わって監視する「ウォッチタワー」サービスを使うことでこれに対処しています。

チャネルからネットワークへ

支払う相手全員とチャネルを持つ必要はありません。支払いはチャネルの連なりを経由して届けられます。あなたが接続しているノードに支払い、そのノードが次のノードに支払い、というように受取人まで順に進んでいきます。

各ホップは暗号学的なロックで結び付けられているため、支払い全体が成功するか、まったく行われないかのどちらかになります。途中のノードがお金を横取りすることはできません。ルーティングノードは転送のためにごくわずかな手数料を受け取ります。

Lightning が力を発揮する場面

  • スピード。支払いは通常数秒で完了します。
  • 少額決済。手数料は1セント未満にもなり得るため、ごく小さな支払いも現実的になります。
  • ある面でのプライバシー。チャネル内の個々の支払いはブロックチェーン上に現れません。
  • 決済における Bitcoin のセキュリティ。最終的に、チャネルの残高は Bitcoin そのもので決済されます。

引き換えになるもの

Lightning は厳密な意味でのレイヤー2であり、最終決済では Bitcoin のセキュリティを受け継いでいます。しかし、単なる「速くなった Bitcoin」ではありません。

  • 流動性は現実的な制約です。送金できるのはチャネルの自分側にある分だけで、受け取れるのは相手側にある分までです。高額の支払いではルートが見つからないことがあります。
  • オンラインでいるか、監視を委任する必要があります。セルフカストディの Lightning では、あなたのウォレットかウォッチタワーが不正の試みに対応できなければなりません。
  • チャネルの状態はバックアップ上の課題です。Lightning ウォレットの復元は、リカバリーフレーズからの復元ほど単純ではありません。チャネルのデータが重要であり、それを失うとチャネルを強制的に閉じなければならなくなる場合があります。
  • 開設と閉鎖にはオンチェーン手数料がかかり、Bitcoin のメンプールが混雑しているときにはそれが無視できません。
  • 人気のある Lightning アプリの多くはカストディアル型です。便利なのはまさに、事業者がチャネルを運用し、コインも保有しているからです。

この最後の点こそ、ほとんどの人が見落としているところです。チャネル管理をまったく必要とせず「とにかく使える」Lightning アプリは、多くの場合カストディアル型です。あなたは他人のシステムの中に残高を持つことになり、それに伴うあらゆるトレードオフを抱えることになります。

Lightning と SSP

SSP は Lightning に対応していません。SSP はあなたのビットコインをオンチェーンの 2-of-2 マルチシグボールトで保管し、SSP Wallet と SSP Key の両方で承認された通常の Bitcoin 取引を送信します。

これは、オンチェーン決済と2台のデバイスでの承認が最も重要になる、貯蓄や比較的高額な支払いに適しています。Lightning が向いているのは別の役割で、チャネルに伴う運用上の手間を引き受けたうえでの、頻繁で少額かつ高速な支払いです。多くの人は両方を使い分けています。資産の保管には安全なオンチェーンボールトを、日々の支出には必要に応じて補充する小さな Lightning ウォレットを使うのです。

正直なまとめ

Lightning は、支払いを2者間のチャネルに移し、開設時と閉鎖時にだけオンチェーンで決済することで、Bitcoin 決済を高速かつ低コストにします。マルチシグとタイムロックの上に築かれた、本当に巧みなエンジニアリングです。

一方で、流動性の制限、常に監視が必要であること、バックアップの複雑さももたらします。そして、最も手軽な Lightning アプリの多くは、利便性と引き換えにセルフカストディをひそかに手放しています。得意なことに使い、失うわけにはいかないものはもっとシンプルな場所に保管しましょう。

この記事をシェアする

関連記事