inizio
inizio

Il termine «forcella» può essere tradotto come «diramazione» in francese. Questo si riferisce a qualsiasi forma di divisione della rete di nodi Bitcoin in diversi gruppi. Una forcella prende la forma della produzione di diversi blocchi alla stessa altezza. Tuttavia, questo termine viene utilizzato anche per riferirsi alle modifiche apportate alle regole del protocollo Bitcoin, cioè a livello di consenso. Possiamo quindi classificare i fork in base alla loro natura, agli obiettivi e alle finalità sulla blockchain di Bitcoin.
In questo articolo, ti spieghiamo quali sono i diversi tipi di fork su Bitcoin. In particolare, studiamo le differenze tra soft fork e hard fork.
Nel Un articolo precedente, ti ho parlato delle divisioni naturali della blockchain di Bitcoin. Queste divisioni sono una forma di biforcazione. Si verificano quando due minatori trovano blocchi diversi alla stessa altezza in un breve periodo di tempo. Alcuni nodi della rete si trovano sulla catena con il blocco A e l'altra parte sulla catena con il blocco B. Non appena viene trovato un blocco aggiuntivo, tutti i nodi vengono nuovamente sincronizzati su una singola catena. Questo è ciò che chiamiamo riorganizzazione.

Questo tipo di fork è perfettamente naturale su Bitcoin. Non è un ramo definitivo poiché la rete si riunisce nuovamente durante la riorganizzazione. Queste divisioni naturali possono ancora essere classificate come «fork», perché si verifica una diramazione temporanea nella blockchain.
Esistono varie implementazioni di nodi Bitcoin. La più utilizzata fino ad oggi è Bitcoin Core. Questo software è costituito da codice, spesso open source, consultabile liberamente online. È quindi possibile copiare il codice Bitcoin Core, modificarlo a nostro piacimento e lanciare il nostro protocollo di criptovaluta.
Nel campo della programmazione, vengono generalmente utilizzate piattaforme di sviluppo software che utilizzano Git per il controllo della versione, come ad esempio GitHub o GitLab. Su queste piattaforme, un «fork» è una copia di un repository che possiamo mettere sul nostro account per apportare modifiche senza influire sul repository originale.
.png)
Utilizziamo quindi questo termine «fork» anche per riferirci alle varie copie del codice Bitcoin utilizzate per costruire una nuova criptovaluta, a partire dal blocco Genesis. Ad esempio, la criptovaluta Litecoin è un fork del codice Bitcoin, ma non ha blocchi in comune con Bitcoin.

L'hard fork è caratterizzato anche da una modifica del codice del protocollo Bitcoin. A differenza della precedente categoria di fork, l'hard fork non parte dal blocco Genesis, ma si dirama direttamente sulla blockchain corrente. Mantiene quindi una cronologia in comune con il protocollo originale.

Ad esempio, la criptovaluta Bitcoin Cash (BCH) è un hard fork di Bitcoin. La diramazione è avvenuta al blocco n. 478.559 il 1° agosto 2017. Prima di questo blocco, la cronologia tra Bitcoin (BTC) e Bitcoin Cash (BCH) era comune.
.png)
La modifica delle regole su un hard fork produce una separazione permanente della rete di nodi in due gruppi distinti. Ci sarà il gruppo che ha implementato questa modifica e il gruppo che non l'ha fatto. Ogni gruppo avrà il suo canale indipendente, ma con una storia comune. A differenza di una forchetta morbida, L'hard fork è il risultato di una modifica del codice che non è compatibile con le versioni precedenti. Affinché questa separazione avvenga, il nuovo codice aggiunto deve quindi rimuovere alcune delle regole esistenti o rendere le regole del protocollo meno restrittive.
Ad esempio, se apporto una modifica al codice per aumentare la dimensione dei blocchi Bitcoin da 1 MB a 8 MB, allora sto rendendo le regole del protocollo meno restrittive. Quindi sto facendo un hard fork. In effetti, i nodi che si trovano sul protocollo originale con un limite di 1 MB non accetteranno i miei blocchi da 8 MB poiché superano le regole specificate. I nodi che mi seguiranno nella mia modifica si separeranno quindi dalla rete originale.
In breve, un hard fork è semplicemente l'azione di modificare il protocollo Bitcoin in modo tale che diventi un «Bitcoin bis». Se questo Bitcoin bis incontra un consenso, viene considerato il sostituto del Bitcoin originale. D'altra parte, se Bitcoin bis viene utilizzato solo ai margini, diventa solo un altcoin indipendente dal Bitcoin originale.
Il soft fork è caratterizzato anche da una modifica del codice del protocollo Bitcoin. Ma a differenza dell'hard fork, questa modifica è retrocompatibile. Significa che Il soft fork aggiungerà essenzialmente nuove regole o renderà le regole attuali più restrittive.. Questo meccanismo di modifica consente di non produrre una separazione a livello dei nodi Bitcoin.

