ライトニングネットワークに関するよくある質問をまとめています。

ライトニングチャネルの開閉を減らす工夫はどのようなものが存在するか

ライトニングのスケーラビリティを制限するのはビットコインブロックチェーンに記録する必要があるチャネルの開閉とそのコストです。したがってその頻度を減らしたり効率を改善するための様々な工夫が考案されています。

バッチングによって複数のチャネルを同時に開設したり、Splicingでチャネルの開閉をすることなく流動性を追加する、タイムアウトしたHTLCを場合によってはオンチェーンで決済せずに諦める、などのアプローチが現在使用できます。開発中の技術も多数ある、ライトニングのスケーラビリティ改善の最前線です。

3人以上で1つのライトニングチャネルを開くことはできないのか?

理論的には可能ですが、まだライトニングの仕様として策定されていません。ライトニングチャネルはあくまで1つのマルチシグUTXOであり、送金のたびにマルチシグ参加者たちの残高を更新しているだけなので、その参加者が3名、4名になっても同様の仕組みが使えます。ただし、その場合は送金のたびにチャネルの参加者の全員あるいは大半が同時に協調的にチャネルの状態を更新する必要があるため、あまり人数が多いとオフラインのユーザーが増えてしまうなどして可用性が下がる問題が予想されます。また、各自保管する必要がある送金履歴のデータなども人数分増えてしまいます。

数年前からあるチャネルファクトリーという提案は複数のユーザーが1つのマルチシグアドレスに入金し、そこから「オフチェーンで」2者間のライトニングチャネルを全通り開設するというもので、これなら参加者全員の協調が必要なのはオフチェーンのチャネルの開閉時のみということになり、より現実的に利用可能になるかもしれません。

なぜ送金手数料が実際に送金をするまで確定しないのか

ライトニングネットワークにおける送金手数料はその送金で利用する経路上のペイメントチャネルごとに異なる手数料の合計です。送金時にウォレットがいくつかの経路とそれぞれにかかる手数料を計算しますが、どの経路で送金が成功するかは実際に送金を試行してみるまでわからないため、手数料も実際に送金が完了するまで確定しません。一般的には手数料が安い経路から試行されますが、実際に送金が通るのはもう少し高い経路ということもよくあります。

チャネルを開設したが、すぐに支払いを受け取れないのは何故か?

ライトニングチャネルにはローカルバランス(アウトバウンド流動性・自分方残高)、リモートバランス(インバウンド流動性・相手方残高)という概念があります。自分の資金だけでライトニングチャネルを開設した当初はチャネル内の残高はすべてローカルバランスとなるため、相手側からの送金を受け取るのに必要なリモートバランスがありません。

最初からリモートバランスを用意する方法は相手側からチャネルを開設してもらう、自分が相手または相手を経由した先に送金する、などです。ウォレットによっては送金を受け取る際にウォレットの運営業者がチャネルを開設してくれるものもあります。また、カストディアルウォレットと呼ばれる資金を預ける方式のウォレットではこのような流動性のマネジメントは運営業者が担います。

長時間オフラインになってはいけないと聞いたが、なぜか

ライトニングチャネルには協調閉鎖と強制閉鎖という2つの閉じ方があります。協調閉鎖は両者がオンラインであれば利用できる安くて安全な閉鎖方法ですが、例えば相手のデバイスが壊れるなどしてオフラインの場合にも単独でチャネルを閉鎖できるように強制閉鎖という選択肢が用意されています。

強制閉鎖の場合は 約2週間の間にオンラインに復帰すれば不正な残高で閉鎖されることを防げる仕組みになっています。この場合、不正を行った相手の残高をも没収することができます。逆に言えば、ライトニングノードが2週間以上継続してオフラインになっているとチャネル内の残高を相手に盗られてしまっているリスクがあります。

対策としてユーザーがオフラインの間も不正な強制閉鎖が行われていないか代わりに監視してくれるウォッチタワーというサービスを利用することもできます。

ライトニングで盗難や不正を防ぐ仕組みは?

ライトニングチャネルの開設や更新、閉鎖は基本的には当事者の2人によるマルチシグなので協調を前提としていますが、唯一強制閉鎖に関しては相手の協力なく行うことができます。これがライトニングの仕組みを用いた盗難のメインケースにつながります。

悪意のあるユーザーは「自分がより有利な過去のチャネルの状態」(高額な送金をする前など)を用いて強制閉鎖を試みる可能性があります。この場合、相手が期限(既定では約2週間後)までにオンラインに復帰すれば攻撃者の残高をすべて没収できるという仕組みになっており、攻撃者の視点では攻撃開始から2週間以内に復帰されると逆に自分の残高を没収されてしまうという抑止力になっています。

