L'aggiornamento di SegWit di Bitcoin è stato controverso, ma ha apportato importanti cambiamenti alla criptovaluta più popolare al mondo.
La scalabilità di Bitcoin è un problema in corso per la crittografia più popolare al mondo e uno che gli sviluppatori di Bitcoin hanno faticato a risolvere. Una soluzione introdotta è stata il soft fork SegWit, che ha alterato il numero di transazioni Bitcoin che potevano essere elaborate contemporaneamente.
Sebbene l'aumento del numero di transazioni per blocco Bitcoin sembri una vittoria infallibile, anche SegWit ha avuto problemi.
Come funzionano le transazioni Bitcoin?
Le transazioni Bitcoin utilizzano il modello UTXO (Unspent Transaction Output), in cui ogni transazione spende il l'output della transazione precedente sulla blockchain e genera un nuovo output che può essere speso in seguito transazione.
In base alla progettazione, non possiedi un token Bitcoin. Possiedi invece l'output non speso di un determinato numero di transazioni precedenti. È possibile dimostrare la proprietà di questo output tramite l'indirizzo, la chiave digitale e la firma digitale richiesti.
Supponiamo che tu voglia inviare bitcoin al tuo migliore amico. Per prima cosa utilizzerai una chiave privata per firmare un messaggio contenente l'input, l'output e l'importo. La transazione viene trasmessa all'intera rete Bitcoin e tutti gli utenti possono vederla.
Quando un nodo riceve la transazione, controlla se:
- La tua chiave privata corrisponde alla chiave pubblica che ritieni di possedere
- La somma degli input è maggiore della somma dei suoi output
- L'output non è speso.
Se la transazione soddisfa queste tre regole, viene verificata e passata ad altri nodi, che ripetono il processo di verifica. Questo processo comporta complessi enigmi matematici, che i minatori con il più alto tasso di hash crittografico avere le migliori possibilità di risolvere per primo.
I nodi minatori competono per risolvere i puzzle e, in caso di successo, estraggono il modello di blocco in un blocco immutabile nella blockchain. Il blocco viene trasmesso all'intera rete ed è chiaro che il tuo migliore amico possiede il nuovo output non speso.
Qual è il difetto di malleabilità della transazione?
Scalabilità e velocità non sono gli unici problemi che affliggono la blockchain di bitcoin. Sfortunatamente, c'è anche il "transaction malleability difetto", un difetto che consente l'alterazione della firma digitale di una transazione prima che sia confermata sulla blockchain.
Questa modifica viene effettuata in modo tale che la transazione mantenga la sua logica matematica ma produca un risultato diverso quando viene eseguita attraverso un algoritmo di hashing.
Prendi, ad esempio, il valore della firma della tua transazione con il tuo migliore amico, che era (5). Se viene modificato in (5-10+10), il valore matematico è ancora 5, ma se eseguiamo l'hashing di queste diverse versioni, otteniamo risultati diversi.
Poiché l'hash è il modo in cui la transazione viene identificata nella blockchain, questa modifica causa alcuni problemi.
- I malintenzionati possono creare una seconda transazione in conflitto prima che la prima venga confermata, causando confusione, ritardo e congestione nella rete.
- Rende problematico per gli sviluppatori di blockchain creare soluzioni di secondo livello intese a migliorare la velocità e la scalabilità della rete principale.
Quindi questo è un difetto con il potenziale per rendere la contabilità blockchain un incubo e sono state implementate diverse soluzioni per risolverlo. Ed è qui che entra in gioco il bitcoin SegWit.
Che cos'è Bitcoin SegWit?
Segregated Witness (SegWit) è un aggiornamento del protocollo blockchain Bitcoin sviluppato principalmente per proteggere dalla malleabilità delle transazioni.
SegWit è stato proposto per la prima volta nel 2015 come a fork della blockchain per migliorare la scalabilità. SegWit realizzerebbe ciò separando le firme digitali dai dati delle transazioni, consentendo di archiviare più transazioni in un singolo blocco e riducendo il tempo necessario per elaborare un singolo blocco.
Il soft fork SegWit è stato finalmente implementato nel 2017, introducendo molti miglioramenti alla blockchain Bitcoin, oltre a risolvere il difetto di malleabilità e migliorare l'efficienza delle transazioni.
Cos'è SegWit2x?
Prima dell'implementazione di SegWit, c'è stata una piccola rissa nella comunità Bitcoin a causa di una proposta di aggiornamento dell'hard fork mirava ad aumentare il limite della dimensione del blocco da 1 MB a 2 MB per migliorare la velocità di elaborazione delle transazioni, da cui il termine "SegWit2x."
Sebbene molte parti interessate abbiano sostenuto l'idea, sono sorti disaccordi all'interno della comunità e la mancanza di consenso ha portato a una divisione. La fazione separatista ha formato Bitcoin Cash (BCH), mentre il gruppo principale ha continuato a implementare SegWit.
Come funziona Bitcoin SegWit?
SegWit funziona separando alcuni dati dal blocco, rendendolo non disponibile per le modifiche. Questa separazione crea due sezioni. La prima sezione del blocco contiene gli indirizzi del portafoglio del mittente e del destinatario, mentre la seconda sezione contiene le firme digitali, note anche come "dati testimoni".
Poiché i dati testimone sono separati dal blocco principale, viene liberato più spazio nel blocco per la registrazione di più dati di transazione. Questo, a sua volta, aumenta la capacità del blocco e influisce direttamente sulle prestazioni della rete Bitcoin, migliorando notevolmente la scalabilità.
D'altra parte, i dati segregati, ovvero la firma digitale, vengono crittografati e archiviati su una sidechain. Questo ulteriore livello di sicurezza oltre alla separazione dalla rete principale rende impossibile modificare la firma digitale della transazione, risolvendo così il difetto di malleabilità.
Vantaggi di Bitcoin SegWit
SegWit offre diversi vantaggi alla rete Bitcoin.
- Risolve la malleabilità delle transazioni: Come accennato in precedenza, SegWit corregge il difetto di malleabilità della transazione che ha causato molta confusione e congestione nella blockchain bitcoin. Ciò ha consentito transazioni più affidabili e sicure.
- Sicurezza migliorata: Risolvendo la malleabilità delle transazioni, SegWit ha reso la rete bitcoin più sicura e meno vulnerabile agli attacchi. Ha inoltre semplificato l'implementazione di nuove funzionalità di sicurezza in futuro.
- Scalabilità migliorata: La scalabilità è l'aumento delle prestazioni di un sistema. Questo è quello che è successo a Bitcoin dopo il soft fork di SegWit. Più transazioni potrebbero essere incluse nei blocchi a causa dello spazio liberato, offrendo costi di transazione ridotti e tempi di conferma delle transazioni più rapidi.
- Commissioni di transazione inferiori: poiché più transazioni potevano essere inserite in un blocco Bitcoin, la competizione per lo spazio del blocco si è ridotta, il che a sua volta ha abbassato le commissioni di transazione. Ciò è stato particolarmente vantaggioso per le piccole transazioni.
- Compatibilità migliorata: In virtù del fatto di essere un soft fork, SegWit ha consentito l'estensibilità della blockchain aprendo anche la porta per futuri aggiornamenti (come l'aggiornamento Taproot) alla rete Bitcoin. Questa flessibilità fornisce alla blockchain la capacità di implementare nuove funzionalità e miglioramenti.
- Creazione ispirata di Lightning Network (LN): Quando SegWit ha migliorato la scalabilità, il suo codice ha ispirato lo sviluppo di una soluzione Layer-2: la rete dei fulmini. Il codice di LN consente la creazione di un canale di pagamento off-chain tra due parti coinvolte nella transazione, migliorando la velocità della rete principale e riducendo il costo della transazione.
SegWit è stato un aggiornamento cruciale per la rete Bitcoin perché offriva soluzioni che ne miglioravano le prestazioni e miglioravano l'esperienza per gli utenti bitcoin. Tuttavia, non è arrivato senza la sua giusta dose di nuove sfide.
Svantaggi di SegWit
Il soft fork SegWit ha introdotto un paio di potenziali svantaggi.
Ad esempio, mentre molti exchange e wallet hanno adottato SegWit, non tutti i nodi supportano il nuovo protocollo. Inoltre, poiché SegWit riduce le commissioni di transazione richiedendo al tempo stesso il supporto per la sidechain dei dati di testimonianza, i minatori orientati al profitto non lo apprezzano e possono essere riluttanti ad applicarlo.
Inoltre, a causa delle dimensioni della rete Bitcoin, SegWit non è sufficiente per affrontare il suo problema di scalabilità. È necessario un aggiustamento significativo della blockchain per ridurne le dimensioni e aumentare la scalabilità a un livello simile alle blockchain alternative.
Anche se SegWit presenta questi inconvenienti, è chiaro che i vantaggi in termini di sicurezza e scalabilità superano di gran lunga i problemi.
Bitcoin SegWit è stata una buona idea?
SegWit ha impedito a un difetto di causare così tanto ritardo nella blockchain di Bitcoin in un momento in cui la sua adozione stava guadagnando terreno. In effetti, ci è voluto molto tempo prima che lo sviluppo venisse implementato. Mentre alcuni minatori hanno avuto un impatto negativo sui loro portafogli, il soft fork ha migliorato la sicurezza e l'affidabilità della blockchain, con un impatto positivo sulla rete Bitcoin.