SÀrskilt tack till Sacha Yves Saint-Leger och Danny Ryan för deras recension.

KÀrnan i varje Proof of Stake-system Àr ett signaturschema. Signaturer anvÀnds för att verifiera identiteten för varje validerare som gör att deras handlingar, bÄde bra och dÄliga, kan tillskrivas dem.

Vi kan verifiera Àrlighet genom att titta pÄ en validerares signerade meddelanden och vi kan bevisa ondskapsfullhet genom att visa meddelanden som bryter med konsensusreglerna.

Faktum Àr att i eth2, en validerings identitet Àr deras offentliga nyckel. Specifikt har varje validerare tvÄ uppsÀttningar nycklar: en signeringsnyckel och en uttagningsnyckel.

Signeringsnycklar

EN signeringsnyckel Àr nyckeln som en validerare behöver för att underteckna intyg och föreslÄ block. Eftersom en validator mÄste underteckna ett meddelande minst en gÄng per epok mÄste klientprogramvaran ha vÄrdnad om nyckeln.

Uttagstangenter

Eftersom klientprogramvaran alltid Àr ansluten till internet finns det naturligtvis en chans att ens signeringsnyckel Àventyras. För att minska effekterna av ett sÄdant övertrÀdelse delas de ÄtgÀrder en validator kan utföra mellan tvÄ nycklar.

Underteckningsnyckeln, som förklarats ovan, anvĂ€nds för att valideraren kan utföra sina uppgifter. Å andra sidan, uttagningsnyckel har makten att kontrollera en valutares medel (överföring, och dra sig tillbaka ETH).

En validator bör bara behöva anvÀnda sina uttagsnycklar nÄgra gÄnger under livslÀngden för att vara en validerare. Det betyder att de kan förvaras i kyllagring och lagras med hög sÀkerhet (offline).

* Överföringar och uttag aktiveras inte förrĂ€n Ă„tminstone fas 1

Det Àr mÄnga nycklar!

Om för varje 32ETH-insats, en behövde spara och anvÀnda tvÄ icke-relaterade nycklar för att göra en insÀttning, skulle detta komma ur hand mycket snabbt.

Lyckligtvis har vi en lösning. ÅtgĂ€rden Ă€r att nycklarna ska anvĂ€nda en gemensam hemlighet, sĂ„ att lagring av en enda hemlighet ger tillgĂ„ng till flera nycklar.

I eth2 uppnÄs detta via EIP 2333 och 2334: en uppsÀttning standarder som beskriver hur uttag och signeringsnycklar Àr relaterade, och hur de kan hÀrledas frÄn en enda mnemonic.

mnemonics

Mnemonics Àr ett annat sÀtt att koda hemligheter och Àr ett mycket enklare sÀtt för mÀnniskor att lagra och sÀkerhetskopiera sina privata nycklar.

Tanken Àr att det Àr enklare att komma ihÄg eller skriva ner sausage solution loud isolate focus glide frame door clown million shuffle impulse Àn 0x1e9f2afcc0737f4502e8d4238e4fe82d45077b2a549902b61d65367acecbccba utan att göra nÄgra misstag.

HÀmta nycklar frÄn andra nycklar

NĂ€r du interagerar med plĂ„nböcker kan du ha stött pĂ„ “banor” i formen m/44'/60'/0'/0/0. Dessa vĂ€gar beskriver ett förhĂ„llande mellan nycklar.

Enligt EIP 2333, detta förhÄllande har formen av en trÀdstruktur dÀr en nyckel bestÀms av en kÀlla till entropi (trÀdets frö) och en trÀdvÀg.

Vi anvÀnder fröet för att berÀkna trÀdets rot och bygger sedan trÀdet i lager ovanpÄ denna rot. Detta nyckeltrÀd definieras enbart genom förhÄllandet mellan grenen som följs i trÀdet och trÀdets rot.

I praktiska termer tillÄter det oss att hitta valfri nyckel i trÀdet genom att börja vid roten och berÀkna den mellanliggande nyckeln i varje gren vi följer, tills vi nÄr det blad vi Àr intresserade av.