このほかにも、ライトニングノードはホットウォレットなので秘密鍵やMacaroonという認証情報の流出、デバイスへの不正アクセスにも別途注意が必要です。

ライトニングネットワークとは何か?

ライトニングネットワークはビットコインの安価で高速な送金決済を実現する技術です。通常のビットコイントランザクションはブロックチェーン上に記録されるため一定時間に処理できるトランザクションの量が制限されますが、ライトニングでは大半のトランザクションはブロックチェーンに記録されないため、大量・高頻度・低価格の送金を実現できます。

ルーティングとは何か?送金手数料との関係は?

ライトニングでの送金はペイメントチャネルと呼ばれる2つのノード間の台帳をリレーされていくことで、送金者と宛先が直接繋がっていなくてもその間に経路があれば成功する仕組みになっています。このとき、送金がペイメントチャネルからペイメントチャネルへと転送されていくことをルーティングと言います。

ライトニングの送金手数料は経路上の各ペイメントチャネルにそれぞれ設定される単価と重量単価(Base feeとPPM)の合計です。送金者は一般的に送金可能な経路のうち最安のものから試行するので、ルーティングを行う中間ノードたちはその需要に応えるべくチャネルの流動性を維持しながら価格競争を行っています。

ライトニング送金がうまく行かない理由として考えられるものは?

最も多い失敗理由は「宛先への経路がない」という問題で、多くの場合これは試行できた経路のすべてにおいていずれかのチャネルの流動性が不足しているために送金が転送できなかったことが理由です。また、モバイルウォレットで試行できる経路数が少なかったり、送金相手のノードがオフラインの場合も同じようなエラーが発生することがあります。

他にも少額送金の場合は送金者のウォレットで設定する「許容可能な手数料率」が低すぎることもあります。例えば10satの送金に対して手数料が2-3satかかることは一般的ですが、割合に直すと非常に高いため、誤って手数料を払いすぎないためのチェック機能に引っかかってしまうのです。

ライトニング送金のプライバシーを改善する工夫はどのようなものが提案されているか

ライトニング送金について送金者のプライバシーはある程度高いが、宛先ノードのプライバシーはかなり低いという問題があります。これは主にインボイスに宛先ノードのIDが含まれるということに端を発していて、送金者を含めインボイスを閲覧した全員が宛先ノードを知ってしまうことにつながります。(逆に宛先ノードは原則的に送金者のノードを知ることはありません。)

途中のノードから宛先までの経路を宛先ノードが指定して暗号化するアプローチで送金者からこの情報を秘匿化する方法、毎回新しいノード公開鍵を生成し偽の非公開チャネルを経由させる方法など、宛先ノードに関して得られる情報を最小化する工夫がいくつか開発されていますが、未実装のものが多いです。(後者も現時点では特定のウォレットのみが実装しています。)

ライトニングのプライバシー問題は他にもライトニングチャネルとそれを開設・閉鎖するオンチェーントランザクションの紐づけやすさなどが挙げられますが、DoS対策のトレードオフという側面もあり軽減策はこれからという段階です。

NostrのZapを調べていたら出てきたLNURLとは何か。何ができるようになるのか

ライトニングの送金時には原則としてまず送金を受け取るユーザーがインボイスを発行する必要があります。しかし、投げ銭や寄付のように一方的に送り付けたい場合には決済に必要なプリイメージごと送金を送りつけるKeysendという裏技的なやり方しかありませんでした。対応していないウォレットがあったり、送金者が生成したプリイメージは送金の証明にならないことが欠点となっていました。

そこで宛先ノードがサーバーを立て、送金者のウォレットからのHTTP通信を受けてインボイスを発行したり、逆にインボイスを受け取って相手に送金するといった使い方が誕生しました。この通信規格をLNURLといい、LNURL-Pay、LNURL-Withdraw、LNURL-channel、LNURL-authの4種類があります。メールアドレスのようなLightning Addressも裏ではLNURL-Payの規格に則っています。

NostrのZapイベントはLNURL-Payに対して支払うと、その完了時にLNURLサーバーからNostrリレーにZapイベントが流れることで同じリレーに接続している他のユーザーに送金の内容が公開されるという仕組みになっています。LNURLサーバーの自己申告であり、第三者が実際の送金があったことを検証できるものではありません。

BOLT12とLNURL、どちらが良いのか

