S rostoucím využíváním Etherea se provoz celého uzlu stává náročnějším na zdroje a šířku pásma. To má za následek, že stále méně lidí může provozovat plné uzly, takže síť je méně decentralizovaná. Ethereum navíc čelí potížím při škálování, protože poptávka po transakcích roste, což vede k přetížení sítě a vysokým poplatkům za plyn.
Zaregistrujte se na tři hlavní burzy v měnovém kruhu (zkopírujte odkaz a otevřete jej v prohlížeči)
https://www.communityrebate.com
Klient bez státní příslušnosti navržený společností Vitalik v roce 2017 nabízí potenciální řešení problémů decentralizace, kterým Ethereum čelí. Klíčovou myšlenkou bezstavového klienta je snížit požadavky na úložiště a šířku pásma potřebné pro provoz úplného uzlu, což umožňuje zapojení více lidí a decentralizaci sítě. Tento článek se podrobně podívá na to, jak klienti bez státní příslušnosti fungují, a na jejich potenciální výhody a nevýhody.
Co je stav Ethereum?
Abychom porozuměli klientům bez státní příslušnosti, musíme nejprve porozumět pojmu „stát“ v Ethereu. Stav Etherea se týká aktuálního stavu všech účtů, kontraktů, zůstatků, noncesů a úložiště ve světě Etherea. Lze si to představit jako databázi, která uchovává všechny relevantní informace o síti Ethereum v daném okamžiku.
Stav přetrvává ve formě Merkle Patricia trie, což je v podstatě upravený Merkle strom používaný k ukládání párů klíč-hodnota. Kořenový hash trie shrnuje celý stav. S každým novým blokem se stav aktualizuje na základě transakcí v tomto bloku. Nový kořenový hash stavu je součástí hlavičky bloku.
Postupem času se stav Etherea zvětšoval a zvětšoval, jak přibývalo více účtů, smluv a transakcí. Aktuálně velikost státu přesahuje 1TB, ročně přibývají desítky GB. Tento rostoucí stav je hlavní příčinou problému decentralizace.
Proč státní růst způsobuje problémy
Zvýšení velikosti stavu Ethereum vedlo k některým klíčovým problémům:
● Dlouhá doba synchronizace pro nové uzly – Novým uzlům trvá dlouho, než synchronizují všechny historické změny stavu. To zvyšuje obtížnost provozu nových plných uzlů, což brání decentralizaci. Synchronizace nových uzlů z bloku genesis do nejnovějšího stavu v současné době trvá mnoho dní nebo dokonce týdnů, což je pro spotřební hardware hlavní překážkou efektivního spouštění nových uzlů a umožnění připojení více účastníků k síti.
● Zvýšené požadavky na hardware – Větší stavy vyžadují více úložiště, paměti a výpočetního výkonu pro ukládání, přístup a aktualizaci. To znemožňuje uživatelům s méně zdroji spouštět uzly. Provoz plně synchronizovaného uzlu Ethereum nyní vyžaduje alespoň SSD s kapacitou 1–2 TB. To je pro mnoho potenciálních provozovatelů uzlů mimo dosah.
● Zvýšené využití šířky pásma – vysílání nového bloku musí také zahrnovat aktualizovaný stav, což vyžaduje větší šířku pásma. To zvyšuje náklady pro provozovatele uzlů. V současnosti ve většině blokových vysílání dominuje stát, takže velikost bloků nadále roste. Větší šířka pásma se promítá do vyšších nákladů pro operátory uzlů.
● Pomalejší ověřování bloků – Čtení a aktualizace větších stavů zpomaluje ověřování bloků a omezuje propustnost transakcí. Každá transakce vyžaduje více čtení a zápisů do úložiště pro aktualizaci zůstatků, nonces, stavu smlouvy atd. Větší stav znamená více čtení/zápisů na blok, což snižuje počet transakcí, které lze zpracovat za sekundu.
● Náklady na trvalé úložiště – Jakmile jsou data přidána do stavu, musí být trvale uložena. To způsobí růst neomezeného stavu. V současné době neexistuje žádný mechanismus pro aktivní odstranění starých a nepoužívaných stavových dat. Dokud bude tedy Ethereum fungovat, náklady na udržení státu se budou neomezeně zvyšovat.
Co je klient bez státní příslušnosti
Klienti bez státní příslušnosti poskytují způsob, jak ověřit nové bloky, aniž by potřebovali přístup k úplnému stavu Etherea. Využívají kryptografické důkazy zvané „svědci“ k prokázání platnosti změn stavu v bloku, aniž by vyžadovaly konkrétní údaje o stavu.
Bezstavový klient funguje následovně:
1. Klient ukládá pouze hlavičku bloku a kořen stavu, nikoli kompletní stavová data. Hlavička bloku obsahuje metadata, jako je kořenový hash stavu trie po zpracování bloku.
2. Při validaci nového bloku obdrží klient spolu s blokem i „svědka“. Tento svědek je sada důkazů Merkle, které dokazují, že konkrétní aktualizace stavu v transakci je platná.
3. Witness obsahuje Merkleův doklad o konkrétní hodnotě stavu, který se používá ke zpracování transakcí. Například aktualizace zůstatků na účtech nebo skladování smluv.
4. Klient pomocí svědectví zajistí platnost posledního známého kořenového stavu transakčního páru. Důkaz ověřuje, že změna stavu odpovídá předchozímu kořenu.
5. Pokud je platný, klient se aktualizuje na nový kořen stavu uvedený v hlavičce bloku. Tento nový kořen stavu bude použit k ověření dalšího bloku.
Použitím svědků k ověření stavu namísto lokálního ukládání celého stavu získávají klienti bez státní příslušnosti několik výhod:
● Velmi rychlé časy synchronizace – není potřeba plně synchronizovat historické změny stavu. Bezstavoví klienti se mohou synchronizovat téměř okamžitě a vyžadují pouze hlavičky bloků.
● Nízké nároky na úložiště – kořen stavu má pouze 32 bajtů. Místo stovek gigabajtů stavu jsou potřeba pouze hlavičky bloků.
● Menší využití šířky pásma – přenášejí se pouze hlavičky bloků a svědci, nikoli úplný stav. Využití šířky pásma je minimalizováno.
● Rychlé ověření – svědci obsahují pouze malou podmnožinu relevantních stavů. Pouze aktualizované účty/obchody se ukázaly být užitečné.
● Snadná podpora klientů Light – Klienti Light mohou snadno ověřovat nátisky. Model lehkého klienta je velmi kompatibilní s bezstavovou validací.
Výzvy klientů bez státní příslušnosti
Zatímco klienti bez státní příslušnosti přinášejí některé významné výhody, existují také některé významné technické problémy:
● Velikost svědků – svědci mohou být příliš velcí, než aby je bylo možné efektivně přenášet. Pokud jsou použity úplné nátisky Merkle, mohou překročit limit velikosti bloku.
● Vytváření svědků – generování optimálních svědků je pro navrhovatele bloků složité. Navrhovatel musí sestavit správné důkazy pro ověření každé transakce.
● Žádné svědecké pobídky – Za poskytnutí svědectví neexistuje žádná přímá odměna. Na rozdíl od těžby zde nejsou zabudovány žádné pobídky pro tvorbu pamětníků.
● Dočasná data – svědci prokazují stav v určitém okamžiku a je třeba je obnovit. Svědky nelze znovu použít během vývoje státu.
● Stav úložiště – Někdo stále potřebuje udržovat úplný stav, aby mohl generovat svědky. Bezstavová validace závisí na generování stavových svědků.
● Složité aplikace – Některé smlouvy se mohou spoléhat na větší podmnožiny stavů, díky čemuž je svědek nafouklý. Například smlouva, která aktualizuje mnoho úložných slotů na transakci.
možná řešení
Vědci navrhli různá řešení k řešení těchto problémů:
● Verkle tree – speciální datová struktura používaná ke zmenšení velikosti svědka. Stromy Verkle používají stručné kryptografické závazky k minimalizaci velikosti nátisku.
● Mezipaměť svědků – Navrhovatelé mohou uchovávat nedávné svědky pro opětovné použití. Ukládání do mezipaměti může být opět užitečné, protože náklady na vytvoření mohou být amortizovány.
● Protokolové pobídky – poskytují mechanismus odměn pro užitečné svědky. Nové motivační struktury mohou kompenzovat vytváření svědků.
● Kořeny mezilehlého stavu – Sledujte kořeny v průběhu času, abyste se vyhnuli obnovování nátisků. Udržování částí kořene umožňuje opětovné použití fragmentů svědků.
● Condition Rent – Vyžaduje platbu za udržení stavu v průběhu času, ořezávání nepoužívaného stavu. Rent vynucuje vyčištění zastaralého úložiště, aby se omezila velikost nátisku.
● Model rozděleného svědka – zpracování rozděleného stavu mezi navrhovatele a validátory. Řada vyhrazených uzlů navrhovatele generuje svědky.
Mezi těmito přístupy existují kompromisy a k nalezení optimální implementace je zapotřebí dalšího výzkumu. Naštěstí rychlé inovace v kryptografii s nulovými znalostmi mohou vést k novým možnostem pro efektivní klienty bez státní příslušnosti.
potenciální dopad
Pokud se podaří překonat technické překážky, klienti bez státní příslušnosti by mohli výrazně podpořit růst Etherea:
● Rychlejší synchronizace a ověřování pro podporu vyšší propustnosti transakcí. Bezstavové ověření značně urychlí zpracování bloků.
● Snížit zdroje potřebné pro provoz uzlů a zlepšit decentralizaci. Notebooky a fandové mohou reálně provozovat plné uzly.
● Lepší podpora pro nenáročné klienty, jako jsou mobilní peněženky. Důkaz stavu je vysoce kompatibilní s modelem lehkého klienta.
● Zavádějte sharding plynuleji a provádějte bezstavovou verifikaci mezi fragmenty. Transakce napříč střepy mohou využívat výhod efektivních státních důkazů.
● Možnost mazat a odstraňovat stará stavová data, která již nejsou užitečná. Růst státu lze aktivně řídit, spíše než růst donekonečna.
● Možnost operátorů uzlů flexibilněji přizpůsobit stav podle potřeb. Uzly mohou přizpůsobit zásady uchovávání stavu na základě případů použití.
● Přechod k modelu, kde jsou výpočetní výkon a šířka pásma důležitější než úložiště. Architektura se mění směrem k modelům vstřícnějším ke cloudu.
Existují také potenciální rizika, jako je zvýšená zranitelnost vůči DDoS útokům a skutečnost, že pouze několik provozovatelů uzlů spolehlivě ukládá historii blockchainu. Kryptografické důkazy však mohou tato rizika snížit. Celkově vzato jsou klienti bez státní příslušnosti jedním z nejslibnějších způsobů, jak překonat současná omezení Etherea.
na závěr
Jak se adopce zvyšuje, rostoucí velikost státu Etherea představuje výzvu pro decentralizaci. Klienti bez státní příslušnosti poskytují řešení tím, že umožňují uzlům ověřovat transakce, aniž by vyžadovaly úplný stav blockchainu. To by mohlo nakonec umožnit mobilním telefonům provozovat uzly Ethereum, což by výrazně zvýšilo decentralizaci. #DeFiChallenge

