$30 off During Our Annual Pro Sale. View Details »

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. Zero-conf Channel

    (Turbo Channel)


    View Slide

  2. 1
    Zero-conf Channelとは?

    Zero-conf Channel(旧Turbo Channel)は、チャネル開設者(初期資金提供者)が

    初期資金の一部またはすべてを受信者に提供するシングル・ファンドチャネル。

    ファンディング・トランザクションが承認される前からすぐに利用可能。








    ● カストディアルな取引所からBTCをLNのチャネル開設で引き出し 

    ● LNのインバウンドキャパシティを購入 

    ※ Bitcoin Optechから引用


    View Slide

  3. 2
    Zero-conf Channelは安全なのか?

    ● アリスの観点:

    未承認チャネルのオフチェーン資金は、承認されまで確実に自分の資金ではないが、 

    そのオフチェーン資金を使用するのにアリスにリスクはない。 

    ○ ファンディング・トランザクションが mempoolから削除されると?

    ■ チャネルに残っているアリスの残高が利用不可能になる。 

    ■ 残高分の取り扱いについて、ボブとの調整が必要になることも。 

    ● ボブの観点:

    ボブ自身がチャネル開設者であるため、自分で自分を裏切らない限り 

    ボブが資金を失うことにはならない。 

    ○ ファンディング・トランザクションが mempoolから削除されると?

    ■ ボブはキャロルへのルーティング支払い分チャネル残高が減る

    ■ チャネル開設に伴うアリスからの債権は残っているので、それを相殺する?

    ● CPFPにより手数料を引き上げ、ファンディング・トランザクションの承認を促すことも。 


    View Slide

  4. 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 


    View Slide

  5. 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を設定できるエイリアス機能を追加

    View Slide