LNURLは数年前から利用されており、まだ普及が始まっていないBOLT12までの「つなぎ」の技術として位置づけるのが適切だと考えられます。機能的にはほとんど同じ機能を実現していますが、LNURLはライトニングノードとは別途HTTPサーバーを立て、ウォレットはそのサーバーとも通信する必要があります。一方、BOLT12を使うとライトニングウォレットが宛先ライトニングノードへと直接インボイスなどをリクエストをすることができるようになります。

残念ながらBOLT12はライトニングノード最大手のLndへの実装が遅れているためまだ広くは利用されていません。しかし、Lndへの実装さえ済めば手軽さなどのメリットでLNURLを徐々に置き換えていくと予想されます。LNURLを利用するZap、Lightning Addressなどの関連プロトコルも同様にBOLT12に対応していくでしょう。

これからライトニングでアプリケーション開発をしたい。どこから始めたらいい?

簡単なライトニングアプリはライトニングノードのAPI、あるいはカストディを提供する業者のAPIを叩くだけで作れてしまいます。様々な言語で簡単にLndなどのAPIを叩けるライブラリが用意されているので、通常のWebアプリ開発の延長上で試してみるのがおすすめです。

作ったサービスはTwitterやSpotlightのようなサービスで公開すると国内や全世界のライトニングユーザーに積極的に試してもらえるでしょう。

ペイメントチャネルとは何か?

ペイメントチャネルとは2つのライトニングノードがマルチシグのビットコインアドレスを生成し、そこに入金することで開設されるその2つのノード間の残高推移をオフチェーンで記録するものです。ライトニングネットワークは多数のノードと、それらを結ぶ多数のチャネルからなるネットワークです。

リモートバランス(相手方残高)、ローカルバランス(自分方残高)という概念があり、これらの残高は互いに送金をしたり、そのチャネルで送金の中継を行うことで更新されます。このとき協調的に残高を更新することでオンチェーントランザクションを発行せずに済み、オンチェーンの送金手数料や所要時間を節約できます。

もし協調的にチャネルの更新ができなくなっても最新の状態を独断でオンチェーン決済することができる仕組みになっているおり、誰かの協力に依存する必要がない仕組みなのでビットコインのレイヤー2と呼ばれます。

オンチェーン送金やアルトコイン、電子マネーに対してライトニング送金の強みは何なのか

オンチェーン送金では手数料はトランザクションデータのサイズによるため、大きな金額の決済に対して手数料の割合が安くなりやすいです。また、送金が十分な数のブロックに取り込まれるまで平均で10~60分かかります(1~6ブロック)。一方、ライトニングでは手数料は主に金額に対する割合で決まるため、少額の送金が安く行えます。また、即時に決済するため長時間待つ必要がありません。

アルトコインと比較するとビットコインの強大なセキュリティを享受しながら低手数料・即時決済を利用できることが魅力となります。また、ほとんどのアルトコインよりもライトニングネットワークのほうがユーザー数は多いと考えられます。

電子マネーやクレジットカードには不正利用に対するチャージバックというものが規定されており、不正利用が判明すると後日その金額が売上金から引かれてしまいます。また、手数料も2%前後と決して安くはなく、加盟店審査があるので自由に導入できません。ライトニングにはチャージバックも利用審査もなく、手数料も一般的な店舗決済やオンライン決済の金額を想定すると桁違いに安いです。

ライトニングとPaypayの違いはなんですか?

ライトニングはビットコインを利用した高速送金を実現するネットワークで、オープンソースソフトウェアを実行することで誰でも利用することができるのが特徴です。送金手数料は変動しますが0.01%に満たない金額であることも多く、送金者が負担します。即時決済のため、現金の受け渡しと同様に取引は取り消せません。

PayPayは日本で広く普及しており、ユーザー間の送金は無料の決済サービスです。店舗として利用するには審査があり、誰でも店舗登録ができるわけではありません。QRコード決済を利用すると加盟店が決済金額の1.6~2%程度の手数料をPayPayに納める必要があります。また、不正利用などの場合にチャージバックとして売上金が取り消されることがあります。

オフラインでライトニング送金は出来ますか?

ライトニングネットワークの利用には少なくとも送金者はオンラインである必要があります。受け取るユーザーについては自身で動かしているノード、あるいは利用しているカストディアルウォレットのノードさえオンラインであれば、ユーザー自身はオフライン環境で固定のQRコード(LNURL等)を掲示するだけで送金を受け取ることもできます。

ただし、実際に送金が行われたかの確認には送金者の協力が必要になってしまうため、どうしてもネット環境を用意できない場合に限ったほうが良いかもしれません。

