Investor's wiki

Frammentazione

Frammentazione

Che cos'è lo sharding?

Lo sharding è una tecnica di partizionamento del database utilizzata dalle società blockchain con lo scopo della scalabilità, consentendo loro di elaborare più transazioni al secondo. Lo sharding divide l'intera rete di un'azienda blockchain in partizioni più piccole, note come "shard". Ogni shard è composto dai propri dati, il che lo rende distintivo e indipendente rispetto ad altri shard.

Lo sharding può aiutare a ridurre la latenza o la lentezza di una rete poiché divide una rete blockchain in frammenti separati. Tuttavia, ci sono alcuni problemi di sicurezza relativi allo sharding in cui gli shard possono essere attaccati.

Capire lo sharding

Le reti blockchain e le rispettive criptovalute stanno guadagnando popolarità grazie all'applicazione diffusa della tecnologia, che include la gestione della catena di approvvigionamento e le transazioni finanziarie. Con la crescita della popolarità della blockchain, crescono anche il carico di lavoro e il volume delle transazioni gestiti dalla rete. Se pensiamo a una blockchain come a un database condiviso, man mano che vengono aggiunti sempre più dati, la rete deve trovare nuovi modi per essere in grado di elaborare tutti quei dati in modo efficiente e rapido, ed è qui che lo sharding può aiutare.

Registro distribuito

Il registro distribuito della tecnologia blockchain lo rende interessante poiché consente di condividere consensualmente le transazioni su più siti e aree geografiche. Man mano che le transazioni vengono registrate, le copie vengono inviate alla rete condivisa in pochi secondi creando "testimoni" pubblici. Se una parte della rete è vittima di una frode o di un attacco dannoso, i partecipanti alla rete condivisa possono identificare cosa è stato modificato dai truffatori poiché conservano tutti una copia delle transazioni del libro mastro. Di conseguenza, la tecnologia blockchain e il suo sistema di contabilità distribuita possono aiutare a ridurre le frodi e limitare i danni causati dagli attacchi informatici,. come un hack.

Scalabilità

Tuttavia, una delle principali sfide con la tecnologia blockchain è che quando vengono aggiunti ulteriori computer alla rete e vengono elaborate più transazioni, la rete può impantanarsi, rallentando il processo, chiamato latenza. La latenza è un ostacolo all'adozione della blockchain per un uso diffuso, in particolare se confrontata con gli attuali sistemi di pagamento elettronico che funzionano in modo rapido ed efficiente. In altre parole, la scalabilità è una sfida per la blockchain poiché le reti potrebbero non essere in grado di gestire la maggiore quantità di dati e il flusso di transazioni poiché sempre più industrie adottano la tecnologia.

Una delle soluzioni prese in considerazione per creare una scalabilità priva di latenza è il processo di partizionamento orizzontale. Lo sharding è progettato per distribuire il carico di lavoro di una rete in partizioni, il che può aiutare a ridurre la latenza e consentire l'elaborazione di più transazioni da parte della blockchain.

Tre caratteristiche che le reti blockchain cercano di utilizzare sono decentralizzazione, scalabilità e sicurezza.

Come si ottiene lo sharding

Prima di esplorare come viene realizzato lo sharding all'interno di una rete blockchain, è importante rivedere il modo in cui i dati vengono attualmente archiviati ed elaborati.

Nodi Blockchain

Attualmente, in blockchain, ogni nodo di una rete deve elaborare o gestire tutti i volumi di transazione all'interno della rete. I nodi in una blockchain sono indipendenti e sono responsabili del mantenimento e dell'archiviazione di tutti i dati all'interno di una rete decentralizzata. In altre parole, ogni nodo deve memorizzare informazioni critiche, come i saldi dei conti e la cronologia delle transazioni. Le reti blockchain sono state stabilite in modo che ogni nodo debba elaborare tutte le operazioni, i dati e le transazioni sulla rete.