En underbar konsekvens av detta Àr att vi kan börja med en enda entropikÀlla (till exempel en mnemonic) och dÀrifrÄn bygga ut ett praktiskt taget obegrÀnsat antal nycklar.

Genom att sÀkert lagra bara mnemonic har du en sÀkerhetskopia av alla nycklar som din validator anvÀnder.

Denna idé anvÀnds i eth2 för att tillÄta en enda mnemonic att generera sÄ mÄnga nycklar som en validator behöver. Om du till exempel vill köra tre validerare kan du anvÀnda en enda mnemonic för att generera uttagsknapparna som finns pÄ
m/0,
m/1,
m/2.

      [m / 0] 
     /        
    /           
[m] - [m / 1] 
    
     
      [m / 2] 

Varje gren separeras med en / sÄ m/2 betyder att börja med huvudnyckeln och följ gren 2.

EIP 2334 anger att validatorns signeringsnyckel Àr 0barnens gren av uttagsnyckeln. I praktiken innebÀr detta att nÀr du följer standarden, om du kÀnner till den privata nyckeln för uttag, kan du berÀkna motsvarande privata nyckel för signering.

FortsÀtter med exemplet ovan, kommer signeringsknapparna att hittas pÄ:
m/0/0,
m/1/0,
m/2/0.

      [m / 0] - [m / 0 / 0]
     /        
    /           
[m] - [m / 1] - [m / 1 / 0]
    
     
      [m / 2] - [m / 2 / 0]

Medan vi försökte hĂ„lla detta exempel sĂ„ enkelt som möjligt, i praktiken Ă€r de berörda vĂ€garna lite lĂ€ngre (EIP 2334 krĂ€ver anvĂ€ndning m/12381/3600/i/0, och m/12381/3600/i/0/0 för uttag respektive signeringsnycklar). ÄndĂ„ förblir logiken densamma.

Det viktiga att komma ihÄg Àr att om du kÀnner till mnemoniken kan du berÀkna dina uttagsnycklar och dÀrifrÄn hÀrleda dina signeringsnycklar.

Förvara nycklar

Validator-klienter anvÀnder nyckelbutiker som en metod för utbyte av nycklar.

nyckelbehÄllare Àr filer som innehÄller privata nycklar som Àr krypterade med en anvÀndares lösenord. De kan lagras och överföras mellan datorer förutsatt att lösenordet inte lagras pÄ samma dator.

NÀr du Àr redo att börja validera kan du ge din klient nyckelbutikerna och lösenordet som krypterar dem (det krÀvs bÄda informationen för att importera dina nycklar).

Att bli en validerare

Det första steget i att bli en validator Àr att generera lÀmpliga nycklar. Dessa kommer att genereras nÀr du har skrivit ner din mnemonic.

Eftersom det inte finns nÄgra uttag eller överföringar i fas 0, behöver du inte ha nyckelbutiker för dina uttagsnycklar; att lagra din mnemonic sÀkert Àr tillrÀckligt.

Eftersom dina validator-klienter behöver dina signeringsnycklar, kommer du att fÄ en nyckelbutik för var och en av dina validatorer för att lagra dessa nycklar.

Nu Àr det insÀttningstid! För att bli en validator mÄste du skicka 32 ETH per validator utöver din insÀttningsdata som innehÄller alla dina officiella nycklar för din validator.

InsÀttningsdata registreras sedan i insÀttningsavtalet pÄ eth1. Detta kontrakt övervakas av eth2-noder som ansvarar för att kopiera över insÀttningsdata. NÀr dina insÀttningsdata har kopierats Àr du nu officiellt en validerare!

Att bli en validerare pÄ det enkla sÀttet

Vi Àr glada att meddela att vi har arbetat hÄrt med ett vÀnligt grÀnssnitt för att gÄ validerare genom denna process. HÄll dig uppdaterad inom kort om vad Eth2 Launchpad Àr och hur du anvÀnder den!

LEAVE A REPLY

Please enter your comment!
Please enter your name here