Lo sharding è una tecnica informatica che cerca di dividere un database o una rete per rendere il suo funzionamento molto più scalabile e decentralizzato. Una strategia interessante che può aiutare la tecnologia blockchain a superare il suo problema principale: la scalabilità.
Una delle tecniche di gestione dei database che sta guadagnando popolarità nella comunità crittografica odierna è il sharding. È un processo di frammentazione o divisione orizzontale delle banche dati in parti più piccole o frammenti al fine di consentirne una migliore manipolazione, rendendole meno pesanti e più facili da manovrare.
Lo sharding è stato creato per facilitare la scalabilità nei sistemi distribuiti e decentralizzati. Ma attualmente, la sua applicazione nella tecnologia blockchain potrebbe migliorare notevolmente i problemi di scalabilità affrontati da reti come Bitcoin y Ethereum.
Vantaggi dell'implementazione sharding
Il vantaggio principale che offre la frammentazione per una blockchain è migliorare la scalabilità. Poiché le transazioni possono essere elaborate e convalidate più rapidamente, riducendo il tempo necessario per questo processo. E quindi, la rete avrà la capacità di elaborare un numero maggiore di transazioni al secondo.
Allo stesso modo, l'implementazione dello sharding riduce il rischio di centralizzazione delle reti. Attualmente Bitcoin richiede l'utilizzo di apparecchiature con grande potenza computazionale per poter supportare tutte le informazioni che vengono gestite in queste reti. Apparecchiature che hanno costi di acquisizione elevati, quindi non molti utenti potrebbero avere la possibilità di acquistarle.
Con l'implementazione dello sharding, non sarà più necessario archiviare l'intera blockchain nello stesso nodo, quindi non sarà necessario l'acquisto di costose apparecchiature. Ciò consentirebbe a molte più persone di avere la possibilità di partecipare alla rete con le proprie apparecchiature convenzionali, garantendo il decentramento della stessa.
Perché ti serve sharding nelle reti blockchain?
Non è un segreto che il crescente boom commerciale sperimentato da criptovalute come Bitcoin ed Ethereum, abbia causato il problema di scalabilità diventano molto più accentuate nelle loro reti. Oggi sono molti gli utenti che desiderano effettuare transazioni con Bitcoin o usa applicazioni decentralizzate di Ethereum. Causando che sono richiesti molti nodi per la convalida e la verifica di tutti questi processi.
Attualmente, i nodi di queste reti operano in modo tale che ciascuno di essi debba memorizzare una copia esatta delle proprie blockchain. Con tutti i dati in esso contenuti dall'inizio. E che in aggiunta, deve essere costantemente e permanentemente aggiornato man mano che vengono create e aggiunte ulteriori informazioni. Pertanto, le velocità delle transazioni sono gravemente compromesse. Raggiungere punti in cui le reti possono collassare e richiedere molto tempo per elaborare una transazione. Qualcosa che non è conveniente per la sostenibilità e l'adozione di questa tecnologia a lungo termine.
Pertanto, sebbene questa metodologia e struttura di lavoro forniscano alla blockchain a alto livello di sicurezza e protezione, provoca anche il scalabilità di tali reti è limitato. Rendere la sua blockchain incapace di elaborare più informazioni di quelle che ciascuno dei suoi nodi può elaborare individualmente. Attualmente la rete Bitcoin, ad esempio, richiede l'utilizzo di apparecchiature con grande potenza di calcolo, il problema della scalabilità è ancora presente. Quindi Bitcoin non può elaborare più di 5 o 7 transazioni al secondo. Mentre Ethereum, pur avendo una capacità maggiore rispetto a Bitcoin, ha comunque un problema di scalabilità che gli impedisce di superare una media di 10 o 15 transazioni al secondo.
Pertanto, l'implementazione di sharding può rappresentare quella soluzione praticabile e fattibile che elimina i problemi di scalabilità, e permette l'elaborazione di un maggior numero di transazioni in minor tempo, in modo sicuro ed efficiente.
Come migliorerà sharding scalabilità nelle reti blockchain?
Lo sharding consente la frammentazione di un database completo in parti piccole, molto più gestibili e organizzate.
Ad esempio, se viene gestito un database informativo di un intero paese o regione, con tutti i dati dei suoi abitanti, come località, settore di residenza, indirizzo esatto dell'immobile, indirizzo di lavoro, data di nascita, età, numero di figli , reddito economico, tra l'altro, la grande quantità di informazioni renderà molto più complicata la ricerca o l'aggiornamento di informazioni specifiche.
Invece, se quel database di grandi dimensioni è suddiviso in blocchi più piccoli e più specifici, le informazioni saranno molto più gestibili ed efficienti. Poiché ogni frammento gestirà informazioni chiare e precise sul suo contenuto indipendentemente da ciò che viene gestito in altre sottoliste, diventando più leggero e organizzato.
Questo è ciò che il sharding applicato sulla blockchain. Con la frammentazione, non sarà più necessario che tutti i nodi della blockchain funzionino in modo lineare per convalidare tutti i dati aggiunti alla catena. Piuttosto, funzioneranno in parallelo e gestiranno cocci (frammenti specifici) dove verranno distribuite le informazioni e questi cocci Saranno incaricati di convalidare ed elaborare solo i dati che gli corrispondono.
Solo quando tutti i nodegroup terminano l'esecuzione del processo che è stato loro assegnato, tutte le informazioni verranno aggiunte alla blockchain, mantenendola integra e completa, con la differenza che i nodi non gestiranno l'informazione nella sua interezza come accade fino ad ora.
L'applicazione del metodo sharding Consentirà di elaborare le transazioni molto più velocemente, migliorando la scalabilità e l'efficienza della rete.
L'applicazione della frammentazione nelle reti blockchain non ridurrà la loro sicurezza?
L'implementazione del metodo di sharding sulla blockchain di Bitcoin o Ethereum potrebbe porre un problema di sicurezza e comunicazione sulla rete. Poiché i nodi, quando assegnati a un sottogruppo, non avrebbero comunicazione diretta con i nodi appartenenti agli altri sottogruppi. Rendere necessaria la creazione e l'implementazione di mezzi di comunicazione e canali esterni che consentano ai nodi di comunicare tra loro.
Allo stesso modo, garantire la sicurezza e la protezione di ciascuno dei sottogruppi è anche una sfida per questa nuova metodologia. Suddividendo i nodi in frammenti, la potenza hash di ogni pool diminuirà considerevolmente. Ciò può rappresentare un problema di sicurezza e consentire a un malintenzionato di eseguire un attacco più facilmente. Una situazione che compromette la sicurezza e l'integrità delle informazioni.
Tuttavia, i sottogruppi creati utilizzeranno lo stesso protocollo di consenso utilizzato all'interno della rete. Quindi ci saranno nodi completi che scaricano e combinano ciascuno dei processi eseguiti da ciascun gruppo di nodi. Al fine di formare e mantenere la blockchain completa e verificare in modo assoluto tutti i processi effettuati. Anche consentendo ai thin client di avere accesso a tutti i frammenti per la verifica delle operazioni.
Pertanto, è possibile mantenere un numero sufficiente di nodi per mantenere il sistema sicuro e affidabile. Allo stesso tempo può elaborare un numero maggiore di transazioni al secondo.
Altri problemi di sicurezza associati
Uno dei maggiori problemi di sicurezza che una blockchain frammentata può affrontare è un file attacco di acquisizione singolo frammento. Ciò consente a un utente malintenzionato di controllare un sottogruppo della catena e quindi impedire, ad esempio, che questo sottogruppo possa eseguire la convalida delle informazioni come l'ottenimento delle firme corrispondenti. O in un altro caso, presenta transazioni non valide o fraudolente alla blockchain principale.
Come soluzione a questo problema, il campionamento Casuale. Dove ogni gruppo della blockchain avrà filtri o notai che saranno scelti casualmente per la validazione e l'approvazione delle informazioni dei blocchi.
Attuali implementazioni di sharding
La frammentazione è un problema che è ancora in fase di sviluppo per alcuni blockchain come Ethereum y Cardano. Gli sviluppatori di questi progetti stanno studiando come implementare questo metodo per ottimizzare le loro reti. Ma altre criptovalute come Zilliqa (ZIL) hanno già implementato sharding sulle tue blockchain. Qualcosa che gli ha permesso di raggiungere un totale di 2.828 transazioni al secondo nella sua rete di test.
Un altro progetto interessante che ha dimostrato il potere dello sharding è TON (La rete aperta). Il suo sviluppo ha già dimostrato che la blockchain TON utilizza lo sharding per garantire il massimo livello possibile di scalabilità. Tuttavia, a causa di problemi con la SEC, Telegram non è stato in grado di rendere pubblico il lancio della sua rete. Per questo motivo, possiamo accedere solo ai suoi strumenti di sviluppo e test.
È interessante notare che la stessa situazione si applica a Facebook Libra, un progetto che, nonostante i suoi enormi problemi di privacy, è stato sorprendente a livello tecnico grazie all'utilizzo dello sharding nella sua rete di validatori.