Sebbene garantisca la sicurezza di una blockchain memorizzando ogni transazione in tutti i nodi, questo modello rallenta notevolmente l'elaborazione delle transazioni. Le basse velocità per l'elaborazione delle transazioni non fanno ben sperare per un futuro in cui la blockchain diventa responsabile di milioni di transazioni.

Lo sharding può aiutare poiché partiziona o distribuisce il carico di lavoro transazionale da una rete blockchain in modo che ogni nodo non debba gestire o elaborare tutto il carico di lavoro della blockchain. In un certo senso, il partizionamento orizzontale divide in compartimenti il carico di lavoro in partizioni o shard.

Partizionamento orizzontale

Il partizionamento orizzontale può essere ottenuto tramite il partizionamento orizzontale dei database attraverso la divisione in righe. I frammenti, come vengono chiamate le righe, sono concettualizzati in base alle caratteristiche. Ad esempio, uno shard potrebbe essere responsabile della memorizzazione dello stato e della cronologia delle transazioni per un tipo specifico di indirizzo. Inoltre, potrebbe essere possibile dividere i frammenti in base al tipo di risorsa digitale in essi archiviata. Le transazioni che coinvolgono tale risorsa digitale potrebbero essere rese possibili tramite una combinazione di frammenti.

Ad esempio, considera una transazione immobiliare in affitto in cui sono coinvolti più frammenti. Questi frammenti corrispondono a diverse entità coinvolte nella transazione, dai nomi dei clienti alle chiavi digitali configurate in una serratura intelligente che viene messa a disposizione dell'affittuario al momento del pagamento dell'affitto.

Condivisione frammenti

Ogni frammento può ancora essere condiviso tra gli altri frammenti, il che mantiene un aspetto chiave della tecnologia blockchain: il registro decentralizzato. In altre parole, il libro mastro è ancora accessibile a tutti gli utenti consentendo loro di visualizzare tutte le transazioni del libro mastro.

Sharding e sicurezza

Uno dei problemi principali nella pratica che è emersa è la sicurezza. Sebbene ogni shard sia separato ed elabori solo i propri dati, esiste un problema di sicurezza per quanto riguarda il danneggiamento degli shard, in cui uno shard prende il posto di un altro shard, con conseguente perdita di informazioni o dati.

Se pensiamo a ogni shard come alla propria rete blockchain con i suoi utenti e dati autenticati, un hacker o un attacco informatico potrebbe prendere il controllo di uno shard. L'attaccante potrebbe quindi introdurre transazioni false o un programma dannoso.

Ethereum,. una delle aziende blockchain più importanti, è in prima linea nel testare lo sharding come possibile soluzione ai problemi di latenza e scalabilità. Ethereum prevede di lanciare 64 nuove catene di frammenti dopo quella che chiama "The Merge", dove la Mainnet di Ethereum si "fonderà" con il sistema proof-of-stake di Beacon Chain. Ethereum ha combattuto il potenziale di un attacco shard assegnando casualmente nodi a determinati shard e riassegnandoli costantemente a intervalli casuali. Questo campionamento casuale renderebbe difficile agli hacker sapere quando e dove corrompere un frammento.

Inoltre, è importante notare che lo sharding è ancora nella fase iniziale di test per essere utilizzato per le reti blockchain. Di conseguenza, tutti i potenziali problemi e sfide devono ancora essere risolti.

Mette in risalto

  • I problemi di sicurezza relativi allo sharding includono un hack o un'acquisizione di shard, in cui uno shard ne attacca un altro, provocando una perdita di informazioni.

  • Lo sharding può migliorare la latenza della rete suddividendo una rete blockchain in shard separati, ciascuno con i propri dati, separati dagli altri shard.

  • Lo sharding è una tecnica di partizionamento del database presa in considerazione dalle reti blockchain e testata da Ethereum.

  • Più utenti assumono le reti blockchain, più la rete diventa lenta, portando a una latenza significativa.