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

Liquidity Ads in LN

Liquidity Ads in LN

GBECの解説動画の資料です:
https://goblockchain.network/2021/09/ln-liquidity-ads/

C403a9e0b7bfed4c94020220b5ab89f7?s=128

shigeyuki azuchi

September 16, 2021
Tweet

More Decks by shigeyuki azuchi

Other Decks in Technology

Transcript

  1. LNのゴシップネットワークを使った
 流動性の配信


  2. 1 LNチャネルの流動性の課題
 現在のLNチャネルはシングル・ファンディングチャネル
 Funding Tx
 In
 Out
 2-of-2 のマルチシグ 


    アリス UTXO(1 BTC) 
 アリスの署名 
 Commitment Tx 0
 In
 Out
 アリスの残高( 1 BTC)
 Funding UTXO
 ボブの残高( 0 BTC)
 アリスの署名 
 ボブの署名 
 チャネルの初期状態は、チャネルの開設者(アリス)がすべての残高を保持している。 
 つまり、アリスにとっての 
 • インバウンドキャパシティ= 0BTC
 • アウトバウンドキャパシティ= 1 BTC
 この場合、アリス→ボブへの支払いは可能だが、ボブ→アリスへの支払いはできない。 
 アリスが支払いを受けるためには、自身がインバウンドキャパシティを持つチャネルが必要。 
 (https://lnbig.com/ などでインバウンドキャパシティを購入するのが簡単) 

  3. 2 デュアル・ファンディング
 デュアル・ファンディングチャネルは、両者が資金をデポジット可能なチャネル
 Funding Tx
 In
 2-of-2 のマルチシグ 
 アリスのUTXO(0.5

    BTC) 
 Commitment Tx 0
 In
 Out
 アリスの残高( 0.5 BTC)
 Funding UTXO
 ボブの残高( 0.5 BTC)
 アリスの署名 
 ボブの署名 
 ボブのUTXO(0.5 BTC) 
 アリスの署名 
 ボブの署名 
 Out
 チャネルの初期状態で、両者ともインバウンドキャパシティを持った状態。 
 
 ※ チャネルのセットアップ時に、両者が協力して Funding Txを作る必要がある。
 • 相手のデポジット額の調整(インセンティブは?) 
 • そもそも相手をどうやって見つける? 
 • 通信コストの増加

  4. 3 Liquidity Ads
 流動性(インバウンドキャパシティ)をLNのゴシッププロトコルで配信可能に
 
 • リース料をもらって流動性(インバウンドキャパシティ)を一定期間提供 
 • 現在BOLTでドラフト提案中↓


    https://github.com/lightningnetwork/lightning-rfc/issues/878 
 https://github.com/lightningnetwork/lightning-rfc/blob/cb691777fb4263eadb68e6a8331ccadd14aa9793/pro posals/010-will-fund-for-food.md 
 • c-lightning v0.10.1で実験的にサポート
 https://medium.com/blockstream/setting-up-liquidity-ads-in-c-lightning-54e4c59c091d 

  5. 4 流動性の購入フロー
 Funding Tx
 In
 2-of-2 のマルチシグ 
 アリスのUTXO(0.5 BTC)

    
 Commitment Tx 0
 In
 Out
 アリスの残高( 0.5 BTC - リース手数料 )
 Funding UTXO
 ボブの残高( 0.5 BTC + リース手数料 )
 アリスの署名 
 ボブの署名 
 ボブのUTXO(0.5 BTC) 
 アリスの署名 
 ボブの署名 
 Out
 node_announcement 
 • 資金提供レート 
 • …
 流動性を提供したいユーザーは、 
 その情報をLNのゴシップネットワークに配信 
 open_channel2 
 • reqeust_funds_tlv 
 • …
 流動性を確保したいユーザーは、配信された 
 流動性の情報を元に、チャネルの開設要求を送信 
 accept_channel2 
 • will_fund
 ◦ リース手数料 
 ◦ HTLCの最大手数料 
 ◦ Funding txへの追加weight 
 ◦ 署名
 リース料の支払いと流動性の提供を 
 セットで行うため、
 デュアル・ファンディングチャネルを開設。 
 
 デュアル・ファンディングを行うための 
 相手の探索、調整もLNのゴシップ 
 ネットワークを介して行え、自動化も可能に。 
 
 LNBIGなどはこれをサイト上で行い、 
 手数料を支払った後に LNBIG側から
 シングル・ファンディングチャネルを開設 
 

  6. 5 流動性提供期間の保証
 流動性を購入したので、一定期間その流動性が提供される必要がある
 Commitment Tx 0
 In
 Out
 アリスの残高( 0.5

    BTC - リース手数料 )
 Funding UTXO
 ボブの残高( 0.5 BTC + リース手数料 )
 アリスの署名 
 ボブの署名 
 仕組み上、流動性提供者のチャネルクローズを防ぐ方法はないが、
 チャネルをクローズするインセンティブが発生しないようにする。
 【通常のロック内容】 
 流動性提供者のUTXOのCSVのロック期間に
 リース期間分を加算する
 提案ではリース期間は4,032ブロック(約28日間)
 ボブの鍵 & CSVタイムロック 
 CLTVではなく、CSVでロックされているため、
 ブロックが進むにつれてCSVの値をデクリメントする必要がある。
 update_blockheight 
 • ブロック高
 流動性提供者は、チャネルをクローズしても
 流動性提供期間中は資金を使用できないため、そのインセンティブがない。
 チャネルが開いていればルーティングによる手数料収入も見込める。
 Commitment Tx i
 ...
 ボブの鍵 & CSVタイムロック(i) 
 Commitment Tx i + 1
 ...
 ボブの鍵 & CSVタイムロック(i) - 1