Särskilt tack till Sacha Yves Saint-Leger och Joseph Schweitzer för översynen.

Skärmning är en av de många förbättringar som eth2 har jämfört med eth1. Termen lånades från databasforskning där en skärv betyder en bit av en större helhet. I samband med databaser och eth2 innebär skärvning att dela upp lagring och beräkning av hela systemet till skärvor, bearbeta skärvor separat och kombinera resultaten efter behov. Specifikt implementerar eth2 många skärvkedjor, där varje skärv har liknande funktioner som eth1-kedjan. Detta resulterar i massiva förbättringar av skalningen.

Men det finns en mindre känd typ av skärning i eth2. En som är utan tvekan mer spännande ur en protokolldesignsynpunkt. Gå in i skärmad konsensus.

Skärande konsensus

På ungefär samma sätt som bearbetningskraften för den långsammaste noden begränsar nätverkets genomströmning, begränsar datorresurserna för en enda validator det totala antalet validerare som kan delta i konsensus. Eftersom varje ytterligare validator introducerar extra arbete för alla andra validatorer i systemet kommer det en punkt där valideraren med minst resurser inte längre kan delta (eftersom den inte längre kan hålla reda på rösterna för alla andra validerare) . Lösningen eth2 använder för detta är skärpa konsensus.

Bryta ner det

Eth2 delar upp tiden i två varaktigheter, slots och epoker.

En lucka är den 12 sekunders tidsramen där ett nytt block förväntas läggas till kedjan. Block är den mekanism som röster av validerare inkluderar i kedjan utöver de transaktioner som faktiskt gör kedjan användbar.

En epok består av 32 platser (6,4 minuter) under vilken fyrkedjan utför alla beräkningar som är förknippade med underhållet av kedjan, inklusive: rättfärdiga och slutföra nya block, och utfärda belöningar och påföljder till validerare.

Som vi berörde i första inlägget i denna serie, validerare är organiserade i kommittéer för att göra sitt arbete. Vid varje tillfälle är varje validering medlem i exakt en fyrkedja och en skärvkedjekommitté och uppmanas att göra ett intyg exakt en gång per epok – där ett intyg är en röst för ett fyrkedjeblock som har föreslagits för en plats.

Säkerhetsmodellen för eth2s skärvade samförstånd bygger på idén att kommittéer är mer eller mindre en korrekt statistisk representation av den totala valideringsuppsättningen.

Om vi ​​till exempel har en situation där 33% av valideringarna i den totala uppsättningen är skadliga, finns det en chans att de kan hamna i samma kommitté. Detta skulle vara en katastrof för vår säkerhetsmodell.

Så vi behöver ett sätt att säkerställa att detta inte kan hända. Med andra ord, vi behöver ett sätt att säkerställa att om 33% av validatorerna är skadliga, endast cirka 33% av validatorerna i en kommitté kommer att vara skadliga.

Det visar sig att vi kan uppnå detta genom att göra två saker:

  1. Att se till att kommittéuppdragen är slumpmässiga
  2. Kräver ett minsta antal validerare i varje utskott

Med 128 slumpmässiga provtagare per utskott är till exempel chansen att en angripare med 1/3 av validatorerna får kontroll över> 2/3 kommittén försvinner liten (sannolikhet mindre än 2 ^ -40).

Bygg upp det

Röster som gjorts av validerare kallas intyg. Ett intyg består av många element, särskilt:

  • en röst för det nuvarande fyrkedjan
  • en omröstning om vilken fyrblock som ska motiveras / slutföras
  • en omröstning om det nuvarande läget i skärvkedjan
  • signaturerna från alla validerare som håller med om denna omröstning

Genom att kombinera så många komponenter som möjligt i ett intyg, ökar systemets totala effektivitet. Detta är möjligt eftersom, i stället för att behöva kontrollera röster och signaturer för fyrblock och skärvblock separat, behöver noder bara matematik på intyg för att informeras om statusen för fyrkedjan och varje skärvkedja.

Om varje validerare producerade sitt eget intyg och varje intyg behövde verifieras av alla andra noder, skulle det vara oerhört dyrt att vara en et2-nod. Ange aggregering.

Intyg är utformade för att enkelt kunna kombineras så att om två eller flera validerare har intyg med samma röster, kan de kombineras genom att lägga till signaturfälten tillsammans i ett intyg. Detta menar vi med aggregering.

Kommittéer kommer, genom sin konstruktion, att ha röster som är lätta att sammanställa eftersom de tilldelas samma skärv och därför bör ha samma röster för både skärstat och fyrkedja. Detta är den mekanism genom vilken eth2 skalar antalet validerare. Genom att dela upp valideringarna i kommittéer behöver validerare bara bry sig om sina kolleger i utskotten och måste bara kontrollera mycket få sammanlagda intyg från var och en av de andra kommittéerna.

Sammanställning av signaturer

Eth2 använder sig av BLS-signaturerna – ett signaturschema definierat över flera elliptiska kurvor som är vänliga mot aggregering. På den valda specifika kurvan är signaturer 96 bytes varje.

Om 10% av all ETH hamnar staket, kommer det att finnas ~ 350 000 validerare på eth2. Detta innebär att en epokas värde av signaturer skulle vara 33.6 megabytes som kommer till ~7.6 gigabytes per dag. I det här fallet är alla falska påståenden om eth1 tillståndsstorlek når 1 TB tillbaka 2018 skulle vara sant i eth2: s fall på färre än 133 dagar (baserat på enbart signaturer).

Tricket här är att BLS-signaturer kan samlas: Om Alice producerar signatur A, och Bobs signatur är B på samma data, så kan både Alice och Bobs signaturer lagras och kontrolleras tillsammans genom att bara lagra C = A + B. Genom att använda signaturaggregering behöver bara en signatur lagras och kontrolleras för hela kommittén. Detta minskar lagringskraven till mindre än 2 megabytes per dag.

Sammanfattningsvis,

Genom att separera validerare i kommittéer reduceras ansträngningarna för att verifiera eth2 med storleksordningar.

För att en nod ska validera fyrkedjan och alla skärvkedjor behöver den bara titta på de sammanlagda intyg från var och en av kommittéerna. På detta sätt kan den veta tillståndet för varje skärv och varje validerings åsikter om vilka block som är och inte är en del av kedjan.

Kommittémekanismen hjälper därför eth2 att uppnå två av de designmål som fastställts i första artikeln: att deltagande i eth2-nätverket måste vara möjligt på en bärbar dator med konsumentkvalitet och att det måste sträva efter att vara decentraliserat maximalt genom att stödja så många validerare som möjligt.

För att sätta siffror till det, medan de flesta byzantinska feltoleranta bevis för insatsprotokoll skalas till tiotals (och i extrema fall hundratals validerare), kan eth2 ha hundratusentals validerare som alla bidrar till säkerhet utan att kompromissa med latens eller genomströmning.

LEAVE A REPLY

Please enter your comment!
Please enter your name here