Toate limbile
Scopul Harmony este de a crea un blockchain bazat pe fragmente, cu scalabilitate și securitate completă. A studiat multe soluții blockchain de pe piață și și-a propus propriul plan de implementare a ingineriei. Aici Harmony merită atenția tuturor.
Acesta este un obiectiv foarte înalt. În primul rând, are scalabilitate completă. Sharding-ul Harmony include nu numai confirmarea tranzacției, comunicarea în rețea, dar și fragmentarea stării blockchain. În al doilea rând, trebuie să asigurăm securitatea fragmentării. Sharding-ul Harmony se bazează pe procesul DRG (Distributed Random Generation), ceea ce îl face imprevizibil, corect, verificabil și scalabil. În plus, Harmony adoptă mecanismul PoS în loc de mecanismul PoW pentru a selecta validatorii și are propria sa optimizare pentru mecanismul de consens PBFT. PoS are un anumit prag, nu numai pentru a se asigura că participanții mici pot participa în rețea și pot câștiga venituri, ci și pentru a preveni atacatorii rău intenționați să obțină controlul asupra unui singur fragment. Harmony implementează diseminarea informațiilor într-un shard și printr-o rețea shard utilizând algoritmul adaptiv de dispersie a informațiilor. Harmony folosește, de asemenea, rutarea Kademlia pentru a realiza tranzacții între fragmente care se scalează logaritmic pe măsură ce numărul de fragmente crește. Odată cu sharding, trebuie menținută și consistența tranzacțiilor încrucișate. Harmony acceptă și tranzacțiile încrucișate, acceptă comunicarea directă între shard-uri și asigură consistența tranzacțiilor încrucișate printr-un mecanism de blocare atomică.
Per total, Harmony încearcă să ofere un blockchain scalabil, sigur și descentralizat prin optimizarea stratului de protocol și a stratului de rețea, care poate suporta scenarii de aplicații descentralizate mai populare, inclusiv jocuri, schimburi descentralizate, IoT etc. Aceasta este o viziune ambițioasă.
În prezent, multe proiecte noi de tip blockchain încearcă să mărească viteza de procesare a tranzacțiilor (debitul), dar noi soluții precum dPoS în EOS și TRON, Rootchain în Quarkchain etc. trebuie să sacrifice unele elemente cheie, de exemplu, descentralizarea iar securitatea poate îmbunătăți semnificativ performanța.
Deși un astfel de sistem rulează foarte repede, poate fi privit doar ca un sistem semi-centralizat, care pierde conceptul de bază al blockchain - descentralizare.
Ca soluție pentru extinderea blockchain-ului, sharding-ul poate îmbunătăți semnificativ performanța rețelei fără a compromite securitatea și descentralizarea.
Harmony rezolvă problema extinderii blockchain-ului prin introducerea sharding-ului de stat în blockchain — deoarece fiecare nod trebuie să ruleze și să stocheze doar o parte din datele blockchain pentru a finaliza tranzacția, volumul de lucru al procesării tranzacțiilor este împărțit de. Acest lucru îmbunătățește considerabil scalabilitatea blocului în sine.
Scalingul este una dintre cele mai discutate probleme din industria blockchain în acest moment. Cine rezolvă primul această problemă va deveni lider în industrie. Desigur, premisa aici este că, sub premisa luării în considerare a celor două atribute ale securității și descentralizării, dacă se realizează o descoperire prin sacrificarea acestor două atribute cheie, aceasta este doar o descoperire la nivel scăzut, sau se îndreaptă către un cale de dezvoltare diferită.
Sub premisa de a lua în considerare securitatea și descentralizarea, sharding-ul este una dintre cele mai importante căi pentru extinderea blockchain-ului. Acesta este punctul central al explorării Harmony. Deși există și alte proiecte blockchain de sharding, inclusiv Ethereum 2.0, există și proiecte cross-chain. Dacă Harmony poate explora sharding-ul, poate fi mai solid decât alte proiecte. Atunci are șansa de a obține un avans în competiție.
Desigur, echipa Harmony a ales un drum dificil, care necesită mult efort și are concurenți foarte puternici. Potrivit introducerii echipei Harmony la Blue Fox Notes, proiectul a finalizat 18 milioane de dolari SUA în finanțare, iar investitorii au fonduri din Silicon Valley, Australia, Hong Kong și Singapore și a făcut un început bun.
Din cartea albă Harmony, se poate observa că echipa are o gândire tehnică clară și s-a gândit profund la problemele care trebuie întâmpinate în implementarea proiectelor de sharding.Echipa este compusă în principal din personal de cercetare și dezvoltare, în principal din fundal de la Microsoft, Google și Apple.
Mecanism de consens FBFT scalabil
Harmony nu adoptă PoW, ci mecanism PoS, utilizatorii obțin drepturile și recompensele de a produce blocuri prin miza de jetoane. În același timp, Harmony utilizează mecanismul FBPT în procesul de producție și verificare a blocurilor. Înainte de a explica ce este FBFT, știm că PBFT este o toleranță practică bizantină la erori. Deoarece PBFT are un mecanism pe care verificatorii trebuie să-și transmită voturile către alți verificatori, acest lucru crește foarte mult complexitatea comunicării PBFT, făcând dificilă extinderea blockchain-ului dacă sistemul are sute sau mii de noduri.
Pentru problema că PBFT este dificil de extins, FBFT a fost optimizat, iar FBFT poate realiza o extindere liniară în ceea ce privește complexitatea comunicării. Mai exact, cum se realizează? În mecanismul FBFT, acesta are, de asemenea, rolurile de lider și verificator și nu solicită tuturor verificatorilor să-și transmită voturile.Liderul derulează un proces de semnătură cu mai multe semnături pentru a colecta voturile verificatorilor. Mărimea acestei semnături multiple. este O(1 ), apoi a difuzat votul. Aceasta înseamnă că fiecare validator trebuie să primească doar o singură semnătură multiplă, reducând complexitatea comunicării de la O(n^2) la O(n).
Mecanismul de semnătură Schnorr poate realiza o agregare cu mai multe semnături de dimensiune constantă și poate forma un arbore multicast printre verificatori pentru a facilita livrarea mesajelor, dar semnătura multiplă Schnorr necesită runde secrete de angajament, ceea ce va duce la problema a două călătorii dus-întors pentru un singur multi-semnătură , FBFT folosește schema multi-semnătură BLS (Boneh-Lynn-Shacham) pentru a optimiza această problemă și este necesară doar o călătorie dus-întors pentru a o realiza.De aceea, FBFT este cu 50% mai rapid decât BFT folosind mecanismul de semnătură Schonorr. În cele din urmă, Harmony folosește și codul RaptorQ pentru a accelera procesul de difuzare în bloc.
Un lucru de remarcat este că toți verificatorii de consens Harmony sunt selectați pe baza mecanismului PoS. Validatorii cu mai multe acțiuni cu drept de vot au mai multe voturi decât toți ceilalți, în loc să semneze câte un vot. Aceasta înseamnă, de asemenea, că ceea ce așteaptă liderul nu este semnătura verificatorilor 2f+1, ci acțiunile cu drept de vot ale verificatorilor 2f+1.
Algoritm aleatoriu care integrează VRF și VDF
Pentru blockchain, acesta trebuie extins rapid. De exemplu, FBFT menționat mai sus poate obține o confirmare mai rapidă a tranzacției, dar siguranța este întotdeauna cea mai bună important de. În procesul de validare a blocurilor, menținerea aleatoriei este o prioritate de top pentru securitate.
Un algoritm aleatoriu bun trebuie să fie imprevizibil, verificabil, nediscriminatoriu și scalabil în același timp. Unele protocoale pot fi imprevizibile, nediscriminatorii și verificabile, dar scalabilitatea este slabă, cum ar fi protocolul RandHound. Au propriile lor avantaje și dezavantaje.
Harmony propune un algoritm de generare aleatorie care combină tehnologiile VRF și VDF. VRF este o funcție aleatorie verificabilă, iar VDF este o funcție de întârziere verificabilă. Algorand folosește clasificarea criptografică bazată pe VRF (Funcția aleatorie verificabilă) pentru a selecta un grup de verificare de consens; Ethereum 2.0 propune VDF (Funcția de întârziere verificabilă) pentru a întârzia dezvăluirea numărului aleatoriu real și pentru a preveni atacul ultimului revelator.
Din cauza VDF, liderul nu poate cunoaște numărul aleatoriu final real până când pRnd este trimis în blockchain. Deoarece VDF este folosit pentru a calcula Rnd, pRnd a fost deja angajat în blocul anterior, astfel încât liderul nu îl poate manipula. Dacă liderul nu trimite pRnd pentru a opri protocolul, FBFT are un mecanism de timeout pentru a comuta liderul și a reporni protocolul. În plus, complexitatea protocolului DRG adoptat de Harmony este O(n), care este cu cel puțin un ordin de mărime mai rapid decât unele proiecte.
Sharding bazat pe PoS
Atât PoW, cât și PoS trebuie să prevină atacurile Sybil. Lanțul PoW folosește puterea de calcul pentru a-și dovedi identitatea și obține astfel dreptul de a produce blocuri. Harmony adoptă mecanismul PoS, iar PoS folosește gajul token-ului de capital al validatorului pentru a dovedi acest lucru. Pentru a deveni un validator al Harmony, trebuie mai întâi să mizați anumite jetoane. Cu cât mizați mai multe jetoane, cu atât puteți obține mai multe acțiuni de vot pentru validator. Fiecare acțiune cu drept de vot corespunde unui vot pentru consensul BFT.
Participanții care miză primesc acțiuni cu drept de vot proporțional cu jetoanele pe care le miză. Acțiunile cu drept de vot sunt alocate aleatoriu fragmentelor. Părțile interesate care devin validatori shard primesc drepturi de vot corespunzătoare în shard.
În procesul de consens și sharding al Harmony, există un concept de cicluri (Epoci). Perioadele sunt intervale de timp predeterminate în care structura shard este fixă și fiecare shard rulează continuu consens cu același set de validatori.
La începutul fiecărui ciclu, un număr aleator va fi generat de protocolul DRG, iar structura de fragmentare va fi determinată pe baza numărului aleator. Validatorii trebuie să-și mizeze jetoanele în perioada anterioară dacă doresc să valideze tranzacțiile într-o anumită perioadă. Termenul limită pentru gajarea mizei este înainte ca numărul aleatoriu preimagine pRnd să fie trimis în blockchain.
La începutul fiecărui nou ciclu de validare, acțiunile cu drept de vot ale noului validator sunt alocate aleatoriu fragmentelor. Noi validatori se alătură unui shard și cotele lor cu drept de vot sunt distribuite. Consensul fragmentului necesită semnături de bloc cu cel puțin 2f+1 acțiuni cu vot.
Pentru a asigura securitatea unui singur shard, Harmony adoptă un prag adaptiv PoS, care ajustează prețul acțiunilor cu drept de vot prin algoritmi într-o manieră adaptativă și atribuie shard-urilor acțiuni individuale cu drept de vot în loc de o singură verificare By.
Pentru a preveni atacurile pe scară largă cu jetoane promise, Harmony nu sparge prin verificatori, ci fragmente prin acțiuni cu vot pentru a împiedica un număr mare de verificatori care dețin monede să ocupe un singur fragment. Un singur validator poate fi atribuit mai multor fragmente dacă are părți cu drept de vot atribuite diferitelor fragmente. Liderul unui fragment este determinat să fie validatorul cu prima acțiune cu drept de vot dintr-un anumit grup.
În același timp, cotele cu drept de vot sunt atât de mici încât atacatorii rău intenționați nu pot aduna putere într-un singur fragment. După calcul, Harmony consideră că o dată cu mai mult de 600 de acțiuni cu drept de vot, securitatea ridicată a fragmentării poate fi garantată.
Având în vedere beneficiile economice, validatorii cu mai multe jetoane mizate au mai multe șanse să fie aleși ca lideri. În cazul unui comportament rău intenționat, validatorii care au mizat jetoane se tem că interesele lor vor fi diminuate, asigurând astfel securitatea rețelei.
Pe lângă mecanismele de mai sus, Harmony adoptă și o schemă de fragmentare remaniată pentru a-și îmbunătăți securitatea. Pentru că, dacă fragmentele rămân structurate, atacatorii rău intenționați au în continuare posibilitatea de a-și duce atacurile. Cum ar fi implementarea unui atac cu ciclu static, atac de adaptare lentă sau atac de adaptare completă și așa mai departe. Harmony folosește un mecanism de reîncărcare bazat pe regulile Cuckoo pentru a rezolva aceste probleme. La sfârșitul unui ciclu de validare în care validatorii care își retrag miza sunt expulzați din rețea, cei care își păstrează miza rămân.
Sincronizare rapidă a stării
Primul bloc al unei epoci conține o legătură hash către primul bloc al epocii anterioare. Acest lucru permite ca starea noilor noduri să fie sincronizată rapid, unde acestea se pot baza pe blocuri gri pentru a verifica rapid starea curentă.
Dacă trebuie să descărcați întregul istoric blockchain pentru a verifica tranzacțiile shard, atunci timpul este prea lung. Dacă ați sincronizat istoricul blockchain Ethereum, veți ști că poate dura câteva zile. Harmony trebuie doar să descarce starea curentă într-o fereastră de timp de ciclu.
În Harmony, validatorii noi care se alătură unui fragment descarcă mai întâi starea curentă pe care o încearcă pentru acel fragment. Noile noduri descarcă anteturile de bloc istorice și verifică anteturile blocurilor verificându-le semnăturile. Starea shard este valabilă atâta timp cât există urme criptografice de la starea curentă înapoi la blocul de geneză, cum ar fi pointerii hash și semnăturile.
În același timp, pentru a reduce costul și costul de timp al calculului verificării semnăturii, primul bloc al fiecărui ciclu al Harmony conține un indicator hash suplimentar care indică primul bloc al ciclului anterior. În acest fel, un nou nod poate sări peste alte blocuri într-un ciclu atunci când își urmărește indicatorul hash către blocul geneză, accelerând astfel verificarea stării curente a blockchain-ului. În cele din urmă, pentru a optimiza și mai mult procesul de sincronizare a stării, Harmony va menține starea blockchain cât mai mică posibil.
Linkuri similare:
https://www.qukuaiwang.com.cn/szhb/3285.html###