Tutte le lingue
L'obiettivo di Harmony è creare una blockchain basata su shard con piena scalabilità e sicurezza. Ha studiato molte soluzioni blockchain sul mercato e ha proposto un proprio piano di implementazione ingegneristica. È qui che Harmony merita l'attenzione di tutti.
Questo è un obiettivo molto alto. Prima di tutto, ha una completa scalabilità. Lo sharding di Harmony include non solo la conferma della transazione, la comunicazione di rete, ma anche lo sharding dello stato della blockchain. In secondo luogo, dobbiamo garantire la sicurezza della frammentazione. Lo sharding di Harmony si basa sul processo DRG (Distributed Random Generation), che lo rende imprevedibile, equo, verificabile e scalabile. Inoltre, Harmony adotta il meccanismo PoS invece del meccanismo PoW per selezionare i validatori e dispone di una propria ottimizzazione per il meccanismo di consenso PBFT. PoS ha una certa soglia, non solo per garantire che i piccoli staker possano partecipare alla rete e guadagnare entrate, ma anche per impedire a malintenzionati di ottenere il controllo su un singolo frammento. Harmony implementa la diffusione delle informazioni all'interno di uno shard e attraverso una rete di shard utilizzando l'algoritmo di dispersione delle informazioni adattivo. Harmony utilizza anche l'instradamento di Kademlia per realizzare transazioni tra shard che scalano in modo logaritmico all'aumentare del numero di shard. Con lo sharding, è necessario mantenere anche la coerenza delle transazioni tra shard Harmony supporta anche transazioni tra shard, supporta la comunicazione diretta tra shard e garantisce la coerenza delle transazioni tra shard attraverso un meccanismo di blocco atomico.
Tutto sommato, Harmony cerca di fornire una blockchain scalabile, sicura e decentralizzata ottimizzando il livello di protocollo e il livello di rete, che può supportare scenari di applicazioni decentralizzate più tradizionali, inclusi giochi, scambi decentralizzati, IoT, ecc. Questa è una visione ambiziosa.
Attualmente, molti nuovi progetti blockchain stanno cercando di aumentare la velocità di elaborazione delle transazioni (throughput), ma nuove soluzioni come dPoS in EOS e TRON, Rootchain in Quarkchain, ecc. devono sacrificare alcuni elementi chiave, ad esempio il decentramento e la sicurezza possono migliorare significativamente le prestazioni.
Sebbene un tale sistema funzioni molto rapidamente, può essere considerato solo un sistema semi-centralizzato, che perde il concetto centrale di blockchain: il decentramento.
Come soluzione per l'espansione della blockchain, lo sharding può migliorare significativamente le prestazioni della rete senza compromettere la sicurezza e il decentramento.
Harmony risolve il problema dell'espansione della blockchain introducendo il partizionamento dello stato nella blockchain: poiché ogni nodo deve solo eseguire e archiviare una parte dei dati della blockchain per completare la transazione, il carico di lavoro dell'elaborazione della transazione è condiviso da scalabilità del blocco stesso.
Il ridimensionamento è uno dei problemi più discussi nel settore della blockchain in questo momento. Chi risolve per primo questo problema diventerà il leader del settore. Naturalmente, la premessa qui è che tenendo conto dei due attributi di sicurezza e decentralizzazione, se si ottiene una svolta sacrificando questi due attributi chiave, questa è solo una svolta di basso livello, o si sta muovendo verso un diverso percorso di sviluppo.
Con la premessa di tenere conto della sicurezza e del decentramento, lo sharding è uno dei percorsi più importanti per l'espansione della blockchain. Questo è il fulcro dell'esplorazione di Harmony. Sebbene ci siano altri progetti blockchain di sharding, incluso Ethereum 2.0, ci sono anche progetti cross-chain. Se Harmony può esplorare lo sharding, può essere più solido di altri progetti. Quindi ha la possibilità di ottenere un vantaggio sulla concorrenza.
Certo, il team Harmony ha scelto una strada difficile, che richiede molto impegno e ha concorrenti molto forti. Secondo l'introduzione del team Harmony a Blue Fox Notes, il progetto ha completato 18 milioni di dollari di finanziamento e gli investitori hanno fondi dalla Silicon Valley, Australia, Hong Kong e Singapore, e ha avuto un buon inizio.
Dal white paper di Harmony, si può vedere che il team ha un pensiero tecnico chiaro e ha riflettuto a fondo sui problemi da affrontare nell'implementazione dei progetti di sharding.Il team è composto principalmente da personale di ricerca e sviluppo, principalmente proveniente dal background di Microsoft, Google e Apple.
Meccanismo di consenso FBFT scalabile
Harmony non adotta il PoW, ma il meccanismo PoS, gli utenti ottengono i diritti e i premi della produzione di blocchi tramite lo staking dei token. Allo stesso tempo, Harmony utilizza il meccanismo FBPT nel processo di produzione e verifica dei blocchi. Prima di spiegare cos'è FBFT, sappiamo che PBFT è una pratica tolleranza ai guasti bizantina. Poiché PBFT ha un meccanismo di cui i verificatori hanno bisogno per trasmettere i propri voti ad altri verificatori, ciò aumenta notevolmente la complessità della comunicazione di PBFT, rendendo difficile l'espansione della blockchain se il sistema ha centinaia o migliaia di nodi.
Per il problema che PBFT è difficile da espandere, FBFT è stato ottimizzato e FBFT può raggiungere un'espansione lineare in termini di complessità della comunicazione. Nello specifico, come raggiungerlo? Nel meccanismo FBFT, ha anche i ruoli di leader e verificatore e non richiede che tutti i verificatori trasmettano i propri voti.Il leader esegue un processo di firma multi-firma per raccogliere i voti dei verificatori. è O(1 ), quindi trasmette il voto. Ciò significa che ogni validatore deve ricevere solo una multifirma, riducendo la complessità della comunicazione da O(n^2) a O(n).
Il meccanismo di firma di Schnorr può ottenere un'aggregazione multi-firma di dimensioni costanti e formare un albero multicast tra i verificatori per facilitare la consegna dei messaggi, ma la multi-firma di schnorr richiede round di impegno segreto, che porteranno al problema di due round trip per un singolo multi-firma , FBFT utilizza lo schema multi-firma BLS (Boneh-Lynn-Shacham) per ottimizzare questo problema e per ottenerlo è necessario un solo round trip. Pertanto, FBFT è più veloce del 50% rispetto a BFT utilizzando il meccanismo di firma Schonorr. Infine, Harmony utilizza anche il codice fontana RaptorQ per accelerare il processo di trasmissione a blocchi.
Una cosa da notare è che tutti i verificatori del consenso Harmony sono selezionati in base al meccanismo PoS. I validatori con più quote di voto hanno più voti di tutti gli altri, invece di firmare un voto alla volta. Ciò significa anche che ciò che il leader attende non è la firma dei verificatori 2f+1, ma le quote di voto dei verificatori 2f+1.
Algoritmo casuale che integra VRF e VDF
Per la blockchain, deve essere espanso rapidamente. Ad esempio, il suddetto FBFT può ottenere una conferma della transazione più rapida, ma la sicurezza è sempre la cosa più importante importante di. Nel processo di convalida dei blocchi, mantenere la casualità è una priorità assoluta per la sicurezza.
Un buon algoritmo casuale deve essere imprevedibile, verificabile, non discriminatorio e scalabile allo stesso tempo. Alcuni protocolli possono essere imprevedibili, non discriminatori e verificabili, ma la scalabilità è debole, come il protocollo RandHound. Hanno i loro vantaggi e svantaggi.
Harmony propone un algoritmo di generazione casuale che combina le tecnologie VRF e VDF. VRF è una funzione casuale verificabile e VDF è una funzione di ritardo verificabile. Algorand utilizza la classificazione crittografica basata su VRF (Verifiable Random Function) per selezionare un gruppo di verifica del consenso; Ethereum 2.0 propone VDF (Verifiable Delay Function) per ritardare la rivelazione del numero casuale effettivo e prevenire l'attacco dell'ultimo rivelatore.
A causa di VDF, il leader non può conoscere il numero casuale finale effettivo fino a quando pRnd non viene inviato alla blockchain. Poiché il VDF viene utilizzato per calcolare Rnd, pRnd è già stato impegnato nel blocco precedente, quindi il leader non può manipolarlo. Se il leader non invia pRnd per interrompere il protocollo, FBFT dispone di un meccanismo di timeout per cambiare il leader e riavviare il protocollo. Inoltre, la complessità del protocollo DRG adottato da Harmony è O(n), che è almeno un ordine di grandezza più veloce di alcuni progetti.
Sharding basato su PoS
Sia PoW che PoS devono prevenire gli attacchi Sybil. La catena PoW utilizza la potenza di calcolo per dimostrare la propria identità e ottiene così il diritto di produrre blocchi. Harmony adotta il meccanismo PoS e PoS utilizza l'equity token pledge del validatore per dimostrarlo. Per diventare un validatore di Harmony, devi prima puntare determinati token. Più token sono puntati, più quote di voto del validatore puoi ottenere. Ogni azione di voto corrisponde ad un voto per consenso BFT.
Gli staking dello staking ottengono quote di voto proporzionali ai token che scommettono. Le quote di voto vengono assegnate casualmente ai frammenti. Le parti interessate che diventano validatori di shard ottengono i diritti di voto corrispondenti nello shard.
Nel processo di consenso e frammentazione di Harmony, c'è un concetto di cicli (Epoche). I periodi sono intervalli di tempo predeterminati durante i quali la struttura dello shard è fissa e ogni shard esegue continuamente il consenso con lo stesso set di validatori.
All'inizio di ogni ciclo, un numero casuale verrà generato dal protocollo DRG e la struttura di frammentazione sarà determinata in base al numero casuale. I validatori devono puntare i loro token nel periodo precedente se vogliono convalidare le transazioni durante un determinato periodo. La scadenza per lo stake pledge è prima che il numero casuale preimage pRnd venga inviato alla blockchain.
All'inizio di ogni nuovo ciclo di convalida, le quote di voto del nuovo validatore vengono assegnate casualmente agli shard. Nuovi validatori si uniscono a uno shard e le loro quote di voto vengono distribuite. Il consenso Shard richiede firme in blocco con almeno 2f+1 quote di voto.
Al fine di garantire la sicurezza di un singolo shard, Harmony adotta un PoS a soglia adattiva, che regola il prezzo delle quote di voto tramite algoritmi in modo adattivo, e assegna quote di voto individuali agli shard invece di una singola verifica By.
Al fine di prevenire attacchi di pegno su larga scala, Harmony non esegue lo shard attraverso i verificatori, ma lo shard attraverso le quote di voto per evitare che un gran numero di verificatori detentori di monete occupi un singolo shard. Un singolo validatore può essere assegnato a più shard se ha quote di voto assegnate a diversi shard. Il leader di uno shard è determinato a essere il validatore con la prima quota di voto in un determinato gruppo.
Allo stesso tempo, le quote di voto sono così ridotte che gli aggressori malintenzionati non possono raccogliere il potere in un singolo frammento. Dopo il calcolo, Harmony ritiene che una volta superate le 600 quote di voto, l'elevata sicurezza dello sharding possa essere garantita.
Considerando i vantaggi economici, i validatori con più token in stake hanno più possibilità di essere eletti leader. In caso di comportamento dannoso, i validatori che hanno messo in stake i token temono che i loro interessi vengano sminuiti, garantendo così la sicurezza della rete.
Oltre ai meccanismi di cui sopra, Harmony adotta anche uno schema di sharding rimescolato per migliorare la sua sicurezza. Perché se i frammenti rimangono strutturati, gli aggressori malintenzionati hanno ancora l'opportunità di eseguire i loro attacchi. Come l'implementazione di un attacco a ciclo statico, un attacco di adattamento lento o un attacco di adattamento completo e così via. Harmony utilizza un meccanismo di resharding basato sulle regole di Cuckoo per risolvere questi problemi. Al termine di un ciclo di validazione in cui i validatori che ritirano la puntata vengono espulsi dalla rete, quelli che mantengono la puntata restano.
Sincronizzazione rapida dello stato
Il primo blocco di un'epoca contiene un collegamento hash al primo blocco dell'epoca precedente. Ciò consente di sincronizzare rapidamente lo stato dei nuovi nodi, dove possono fare affidamento su blocchi grigi per verificare rapidamente lo stato corrente.
Se devi scaricare l'intera cronologia della blockchain per verificare le transazioni shard, allora il tempo è troppo lungo.Se hai sincronizzato la cronologia della blockchain di Ethereum, saprai che potrebbero essere necessari diversi giorni. Harmony deve solo scaricare lo stato corrente all'interno di una finestra di tempo di ciclo.
In Harmony, i nuovi validatori che si uniscono a un frammento scaricano prima i tentativi di stato corrente per quel frammento. I nuovi nodi scaricano le intestazioni di blocco storiche e verificano le intestazioni di blocco controllando le loro firme. Lo stato dello shard è valido finché sono presenti tracce crittografiche dallo stato corrente al blocco genesis, come puntatori hash e firme.
Allo stesso tempo, al fine di ridurre il costo e il tempo di calcolo della verifica della firma, il primo blocco di ogni ciclo di Harmony contiene un puntatore hash aggiuntivo che punta al primo blocco del ciclo precedente. In questo modo, un nuovo nodo può saltare altri blocchi in un ciclo durante il tracciamento del suo puntatore hash al blocco genesis, accelerando così la verifica dello stato corrente della blockchain. Infine, per ottimizzare ulteriormente il processo di sincronizzazione dello stato, Harmony manterrà lo stato della blockchain il più piccolo possibile.
Link correlati:
https://www.qukuaiwang.com.cn/szhb/3285.html###