2021年7月29日 4 min read

LNの送金中継方法としてのAtomic Multi-Channel Updatesという変化球

LNの送金中継方法としてのAtomic Multi-Channel Updatesという変化球
Photo by Annie Spratt / Unsplash

ビットコイナー反省会で2ヶ月ほど前にライトニングネットワークのワームホール攻撃を参考にペイメントの経路を最適化して資金効率を向上させるというアイデアをプレゼンした際、大変よく参考にさせていただいているビットコイン技術者の安土さんがAtomic Multi-Channel Updatesというものに似ていると印象をコメントしてくださったので、そちらの論文を読んでみました。

最近紹介したBlitzという通信が1ラウンドで完結するライトニングネットワークの支払いプロトコルに引き続き、Pedro Moreno-Sanchez氏の論文紹介シリーズ第二弾です。

https://publik.tuwien.ac.at/files/publik_287981.pdf

ライトニングネットワークの要件

とりあえず、この論文で提案されているAtomic Multi-Channel Updatesというイカツイ名前の仕組みを読み解いていきましょう。

Atomicは不可分性と訳されますが、データベースなどで使われる用語にアトミック操作というものがあります。これは複数の処理からなる1つの大きな処理において、個別の処理がすべて成功すれば大きな処理が完了し、個別の処理が1つでも失敗すれば個別の処理はすべて巻き戻され、大きな処理は失敗するというものになります。

例えばクラウドファンディングにおいて、各参加者は事前にクレジットカードで仮決済しているが、もし期限までに十分な金額が集まらなかったときにすべての仮決済がキャンセルされ、もし集まったときはすべて決済されるような場合がアトミックな処理の例としてわかりやすいでしょう。

ライトニングネットワークを始めとするペイメントチャネルネットワークにおいて、直接つながっていない相手への送金は中継によって行いますが、このとき各チャネルの送金について不可分性が必要となります。もし不可分性がなければ、一部のチャネルでは送金に失敗し、中継をするはずだったノードがまるごと損することにつながります。

したがって、Atomic Multi-Channel Updatesとはペイメントチャネルネットワークの根本的な機能要件の1つと言えるでしょう。現在のライトニングネットワークにおいては、HTLCという仕組みを用いて実現しています。

HTLCについては私が担当する記事で頻繁に触れているため、ぜひ過去のコラムなどをご覧ください。

HTLCの弱点:資金効率

現在のライトニングネットワークですでにHTLCを利用して実現できていることについて、わざわざ新しい方法を提案する理由はなんでしょうか。Atomic Multi-Channel Updatesの場合は、資金効率の面にあります。

HTLCを利用したペイメントの中継は、使用するチャネルの数×送金する金額×解決までの時間が拘束されます。ペイメントの所要時間が数秒であれば問題として表面化しにくいですが、途中のノードがオフラインであったり、宛先のノードが決済を保留する(hodl invoiceと呼ばれます)場合などは数時間~数日などの比較的長い期間、この金額を支払いの中継に使用することができません。特にこの待ち時間が各ホップごとに発生しうるため、非常に長い時間に及ぶ可能性があります。

ライトニングネットワークは、参加するのにホットウォレットで資金を保管する必要があったり、中継ノードはより多くのペイメントを中継して手数料を稼がなければ競争力がなくなるなど、資金効率面についてシビアな設計です。したがって、ペイメントごとに資金が拘束される最大時間が短く済む仕組みはこの重要な側面において優れていることになります。

資金効率がよくなる仕組み

AMCUは4つのフェーズからなります。以下に各フェーズについて手短な説明をします。前提知識として、これから言うトランザクション・チャネルはすべてオフチェーンで保持・更新する前提ですが、相手に悪意があったり問題が発生した際にはオンチェーンに決済することもできます。

また、どの段階もトランザクションの用意は各チャネルで同時並行的に行うことができ、すべてのチャネルの準備ができると次のフェーズに移ります。

~~~

Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to ビットコイン研究所.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.