Fork
Un fork inizia con la creazione di due blocchi alla stessa altezza (block height). Questo può avvenire spontaneamente quando due diversi miner scoprono un blocco quasi all’unisono. In quel caso, il blocco ritenuto valido dalla rete è quello trasmesso prima al resto del network, poiché gli altri miners inizieranno a costruire altri blocchi sopra a quello. Da questo punto di vista, le mining pool più grandi sono avvantaggiate rispetto ai miners minori, perché trasmettono più velocemente l’informazione agli altri. Il blocco invalido è invece orfanato e dimenticato da tutta la rete. Questo genere di fork è piuttosto comune e non desta particolare attenzione, ma la prassi degli utenti bitcoin di attendere più di una conferma per transazione deriva proprio da questo meccanismo: un hacker infatti potrebbe tentare di fare double spending se la transazione è stata approvata in un blocco orfanato, ma il merchant destinatario dei bitcoin ha già ceduto il bene acquistato dall’hacker attendendo non più di una conferma.
In altri casi, un fork può essere esito di una modifica intenzionale del protocollo ed è sinonimo di upgrade: la blockchain cambia regole e i blocchi proseguono su un tracciato alternativo rispetto a quello che i blocchi costruirebbero se minati mediante le vecchie regole.
Anche la creazione di una nuova moneta può avvenire mediante fork, qualora non tutta la community segua il nuovo protocollo proposto. In tal caso, il fork produce uno split permanente della blockchain, una rimarrà la blockchain Bitcoin, l’altra di una moneta alternativa, come ad esempio Bitcoin Cash.
In altri casi, si è verificato uno split non intenzionale della rete, per via di una modifica al protocollo che, inaspettatamente, non era retrocompatibile. È il caso dell’hard fork dell’11 marzo 2013,
Un fork è classificato come soft fork o hard fork in base all’impatto che ha sui wallet e nodi della rete. Generalmente, un hard fork richiede ai wallet più diffusi della rete di fare un upgrade del software, mentre un soft fork è – almeno parzialmente – retro-compatibile con questi client. In realtà, la distinzione è molto sottile
Si parla anche di User Activated Soft Fork (UASF) come ad esempio il fork proposto BIP148 e Miner Activated Soft Fork (MASF) come ad esempio BIP144.
Nessun commento:
Posta un commento