ライトニングはビットコインのスケーリング問題を解決できるか?

ビットコインではブロックサイズの上限によってオンチェーンで行える送金数が制限されてしまいます。しかし、ライトニング送金ではペイメントチャネルの開設と閉鎖のみをブロックチェーンに書き込むため、その間に行った送金は同じ制限を受けず、ビットコイン送金数を事実上無制限に行えます。したがってライトニングはビットコインのスケーリング問題をある程度解決するとされています。

しかし、ライトニングでは高額な送金ほど経路選択が限られ、手数料が高くなるという特徴があります。このためオンチェーンで行われている送金の少なくない割合がライトニングで代替しづらいと予想されます。(逆にオンチェーン送金では実現できなかった新たな需要を創出するということでもあります。)

今ではライトニングだけがビットコインのスケーリング問題を解決するのではなく、他の種類の送金を効率化するレイヤー2とユースケース別に棲み分けされていくという見方が広まってきています。実際、最近は新しい種類のレイヤー2の開発や実験が盛んに行われています。

ライトニング送金はプライバシーが高いという意見と低いという意見があるが、実際どうなのか?

ライトニングのプライバシーは送金時のプライバシー、受け取り時のプライバシー、ノードのプライバシーという3つの観点から論じられることがあります。

送金時のプライバシーについてライトニングは比較的優れていると言われます。経路情報の暗号化によって送金を中継するいずれのノードも最終的な送金元・宛先を絞り込むことが難しくなっています。宛先のノードからすらも送金者のノードを知ることはできず、第三者には送金があったこともわかりません。

一方、受け取り時のプライバシーには問題が多く残ります。送金者に発行するインボイスに宛先ノードIDや必ずしも公開したくないチャネルの情報などが含まれるためです。このインボイスが不特定多数に公表されるリスク、他の送金に関するインボイスと関連付けられるリスクもあります。したがってライトニングで送金を受け付ける際のプライバシーはインボイスというアキレス腱を抱えています。(※インボイス発行の都度偽のノードIDとチャネルIDを生成してインボイス公開の悪影響を軽減するMuunのようなウォレットもあります)

ノードとチャネルのプライバシーに関しても問題があります。チャネルIDは非実在のチャネル開設情報がネットワークにあふれることを防ぐためにオンチェーントランザクションと紐付けられています。このため、ノードとチャネルがわかればオンチェーンのビットコインアドレスもわかり、オンチェーンである程度トランザクションの流れを分析することができてしまいます。複数のチャネルを共通のノードに紐づけてしまうため、ビットコインアドレスの使い回しと同じような悪影響があります。

したがって送金者のプライバシーは非常に高いが、受け取り時やノードとオンチェーントランザクションの紐づけに関してはまだ発展途上という段階です。何種類かの改善策が提案されているものの、特にノードのプライバシーに関してはビットコイン自体の秘匿性強化なくして完全な解決は難しいかもしれません。

ライトニングとその他のレイヤー2技術の違いは何か?

その他のレイヤー2技術はサイドチェーンの流れを汲むものが多く、決済時間や手数料などの特徴がオンチェーン送金に近かったり、サイドチェーンの運営を行うノードの管理者が集権化しがち(分散性が低い)という特徴があります。ライトニングはただ各自が誰かとマルチシグアドレスを作って共同運営するだけなので分散性が非常に高く、決済も即時性があります。また、1つのブロックチェーンを更新するのではなく多数のペイメントチャネルを並列で更新するため、ライトニングは理論的なスケーラビリティが非常に高いです。

ライトニングのポテンシャルはどれくらい大きいですか?

ビットコインは通貨と比較されますが、ライトニングは銀行送金やクレジットカード・デビットカード、ノンバンクなどの決済システムと比較するのが妥当と考えられます。キャッシュレス決済が広がるなかこれらの市場規模は伸びており、カード決済の50%を扱うVISAブランドだけで年間12兆ドルほどの決済を世界中で行っています。

カード決済の手数料を大まかに2.5~3%程度として、仮にクレジットカード決済のすべてを手数料が非常に安いライトニング決済で置き換えると年間6000億ドル(87兆円)規模の効率化を実現できるかもしれません。これは銀行送金やノンバンクの送金サービスの市場を含める前の金額です。また、これとは別に高額の為替手数料も圧縮できると考えられます。

店舗決済以外のライトニングのユースケースにはどのようなものがありますか?

