Alle språk
Målet med Harmony er å lage en shard-basert blokkjede med full skalerbarhet og sikkerhet. Den har studert mange blokkjedeløsninger på markedet og foreslått sin egen ingeniørimplementeringsplan. Det er her Harmony fortjener alles oppmerksomhet.
Dette er et veldig høyt mål. Først av alt har det fullstendig skalerbarhet. Harmonys sharding inkluderer ikke bare transaksjonsbekreftelse, nettverkskommunikasjon, men også blokkjede-tilstandssharding. For det andre må vi sørge for sikkerhet for fragmentering. Harmonys sharding er basert på DRG-prosessen (Distributed Random Generation), som gjør den uforutsigbar, rettferdig, verifiserbar og skalerbar. I tillegg bruker Harmony PoS-mekanismen i stedet for PoW-mekanismen for å velge validatorer, og den har sin egen optimalisering for PBFT-konsensusmekanismen. PoS har en viss terskel, ikke bare for å sikre at små stakers kan delta i nettverket og tjene penger, men også for å hindre ondsinnede angripere fra å få kontroll over et enkelt shard. Harmony implementerer informasjonsspredning innenfor et shard og på tvers av et shard-nettverk ved å bruke Adaptive Information Dispersal Algorithm. Harmony bruker også Kademlia-ruting for å realisere cross-shard-transaksjoner som skaleres logaritmisk etter hvert som antall shards øker. Med sharding må også konsistensen av kryss-shard-transaksjoner opprettholdes.Harmony støtter også cross-shard-transaksjoner, støtter direkte kommunikasjon mellom shards, og sikrer konsistensen av cross-shard-transaksjoner gjennom en atomlåsemekanisme.
Alt i alt prøver Harmony å tilby en skalerbar, sikker og desentralisert blokkjede ved å optimalisere protokolllaget og nettverkslaget, som kan støtte mer vanlige desentraliserte applikasjonsscenarier, inkludert spill, desentraliserte utvekslinger, IoT, etc. Dette er en ambisiøs visjon.
For tiden prøver mange nye blokkjedeprosjekter å øke transaksjonsbehandlingshastigheten (throughput), men nye løsninger som dPoS i EOS og TRON, Rootchain i Quarkchain osv. må ofre noen nøkkelelementer, for eksempel desentralisering og sikkerhet kan forbedre ytelsen betydelig.
Selv om et slikt system kjører veldig raskt, kan det bare betraktes som et semisentralisert system, som mister kjernebegrepet blokkjede - desentralisering.
Som en løsning for blokkjedeutvidelse kan sharding forbedre nettverksytelsen betraktelig uten at det går på bekostning av sikkerhet og desentralisering.
Harmony løser problemet med blokkjedeutvidelse ved å introdusere state sharding i blokkjeden – siden hver node bare trenger å kjøre og lagre en del av blokkjededataene for å fullføre transaksjonen, deles arbeidsmengden med transaksjonsbehandlingen av Dette forbedrer betraktelig skalerbarheten til selve blokken.
Skalering er en av de mest omtalte problemene i blokkjedeindustrien akkurat nå. Den som løser dette problemet først vil bli ledende i bransjen. Forutsetningen her er selvfølgelig at under forutsetningen om å ta hensyn til de to egenskapene sikkerhet og desentralisering, hvis et gjennombrudd oppnås ved å ofre disse to nøkkelattributtene, er dette bare et gjennombrudd på lavt nivå, eller det beveger seg mot et annen utviklingsvei.
Under forutsetningen om å ta hensyn til sikkerhet og desentralisering, er sharding en av de viktigste veiene for utvidelse av blokkjede. Dette er fokus for Harmonys utforskning. Selv om det finnes andre blokkjedeprosjekter for skjæring, inkludert Ethereum 2.0, er det også prosjekter på tvers av kjeder. Hvis Harmony kan utforske skjæring, kan det være mer solid enn andre prosjekter. Da har det en sjanse til å få et forsprang på konkurransen.
Selvfølgelig valgte Harmony-teamet en vanskelig vei, som krever mye innsats og har veldig sterke konkurrenter. I følge Harmony-teamets introduksjon til Blue Fox Notes har prosjektet fullført 18 millioner amerikanske dollar i finansiering, og investorer har midler fra Silicon Valley, Australia, Hong Kong og Singapore, og det har gitt en god start.
Fra Harmony sin hvitbok kan man se at teamet har en klar teknisk tenkning, og har tenkt dypt på problemene man står overfor i gjennomføringen av sharding-prosjekter Teamet er hovedsakelig sammensatt av FoU-personell, hovedsakelig fra bakgrunnen fra Microsoft, Google og Apple .
Skalerbar FBFT-konsensusmekanisme
Harmony tar ikke i bruk PoW, men PoS-mekanisme, brukere oppnår rettighetene og belønningene ved å produsere blokker ved å sette ut tokens. Samtidig bruker Harmony FBPT-mekanismen i blokkproduksjons- og verifiseringsprosessen. Før vi forklarer hva som er FBFT, vet vi at PBFT er praktisk bysantinsk feiltoleranse. Siden PBFT har en mekanisme som verifikatorer trenger for å kringkaste stemmene sine til andre verifikatorer, øker dette kommunikasjonskompleksiteten til PBFT kraftig, noe som gjør det vanskelig å utvide blokkjeden hvis systemet har hundrevis eller tusenvis av noder.
For problemet med at PBFT er vanskelig å utvide, har FBFT blitt optimalisert, og FBFT kan oppnå lineær utvidelse når det gjelder kommunikasjonskompleksitet. Konkret, hvordan oppnå det? I FBFT-mekanismen har den også rollen som leder og verifikator, og krever ikke at alle verifikatorer sender stemmene sine. Lederen kjører en multisignatursignaturprosess for å samle inn verifikatorenes stemmer. Størrelsen på denne multisignaturen er O(1 ), og kringkast deretter avstemningen. Dette betyr at hver validator bare trenger å motta én multisignatur, noe som reduserer kommunikasjonskompleksiteten fra O(n^2) til O(n).
Schnorr-signaturmekanismen kan oppnå konstant størrelse multi-signatur-aggregering og danne et multicast-tre blant verifikatorer for å lette levering av meldinger, men schnorr multi-signatur krever hemmelige forpliktelsesrunder, noe som vil føre til problemet med to rundturer for en enkelt multisignatur , FBFT bruker BLS (Boneh-Lynn-Shacham) multisignaturskjema for å optimalisere dette problemet, og det kreves kun én rundtur for å oppnå det. Derfor er FBFT 50 % raskere enn BFT ved bruk av Schonorr-signaturmekanismen. Til slutt bruker Harmony også RaptorQ-fontenekoden for å øke hastigheten på blokkkringkastingsprosessen.
En ting å merke seg er at alle Harmony-konsensusverifikatorer er valgt basert på PoS-mekanismen. Validatorer med flere stemmeberettigede aksjer har flere stemmer enn alle andre, i stedet for å signere én stemme om gangen. Dette betyr også at det lederen venter på ikke er signaturen til 2f+1-verifikatorer, men stemmeandelen til 2f+1-verifikatorer.
Tilfeldig algoritme som integrerer VRF og VDF
For blokkjeden må den utvides raskt. For eksempel kan den ovennevnte FBFT oppnå raskere transaksjonsbekreftelse, men sikkerheten er alltid den beste viktig av. I prosessen med å validere blokker, er opprettholdelse av tilfeldighet en toppprioritet for sikkerhet.
En god tilfeldig algoritme må være uforutsigbar, verifiserbar, ikke-diskriminerende og skalerbar på samme tid. Noen protokoller kan være uforutsigbare, ikke-diskriminerende og verifiserbare, men skalerbarheten er svak, for eksempel RandHound-protokollen. De har sine egne fordeler og ulemper.
Harmony foreslår en tilfeldig generasjonsalgoritme som kombinerer VRF- og VDF-teknologier. VRF er en verifiserbar tilfeldig funksjon, og VDF er en verifiserbar forsinkelsesfunksjon. Algorand bruker kryptografisk klassifisering basert på VRF (Verifiable Random Function) for å velge en konsensusverifiseringsgruppe; Ethereum 2.0 foreslår VDF (Verifiable Delay Function) for å forsinke avsløringen av det faktiske tilfeldige tallet og forhindre angrepet av den siste avsløren.
På grunn av VDF kan ikke lederen vite det faktiske endelige tilfeldige tallet før pRnd er sendt inn til blokkjeden. Siden VDF brukes til å beregne Rnd, har pRnd allerede blitt forpliktet i forrige blokk, så lederen kan ikke manipulere den. Hvis lederen ikke sender inn pRnd for å stoppe protokollen, har FBFT en tidsavbruddsmekanisme for å bytte leder og starte protokollen på nytt. I tillegg er kompleksiteten til DRG-protokollen vedtatt av Harmony O(n), som er minst en størrelsesorden raskere enn noen prosjekter.
PoS-basert sharding
Både PoW og PoS må forhindre Sybil-angrep. PoW-kjeden bruker datakraft for å bevise sin identitet, og får dermed rett til å produsere blokker. Harmony tar i bruk PoS-mekanismen, og PoS bruker validatorens equity token-løfte for å bevise det. For å bli en validator av Harmony, må du først sette inn visse tokens. Jo flere tokens som satses, desto flere stemmeandeler kan du få. Hver stemmerettsandel tilsvarer én stemme for BFT-konsensus.
Staking-aktører får stemmeandeler proporsjonal med tokens de satser. De stemmeberettigede aksjene er tilfeldig fordelt på skjær. Interessenter som blir shardvalidatorer får tilsvarende stemmerett i shard.
I Harmonys konsensus- og sønderdelingsprosess er det et begrep om sykluser (epoker). Perioder er forhåndsbestemte tidsintervaller der shardstrukturen er fast og hvert shard kontinuerlig kjører konsensus med det samme settet med validatorer.
I begynnelsen av hver syklus vil et tilfeldig tall bli generert av DRG-protokollen, og fragmenteringsstrukturen vil bli bestemt basert på det tilfeldige tallet. Validatorer må satse sine tokens i forrige periode hvis de ønsker å validere transaksjoner i en viss periode. Fristen for innsatsløfte er før tilfeldig nummer preimage pRnd sendes til blokkjeden.
Ved begynnelsen av hver ny valideringssyklus blir den nye validatorens stemmeandeler tilfeldig tildelt skjærene. Nye validatorer slutter seg til en shard og deres stemmeberettigede andeler blir distribuert. Shard-konsensus krever blokksignaturer med minst 2f+1 stemmeberettigede aksjer.
For å sikre sikkerheten til en enkelt shard, vedtar Harmony en adaptiv terskel PoS, som justerer prisen på stemmeberettigede aksjer gjennom algoritmer på en adaptiv måte, og tildeler individuelle stemmeberettigede aksjer til shards i stedet for en enkelt verifisering av.
For å forhindre storskala pantsatte token-angrep, skjærer Harmony ikke gjennom verifikatorer, men skjærer gjennom stemmeandeler for å forhindre at et stort antall myntholdende verifikatorer okkuperer et enkelt shard. En enkelt validator kan tilordnes flere shards hvis den har stemmerettsandeler tildelt forskjellige shards. Lederen av en shard er fast bestemt på å være validatoren med den første stemmeandelen i en bestemt gruppe.
Samtidig er stemmeandelen så liten at ondsinnede angripere ikke kan samle makten i et enkelt skår. Etter beregning, mener Harmony at når mer enn 600 stemmeberettigede aksjer, kan den høye sikkerheten ved skjæring garanteres.
Med tanke på økonomiske fordeler, har validatorer med flere satsede tokens flere sjanser til å bli valgt som ledere. Ved ondsinnet oppførsel frykter validatorer som har satset tokens at deres interesser vil bli redusert, og dermed sikre nettverkets sikkerhet.
I tillegg til de ovennevnte mekanismene, tar Harmony også i bruk en omstokket sharding-ordning for å forbedre sikkerheten. For hvis skårene forblir strukturerte, har ondsinnede angripere fortsatt muligheten til å utføre sine angrep. Slik som implementering av statisk syklusangrep, sakte tilpasningsangrep eller full tilpasningsangrep og så videre. Harmony bruker en resharding-mekanisme basert på Cuckoo-regler for å løse disse problemene. På slutten av en valideringssyklus der validatorer som trekker sin innsats blir utvist fra nettverket, blir de som beholder sin innsats.
Rask tilstandssynkronisering
Den første blokken i en epoke inneholder en hash-lenke til den første blokken i forrige epoke. Dette gjør at tilstanden til nye noder raskt kan synkroniseres, der de kan stole på grå blokker for raskt å verifisere gjeldende tilstand.
Hvis du trenger å laste ned hele blokkjedehistorikken for å verifisere shard-transaksjoner, er tiden for lang. Hvis du har synkronisert Ethereum-blokkjedehistorikken, vil du vite at det kan ta flere dager. Harmony trenger bare å laste ned gjeldende tilstand innen et syklustidsvindu.
I Harmony prøver nye validatorer som blir med i et shard først å laste ned gjeldende tilstand for det shard. Nye noder laster ned historiske blokkhoder og verifiser blokkhodene ved å sjekke signaturene deres. Shard-tilstanden er gyldig så lenge det er kryptografiske spor fra gjeldende tilstand tilbake til genesis-blokken, for eksempel hash-pekere og signaturer.
Samtidig, for å redusere kostnadene og tidskostnadene ved signaturverifiseringsberegning, inneholder den første blokken i hver syklus av Harmony en ekstra hash-peker som peker til den første blokken i forrige syklus. På denne måten kan en ny node hoppe over andre blokker i en syklus når den sporer hash-pekeren til genesis-blokken, og dermed fremskynde verifiseringen av gjeldende blokkjedetilstand. Til slutt, for å optimalisere tilstandssynkroniseringsprosessen ytterligere, vil Harmony holde selve blokkjedetilstanden så liten som mulig.
Relaterte lenker:
https://www.qukuaiwang.com.cn/szhb/3285.html###