Klíče v proof-of-stake Ethereu
Stránka naposledy aktualizována: 14. února 2026
Ethereum zabezpečuje majetek uživatelů pomocí kryptografie s veřejným a soukromým klíčem. Veřejný klíč se používá jako základ pro adresu Etherea – to znamená, že je viditelný pro širokou veřejnost a používá se jako jedinečný identifikátor. Soukromý (neboli „tajný“) klíč by měl být přístupný pouze majiteli účtu. Soukromý klíč se používá k „podepisování“ transakcí a dat, aby kryptografie mohla prokázat, že držitel schvaluje určitou akci konkrétního soukromého klíče.
Klíče Etherea se generují pomocí kryptografie na bázi eliptických křivekopens in a new tab.
Když však Ethereum přešlo z důkazu prací na důkaz podílem, byl do Etherea přidán nový typ klíče. Původní klíče stále fungují úplně stejně jako dříve – u klíčů založených na eliptických křivkách, které zabezpečují účty, nedošlo k žádným změnám. Uživatelé však potřebovali nový typ klíče pro účast v mechanismu proof-of-stake prostřednictvím stakingu ETH a provozování validátorů. Tato potřeba vznikla z problémů se škálovatelností spojených s velkým množstvím zpráv předávaných mezi velkým počtem validátorů, což vyžadovalo kryptografickou metodu, kterou by bylo možné snadno agregovat, aby se snížilo množství komunikace potřebné k tomu, aby síť dosáhla konsensu.
Tento nový typ klíče používá schéma podpisu Boneh-Lynn-Shacham (BLS)opens in a new tab. BLS umožňuje velmi efektivní agregaci podpisů, ale také umožňuje zpětné inženýrství agregovaných jednotlivých klíčů validátorů a je ideální pro správu akcí mezi validátory.
Dva typy klíčů validátora
Před přechodem na proof-of-stake měli uživatelé Etherea pro přístup ke svým prostředkům pouze jediný soukromý klíč založený na eliptických křivkách. Se zavedením proof-of-stake potřebovali uživatelé, kteří chtěli být solo stakery, také klíč validátora a klíč pro výběr.
Klíč validátora
Podpisový klíč validátora se skládá ze dvou prvků:
- Soukromý klíč validátora
- Veřejný klíč validátora
Účelem soukromého klíče validátora je podepisovat on-chain operace, jako jsou návrhy bloků a atestace. Z tohoto důvodu musí být tyto klíče uloženy v horké peněžence.
Tato flexibilita má tu výhodu, že umožňuje velmi rychlý přesun podpisových klíčů validátora z jednoho zařízení na druhé, avšak v případě jejich ztráty nebo odcizení může zloděj několika způsoby jednat se zlým úmyslem:
- Způsobit slashing validátora tím, že:
- Jako navrhovatel podepíše dva různé beacon bloky pro stejný slot
- Jako atestátor podepíše atestaci, která "obklopuje" jinou
- Jako atestátor podepíše dvě různé atestace se stejným cílem
- Vynutí si dobrovolný odchod, čímž validátor přestane se stakingem a majitel klíče pro výběr získá přístup k jeho zůstatku ETH
Veřejný klíč validátora je zahrnut v transakčních datech, když uživatel vkládá ETH do smlouvy o vkladu pro staking. Toto se nazývá data vkladu a umožňuje to Ethereu identifikovat validátora.
Pověření pro výběr
Každý validátor má vlastnost známou jako pověření pro výběr. První bajt tohoto 32bajtového pole identifikuje typ účtu: 0x00 představuje původní BLS pověření (před upgradem Shapella, bez možnosti výběru), 0x01 představuje starší pověření, která odkazují na exekuční adresu, a 0x02 představuje moderní typ složeného pověření.
Validátoři s BLS klíči 0x00 musí tato pověření aktualizovat, aby odkazovala na exekuční adresu, a aktivovat tak platby z přebytku zůstatku nebo plný výběr ze stakingu. To lze provést buď poskytnutím exekuční adresy v datech vkladu během počátečního generování klíčů, NEBO pozdějším použitím klíče pro výběr k podepsání a odvysílání zprávy BLSToExecutionChange.
Více o pověřeních pro výběr validátora
Klíč pro výběr
Klíč pro výběr bude vyžadován k aktualizaci pověření pro výběr, aby odkazovala na exekuční adresu, pokud nebyla nastavena během počátečního vkladu. To umožní zahájení zpracování plateb z přebytku zůstatku a také umožní uživatelům plně vybrat jejich stakovaná ETH.
Stejně jako klíče validátora se i klíče pro výběr skládají ze dvou složek:
- Soukromý klíč pro výběr
- Veřejný klíč pro výběr
Ztráta tohoto klíče před aktualizací pověření pro výběr na typ 0x01 znamená ztrátu přístupu k zůstatku validátora. Validátor může stále podepisovat atestace a bloky, protože tyto akce vyžadují soukromý klíč validátora, avšak v případě ztráty klíčů pro výběr je motivace malá nebo žádná.
Oddělení klíčů validátora od klíčů účtu Ethereum umožňuje jednomu uživateli provozovat více validátorů.
Poznámka: Ukončení povinností stakingu a výběr zůstatku validátora v současné době vyžaduje podepsání zprávy o dobrovolném odchodu (VEM)opens in a new tab klíčem validátora. EIP-7002opens in a new tab je však návrh, který v budoucnu umožní uživateli spustit odchod validátora a výběr jeho zůstatku podepsáním zpráv o odchodu klíčem pro výběr. Tím se sníží předpoklady důvěry, protože stakerům, kteří delegují ETH poskytovatelům stakingu jako služby, umožní mít své prostředky stále pod kontrolou.
Odvození klíčů z bezpečnostní fráze
Pokud by každých 32 stakovaných ETH vyžadovalo novou sadu 2 zcela nezávislých klíčů, správa klíčů by se rychle stala nepraktickou, zejména pro uživatele provozující více validátorů. Místo toho lze odvodit více klíčů validátora z jediného společného tajemství a uložení tohoto jediného tajemství umožňuje přístup k více klíčům validátora.
Mnemotechnické pomůckyopens in a new tab a cesty jsou prominentními prvky, se kterými se uživatelé často setkávají, když přistupujíopens in a new tab ke svým peněženkám. Mnemotechnická pomůcka je sekvence slov, která funguje jako počáteční seed pro soukromý klíč. V kombinaci s dalšími daty generuje mnemotechnická pomůcka haš známý jako „hlavní klíč“. To si lze představit jako kořen stromu. Větve z tohoto kořene lze poté odvodit pomocí hierarchické cesty, takže podřízené uzly mohou existovat jako kombinace haše jejich nadřazeného uzlu a jejich indexu ve stromě. Přečtěte si o standardech BIP-32opens in a new tab a BIP-19opens in a new tab pro generování klíčů na základě mnemotechnických pomůcek.
Tyto cesty mají následující strukturu, která bude známá uživatelům, kteří interagovali s hardwarovými peněženkami:
1m/44'/60'/0'/0`Lomítka v této cestě oddělují složky soukromého klíče následovně:
1hlavní_klíč / účel / typ_mince / účet / změna / index_adresyTato logika umožňuje uživatelům připojit co nejvíce validátorů k jediné mnemotechnické frázi, protože kořen stromu může být společný a odlišení může probíhat na úrovni větví. Uživatel může z mnemotechnické fráze odvodit libovolný počet klíčů.
1 [m / 0]2 /3 /4[m] - [m / 1]5 \6 \7 [m / 2]Každá větev je oddělena znakem /, takže m/2 znamená začít od hlavního klíče a sledovat větev 2. V níže uvedeném schématu se jediná mnemotechnická fráze používá k uložení tří klíčů pro výběr, z nichž každý má dva přidružené validátory.