店舗決済以外でもオンラインかつリアルタイムのクロスボーダー取引、ゲーム内などの少額決済などが考えられます。カード決済だと高額な決済手数料や為替手数料が求められたり、不正利用によるチャージバックのリスクを考慮すると決済まで60日ほどかかりますが、ライトニング決済だと手数料が非常に安く済む上に即時決済という特徴があるためデジタルアイテム等の決済や国際送金に非常に向いています。

また、eスポーツ大会など事業者からユーザーに対してお金を払い出す場合にもクレジットカードや銀行送金などと比較して便利です。

店舗や企業としてライトニングを導入したいと考えているのですが、どのように設定すればいいですか?

店頭での決済に関してはPOS機能のあるウォレットを利用してお客様から支払いを受け付けることが一番簡単です。具体的にはノンカストディアルウォレットならばBreez、カストディアルウォレットならWallet of SatoshiなどにPOS端末モードが存在します。金額を入力してお客様のスマホからQRコードを読み取ってもらい、支払っていだたくだけです。

オンラインでの決済に関しては利用しているECサイトに統合できるかが問題となります。Shopify、WordpressやWooCommerceならライトニング支払いに対応するためOpenNodeなどのプラグインが用意されています。BTCPay ServerやLnbitなどをセルフホストすることができる場合はそれも選択肢に入りますが、より一般的な支払手段を受け付ける方法が別途必要になります。詳しくはエンジニアにご相談ください。

ライトニングでコンタクトレス決済は可能ですか?

ライトニングでは画面に表示される使い捨てのインボイスをカメラで読み取るQRコード決済が一般的です。他にも繰り返し使用できるLNURLのQRコード決済や、BOLTカードと呼ばれるLNURLを用いたNFCカード決済も存在します。

もちろん、インボイスやLNURLをウォレットにコピペする使い方も一般的です。

ライトニングでサブスクリプション決済は可能ですか?

現時点ではライトニングウォレットで定期的な自動支払いを行う機能はありません。送金の都度送金先にインボイスを発行してもらう必要があり、これを行うウォレットの規格がまだ仕様化されていないためです。仕様化され次第、LNURLやBOLT12を使ってユーザーのウォレットから定期的にインボイスを要求する機能がいずれ普及するかもしれません。

ライトニング決済はデビットであるため、クレジットを前提とするサブスクリプション決済より前払いや従量課金性のほうが向いている印象があります。これも長期的にはライトニング上でのクレジットの普及によって変わる可能性があります。

ライトニングは大きな金額を送受信するのには向かないというのは本当ですか?

ライトニング送金はいくつかのペイメントチャネルを経由して宛先へとたどり着きますが、金額が大きいほど途中のペイメントチャネルで流動性が不足して中継に失敗する確率は大きくなります。(この場合、送金はキャンセルされて他の経路を試すことになります。)

また、ペイメントチャネルが課す手数料も送金額に対する割合で指定されるため、大きな金額を送金するとオンチェーンで送金した場合の手数料より高くつく可能性もあります。オンチェーン手数料は送金額に関わらずトランザクションのデータサイズによって決まるため、高額な送金ほど手数料の割合が下がります。

ライトニングで独自トークンは扱えますか?

現時点でライトニングネットワーク上で流通しているのはビットコインだけです。将来的にはTaproot AssetsやRGBなどのプロトコルを利用したトークンが流通する可能性があります。

ライトニングウォレットはカストディアル型・ノンカストディアル型どちらを使えばいい?

カジュアルに触ってみたいのであれば大手のカストディアルウォレットから始めるのがお手軽で良いかと思います。取引所などと同じく流出や持ち逃げ、凍結のリスクがありますが、扱うのが少額ならば手間が軽減されるメリットは大きいです。また、金額が増えた際などにご自身のオンチェーンウォレットに出金できるものも多いです。

もし技術的な側面に興味があったり、趣味として考えている場合はライトニングノードをご自身で運用されてみるのも面白いかもしれません。日本最大のライトニングネットワークコミュニティDiamond Handsでは約660名がライトニングノードの運用などについて情報交換を行っています。

その他のレイヤー2技術と比較してライトニングが優れていることは何か?

既存の大半のレイヤー2技術は新しいブロックチェーンを立ち上げて定期的にレイヤー1にコミットするなどして自由な入出金を可能にするという性質のものです。この仕組みではどうしても処理能力に上限があったり、分散性が低くなるという傾向があります。ライトニングネットワークは独自のブロックチェーンを持たず、各ノードが独自の送金履歴を保持しているので分散性が高く、その結果プライバシーや検閲耐性も高いです。

また、多数の送金をネットワーク内の別々のノードで並列処理できるのでスケーラビリティも非常に高いです。