splicing

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

Lo splicing è una funzionalità avanzata introdotta su Lightning Network, per superare una delle inziali limitazioni nella modifica della liquidità dei canale Lightning.

Senza lo splicing, se una delle parti volesse aggiungere o prelevare fondi, dovrebbe chiudere il canale di pagamento attuale e aprirne uno nuovo, il che potrebbe essere inefficiente e costoso a causa delle commissioni di transazione di Bitcoin.

Lo splicing consente di modificare la liquidità di un canale senza la necessità di chiuderlo, migliorando l'esperienza utente e aiutando i nodi di instradamento a riallocare la liquidità in modo più efficiente.

Esistono due tipi di splicing:

  • Splice-in che significa aggiungere fondi a un canale. Per farlo, i partecipanti creano congiuntamente una nuova transazione che spende l’output della Funding Transaction originale e aggiunge ulteriori fondi. Questa nuova transazione diventa la nuova Funding Transaction per il canale e la capacità del canale viene aumentata di conseguenza

  • Splice-out che consente di ritirare fondi da un canale. I partecipanti creano una nuova transazione che spende l’output della Funding Transaction originale e invia parte dei fondi a un altro indirizzo on-chain (ritirandoli di fatto dal canale). I fondi rimanenti diventano la nuova Funding Transaction per il canale e la capacità del canale viene ridotta di conseguenza.

L’operazione di splicing richiede una transazione on-chain, ma non è necessario che il canale venga chiuso e riaperto, e la cronologia delle transazioni off-chain del canale viene preservata.

Lo splicing funziona firmando una nuova transazione multi-firma 2-su-2 per bloccare i fondi per il canale Lightning.

Lo splicing è stato proposto da Dusty Daemon, uno sviluppatore principale di Lightning, nel 2021 e modifica i BOLT 2, 7 e 9. Dusty ha effettuato uno splice sulla mainnet e diverse implementazioni del protocollo Lightning stanno lavorando allo splicing. Lo splicing ha il potenziale per aumentare la privacy di Bitcoin, poiché la transazione di splice può essere utilizzata come coinjoin.

Lo splicing è diverso dai submarine swap (come quelli implementati da Lightning Loop), in cui i fondi vengono trasferiti tra gli utenti in cambio di transazioni onchain: nei submarine swap, il saldo complessivo del canale rimane lo stesso; nello splicing, il saldo complessivo del canale cambia.


aggiornato il 2023-07-13