Sidechain e canali di pagamento spiegati
Basics
In informatica, scalabilità si riferisce alla capacità di un sistema di adattarsi a una domanda crescente. Per migliorare le prestazioni di una macchina, è possibile aggiornare l'hardware. Tuttavia, nelle blockchain, la scalabilità riguarda la capacità di gestire più transazioni. Bitcoin ha molti punti di forza, ma la scalabilità non è uno di questi. Se Bitcoin fosse eseguito in un database centralizzato, aumentare velocità e throughput sarebbe relativamente semplice. Tuttavia, a causa delle sue proposte di valore, come la resistenza alla censura, molti partecipanti devono sincronizzare una copia della blockchain.
The Blockchain Scalability Problem
Eseguire un nodo Bitcoin è accessibile, e anche dispositivi basilari possono farlo. Ma, con migliaia di nodi che devono rimanere sincronizzati, esistono limiti di capacità. Le transazioni on-chain hanno limiti imposti per impedire che il database cresca troppo velocemente. Se cresce troppo in fretta, i nodi avranno difficoltà a stare al passo. Inoltre, blocchi troppo grandi non possono essere rilanciati rapidamente attraverso la rete.
Questo crea un collo di bottiglia, dove una rete sommersa da transazioni in attesa costringerà gli utenti a pagare commissioni più alte per garantire l'elaborazione tempestiva. Una soluzione possibile sarebbe aumentare la dimensione dei blocchi o dei carrelli, il che potrebbe migliorare il throughput e ridurre i costi dei ticket. Tuttavia, non c'è garanzia che la capacità aumentata non si riempia di nuovo.
Il creatore di Ethereum, Vitalik Buterin, ha introdotto il Trilemma della Scalabilità, che descrive la sfida affrontata dalle blockchain. Sostiene che i protocolli devono bilanciare scalabilità, sicurezza e decentralizzazione, che a volte possono entrare in conflitto tra loro. Di conseguenza, molti ritengono che la scalabilità debba essere raggiunta off-chain, mentre sicurezza e decentralizzazione dovrebbero essere massimizzate sulla blockchain stessa.
Off-Chain Scaling Solutions
Esistono soluzioni di scaling che permettono alle transazioni di essere elaborate senza aumentare il carico sulla blockchain. Queste soluzioni, note come metodi di scaling off-chain, sono rese possibili da protocolli che si collegano alla chain, consentendo agli utenti di inviare e ricevere fondi senza che le loro transazioni siano registrate sulla chain principale. Due soluzioni degne di nota sono i canali di pagamento e le sidechain.
Sidechains
Le sidechain sono blockchain alternative collegate in qualche modo alla chain principale. Queste blockchain sono interoperabili, il che significa che gli asset possono essere trasferiti liberamente tra la chain principale e la sidechain. Esistono diversi metodi per trasferire fondi, uno dei quali prevede il deposito di asset in un indirizzo speciale sulla chain principale. Questi asset non vengono trasferiti, ma bloccati nell'indirizzo e una quantità corrispondente viene emessa sulla sidechain. Un'altra opzione, sebbene più centralizzata, è inviare i fondi a un custode che scambierà il deposito con fondi sulla sidechain.
How Does It Work?
Supponiamo che il nostro conoscente, Roman, abbia cinque bitcoin che desidera scambiare con unità equivalenti su una sidechain di Bitcoin chiamata "sidecoins" usando un peg bidirezionale. La sidechain è una blockchain separata con blocchi, nodi e meccanismi di validazione diversi. Per ottenere "sidecoins", Roman invia i suoi bitcoin a un altro indirizzo, che accredita il suo indirizzo sulla sidechain con cinque sidecoins una volta ricevuti i bitcoin o i sidecoins vengono automaticamente accreditati dopo che il software rileva il pagamento.
Roman ha ora convertito le sue monete in "sidecoins", ma può invertire il processo per riconquistare i suoi bitcoin. Essere sulla sidechain significa che può transare su questa blockchain separata. Può inviare o ricevere "sidecoins" proprio come farebbe sulla chain principale. Ad esempio, può pagare Angela un sidecoin per una maglietta, quindi tornare a Bitcoin inviando i suoi quattro sidecoins rimanenti a un indirizzo designato. Dopo la conferma della transazione, quattro bitcoin vengono sbloccati e consegnati al suo indirizzo designato sulla chain principale.
Why Use Sidechain?
Angela potrebbe voler usare una sidechain per scambiare i suoi bitcoin con "sidecoins", che sono unità su una blockchain separata che utilizza un peg bidirezionale. Questo significa che gli asset possono fluire liberamente tra la chain principale e la sidechain. Mentre Bitcoin è altamente sicuro e decentralizzato, presenta compromessi, tra cui velocità di transazione più lente e commissioni più alte durante la congestione della rete.
Le sidechain, invece, possono essere personalizzate con diversi meccanismi di consenso, parametri e funzionalità, rendendole più flessibili e adattabili a casi d'uso specifici. Inoltre, le sidechain possono essere usate per sperimentare senza influire sulla chain principale. Angela può effettuare centinaia di transazioni sulla sidechain e poi uscire verso la chain principale con solo due transazioni registrate. Le sidechain potrebbero giocare un ruolo cruciale nella scalabilità e nel miglioramento della tecnologia blockchain.
Payment Channels
I canali di pagamento sono una soluzione di scaling valida e hanno uno scopo simile alle sidechain. Tuttavia, differiscono significativamente nel loro funzionamento. I canali di pagamento non richiedono una blockchain separata e operano su uno smart contract. Utilizzando un accordo applicato da software, due partecipanti possono transare senza pubblicare le loro operazioni sulla blockchain. Questo previene il gonfiamento della blockchain, proprio come nel caso delle sidechain.
How Does It Work?
Roman e Angela potrebbero usare i canali di pagamento per effettuare transazioni senza pubblicarle sulla blockchain, proprio come nel popolare modello del Lightning Network. Per farlo, depositerebbero monete in un indirizzo multi-signature di cui sono comproprietari, che richiede entrambe le loro firme per spendere i fondi. Potrebbero aggiornare il loro bilancio ad ogni transazione, senza pubblicare nulla sulla blockchain, fino a quando decidono di riallocare i saldi. A quel punto, creerebbero una transazione che invia i saldi ai loro indirizzi, la firmerebbero e la trasmetterebbero alla blockchain. Tutte le altre transazioni sono gratuite e quasi istantanee perché avvengono off-chain. Sebbene questo metodo richieda cooperazione, si possono usare meccanismi speciali per punire i tentativi di frode, così estranei possono interagire in sicurezza senza fiducia reciproca.
Payment Routing
I canali di pagamento sono utili per parti che prevedono un numero significativo di transazioni, ma possono essere ancora più vantaggiosi quando viene stabilita una rete di canali. Questo significa che Angela può effettuare pagamenti a parti con cui non è direttamente connessa. Ad esempio, se Roman ha un canale con Sarah, Angela può pagare Sarah finché c'è sufficiente capacità. Lei trasferirebbe fondi alla parte di Roman nel canale, e lui li trasferirebbe alla parte di Sarah. Se Sarah è connessa a un altro utente, John, si potrebbe seguire lo stesso processo.
Questo tipo di rete crea una topologia distribuita in cui ognuno è connesso a più peer. Possono esserci diverse rotte per raggiungere una destinazione, e gli utenti possono scegliere quella più efficiente.
Conclusion
Per evitare di sovraccaricare la blockchain sottostante, esistono due approcci per la scalabilità: sidechain e canali di pagamento. Sebbene siano ancora in sviluppo, un numero crescente di utenti le utilizza per aggirare i limiti delle transazioni al livello base. La decentralizzazione è fondamentale per la crescita della rete, e la crescita della blockchain deve essere limitata affinché nuovi nodi possano unirsi facilmente. I sostenitori delle soluzioni di scalabilità off-chain ritengono che in futuro la chain principale sarà utilizzata principalmente per transazioni ad alto valore o per il peg in/out dalle sidechain e per l'apertura/chiusura dei canali.