⚡ Lightning Network ⚡
Scalare Bitcoin mantenendo la decentralizzazione
Alekos Filini - @afilini
Bitcoin Dev Kit
Introduction
Lavoro su bitcoin dal 2017
Precedentemente a BHB Network e Blockstream
Dal 2020 maintainer di BDK (Bitcoin Dev Kit)
Libreria open source in Rust per creare wallet bitcoin
Grant annuale da Brink
"Decentralizzazione"
Permissionless
Nessun single point of failure
Zero fiducia
Zero censura
Per garantire la decentralizzazione, il protocollo deve essere accessibile a tutti
"Scaling"
Bitcoin attualmente può confermare ~3 tx/s
Chiaramente insufficiente per un utilizzo "di massa"
Ingrandire i blocchi rende più difficile validare
e sostanzialmente non risolve il problema
More
with
Less
È possibile ottenere
Più trasferimenti bitcoin
Meno transazioni Bitcoin
Si
Esempio: Coinbase
È possibile ottenere
Più trasferimenti bitcoin
Meno transazioni Bitcoin
... mantenedo custodia dei propri BTC
... in modo trustless
Si
Con i payment channels
Payment Channels
Due parti collaborano e bloccano fondi
on-chain
Le transazioni che rappresentano in ogni momento lo stato del canale vengono tenute
off-chain
Il canale può essere
chiuso
in qualunque momento
Pubblicando l'
ultimo stato
Canali Monodirezionali
Alice blocca dei fondi in un
2-of-2
con Bob
Canali Monodirezionali
Ad ogni pagamento verso Bob spende dal
2-of-2
e crea due output
Uno verso sé stessa
Uno verso Bob
Firma la transazione e la passa a Bob
Canali Monodirezionali
Bob può chiudere il canale in qualunque momento aggiungendo la propria firma
È incentivato economicamente a pubblicare l'ultimo stato
Canali Bidirezionali
Alice e/o Bob bloccano fondi in un
2-of-2
Preparano una transazione con i due output e un
timelock nel futuro
Si scambiano le firme
Canali Bidirezionali
Ad ogni pagamento viene aggiornato il valore dei due output e
ridotto il timelock
L'ultimo stato può essere confermato prima dei precedenti
Il canale va chiuso quando la blockchain raggiunge l'ultimo timelock
Punishment-Based Enforcement
Gli output di Alice e Bob contengono in aggiunta una
revocation key
Scambiata ad ogni aggiornamento di stato
Sono reedemable da Alice o Bob dopo alcuni blocchi
Punishment-Based Enforcement
Incentivo a pubblicare l'ultimo stato
Se Bob provasse a pubblicare uno stato revocato
Alice potrebbe spendere entrambi gli output
Il proprio con la propria key
Quello di Bob con la revocation key
HTLC - Hash Time Locked Contract
Condizione di spesa che può essere soddisfatta da una firma in aggiunta a
Mostrare la preimage di un hash
Oppure aspettare un timelock
Routing
Una parte del balance di un canale può essere allocato per il routing di pagamenti
Catene di HTLC dal payer al payee
Se il pagamento ha successo viene risolto con la preimage
Altrimenti può andare in timeout
Routing
Quando la catena raggiunge il payee, lui mostra la preimage
A catena tutti i pagamenti vengono risolti
⚡ Lightning Network ⚡
Scalare Bitcoin mantenendo la decentralizzazione
Alekos Filini - @afilini
Bitcoin Dev Kit
Made with Slides.com