Sin dalla nascita di Bitcoin, la tecnologia blockchain ha completamente ridisegnato il modo in cui percepiamo il valore e concettualizziamo il denaro nel suo insieme. Catturando l'immaginazione di molti e suscitando alti livelli di interesse in diversi settori, la blockchain si è successivamente trasformata in uno dei progressi tecnologici più entusiasmanti del 21° secolo, nonché in un'infrastruttura incredibilmente ricercata.
Questo sentimento è alimentato principalmente dal desiderio innato di costruire e prendere parte a una rivoluzione altrettanto grande quanto lo fu la creazione di Internet negli anni ’80 e ’90. Mentre Internet ha dato il via al regno dell’intercomunicazione online, la blockchain sta aprendo la strada a nuove forme di creazione di ricchezza attraverso reti di dati e risorse digitali.
Queste reti costituiscono un ecosistema tecnico rigorosamente decentralizzato, progettato per fornire servizi di contabilità e contratti intelligenti alle applicazioni, note anche come dApp. Ethereum, la seconda criptovaluta più preziosa, è stata concepita per facilitare la creazione di queste applicazioni e, in definitiva, offrire agli utenti un maggiore controllo sulle proprie finanze e sui dati online.
L'idea con Ethereum è quella di sviluppare una sorta di "computer mondiale" attraverso il quale le dApp possono funzionare, crescere ed espandere i loro casi d'uso e, alla fine, arrivare a sfidare le principali aziende e piattaforme come Amazon o Twitter, ad esempio. Pertanto, Ethereum fungerebbe da “computer mondiale” decentralizzato, aperto a tutti e che non può essere manomesso né spento.
Per raggiungere questo obiettivo, Ethereum dovrà essere in grado di archiviare e preservare enormi quantità di dati all’interno del proprio sistema, una capacità che attualmente non possiede. Tuttavia, Ethereum potrebbe risolvere il suo problema di scalabilità implementando un metodo chiamato sharding, un aggiornamento che in effetti sarà operativo Ethereum 2.0.
Che cos'è Sharding?
Nell'informatica, lo sharding è una tecnica utilizzata per ridimensionare le applicazioni in modo che possano supportare più dati. Il processo consiste nel suddividere grandi tabelle di dati in blocchi più piccoli, chiamati frammenti, distribuiti su più server. Ogni frammento viene fornito con i propri dati, che lo rendono distintivo e indipendente rispetto ad altri frammenti.
Lo sharding è di particolare vantaggio per le reti blockchain in quanto consente loro di ridurre la latenza e il sovraccarico di dati suddividendo la rete in partizioni più piccole e consente loro di elaborare più transazioni al secondo. Nello specifico, lo sharding è necessario se un set di dati è troppo grande per essere archiviato in un unico database e, dati i numerosi progetti e sviluppatori che si basano sulla sua rete, questo è proprio il caso di Ethereum.
In effetti, secondo l’analisi dei dati, ce ne sono più 3,000 applicazioni decentralizzate (dApp) in esecuzione sulla blockchain di Ethereum, quindi la scalabilità attraverso lo sharding è un requisito assoluto per Ethereum per mantenere il suo status di leader nell'ecosistema e garantire l'efficienza complessiva della sua rete.
Come funziona
Per comprendere appieno come funziona lo sharding nella blockchain, è di vitale importanza rivedere le funzioni svolte dai nodi e capire come i dati vengono archiviati ed elaborati.
I nodi sono una componente critica delle infrastrutture blockchain poiché, senza di essi, i dati di una blockchain non sarebbero accessibili. Tutti i nodi sono collegati tra loro e scambiano costantemente i dati blockchain più recenti in modo che tutti i nodi possano rimanere aggiornati. Fondamentalmente, i nodi costituiscono lo strato fondamentale della blockchain poiché le consentono di archiviare, preservare e diffondere i dati attraverso la sua infrastruttura.
Nelle reti decentralizzate, ciascun nodo deve essere in grado di archiviare informazioni critiche come la cronologia delle transazioni e i saldi dei conti. Distribuendo dati e transazioni su più nodi, la blockchain può garantire la propria sicurezza, tuttavia questo modello non è il più efficace in termini di scalabilità. Mentre il suo sistema di registro distribuito fornisce alla blockchain funzionalità di decentralizzazione e sicurezza, una rete che deve elaborare grandi quantità di transazioni e archiviare grandi quantità di dati potrebbe essere sopraffatta, intasata e sperimentare latenza o lentezza.
Ethereum, ad esempio, può eseguire tra le 10 e le 20 transazioni al secondo, ma in realtà non è così performante per una blockchain delle sue dimensioni, e il motivo della sua bassa velocità è il protocollo di consenso Proof of Work (PoW) inerente al suo framework. Pertanto, per questo motivo, la blockchain di Ethereum ha un disperato bisogno di scalabilità.
Attraverso lo sharding, tuttavia, una rete blockchain può distribuire il proprio carico di lavoro orizzontalmente in modo che ogni nodo non debba gestire o elaborare tutte le sue transazioni, consentendo una progettazione più compartimentata ed efficiente.
Partizionamento orizzontale
Lo sharding si ottiene attraverso il partizionamento orizzontale di un database o di una rete in diverse righe chiamate frammenti. Questa architettura orizzontale crea un ecosistema più dinamico poiché consente agli shard di eseguire azioni specializzate in base alle loro caratteristiche. Ad esempio, un frammento potrebbe essere responsabile della memorizzazione della cronologia delle transazioni e dello stato di un particolare indirizzo o sarà in grado di cooperare con altri frammenti per elaborare le transazioni per una determinata risorsa digitale.
Per comprendere meglio come funziona il partizionamento orizzontale, il modello seguente lo illustrerà.
Il modello mostra un database di grandi dimensioni composto da 6 righe. La tabella pre-shardizzata viene quindi suddivisa in 3 partizioni orizzontali più piccole per rendere più gestibile l'elaborazione della tabella di dati di grandi dimensioni. Il partizionamento orizzontale converte solo la tabella in una versione più piccola ed efficiente di se stessa mantenendo le sue caratteristiche originali. Lo stesso concetto può essere applicato anche alle infrastrutture blockchain, in cui lo stato della catena può essere frammentato in blocchi più piccoli e più gestibili, noti anche come shard.
Ridimensionamento orizzontale e verticale
Quando si affronta il tema della scalabilità, le infrastrutture blockchain hanno alcune opzioni: soluzioni Layer-2, scalabilità verticale e partizionamento orizzontale.
I Layer-2 sono soluzioni di scalabilità off-chain costruite sulla blockchain. L'idea con Layer-2 è essenzialmente quella di bypassare lo strato di base sottostante e posizionarvi sopra un'architettura aggiuntiva. Questo livello aggiuntivo si occupa di calcoli complessi e cerca di mitigare i vari colli di bottiglia nell'architettura del livello base. Plasma e Raiden sono gli esempi più comuni di scalabilità Layer-2 e forse il progetto più notevole che sfrutta Layer-2 è Polygon, precedentemente Matic.
Poi arriva il ridimensionamento verticale. Il ridimensionamento verticale comporta l'espansione di una rete aggiungendo più potenza e memoria all'unità di elaborazione principale del sistema e viene effettuato migliorando l'efficienza di ogni singola transazione. Per fare ciò, il ridimensionamento verticale inserisce sostanzialmente più potenza di elaborazione in una macchina virtuale esistente per rafforzarne la capacità di elaborazione.
Le soluzioni di scalabilità verticale sono piuttosto limitate nella loro efficacia ma sono molto più facili da implementare rispetto alle scale orizzontali. Infatti, se ad esempio si verifica un problema con la memoria locale di una macchina virtuale che non è sufficiente per elaborare un carico di transazioni in entrata, una soluzione di scalabilità verticale potrebbe potenzialmente rimediare a questo problema. In questo scenario, una scala verticale aggiungerebbe più memoria all'infrastruttura della macchina virtuale, riducendo di conseguenza il sovraccarico di elaborazione e aumentando il throughput transazionale.
Tuttavia, se il carico di una transazione in entrata supera la capacità hardware della macchina virtuale, poiché non è in grado di elaborarla fisicamente, è necessaria una soluzione di dimensionamento orizzontale.
Come discusso in precedenza, il ridimensionamento o lo sharding orizzontale aiuta a migliorare il throughput complessivo delle infrastrutture blockchain aggiungendo più cluster o singole macchine virtuali allo strato di base esistente. Sebbene sia un sistema in definitiva efficiente per la scalabilità, lo sharding presenta in effetti le sue complessità poiché richiede più tempo per essere implementato e per essere pienamente operativo.
Inoltre, quando si tratta di implementare attivamente soluzioni di scalabilità nelle infrastrutture blockchain, ci sono alcune domande che devono essere affrontate da un punto di vista puramente tecnico e fondamentale.
Sharding per una maggiore decentralizzazione
C'è sicuramente una discussione da fare per quanto riguarda la correlazione tra sharding e decentralizzazione nella blockchain. Infatti, quando si introduce il concetto di scalabilità nel contesto della tecnologia blockchain, va notato che poiché questi sistemi operano già come reti distribuite, è intrinsecamente difficile aumentare il loro throughput complessivo aggiungendo ad essi entità hardware, come nodi, minatori o validatori.
Ciò è ulteriormente accentuato dal fatto che gli sviluppatori blockchain si sforzano di preservare l’immutabilità complessiva della catena dello strato di base e sono determinati a non manomettere l’architettura sottostante.
Ciò, a sua volta, produce alcuni vantaggi per le soluzioni scalabili in quanto consente loro di sfruttare la sicurezza e l’affidabilità esistenti della catena del livello base per estendere il suo potenziale throughput transazionale, senza toccare la sua infrastruttura fondamentale. IL Lightning Network ne è un ottimo esempio, poiché utilizza la sua tecnologia per sfruttare la sicurezza di Bitcoin al fine di aumentare la capacità di transazione complessiva del sistema.
Inoltre, poiché lo sharding divide grandi porzioni di dati in partizioni orizzontali più piccole ed efficienti, ciò consente effettivamente la creazione di un ecosistema più decentralizzato nel suo insieme. Infatti, se l’intera struttura dati di una rete blockchain risiedesse in un supernodo e solo pochi individui potessero eseguirla e accedervi, ciò renderebbe in primo luogo più semplice per gli aggressori manipolare e sfruttare tale struttura e, in secondo luogo, toglierebbe le aspirazioni senza fiducia e decentralizzate native degli ecosistemi blockchain.
Pertanto, la scalabilità e lo sharding in particolare possono essere visti come componenti integrali dello sviluppo complessivo delle reti blockchain, nonché come catalizzatori finali per la "raison d'être" decentralizzata della blockchain.
Sharding con ETH 2.0
Secondo il block explorer Etherscan, i full node di Ethereum occupano già almeno 5 terabyte di spazio, ovvero 10 volte di più di quello che può contenere un computer medio. Inoltre, i nodi di Ethereum diventeranno sempre più grandi e più difficili da gestire man mano che la piattaforma si sviluppa e la sua base di utenti cresce nel tempo.
È chiaro quindi che Ethereum necessita di una scalabilità imminente, e lo sharding è infatti la soluzione a questo. Quindi, parliamo ora di come funzionerà lo sharding con Ethereum 2.0.
Dividere i nodi e conquistare
Insieme con Casper ed Ethereum WebAssembly (ewasm), lo sharding è una delle caratteristiche principali del tanto atteso aggiornamento Ethereum 2.0. Attualmente, sulla rete Ethereum, ogni nodo deve verificare ogni transazione, caratteristica che garantisce intrinsecamente la vivacità della sua rete. In questo modo, anche se l’80% dei nodi Ethereum crollasse contemporaneamente, la rete continuerebbe a funzionare.
Questo modello attuale non rende necessariamente Ethereum più lento, ma è effettivamente problematico in quanto non ottimizza completamente le risorse di rete di ETH. Ad esempio, supponiamo che ci siano tre nodi separati sulla rete Ethereum che verificano una transazione e questi nodi sono definiti come nodo X, nodo Y e nodo Z. Al momento, per verificare una transazione, definita come dati T, ciascun nodo lo farà è necessario verificare l'intero set di dati di T affinché sia confermato.
Sebbene ciò garantisca la sicurezza complessiva della rete, crea un collo di bottiglia attraverso il quale deve passare ogni transazione. In effetti, la rete è costretta ad attendere che ogni nodo verifichi ogni transazione, il che, ovviamente, non è lo scenario più ideale o efficiente. Con Ethereum 2.0 e la sua proposta di sharding, tuttavia, il set di dati di T verrebbe suddiviso in T1, T2 e T3, ad esempio, e i nodi X, Y e Z dovrebbero elaborare ciascuno solo uno dei frammenti di dati più piccoli per poterlo sharding. verificare l'intero set di dati di T.
"Vogliamo essere in grado di elaborare più di 10,000 transazioni al secondo senza forzare ogni nodo a diventare un supercomputer o forzare ogni nodo a memorizzare un terabyte di dati statali, e ciò richiede una soluzione completa in cui i carichi di lavoro di archiviazione statale, elaborazione delle transazioni e anche il download e la ritrasmissione delle transazioni sono distribuiti tra i nodi.' Domande frequenti sullo sharding – Wiki di Ethereum
Suddividendo i dati in sottoinsiemi individuali più piccoli, Ethereum può ottenere una maggiore produttività transazionale e creare un ambiente più veloce e sostenibile affinché possa perseguire i suoi obiettivi futuri e continuare a crescere come ecosistema.
Meccanica dello sharding
Ethereum 2.0 cercherà di massimizzare l’efficienza della sua rete completando una transizione del livello base da Proof of Work (PoW) a Proof of Stake (PoS). L'algoritmo di consenso Proof of Work (PoW) si basa sul concetto di un miner per mantenere la rete sicura e sincronizzata e richiede grandi quantità di potenza di calcolo per funzionare. La Proof of Stake, invece, sostituisce il consumo di energia con un impegno finanziario.
In questo caso, il protocollo Proof of Stake di ETH 2.0, chiamato Casper, non richiederà più i miner ma implementerà dei validatori che, inserendo almeno 32 ETH in uno staking pool, saranno in grado di validare le transazioni e creare nuovi blocchi. Casper verrà consegnato tramite la Beacon Chain, che sarà la catena del sistema di Ethereum 2.0, e consentirà ai frammenti di comunicare tra loro.
Naturalmente, questo costituisce un vero e proprio passo avanti a livello infrastrutturale e gli utenti dovrebbero quindi aspettarsi di avere a che fare con una forma di Ethereum nuova e più ottimizzata nel complesso. Per cominciare, ETH 2.0 renderà gli account utente specifici per un determinato frammento e compartimenterà le transazioni in “pacchetti di transazioni”, assegnando ciascun pacchetto a un particolare frammento. Questi pacchetti saranno ulteriormente suddivisi in intestazioni e corpi di gruppi di transazioni, con ciascun componente che definisce caratteristiche specifiche dello shard.
Come illustrato nell'immagine sopra, ciascuna intestazione di gruppo di transazioni ha una parte sinistra e una parte destra distinte. La parte sinistra dell'intestazione presenta i seguenti componenti:
- ID shard: per identificare lo shard a cui appartiene il gruppo di transazioni.
- Radice pre-stato: lo stato della radice di quel particolare frammento prima che il gruppo di transazioni venga inserito al suo interno.
- Radice post-stato: lo stato della radice dello shard dopo che il gruppo di transazioni è stato inserito al suo interno.
- Radice ricevuta: conferma che il gruppo di transazioni è entrato nella radice dello shard.
La parte destra dell'intestazione, invece, mostra un gruppo di validatori selezionati casualmente che verificano le transazioni all'interno dello shard stesso. Questi pacchetti di transazioni, inoltre, necessitano di essere sottoposti ad un doppio processo di verifica per poter essere annessi alla catena principale. Il primo processo di verifica coinvolge validatori assegnati in modo casuale a uno shard per votare sulla validità di ciascun pacchetto di transazioni. Se i validatori votano sì, un comitato separato sulla Beacon Chain deve verificare questo voto utilizzando uno smart contract di gestione dello sharding. Se anche il secondo voto è positivo, il pacchetto di transazioni verrà aggiunto alla catena principale e diventerà parte del registro pubblico, stabilendo un collegamento incrociato immutabile con il gruppo di transazioni su quello shard.
Comunicazione tra più partizioni
L'infrastruttura di ETH 2.0 consentirà ai frammenti di intercomunicare efficacemente con l'obiettivo di produrre un ecosistema veramente interoperabile e reciprocamente vantaggioso. Vitalik Buterin, il visionario e fondatore di Ethereum, ha descritto al meglio il concetto di comunicazione cross-shard al DevCon 2018 a Praga affermando:
Immagina che Ethereum sia stato diviso in migliaia di isole. Ogni isola può fare le sue cose. Ognuna dell'isola ha le sue caratteristiche uniche e tutti coloro che appartengono a quell'isola, cioè gli account, possono interagire tra loro E possono liberamente indulgere in tutte le sue caratteristiche. Se vogliono contattare altre isole, dovranno utilizzare una sorta di protocollo. – Vitalik Buterin Devcon 2018 – LinkedIn
Tenendo presente l'analogia dell'isola dei frammenti di Buterin, è chiaro che se questi frammenti vogliono comunicare con successo tra loro richiederanno uno specifico protocollo tra frammenti. Il protocollo di intercomunicazione shard scelto da ETH 2.0 è il cosiddetto "paradigma di ricezione". Come mostrato in precedenza nell'immagine sopra, la radice della ricevuta è un componente dell'intestazione del gruppo di transazioni e viene utilizzata per confermare che un gruppo di transazioni è entrato nella radice dello shard in un albero Merkle.
Ogni singola transazione nel gruppo genera una ricevuta nello specifico shard a cui appartiene. La Beacon Chain, la catena di sistema di Ethereum 2.0, utilizzerà quindi la sua memoria condivisa distribuita per archiviare tutte queste ricevute di transazioni al suo interno, da qui il termine "paradigma di ricevuta". Questo fa sì che altri frammenti possano visualizzare e interagire con le ricevute all'interno della Beacon Chain ma, a causa della natura immutabile della blockchain, non saranno in grado di manomettere le ricevute delle transazioni stesse.
Questa è una caratteristica importante perché consentirà agli shard di sapere esattamente quando è opportuno comunicare tra loro e di farlo solo quando necessario. In sostanza, questo design specifico dell'ETH 2.0 consente agli shard di verificare e trarre vantaggio dalle attività reciproche mantenendo la finalità e lo scopo di ogni singolo shard.
Complessità operative e latenza tra più partizioni
Due dei problemi più urgenti quando si parla di comunicazione cross-shard di ETH 2.0 riguardano complessità operative e latenza. Tuttavia, Vitalik Buterin ha annunciato due proposte per porre rimedio a questo problema e garantire lo sviluppo di un Ethereum completamente frammentato.
Queste proposte:
- Incanala diverse responsabilità e compiti dai singoli frammenti alla Beacon Chain.
- Assicurati che ogni frammento abbia il proprio stato e la propria esecuzione.
- Riduci le complessità nella struttura dello shard e preserva le varie funzionalità di rete.
- Fornire agli shard funzionalità sufficienti per supportare l'esecuzione del contratto intelligente nei vari gruppi di transazioni.
- Introduci 3 nuovi tipi di transazione: Nuovo script di esecuzione, Nuovo validatore e Prelievo. Il Nuovo script di esecuzione creerà uno script di esecuzione che può contenere ETH, il Nuovo validatore può aggiungere nuovi validatori al sistema e il Prelievo può rimuovere validatori dalla Beacon Chain.
Inoltre, un altro problema che ETH 2.0 cerca di risolvere è la latenza di rete nella comunicazione tra partizioni. Se, ad esempio, un utente desidera inviare un token dal frammento X al frammento Y, una transazione sul frammento X distrugge lì il token ma salva un record del valore inviato, l'indirizzo e il frammento di destinazione, in questo caso il frammento Y.
Dopo un certo ritardo, ogni singolo frammento apprende lo stato root degli altri frammenti, consentendo loro di verificare la transazione e confermare che l'indirizzo del frammento Y è valido. Shard X produrrà quindi una ricevuta di transazione che verrà recuperata da Shard Y e consentirà al valore in Shard X di essere distrutto e spostato su Shard Y.
Come si può immaginare, questo processo provoca non pochi ritardi e allontana completamente dagli obiettivi di scalabilità di ETH 2.0. Pertanto, Ethereum ha proposto una soluzione a questo problema denominata Fast Cross-Shard Transfers Via Optimistic Receipt Roots. Sebbene il titolo possa essere fuorviante, in realtà si tratta di un sistema piuttosto semplice che implica la memorizzazione di stati condizionali e l'ottimismo sulla validità di una transazione inviata.
Fondamentalmente, tutto ciò significa che se Bob ha 50 token sullo Shard B e Alice invia 20 token a Bob dallo Shard A, ma lo Shard B non conosce ancora lo stato dello Shard A e quindi non può convalidare completamente il trasferimento, lo stato dello Shard A di Bob L'account (Shard B) mostrerà temporaneamente 70 token se il trasferimento da Alice è autentico o 50 token se non lo è.
Questo perché i validatori che autenticano la transazione dal Frammento A al Frammento B possono essere ottimisticamente certi della finalità del trasferimento e del fatto che il conto di Bob alla fine si risolverà in 70 token una volta convalidata la transazione da Alice. Pertanto, i validatori possono agire come se Bob avesse già i 70 token.
Una volta verificata, la transazione dal Frammento A al Frammento B diventa permanente o viene semplicemente annullata se non era valida. Questo sistema Fast Cross-Shard Transfer riduce notevolmente i colli di bottiglia causati dalla latenza della rete e, se implementato con successo, consentirà a Ethereum 2.0 di accelerare il proprio throughput e migliorare la propria scalabilità complessiva.
Ethereum 2.0 a parte, parliamo ora brevemente di come viene implementato lo sharding in altri progetti e, più specificatamente, in Zilliqa, NEAR ed Polkadot.
Sharding con Zilliqa
Un altro progetto che presenta proposte di valore interessanti e che sta implementando anche lo sharding è Zilliqa. Fondata nel 2017, Zilliqa è una blockchain per casi d'uso computazionalmente intensivi per le imprese e la tecnologia emergente, con le sue funzionalità chiave quali lo sharding e l'elaborazione transazionale parallelizzata.
Sebbene la sua rete funzioni su algoritmi Proof of Work (PoW) che richiedono una notevole potenza di calcolo, Zilliqa è progettata per scalare su richiesta integrando ulteriori nodi ZIL e minatori, il che consente di aggiungere più frammenti alla rete.
ZIL è il token nativo di Zilliqa e, secondo il suo modello di sharding, se Zilliqa dovesse avere 20,000 nodi, la sua rete potrebbe essere suddivisa in 25 sottoreti con 800 nodi ciascuna che potrebbero elaborare i dati in parallelo e simultaneamente. L'architettura di Zilliqa è complessa poiché utilizza due blockchain, anch'esse in parallelo. Il progetto utilizza blocchi di transazioni, chiamati TX-Blocks, per contenere transazioni inviate dagli utenti della rete e blocchi di servizi di directory, o DS-Blocks, per contenere dati sui minatori di rete che proteggono e supportano l'infrastruttura di Zilliqa.
Lo sharding della blockchain di Zilliqa è un duplice processo. In primo luogo, elegge i nodi del comitato dei servizi di directory che avviano il processo di sharding e assegnano i nodi a ciascun frammento. In secondo luogo, una volta verificate le transazioni nello shard, possono essere verificate dall’intera rete ed entrare in uno stato globale che annette ogni transazione in ogni shard a un’unica fonte di verità verificabile sulla blockchain di Zilliqa.
In sostanza, una transazione frammentata sulla rete Zilliqa include un utente che avvia una transazione che viene poi trasferita su uno shard che convalida la transazione e la confronta con altre transazioni per creare un "microblocco" di transazioni. Successivamente, lo shard raggiunge un consenso sulla validità del microblocco che viene poi assegnato al Directory Service Committee che unisce i microblocchi con il "blocco finale". Il Comitato DS raggiunge quindi il consenso finale su questo blocco prima di annetterlo alla blockchain.
Sharding con NEAR
Un progetto che implementa una forma di sharding piuttosto alternativa non è altro che il protocollo NEAR. Lanciata nel 2020, NEAR è una piattaforma blockchain frammentata e governata dalla comunità Proof of Stake (PoS) con interoperabilità e scalabilità al centro.
NEAR sfrutta la sua tecnologia Nightshade per ottenere enormi capacità di throughput che vedono i validatori elaborare le transazioni in parallelo per migliorare le capacità complessive di trasporto delle transazioni della blockchain. Sebbene il modello di sharding basato su catene di shard e catena di beacon sia in effetti potente, presenta tuttavia alcune complessità infrastrutturali dovute al fatto che sia le catene di shard che la catena di beacon sono, in sostanza, entità separate all'interno dello stesso ecosistema blockchain.
Il protocollo NEAR affronta questo problema e introduce un design di sharding avvincente modellando la sua infrastruttura come un'unica blockchain, in cui ogni blocco contiene logicamente tutte le transazioni per tutti i frammenti e modifica l'intero stato dei frammenti. Attraverso Nightshade, NEAR può preservare la sua filosofia di singolarità della blockchain suddividendo le transazioni di ciascun blocco in blocchi fisici, idealmente con un pezzo per frammento, e aggregandoli in un unico blocco.
Sharding con pois
Polkadot utilizza un modello di sharding che differisce completamente dal meccanismo di sharding basato su Ethereum e sfrutta le sue caratteristiche di componibilità a catena incrociata per attivare lo sharding tramite parachain. Il design nativo di Polkadot è quello di una rete multi-catena che fornisce affidabilità, sicurezza e scalabilità Layer-0 a tutte le blockchain Layer-1 costruite sulla sua architettura.
Questi Layer-1 rappresentano la rete parachain, dove le parachain sono le diverse blockchain che corrono in parallelo all'interno dell'ecosistema Polkadot, sia sulla rete Polkadot che su Kusama.
Le parachain sono connesse e protette dalla Relay Chain di Polkadot e possono trarre vantaggio dalla sicurezza, dalla scalabilità e dall'interoperabilità fornite da Polkadot. La rete parachain può infatti essere considerata un paradigma di sharding avanzato che implementa le caratteristiche della catena principale Polkadot e opera in modo parallelizzato, simile a quello di uno shard.
I progetti parachain come Clover, ad esempio, possono fornire transazioni senza gas e portare nuovi livelli di scalabilità e interoperabilità alle infrastrutture Layer-1 non condivise. Questo perché Polkadot, in quanto rete multicatena costruita su parachain, è in grado di elaborare più transazioni parallelizzate su più catene contemporaneamente, incarnando in definitiva il concetto di sharding incrociato.
Conclusione
Lo sharding è il fondamento della scalabilità nelle reti decentralizzate e offre una varietà di interessanti opportunità per quei progetti che desiderano implementarlo o almeno sperimentarne il concetto.
Il problema, al momento, è definito dal fatto che le reti blockchain stanno crescendo ed espandendosi a un ritmo esponenziale a causa della loro popolarità, dei casi d’uso e, in definitiva, della loro domanda. A sua volta, ciò provoca una serie di colli di bottiglia, complessità e inefficienze di rete sulla catena ed è del tutto espressivo del loro disperato bisogno di una soluzione di scalabilità adeguata.
Ethereum 2.0 è destinato a introdurre le sue capacità di sharding in un futuro non troppo lontano e questo rappresenta uno degli eventi più attesi nella storia della blockchain di ETH. Le aspettative rimangono incredibilmente alte poiché, in effetti, se lo sharding di ETH 2.0 avrà successo, garantirà la scalabilità a lungo termine della rete Ethereum e accompagnerà il progetto nel suo tentativo di diventare un mondo decentralizzato, aperto a tutti, impossibile da chiudere. computer'.
Disclaimer: queste sono le opinioni dello scrittore e non dovrebbero essere considerate un consiglio di investimento. I lettori dovrebbero fare le proprie ricerche.
Fonte: https://www.coinbureau.com/technology/what-is-sharding-complete-beginners-guide/
- 000
- 2020
- 9
- Assoluta
- accesso
- Il mio account
- aggiuntivo
- consigli
- algoritmo
- Algoritmi
- Tutti
- Tutte le transazioni
- Consentire
- Amazon
- analitica
- ha annunciato
- applicazioni
- architettura
- attività
- catena di faro
- MIGLIORE
- Bitcoin
- blockchain
- La tecnologia blockchain
- stile di vita
- potenziamento
- costruire
- Costruzione
- aziende
- Buterin
- Ultra-Grande
- trasporto
- casi
- ha causato
- Challenge
- Coinbureau
- Coindesk
- Uncommon
- Comunicazione
- componente
- Informatica
- Consenso
- consumo
- continua
- contratto
- Creazione
- Cross-Catena
- criptovaluta
- Corrente
- DApp
- dati
- Dati Analytics
- Banca Dati
- affare
- trattare
- Offerte
- decentramento
- ritardo
- ritardi
- Richiesta
- Design
- distrutto
- devcon
- sviluppare
- sviluppatori
- Mercato
- digitale
- Asset digitale
- Ledger distribuito
- ecosistema
- ecosistemi
- Efficace
- efficienza
- energia
- Impresa
- Ambiente
- ETH
- eth 2.0
- Ethereum
- Ethereum 2.0
- Ethereum blockchain
- Gas Ethereum
- rete ethereum
- ethos
- eventi
- esecuzione
- Espandere
- espansione
- espansione
- esperimento
- Sfruttare
- Moda
- FAST
- caratteristica
- Caratteristiche
- Costi
- finanza
- finanziario
- Nome
- modulo
- fondatore
- Contesto
- pieno
- futuro
- GAS
- tasse sul gas
- globali
- buono
- Gruppo
- Crescere
- Crescita
- guida
- Hardware
- Alta
- storia
- tenere
- Come
- HTTPS
- Enorme
- idea
- identificare
- Immagine
- Aumento
- industrie
- informazioni
- Infrastruttura
- integrale
- interesse
- Internet
- Interoperabilità
- investimento
- sicurezza
- IT
- Le
- grandi
- con i più recenti
- principale
- Ledger
- Leva
- fulmine
- Lightning Network
- Limitato
- caricare
- locale
- Lunghi
- macchine
- maggiore
- Fare
- minatori
- modello
- soldi
- Vicino
- Rete
- reti
- nodi
- Offerte
- online
- aprire
- Opinioni
- Opzioni
- minimo
- Altro
- paradigma
- Plasma
- piattaforma
- Piattaforme
- Polkadot
- pool
- PoS
- PoW
- energia
- presenti
- progetto
- progetti
- prova
- proposta
- la percezione
- ricerca
- lettori
- Realtà
- ridurre
- riparazioni
- Risorse
- recensioni
- Correre
- running
- sicura
- Scalabilità
- Scala
- scala
- Scienze
- problemi di
- vede
- selezionato
- sentimento
- Serie
- Servizi
- set
- sharding
- condiviso
- singolarità
- Taglia
- smart
- smart contract
- So
- Soluzioni
- RISOLVERE
- lo spazio
- velocità
- dividere
- diffondere
- palo
- Staking
- Regione / Stato
- stati
- Stato dei servizi
- soggiorno
- conservazione
- Tornare al suo account
- presentata
- di successo
- supercomputer
- supporto
- sostenibile
- sistema
- SISTEMI DI TRATTAMENTO
- Tech
- Consulenza
- Tecnologia
- tempo
- token
- Tokens
- top
- delle transazioni
- Le transazioni
- us
- utenti
- APPREZZIAMO
- Convalida
- Visualizza
- virtuale
- macchina virtuale
- Vitalik
- vitalik buterin
- Votazione
- aspettare
- Ricchezza
- Che cosa è l'
- OMS
- entro
- Lavora
- lavori
- X
- Zilliqa