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

Zero-conf Channel(Turbo Channel)

Zero-conf Channel(Turbo Channel)

GBECの解説動画の資料です。
https://goblockchain.network/2022/08/zeroconf-channel/

shigeyuki azuchi

August 17, 2022
Tweet

More Decks by shigeyuki azuchi

Other Decks in Technology

Transcript

  1. 2 Zero-conf Channelは安全なのか?
 • アリスの観点:
 未承認チャネルのオフチェーン資金は、承認されまで確実に自分の資金ではないが、 
 そのオフチェーン資金を使用するのにアリスにリスクはない。 
 ◦

    ファンディング・トランザクションが mempoolから削除されると?
 ▪ チャネルに残っているアリスの残高が利用不可能になる。 
 ▪ 残高分の取り扱いについて、ボブとの調整が必要になることも。 
 • ボブの観点:
 ボブ自身がチャネル開設者であるため、自分で自分を裏切らない限り 
 ボブが資金を失うことにはならない。 
 ◦ ファンディング・トランザクションが mempoolから削除されると?
 ▪ ボブはキャロルへのルーティング支払い分チャネル残高が減る
 ▪ チャネル開設に伴うアリスからの債権は残っているので、それを相殺する?
 • CPFPにより手数料を引き上げ、ファンディング・トランザクションの承認を促すことも。 

  2. 3 Channel Identifier 
 Lightning Networkでチャネルを識別するために使用される2種類のチャネル識別子( Channel ID)
 
 •

    通常のチャネル識別子( Channel ID)
 Funding TxのTXIDとFuding Txのアウトプットのインデックスの排他的論理和で計算される 
 32バイトの識別子
 Channel ID = funding_txid XOR funding_output_index 
 https://github.com/lightning/bolts/blob/master/02-peer-protocol.md#definition-of-channel_id
 
 • Short Channel ID(SCID) ※チャネル開設後に使用されるID 
 Channel IDをコンパクトにした8バイトの識別子で、以下の要素で構成される 
 ◦ トランザクションが格納されたブロック高( 3バイト)
 ◦ ブロック内のトランザクションのインデックス( 3バイト)
 ◦ Funding Outputのインデックス(2バイト)
 https://github.com/lightning/bolts/blob/master/07-routing-gossip.md#definition-of-short_channel_id 
 これもSCID(uint64整数) 
 (690377 << 40) + (1716 << 16) + 1 

  3. 4 SCID Aliasの導入
 ※ Zero-conf Channelは、Funding Txが承認される前から使用可能なチャネルなので、 
 Short Channel

    IDをそのまま利用できない
 
 • Short Channel ID Aliasの導入
 https://github.com/lightning/bolts/pull/910 
 funding_locked→channel_readyに変更
 
 
 
 
 
 • チャネルタイプoption_zeroconfの導入
 両ノードが任意のSCIDを設定できるエイリアス機能を追加