Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Peer Swap

Peer Swap

GBEC解説動画の資料です↓
https://goblockchain.network/2022/03/peer_swap/

shigeyuki azuchi

March 23, 2022
Tweet

More Decks by shigeyuki azuchi

Other Decks in Technology

Transcript

  1. 1 LNチャネル残高のバランス
 Commitment Tx
 In
 Out
 アリスの残高 1,000,000 
 Funding UTXO


    ボブの残高  5,000 
 チャネル参加者の一方の残高が極端に低い場合: 
 • アリス→ボブのルーティングは可能だが、 
 逆のルーティングは失敗する。 
 ◦ 他のノードはチャネルのキャパシティは分かるが、 
 両者の残高のバランスは分からない。 
 • 失敗が続くと、ルーティングアルゴリズムが 
 チャネルの評価を下げ、試行対象から除外される。 
 
 
 LN内の支払いの成功確率を上げるには、各チャネルの 
 残高が適切なバランスにあることが望ましい。 

  2. 2 Circular Rebalance
 1,000,000→500,000
 5,000→505,000
 700,000
 250,000
 1,250,000
 2,000,000
 1,200,000


    1,000,000
 650,000
 350,000
 500,040
 500,030
 500,020
 500,010
 500,000
 自分が残高を持つ別のチャネルから、 
 残高を増やしたいチャネルへ支払いを実行し、 
 チャネル残高を調整する。 
 
 
 リバランスには課題も:
 
 • 希望する額のリバランスが可能な
 ルートが存在するか?
 • 通常のLN支払いと同様、
 成功するかどうかはトライ&エラー
 • AMPにより支払いの分割も可能だが、
 中間ホップが増える分手数料高に
 • バランスを調整可能なチャネルの有無
 

  3. 3 Peer Swap
 アリスの残高 1,000,000 
 ボブの残高   5,000 
 アリスの残高 500,000 


    ボブの残高   5,000 
 Onchain Tx
 In
 Out
 PeerSwap 500,000 
 ボブのUTXO
 カスタムメッセージを使って、 
 直接チャネルを開いている両者で、 
 チャネル残高とオンチェーン資金を Atomic Swap
 https://www.peerswap.dev /
 
 直接チャネルを開いている相手との調整なので、 
 調整が付けば確実に低手数料でリバランスが可能 
 ※ただしオンチェーン手数料は発生する。 
 
 
 
 PeerSwap   500,000 
 PeerSwap Script or( and(pk(A), or(pk(B),sha256(H))), and(pk(B), after(N)) )
  4. 4 Swap-Out
 ① ネゴシエーションを開始 
 ③オンチェーン手数料をインボイスで支払い 
 
 ④ Peer

    Swap Scriptを含む 
 オンチェーンTxをブロードキャスト 
 ⑤ Txが承認されると、Peer Swap Scriptを 
 検証し、問題なければSwap Invoiceで支払い 
 pre-mage
 アリスがオフチェーンで支払いをし、オンチェーン資金を得るケース 
 ② オンチェーンTxの手数料を見積もり 
 ⑥ プリイメージを公開し、 
 オフチェーン支払いを受け入れる 
 ⑦ 開示されたプリイメージを使って、 
 オンチェーンの資金を入手 

  5. 5 Swap-In
 ① ネゴシエーションを開始 
 (手数料の支払いステップは不要) 
 
 ③ Peer

    Swap Scriptを含む 
 オンチェーンTxをブロードキャスト 
 ④ Txが承認されると、Peer Swap Scriptを 
 検証し、問題なければSwap Invoiceで支払い 
 pre-mage
 アリスがオンチェーン資金と交換で、チャネル残高を購入 
 ② 公開鍵ハッシュを返信 
 ⑤ プリイメージを公開し、 
 オフチェーン支払いを受け入れる 
 ⑥ 開示されたプリイメージを使って、 
 オンチェーンの資金を入手