Ad esempio, se decidi di ridurre la dimensione massima dei blocchi su Bitcoin, da 1.000 KB a soli 500 KB, stai rendendo le regole più restrittive. I nodi aggiornati accetteranno solo blocchi inferiori a 500 KB. Quando un vecchio nodo, che non è stato aggiornato, riceve un blocco da 500 KB da un nodo aggiornato, lo accetta. Infatti, se il vecchio nodo accetta un blocco fino a 1.000 KB, i nuovi blocchi di 500 KB rientrano necessariamente in questa regola. Tutti i nodi che non sono stati aggiornati potranno rimanere sincronizzati con la rete Bitcoin, poiché le nuove regole sono più restrittive. Quindi è davvero un soft fork.

Tuttavia, esiste un caso specifico in cui il soft fork può causare una diramazione nella blockchain. Infatti, se i minori che non hanno aggiornato il proprio client dispongono di più del 50% della potenza di calcolo della rete, i vecchi nodi seguiranno una catena che non sarà accettata dai nodi aggiornati. Ci sarà quindi un ramo che potrà persistere fintanto che la catena con le vecchie regole avrà più lavoro accumulato rispetto alla catena con le nuove regole.

Ecco perché, in un sano processo di sviluppo, ai minatori viene chiesto di decidere se accettare il soft fork prima di applicarlo. In questo modo, possiamo assicurarci che la maggior parte di essi sia pronta per il mining sulla catena attuale per evitare che si ramifichino durante un soft fork.
➤ Scopri di più sul mining di Bitcoin e sul proof of work.
A differenza della maggior parte delle altcoin, nel processo di sviluppo di Bitcoin, preferiamo in gran parte utilizzare i soft fork quando vogliamo apportare modifiche al consenso. Ciò consente ai vecchi nodi di essere sempre in grado di rimanere sincronizzati con i nodi aggiornati. In questo modo non perderai nessuno lungo la strada.
Pertanto, numerosi soft fork sono già stati realizzati in passato. Tra i più noti, c'era SegWit, attivato nel 2017, o Taproot, che risale al 2021. Oltre agli hard fork intenzionali come Bitcoin Cash, nel processo di sviluppo abbiamo riscontrato anche alcuni hard fork. Questi sono arrivati per caso o per correggere rapidamente i bug principali.
Tecnicamente, è possibile adattare quasi tutte le modifiche del protocollo per farlo passare sotto forma di soft fork. L'aggiornamento SegWit è stato l'esempio perfetto, in quanto ha consentito di aumentare le dimensioni dei blocchi di Bitcoin senza produrre hard fork.
➤ Scopri chi ha il controllo degli aggiornamenti del protocollo Bitcoin.
Come puoi vedere, il termine «fork» si riferisce a molti concetti diversi su Bitcoin. Viene utilizzato per designare una separazione della rete o per designare una modifica delle regole del protocollo, o entrambe contemporaneamente.
📌 Riassumendo, ci sono quattro tipi principali di fork su Bitcoin:
La differenza fondamentale tra un hard fork e un soft fork è che il primo rimuove le regole o allenta quelle esistenti, mentre il secondo aggiunge regole o rende quelle esistenti più restrittive. L'hard fork infrange le regole del consenso, mentre il soft fork non infrange nulla. La conseguenza di ciò è che l'hard fork produce una divisione permanente della rete. Il soft fork, invece, mantiene l'unità della rete di nodi Bitcoin, a condizione che i miner aggiornati dispongano di oltre il 50% della potenza di calcolo della rete.

