⚡ Lightning Network ⚡
Scalare Bitcoin mantenendo la decentralizzazione
Alekos Filini - @afilini
Blockstream
"Decentralizzazione"
- Permissionless
- Nessun single point of failure
- Zero fiducia
- Zero censura
- È necessario poter validare indipendetemente
"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
Blockstream
Lightning Network
By Alekos Filini
Lightning Network
- 553