710 / 736SPL

Splicing

Přidání nebo výběr prostředků z existujícího Lightning kanálu

Když chcete do Lightning kanálu přidat bitcoin nebo z něj část vybrat, nemusíte jej vždy zavřít a otevírat jiný. Splicing převede existující kanál na nový výstup v bitcoinové transakci. Obě strany se na změně dohodnou a kanál může pokračovat v provozu.

Splicing je společná změna financování Lightning kanálu: nová on-chain transakce utratí jeho dosavadní financující výstup a vytvoří nový. Strany zároveň připraví odpovídající commitment transactions, tedy podepsané podklady pro případné uzavření kanálu. Jde o návaznost stejného kanálu, nikoli o běžné zavření a samostatné otevření dalšího.

Splice-in přidává prostředky k zůstatku přispívající strany, splice-out část jejího zůstatku přesune do výstupu mimo kanál. Příspěvky se promítnou i do celkové kapacity; pokud se vzájemně vyrovnají, může kapacita zůstat stejná. Novým místem, kde jsou prostředky kanálu uzamčené v Bitcoinu, je vždy jiný financující výstup. Změna nevyžaduje běžné společné zavření a následné otevření kanálu. [1]

Kanál nejprve přejde do quiescence, krátkého pozastavení neslučitelných aktualizací. Iniciátor pošle splice_init a protistrana odpoví splice_ack. Společně sestavená transakce musí obsahovat právě jeden vstup utrácející starý financující výstup a právě jeden nový výstup financující tento kanál; další vstupy a výstupy mohou přidávat či vybírat prostředky. Následují zprávy commitment_signed a tx_signatures s příslušnými podpisy. [1]

Po výměně podpisů transakce se mohou obnovit platby, i když se ještě čeká na přijatelný počet potvrzení. Uzly proto současně udržují závazné stavy pro původní financování, nový splice i případné náhrady RBF. Platba musí být platná ve všech aktivních variantách. Při odpojení je nutné obnovit správný rozpracovaný stav; nestačí si uložit jedinou poslední transakci. [1] [2]

Oba uzly musí vyjednat podporu option_splice a souhlasit s transakcí, sazbou poplatku a příspěvky. Protistrana může návrh odmítnout zprávou tx_abort. Dokud obě strany nepotvrdí stejný splice pomocí splice_locked, musí nové aktualizace zohledňovat všechny aktivní commitment transactions. Není možné jednostranně přepsat zůstatek druhé strany. [1] [3]

Core Lightning ve verzi 26.04 zapnul Splicing ve výchozím nastavení. Přidal příkazy splicein a spliceout a možnost přesouvat prostředky mezi dvěma kanály, označovanou cross-splice. Přesto záleží na verzi druhého uzlu a podporovaném typu kanálu. Stejný název funkce v různých peněženkách ještě neznamená stejné možnosti ani vzájemnou kompatibilitu. [4]

Splicing stále vytváří bitcoinovou transakci, takže se platí on-chain poplatek a řeší její potvrzení i případná reorganizace. Eclair například nabízí rbfsplice pro zvýšení sazby u nepotvrzeného splice. Je třeba respektovat rezervy kanálu, požadavky na potvrzené vstupy, meze příspěvků a opakovaných RBF pokusů i stav záloh. Zvláštní režim option_zeroconf mění předpoklady důvěry a protokol při něm RBF zakazuje. [1] [5]

Když vybraný splice dosáhne přijatelné hloubky a obě strany vymění splice_locked pro stejný txid, mohou přestat udržovat staré a neúspěšné varianty. Změní se funding outpoint, tedy odkaz na konkrétní výstup transakce; kapacita se mění podle součtu příspěvků. U veřejného kanálu se změní i short_channel_id odvozený z potvrzené transakce a strany mohou připravit nové announcement_signatures. [1]

Ověřte podporu obou uzlů, channel_id, znaménko a velikost funding_contribution_satoshis, sazbu poplatku, vstupy, výstupy, rezervy a podpisy. Sledujte txid všech RBF variant. Po dokončení porovnejte splice_locked, nový funding outpoint a u veřejného kanálu short_channel_id. Zkontrolujte také obnovený provoz HTLC a to, že vybraný výstup skutečně patří zamýšlené peněžence. [2] [1]

Pro nejúplnější obraz čtěte toto heslo společně s Payment Channel, Lightning Network, UTXO, Lightningová likvidita, Replace-by-Fee (RBF), Price Channel. Opačným směrem na něj odkazují také Lightningová likvidita.

01Je Splicing totéž jako zavření a otevření kanálu?

Ne. I Splicing vytvoří bitcoinovou transakci, ale strany společně převedou existující kanál na nový financující výstup. Při běžném zavření starý kanál skončí a další otevření vytvoří samostatný kanál.

02Lze prostředky přidávat i vybírat?

Ano. Kladný příspěvek je splice-in, záporný splice-out. Obě strany musí změnu přijmout a transakce musí respektovat zůstatky, pravidla rezerv a poplatky. Výslednou kapacitu určuje součet příspěvků obou stran.

DOC · 001BOLT 2 — Channel SplicingSpecifikace DOC · 002BOLT 2 — Splicing Test VectorsSpecifikace DOC · 003BOLT 9 — Assigned Feature FlagsSpecifikace DOC · 004Core Lightning v26.04 release notesPrimární zdroj DOC · 005Eclair API — Splice-in, Splice-out and RBF SpliceDokumentace
Revidováno: Primární zdroje · Nejde o investiční doporučení