criptovalute

Cosa sono le fork nel mondo delle criptovalute?

I fork, o la loro minaccia, sembrano essere una caratteristica consolidata del panorama delle criptovalute. Ma cosa sono? Perchè sono così importanti? E qual è la differenza tra una forcella dura e una forcella morbida?

Un «fork», in termini di programmazione, è una modifica del codice open source. In genere, il codice fork è simile all’originale. Ma con importanti modifiche, ei due «denti» convivono comodamente. A volte viene utilizzato un fork per testare un processo. Ma con le criptovalute, è più spesso utilizzato per implementare un cambiamento fondamentale o per creare un nuovo asset con caratteristiche simili (ma non uguali) all’originale.

Non tutte le forcelle sono intenzionali. Con una base open source ampiamente distribuita. Un tornante può verificarsi accidentalmente quando non tutti i nodi replicano le stesse informazioni. Questi fork vengono in genere identificati e risolti. Tuttavia, e la maggior parte dei fork di criptovaluta sono dovuti a disaccordi sulle funzionalità incorporate.

Una cosa da tenere a mente con le forcelle è che hanno una «storia condivisa». Il registro delle transazioni su ciascuna delle catene (vecchio e nuovo) è identico prima della divisione.

Forchette dure

Esistono due tipi principali di forcella di programmazione: hard e soft. Un hard fork è una modifica a un protocollo che invalida le versioni precedenti. Se le versioni precedenti continuano a essere eseguite, finiranno con un protocollo e dati diversi rispetto alla versione più recente. Ciò può portare a una notevole confusione ea possibili errori.

Con Bitcoin sarebbe necessario un hard fork per modificare i parametri di definizione come la dimensione del blocco, la difficoltà del puzzle crittografico da risolvere. limiti alle informazioni aggiuntive che possono essere aggiunte, ecc. Un cambiamento in una di queste regole fa sì che i blocchi vengano accettati dal nuovo protocollo ma rifiutati dalle versioni precedenti e potrebbe causare seri problemi. Forse anche una perdita di fondi.

Ad esempio, se il limite della dimensione del blocco è stato aumentato da 1 MB a 4 MB. I nodi che eseguono la nuova versione accetterebbero un blocco di 2 MB, ma i nodi che eseguono la versione precedente lo rifiuterebbero.

Forchette dure in pratica

Diciamo che questo blocco da 2 MB è convalidato da un nodo aggiornato aggiunto alla blockchain. Cosa succede se il blocco successivo viene convalidato da un nodo che esegue una versione precedente del protocollo? Cercherà di aggiungere il tuo blocco alla blockchain. Ma rileverà che l’ultimo blocco non è valido. Quindi ignorerà quel blocco e allegherà la sua nuova convalida a quella vecchia. All’improvviso, hai due blockchain, uno con blocchi di versioni precedenti e più recenti e uno con blocchi di versioni precedenti. La catena che cresce più velocemente dipenderà da quali nodi riceveranno la convalida dei blocchi successivi e potrebbero finire per essere suddivisioni aggiuntive. È possibile che le due (o più) catene crescano in parallelo indefinitamente.

È una forchetta difficile e potenzialmente disordinata. È anche rischioso. Poiché è possibile che i bitcoin spesi su un nuovo blocco possano essere ridistribuiti su un vecchio blocco. Poiché commercianti, portafogli e utenti che eseguono il vecchio codice non rileverebbero la spesa per il nuovo codice, che considerano non valido.

L’unica soluzione è abbandonare un ramo a favore dell’altro. Ciò significa che alcuni minatori perdono le transazioni stesse. Oppure, tutti i nodi dovrebbero passare alla versione più recente contemporaneamente. Cosa difficile da ottenere in un sistema decentralizzato e ampiamente diffuso.

Forchetta morbida

Un soft fork può ancora funzionare con le versioni precedenti. Se, ad esempio, un protocollo viene modificato in modo da restringere le regole, implementare un cambiamento estetico o aggiungere una funzione che non influisce in alcun modo sulla struttura, i nuovi blocchi di versione verranno accettati dai nodi delle versioni precedenti. Tuttavia, non il contrario: la versione più recente e «più stretta» rifiuterebbe i blocchi della vecchia versione.

Nei bitcoin, idealmente i minatori della vecchia versione si renderebbero conto che i loro blocchi sono stati rifiutati e verrebbero aggiornati. Man mano che i miner aumentano, la catena con blocchi prevalentemente nuovi diventa la più lunga, il che renderebbe orfani i blocchi delle versioni precedenti, il che porterebbe a più minatori da aggiornare e il sistema si correggerà automaticamente. Poiché i nodi vecchi e aggiornati accettano i nuovi blocchi di versione, i nuovi blocchi di versione alla fine vincono.

Forchette morbide nel mondo reale

Ad esempio, supponiamo che la comunità abbia deciso di ridurre la dimensione del blocco a 0,5 MB dal limite attuale di 1 MB. I nodi della nuova versione rifiuterebbero blocchi da 1 MB e si baserebbero sul vecchio blocco (se estratto con una versione aggiornata del codice), causando un fork temporaneo.

Questa è una forchetta morbida, ed è già successo diverse volte. Inizialmente, Bitcoin non aveva un limite di dimensione del blocco. L’introduzione del limite di 1 MB è stata effettuata tramite un soft fork, in quanto la nuova regola era «più severa» di quella precedente. Anche la funzione pay-to-script-hash, che migliora il codice senza modificarne la struttura, è stata aggiunta con successo tramite un soft fork. In genere, questo tipo di emendamento richiede l’aggiornamento della maggior parte dei minatori, rendendolo più fattibile e meno dirompente.

I soft fork non comportano il rischio di una doppia spesa che influisce sugli hard fork, poiché i commercianti e gli utenti che eseguono vecchi nodi leggeranno sia i blocchi di versioni precedenti che quelli nuovi.

Post correlati

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba