Škálování
Přehled škálování
S tím, jak roste počet lidí používajících Ethereum, dosáhl blockchain určitých kapacitních omezení. To vedlo ke zvýšení nákladů na používání sítě a vytvořilo potřebu „řešení škálování“. Zkoumá se, testuje a implementuje několik řešení, která k dosažení podobných cílů přistupují různými způsoby.
Hlavním cílem škálovatelnosti je zvýšit rychlost transakcí (rychlejší finalita) a propustnost transakcí (vyšší počet transakcí za sekundu) bez obětování decentralizace nebo bezpečnosti. Na blockchainu Etherea na vrstvě 1 (l1) vede vysoká poptávka k pomalejším transakcím a neúnosným cenám gasu. Zvýšení kapacity sítě z hlediska rychlosti a propustnosti je zásadní pro smysluplné a masové přijetí Etherea.
Ačkoli jsou rychlost a propustnost důležité, je nezbytné, aby řešení škálování umožňující tyto cíle zůstala decentralizovaná a bezpečná. Udržení nízké bariéry vstupu pro provozovatele uzlů je kritické pro zabránění posunu směrem k centralizovanému a nezabezpečenému výpočetnímu výkonu.
Koncepčně nejprve rozdělujeme škálování na onchain škálování a offchain škálování.
Předpoklady
Měli byste dobře rozumět všem základním tématům. Implementace řešení škálování je pokročilá, protože technologie je méně prověřená v praxi a nadále se zkoumá a vyvíjí.
Onchain škálování
Onchain škálování vyžaduje změny v protokolu Etherea ( na vrstvě 1). Dlouhou dobu se očekávalo, že Ethereum bude škálovat sharding blockchainu. To mělo zahrnovat rozdělení blockchainu na oddělené části (shardy), které by ověřovaly podmnožiny validátorů. Nicméně jako primární technika škálování převládlo škálování pomocí rollupů na vrstvě 2 (l2). To je podpořeno přidáním nové, levnější formy dat připojených k blokům Etherea, která je speciálně navržena tak, aby rollupy byly pro uživatele levné.
Sharding
Sharding je proces rozdělení databáze. Podmnožiny validátorů by byly zodpovědné za jednotlivé shardy, místo aby sledovaly celé Ethereum. Sharding byl dlouhou dobu na plánu vývoje Etherea a kdysi se zamýšlelo jeho spuštění před Merge na důkaz podílem (PoS). Rychlý vývoj rollupů na vrstvě 2 a vynález dankshardingu (přidávání blobů rollupových dat do bloků Etherea, které mohou validátoři velmi efektivně ověřovat) však vedly komunitu Etherea k upřednostnění škálování zaměřeného na rollupy namísto škálování pomocí shardingu. To také pomůže udržet logiku konsensu Etherea jednodušší.
Offchain škálování
Offchain řešení jsou implementována odděleně od Mainnetu na vrstvě 1 – nevyžadují žádné změny stávajícího protokolu Etherea. Některá řešení, známá jako řešení „vrstvy 2“, odvozují svou bezpečnost přímo z konsensu Etherea na vrstvě 1, jako jsou optimistické rollupy, rollupy s nulovým vědomím nebo stavové kanály. Jiná řešení zahrnují vytváření nových řetězců v různých formách, které odvozují svou bezpečnost odděleně od Mainnetu, jako jsou postranní řetězce, Validia nebo řetězce Plasma. Tato řešení komunikují s Mainnetem, ale odvozují svou bezpečnost odlišně, aby dosáhla různých cílů.
Škálování na vrstvě 2
Tato kategorie offchain řešení odvozuje svou bezpečnost z Ethereum Mainnetu.
Vrstva 2 je souhrnný termín pro řešení navržená tak, aby pomohla škálovat vaši aplikaci zpracováním transakcí mimo Ethereum Mainnet (vrstva 1), přičemž využívají robustní decentralizovaný bezpečnostní model Mainnetu. Rychlost transakcí trpí, když je síť zaneprázdněná, což zhoršuje uživatelský zážitek u určitých typů decentralizovaných aplikací (dapp). A jak je síť vytíženější, ceny gasu rostou, protože odesílatelé transakcí se snaží navzájem přeplatit. To může používání Etherea velmi prodražit.
Většina řešení na vrstvě 2 je soustředěna kolem serveru nebo clusteru serverů, z nichž každý může být označován jako uzel, validátor, operátor, sekvencer, tvůrce bloků nebo podobným termínem. V závislosti na implementaci mohou být tyto uzly vrstvy 2 provozovány jednotlivci, podniky nebo subjekty, které je používají, nebo operátorem třetí strany, případně velkou skupinou jednotlivců (podobně jako Mainnet). Obecně řečeno, transakce jsou odesílány těmto uzlům vrstvy 2 namísto přímého odesílání na vrstvu 1 (Mainnet). U některých řešení je instance vrstvy 2 následně dávkuje do skupin před jejich ukotvením na vrstvu 1, po čemž jsou zabezpečeny vrstvou 1 a nelze je změnit. Podrobnosti o tom, jak se to dělá, se mezi různými technologiemi a implementacemi vrstvy 2 výrazně liší.
Konkrétní instance vrstvy 2 může být otevřená a sdílená mnoha aplikacemi, nebo může být nasazena jedním projektem a vyhrazena pouze pro podporu jeho aplikace.
Proč je vrstva 2 potřeba?
- Zvýšený počet transakcí za sekundu výrazně zlepšuje uživatelský zážitek a snižuje přetížení sítě na Ethereum Mainnetu.
- Transakce jsou srolovány do jediné transakce na Ethereum Mainnet, což snižuje poplatky za gas pro uživatele a činí Ethereum inkluzivnějším a dostupnějším pro lidi kdekoli.
- Jakékoli aktualizace škálovatelnosti by neměly být na úkor decentralizace nebo bezpečnosti – vrstva 2 staví na Ethereu.
- Existují sítě vrstvy 2 specifické pro aplikace, které přinášejí vlastní sadu zefektivnění při práci s aktivy ve velkém měřítku.
Rollupy
Rollupy provádějí spouštění transakcí mimo vrstvu 1 a data jsou poté odeslána na vrstvu 1, kde je dosaženo konsensu. Vzhledem k tomu, že transakční data jsou zahrnuta v blocích vrstvy 1, umožňuje to zabezpečení rollupů nativní bezpečností Etherea.
Existují dva typy rollupů s různými bezpečnostními modely:
- Optimistické rollupy: předpokládají, že transakce jsou ve výchozím nastavení platné, a výpočet provádějí pouze prostřednictvím v případě zpochybnění. Více o optimistických rollupech.
- Rollupy s nulovým vědomím: provádějí výpočty offchain a odesílají do řetězce. Více o rollupech s nulovým vědomím.
Stavové kanály
Stavové kanály využívají multisig kontrakty, které účastníkům umožňují rychle a volně provádět transakce offchain a poté vypořádat finalitu s Mainnetem. To minimalizuje přetížení sítě, poplatky a zpoždění. V současné době existují dva typy kanálů: stavové kanály a platební kanály.
Zjistěte více o stavových kanálech.
Postranní řetězce
Postranní řetězec je nezávislý blockchain kompatibilní s EVM, který běží paralelně s Mainnetem. Jsou kompatibilní s Ethereem prostřednictvím obousměrných mostů a běží podle vlastních zvolených pravidel konsensu a parametrů bloků.
Zjistěte více o postranních řetězcích.
Plasma
Řetězec Plasma je samostatný blockchain, který je ukotven k hlavnímu řetězci Etherea a k rozhodování sporů používá důkazy o podvodu (jako optimistické rollupy).
Zjistěte více o Plasmě.
Validium
Řetězec Validium používá důkazy platnosti jako rollupy s nulovým vědomím, ale data nejsou uložena na hlavním řetězci Etherea na vrstvě 1. To může vést k 10 tisícům transakcí za sekundu na jeden řetězec Validium a paralelně lze provozovat více řetězců.
Zjistěte více o Validium.
Proč je potřeba tolik řešení škálování?
- Více řešení může pomoci snížit celkové přetížení v jakékoli části sítě a také zabránit vzniku jediného bodu selhání.
- Celek je víc než součet jeho částí. Různá řešení mohou existovat a fungovat v harmonii, což umožňuje exponenciální vliv na budoucí rychlost a propustnost transakcí.
- Ne všechna řešení vyžadují přímé využití algoritmu konsensu Etherea a alternativy mohou nabídnout výhody, které by jinak bylo obtížné získat.
Učíte se raději vizuálně?
Vezměte prosím na vědomí, že vysvětlení ve videu používá termín „vrstva 2“ pro označení všech offchain řešení škálování, zatímco my rozlišujeme „vrstvu 2“ jako offchain řešení, které odvozuje svou bezpečnost prostřednictvím konsensu Mainnetu na vrstvě 1.
Další čtení
- Plán vývoje Etherea zaměřený na rollupy (opens in a new tab) Vitalik Buterin
- Aktuální analytika řešení škálování na vrstvě 2 pro Ethereum (opens in a new tab)
- Hodnocení řešení škálování Etherea na vrstvě 2: Srovnávací rámec (opens in a new tab)
- Neúplný průvodce rollupy (opens in a new tab)
- ZK-Rollupy poháněné Ethereem: Světová špička (opens in a new tab)
- Optimistické rollupy vs. ZK rollupy (opens in a new tab)
- Proč jsou rollupy + datové shardy jediným udržitelným řešením pro vysokou škálovatelnost (opens in a new tab)
- Jaké druhy vrstvy 3 dávají smysl? (opens in a new tab)
- Dostupnost dat aneb: Jak se rollupy naučily přestat se bát a milovat Ethereum (opens in a new tab)
- Praktický průvodce rollupy na Ethereu (opens in a new tab)
Víte o komunitním zdroji, který vám pomohl? Upravte tuto stránku a přidejte ho!
Návody: Budování škálovatelných vrstev 2 na Ethereu
- Vše, co můžete cachovat – Jak vytvořit a používat cachovací kontrakt ke snížení nákladů na data volání na rollupech.
- Krátká ABI pro optimalizaci dat volání – Jak používat kratší ABI ke snížení nákladů na data volání pro transakce na vrstvě 2.