Nedostatky stávajících blockchainů: Ethereum

4. příspěvek v seriálu o důvodech Themelio

(Eric (Yuhao Dong)) (31. srpna 2020)

Distribuovaný počítač s endogenní důvěrou

Když bylo Ethereum poprvé vydáno v roce 2015, měl být blockchain radikálně odlišný od bitcoinu. Namísto implementace jediné aplikace si Ethereum klade za cíl být ekvivalentem operačního systému pro endogenně důvěryhodné aplikace nebo „dApps“ (decentralizované aplikace). Tato funkcionalita je poháněna jazykem Turing-complete (EVM) pro programy vložené do blockchainu nebo „inteligentní smlouvy“, které mohou přistupovat a ukládat libovolný stav v blockchainu. Ethereum je ve skutečnosti „světový počítač“, který může bez důvěryhodnosti používat kdokoli.

V následujících letech byla vyvinuta široká škála aplikací Ethereum, včetně nových kryptoměn jako Dai , decentralizované sázkové platformy jako Augur a dokonce i virtuální sběratelské předměty jako cryptokitties. Nejzajímavější je, že vznikl ekosystém decentralizovaného financování on-chain (DeFi) se stále likvidnějšími kapitálovými trhy dostupnými pro kohokoli se síťovým připojením. Zabezpečení všech těchto aplikací závisí na endogenní důvěře, kterou Ethereum poskytuje.

Bohužel je tato důvěra poněkud na místě. Endogenní důvěra společnosti Ethereum trpí podobnými, možná horšími problémy ve srovnání s problémy bitcoinů.

Složitost poškozuje důvěru

Ve své whitepaper , tvůrce Vitalik Buterin, formuloval vizi společnosti Ethereum jako „jednoduché“ platformy s „žádnými funkcemi“ založené na jednoduchém inteligentním kontraktním jazyce (EVM), který „může implementovat jakýkoli průměrný programátor“. Dnes je však Ethereum extrémně složitý systém s referenční implementací téměř milionu řádků kódu. Taková složitost vyžaduje neustálou údržbu a časté změny. Jakékoli aktualizace protokolu (nebo „hard forks“) v blockchainu, které narušují konsenzus, však znamenají nahrazení endogenního vztahu důvěryhodnosti v externího vývojáře protokolu. Od srpna 2020 uvádí následující tabulka pokaždé, když se protokol Etherea „hard forked“.

Jak je uvedeno výše, model komplexního operačního systému dApp společnosti Ethereum vyžaduje časté obcházení endogenní důvěry.

Ještě znepokojivější je, že vývojářům a komunitě společnosti Ethereum prostě chybí silná víra v důležitost endogenní důvěry. Ve skutečnosti Vlad Zamfir, hlavní vývojář společnosti Ethereum, vytvořil (známý blogový příspěvek) namítající proti „Szaboovu zákonu“, což je myšlenka, že blockchainy by neměly být upgradovány, pokud to nebude z kritických, kontroverzních důvodů. Ve stejném příspěvku Zamfir také tvrdí, že vnější zásah do blockchainu je legitimní formou „krypto zákonů“.

Není překvapením, že kombinace složitosti protokolu a sociální lhostejnosti k endogenní důvěře vedla k hrubému porušení endogenní důvěra, která významně narušila ekosystém. Nejznámějším příkladem je „DAO bailout“ z roku 2016.

Případová studie: DAO bailout

17. června 2016 došlo k chybě zabezpečení napájení chytrých smluv DAO, jedna z nejpopulárnějších aplikací Ethereum v té době, byla nebezpečně zneužita. Útočník ze smlouvy ukradl nebývalé množství více než 3,6 milionu ETH – téměř 5\% všech existujících ETH – ze smlouvy.

Komunita Ethereum propukla v bouřlivou debatu o tom, co s útokem dělat. Nakonec se 15. července 2016 v krátké době konalo hlasování o minci v řetězci. 87\% hlasovalo pro tvrdou vidličku, která by zvrátila útok a vrátila investory v DAO, i když pouze 5,5\% všech zbývajících ETH dopadlo na hlasování. O čtyři dny později byla vydána nová verze Etherea, která provedla hard fork.

Tato vysoce kontroverzní DAO fork zcela rozvrátila neměnnost, klíčovou vlastnost zabezpečení blockchainu. Část komunity Ethereum nadále rozpoznávala původní historii transakcí Ethereum a vytvořila samostatný blockchain známý jako Ethereum Classic. Stejně jako u bitcoinu v roce 2017, kdy se bitcoiny a bitcoinové hotovosti skončily, uživatelé se museli rozhodnout mimopásmově, které vidličce důvěřovat, zatímco vývojáři aplikací se museli vyrovnat se zemí pod jejich aplikacemi, které se náhle rozvětvily na dvě části.