クロスチェーン × オフチェーン × アトミックスワップ

posted in: Bitcoin, Lightning | 0 |
Reading Time: 1 minute

今回はライトニングネットワークを使ったビットコインとライトコインのクロスチェーンかつオフチェーンなアトミックスワップの概念についてのご紹介です。


マルチホップペイメント

まず最初にライトニングネットワークにおけるマルチホップペイメントについての簡単な説明です。マルチホップペイメントとは、アリスーボブ、ボブーキャロルというチャネルが存在している場合、アリスはボブを経由してキャロルへ送金するための方法です。これはちょっとした暗号トリックを使うことで、アリスがボブを信頼することなくキャロルへ送金することができます。


まず始めにキャロルが秘密鍵を生成し、その南京錠(ハッシュ値)をアリスへ渡します(1)。次にアリスは受け取った南京錠をボブへ渡します(2)。この時、アリスはボブへ南京錠に対応する秘密鍵があればBTCを送金すると伝えます。ボブはキャロルへ南京錠でロックしたBTCを送金します(3)。キャロルは秘密鍵でBTCのロックを解き、BTCをゲットします(3)。この瞬間、ボブは秘密鍵を知ることになります。そして、その秘密鍵を使ってアリスがロックしたBTCを解き、BTCをゲットします(4)。以上よりアリスはボブを経由(したように見える)し、キャロルへ送金することができました。


クロスチェーンかつオフチェーンなアトミックスワップ

では、ビットコインとライトコインをライトニングネットワークを使いオフチェーン上でアトミックスワップする方法についてです。

上記のマルチホップペイメントではアリスーボブーキャロルという経路でしたが、今回はアリスーボブーアリスという循環型経路が前提となります(ただし、アリスートムーボブ、ボブーキャロルーアリスなど中間に誰かが中継していても問題ありません)。また、アリス、ボブはそれぞれ1つのライトニングノード(例えばLND)をビットコインとライトコイン上で稼動させているものとします(要は1つのライトニングノードからビットコインとライトコインのペイメントチャネルが作れる状態)。

まずアリスは秘密鍵を生成し、その南京錠(ハッシュ値)を作成します(1)。その後、アリスはビットコインのペイメントチャネルを使ってその南京錠をボブへ渡します(2)。ボブは南京錠でロックしたライトコインをライトコイン上のペイメントチャネル越しにアリスへ送金します(3)。そして、アリスが秘密鍵を使ってLTCをゲットすると(3)、ボブはその秘密鍵を使ってビットコイン上のペイメントチャネルのBTCをゲットすることができます(4)。


以上が、簡単なクロスチェーン、オフチェーンのアトミックスワップの流れです。


参考

[1]Connecting Blockchains: Instant Cross-Chain Transactions On Lightning

コメントを残す