Sharding
Lo sharding è un metodo per suddividere
blockchain (o altri tipi di database) in blockchain partizionate più piccole che gestiscono segmenti di dati specifici. Questa configurazione scarica lo stress di una singola chain che gestisce tutte le transazioni e le interazioni su una rete. Ogni blockchain partizionata è nota come shard e ha il suo specifico
registro.
In particolare su Ethereum, una Beacon Chain coordinerà 64 shard individuali. La chain originale di Ethereum del tipo
Proof of Work si è fusa con la Beacon chain del tipo
Proof of Stake e lo sharding arriverà in seguito.
Uno dei vantaggi dello sharding di una rete è la facilità e l'accessibilità relativa alla gestione di un
nodo. Poiché i dati della rete sono suddivisi tra gli shard, non è più necessario che i nodi validatori memorizzino l'intera storia dell'intera blockchain. Al contrario, il validatore deve solo conservare le conferme relative all'integrità dei dati.
Le reti senza sharding ricorrono spesso all'uso di rollup per migliorare la scalabilità. Questi mantengono le transazioni off-chain e le impacchettano insieme per essere convalidate sulla main chain. Sebbene lo sharding possa sembrare un diretto concorrente dei
rollup, in realtà li rende più efficienti. I rollup in una rete che utilizza lo sharding saranno in grado di segnalare il loro stato in modo più efficiente, migliorando la loro velocità.
Il problema principale dello sharding è la possibilità che eventuali attori malintenzionati prendano il controllo di uno shard. Questo shard potrebbe poi avere un impatto negativo su altre parti della rete. Senza le dovute attenzioni e regole, la possibilità di impossessarsi di uno shard è più fattibile rispetto a quella di impossessarsi di un'intera rete che non utilizza lo sharding.