Quattro progetti che guidano la strada nel partizionamento del database. Sharding è un modo intelligente per affrontare sia la latenza della rete che i problemi di larghezza di banda, che restringono chiaramente la scalabilità della blockchain. Vale la pena esplorare i vantaggi del partizionamento e come può migliorare alcune delle limitazioni della blockchain.
Ci sono due versioni principali di partizionamento in uso.
Sharding partizionato, dove i frammenti non comunicano tra loro direttamente attraverso un relè centrale
Sharding dello stato, in cui i frammenti comunicano tra loro attraverso uno stato, o centrale, relè
Ci sono alcuni progetti interessanti che lavorano su implementazioni alternative della tecnologia di partizionamento. Esploriamo i quattro progetti principali di seguito.
Ethereum
VICINO
Polkadot
Zilliqa
- Sharding
tipo
Stato
Stato
Stato
Dipartizionato
Nome
Catena faro
TxFlow
Paracadino
BFT Sharding
Vantaggi
La partizione riduce linearmente il requisito per tutta la potenza di calcolo, l'archiviazione e la larghezza di banda di rete
La partizione riduce linearmente il requisito per tutta la potenza di calcolo, l'archiviazione e la larghezza di banda di rete
I calcoli eseguiti da ogni frammento sono intrinsecamente indipendenti, maggiore capacità di rete.
Aumenta la scalabilità esponenziale grazie all'aumento della potenza di elaborazione e alla distribuzione delle informazioni.
Rischi
Minore disponibilità dei dati, transazioni cross-shard necessarie per convalidare i dati
Minore disponibilità dei dati, transazioni cross-shard necessarie per convalidare i dati
Minore disponibilità dei dati e sicurezza grazie alla dispersione del mining, nessun modo per convalidare la data tra i frammenti
L'elaborazione dei pagamenti diventa molto complessa una volta che lo stato è condiviso tra i frammenti, Dapps non eseguirà transazioni che influenzano lo stesso contratto intelligente in parallelo
Catena di faro di Ethereum
La catena di Beacon fa parte della roadmap di Ethereum 2.0 Serenity. La Beacon Chain è la “catena principale” del nuovo sistema Casper PoS di Ethereum e le sue principali responsabilità sono:
Memorizzare e mantenere il set di validatori attivi, in coda ed usciti
Elaborare collegamenti incrociati
Elaborare il proprio consenso blocco per blocco, così come il gadget di finalità
La funzione chiave della catena di Beacon è quella di gestire il protocollo proof-of-stake per se stesso e tutte le catene di shard. Ci sono una serie di aspetti a questo, tra cui:
Gestione dei validatori e delle loro puntate
Nominare il proponente di blocchi scelto per ogni frammento ad ogni passo
Organizzare i validatori in comitati per votare i blocchi proposti
Applicazione delle regole di consenso
Applicazione di premi e sanzioni ai validatori
Essendo un punto di ancoraggio su cui i frammenti registrano i loro stati per facilitare le transazioni cross-shard
Spartimenti vicini
L'obiettivo primario di NEAR è quello di creare transazioni cross-shard quasi in tempo reale mantenendo i clienti sufficientemente leggeri. Qualsiasi dispositivo di fascia bassa dovrebbe essere in grado di eseguire un nodo che gestisce una parte della rete ed elabora un sottoinsieme delle transazioni. NEAR è una blockchain a prova di palo con partizioni, altamente scalabile, e il loro approccio consente ai nodi di funzionare su hardware di fascia bassa, dando alla rete l'accesso a miliardi di dispositivi aggiuntivi, ognuno dei quali lo rende ancora più veloce.
I problemi principali sono la garanzia della validità e della disponibilità dei dati. I blocchi devono essere accompagnati da una prova di validità che rimane a disposizione di chiunque per controllare per almeno un certo periodo di tempo. I validatori sono responsabili di garantire che la prova rimanga disponibile. Sfortunatamente, non è possibile (o almeno molto difficile) dimostrare che i messaggi che dovevano essere inviati non sono stati, senza spostare il messaggio in catena. L'unico modo per aggirare questo problema è avere una configurazione più centralizzata dell'infrastruttura e della governance.
Paracadino di Polkadot
Al fine di ottenere un efficace partizionamento del database distribuito, Polkadot utilizza una tecnologia chiamata Parachain.
Un paracadena (catena parallelisable) è una forma più semplice di blockchain. Si attacca alla sicurezza fornita da una catena di relè, piuttosto che fornire il proprio. Una catena di relè non solo presta sicurezza ai paracadini attaccati, ma fornisce anche una garanzia di passaggio sicuro dei messaggi tra di loro. Una caratteristica chiave dei paracadini è che i calcoli che eseguono sono intrinsecamente indipendenti. Sistemi completamente generalizzati di contratti intelligenti completi di turing-complete incorrono in problemi nel determinare quali transazioni si scontreranno tra loro. Ciò significa che le transazioni che potrebbero essere parallelizzate sono spesso eseguite in sequenza, sprecando tempo di calcolo prezioso. Disegnare chiari confini tra i paracadini significa che possiamo eseguirli tutti in una sola volta senza paura di collisione. Se abbiamo 10 paracadini, possiamo eseguire 10 volte il lavoro usando la stessa fonte di sicurezza.
I paracadini altamente specializzati hanno un altro scopo. Possono implementare operazioni di archiviazione dei dati e transazioni in modo più efficiente per il loro dominio problematico, senza essere calzati in un linguaggio di scripting specifico per blockchain o in una macchina virtuale. È possibile creare paracadini che hanno i propri paracadini, e così via. Questo crea una struttura ad albero che può essere utilizzata per eseguire calcoli altamente distribuiti - senza ridurre il carico complessivo sulla catena relè radice stessa.
Le questioni principali sono anche la disponibilità e la validità dei dati.
Zilliqa BFT Sharding
Il modo in cui Zilliqa sta cercando di implementare il partizionamento è attraverso un percorso completamente diverso da Ethereum. Il modo in cui è implementato segue la logica seguente:
Eseguire tutte le transazioni a frammento singolo in parallelo
Non eseguire transazioni che influiscono sullo stesso contratto intelligente in parallelo
Non eseguire transazioni che interessano più di un frammento in parallelo con qualsiasi altra transazione
In sostanza, la proposta di Zilliqa non utilizza un coordinatore centrale, tuttavia, rende Dapps che devono risiedere nella maggior parte dei frammenti, togliendo il suo vantaggio chiave.
Conclusione
Mentre le aziende cercano di migliorare i limiti della blockchain, verranno alla luce più progetti che utilizzano il partizionamento. Affrontando i problemi di scalabilità, la blockchain diventerà più attraente per un pubblico più vasto e alla fine comporterà un ulteriore passo verso l'adozione tradizionale.
Per saperne di più sulla tecnologia blockchain, leggi le nostre ultime notizie e approfondimenti.
Disclaimer: The views and opinions expressed by the author should not be considered as financial advice. We do not give advice on financial products.