🇨🇿 Porovnání poplatků na platformách Cardano a Ethereum

V našem předchozím článku jsme vysvětlili jak se spouští skripty nebo smart contracty na Bitcoinu, Ethereum a Cardano. V tomto článku porovnáme Cardano a Ethereum. Zaměříme se především na poplatky. Vysvětlíme, na čem poplatky závisí a jak jsou ovlivněny návrhovými volbami, které týmy učinily při budování platforem.

Cena za vykonání smart contractu

Provádění Inteligentní smluv v distribuované síti spotřebovává počítačové zdroje. Uživatelé musí zaplatit poplatek za provedení chytré smlouvy. Uskutečnění smlouvy vyžaduje více zdrojů než ověření běžné transakce, takže poplatky jsou obvykle vyšší.

K měření množství výpočetního úsilí potřebného k provedení chytré smlouvy na Ethereum se používá koncept GAS. GAS je jednotka, která představuje nejmenší zlomek práce, kterou může virtuální stroj Ethereum (EVM) provést.

Každá operace, kterou může EVM provést, má fixní cenu GAS. Například sečtení dvou čísel stojí 3 GAS, zatímco uložení hodnoty do paměti stojí 20 GAS. Provedení stejných kroků v rámci stejné chytré smlouvy bude vždy stát stejné množství GAS.

Uživatelský poplatek závisí na ceně GAS, což je množství ETH, které se platí za jednotku GAS. Cena GAS není pevně stanovena protokolem, ale spíše nastavena uživatelem při odesílání transakce nebo nasazení inteligentní smlouvy. Čím více ETH mohou validátoři získat, tím pravděpodobněji bude transakce nebo smart kontrakt zahrnuta do dalšího bloku.

Uživatel musí zaplatit různou částku ETH za provedení stejných operací ve stejné smart smlouvě v závislosti na ceně GASu, kterou si zvolí. Cena GASu je tržní mechanismus, který uživatelům umožňuje ucházet se o omezené síťové zdroje.

GAS model má pro uživatele některé výhody a nevýhody. Na jedné straně jim umožňuje mít určitou kontrolu nad svými poplatky a upřednostňovat své transakce nebo chytré smlouvy podle jejich naléhavosti a důležitosti. Na druhou stranu to také přináší určitou složitost a nejistotu při odhadování a správě jejich poplatků a zajištění toho, aby jejich transakce nebo chytré smlouvy byly provedeny úspěšně a včas.

Cardano používá jiný systém poplatků než Ethereum, který nezávisí na ceně GASu.

Systém poplatků v Cardano je založen na dvou parametrech protokolu: A a B. Vzorec pro výpočet minimálního poplatku za transakci (tx) je: poplatek = A + B * velikost (tx), kde:

  • A a B jsou parametry protokolu, které lze upravit
  • size(tx) je velikost transakce v bajtech

Parametr A odráží fixní náklady na zpracování jakékoli transakce bez ohledu na její velikost nebo složitost. Parametr B odráží variabilní náklady na zpracování transakce v závislosti na její velikosti. Čím větší je transakce, tím více zdrojů je potřeba k jejímu uložení a zpracování.

Parametry protokolu A a B jsou aktuálně nastaveny na 0,155381 ADA a 0,000043946 ADA/byte, v daném pořadí. Pokud má například transakce velikost 200 bajtů, pak bude poplatek 0,164271 ADA (0,155381 + 0,000043946 * 200).

Poplatek za transakci na Cardano je nezávislý na její výpočetní složitosti nebo přetížení sítě. Záleží pouze na velikosti transakce, která je dána počtem a typem vstupů, výstupů, certifikátů a metadat v transakci. Proto je systém poplatků na Cardano jednodušší a předvídatelnější než GAS model na Ethereu.

Za realizaci stejné smlouvy na Ethereum může uživatel zaplatit pokaždé jinou částku ETH, zatímco v případě Cardano bude poplatek v ADA pokaždé stejný. Poplatky na Ethereum jsou nepředvídatelné, zatímco na Cardano jsou předvídatelné. Vše komplikuje fakt, že tržní hodnota ETH a ADA je také nepředvídatelná.

Systém poplatků na Cardano má také určitá omezení a výzvy. Jedním omezením je, že uživatelům neumožňuje upřednostňovat své transakce placením vyšších poplatků, jak to mohou udělat na Ethereu. Se všemi transakcemi na Cardano zacházejí provozovatelé staking poolů stejně. Zpracování transakcí je předvídatelnější, protože se chová podle zásady „kdo dřív přijde, je dřív na řadě“. Toto je chování očekávané uživatelem v některých případech, ale ne vždy je to výhoda.

Další výzvou je, že parametry protokolu A a B musí být pečlivě kalibrovány, aby vyvážily zájmy uživatelů, vývojářů a provozovatelů poolů a přizpůsobily se změnám v objemu transakcí, cenách hardwaru a tržní hodnotě ADA.

Neúspěšné transakce

Další rozdíl mezi Cardano a Ethereem se týká platby za neúspěšné transakce a vlivu neúspěšných transakcí na účetní knihu.

Na Ethereu musí uživatelé platit ETH také za neúspěšné transakce. Je to proto, že validátoři stále potřebují potvrdit transakce a provést inteligentní smlouvy, i když selžou nebo se vrátí (revertují). Poplatek se platí za výpočetní zdroje, které jsou spotřebovány transakcí, bez ohledu na její výsledek. To může mít za následek neočekávané náklady a ztráty pro uživatele.

Uživatelé Cardano si mohou předem lokálně ověřit, zda transakce projde validací sítí. Důvodem je skutečnost, že Cardano používá deterministické schéma ověřování transakcí, což znamená, že výsledek a účinky transakce lze předvídat ještě před jejím provedením v účetní knize. Cardano také používá dvoufázový přístup validace, kdy první fáze kontroluje, zda je transakce správně zkonstruována a zda může zaplatit svůj poplatek, a druhá fáze spouští skripty zahrnuté v transakci. Pokud transakce lokálně projde oběma fázemi validace, ty projdou také v síti, pokud nedojde ke změnám stavu účetní knihy způsobeným jinými transakcemi zpracovanými mezi nimi.

Pokud se transakce nezdaří v první fázi, je okamžitě zahozena a neplatí se žádný poplatek. Pokud transakce projde první fází, ale selže ve druhé fázi, je stále zahrnuta do bloku a je zaplacen poplatek, ale transakce nemá žádný (nepředvídatelný) vliv na stav hlavní knihy. Cardano totiž používá rozšířený model UTXO, který zajišťuje, že transakce jsou deterministické a předvídatelné.

Transakce na Ethereu mohou mít nepředvídatelné dopady na účetní knihu v závislosti na výsledku chytrých kontraktů, které vyvolávají. Některé operace mohou selhat nebo se revertovat z různých důvodů, například:

  • Dojde GAS: Pokud transakce nebo inteligentní smlouva překročí svůj GAS limit, což je maximální množství GASu, za které je uživatel ochoten zaplatit, pak selže a vrátí všechny své účinky, ale stále spotřebuje veškerý GAS a zaplatit maximální poplatek.

  • Neplatný operační kód: Pokud transakce nebo inteligentní kontrakt narazí na neplatný operační kód, což je instrukce, kterou EVM nerozpozná, vyvolá výjimku a vrátí všechny její účinky. K tomu může dojít kvůli chybám v kódu inteligentní smlouvy nebo zlým pokusům o zneužití zranitelnosti.

  • Reverzní operační kód: Pokud transakce nebo inteligentní smlouva výslovně volá návratový operační kód, což je instrukce, která umožňuje inteligentní smlouvě přerušit provádění a vrátit všechny její účinky, učiní tak. To se může stát z různých důvodů, jako je nesplnění určitých podmínek, spuštění určitých událostí nebo prosazení určitých pravidel.

Tyto nepředvídatelné dopady na účetní knihu mohou mít za následek neočekávané náklady a ztráty pro uživatele, kteří zahajují transakce nebo nasazují chytré smlouvy. Pokud například uživatel odešle ETH na smart kontrakt, který selže nebo se z jakéhokoli důvodu revertuje, pak uživatel ztratí ETH, které odeslal, a také zaplatí poplatek za neúspěšnou transakci.

Modulární vs. monolitický přístup

Platformy Cardano a Ethereum mají různé přístupy k tomu, jak zacházejí s inteligentním prováděním a ověřováním smluv. Cardano využívá modulární přístup, kdy se chytré smlouvy skládají ze dvou složek: on-chain kódu a off-chain kódu. Ethereum používá monolitický přístup, kdy jsou chytré smlouvy plněny a ověřovány na blockchainu.

Odlišný přístup má dopad na poplatky, výkon, zabezpečení a škálovatelnost. Výše poplatků za on-chain služby závisí na škálovatelnosti.

Nejprve se podívejme na škálovatelnost.

GAS model Etherea má určité limitace ohledně škálovatelnosti, protože vytváří úzké hrdlo pro kapacitu sítě a zdroj volatility pro poplatky. Kapacita sítě je omezena blokovým limitem GAS, což je maximální množství GAS, které mohou validátory zahrnout do bloku. Blokový limit GAS není stanoven protokolem, ale spíše je odhlasován validátory na základě jejich preferencí a pobídek. Čím vyšší je limit bloku GAS, tím více transakcí nebo smart kontraktů lze zpracovat v bloku, ale také tím více zdrojů vyžadují validátoři k ověření a uložení bloku.

Tyto problémy se škálovatelností na Ethereu negativně ovlivňují jak uživatele, tak vývojáře. Uživatelé musí za své transakce nebo chytré smlouvy platit vysoké a nepředvídatelné poplatky, což snižuje jejich použitelnost a cenovou dostupnost. Vývojáři se musí potýkat se složitým a nejistým odhadem poplatků a správou za své aplikace, což zvyšuje jejich náklady na vývoj a riziko.

Cardano má jiný systém poplatků než je GAS model Etherea a má určité výhody ohledně škálovatelnosti, protože na GAS nezávisí. Kapacita sítě není omezena blokovým limitem GAS, ale spíše limitem velikosti bloku. Limit velikosti bloku zajišťuje, že všechny bloky mohou být efektivně ověřeny a uloženy všemi validátory bez ohledu na jejich výpočetní zdroje.

Na Cardanu jsou poplatky stabilní, protože závisí pouze na velikosti transakce, která je dána jejím obsahem a strukturou. Velikost transakce se příliš neliší v závislosti na síťové aktivitě nebo událostech, protože neodráží její výpočetní složitost nebo naléhavost.

Tyto výhody škálovatelnosti na Cardano jsou pozitivní jak pro uživatele, tak pro vývojáře. Uživatelé mohou za své transakce nebo chytré smlouvy platit nízké a předvídatelné poplatky, což zvyšuje jejich použitelnost a cenovou dostupnost. Vývojáři se mohou vypořádat s jednoduchými a jistými výpočty poplatků a správou svých aplikací, což snižuje jejich náklady na vývoj a rizika.

Závislost poplatku na velikosti transakce má další výhodu o které si povíme níže.

Poplatkový systém Cardano má však také některé problémy se škálovatelností, které je třeba v budoucnu řešit. Jedním z problémů je, že nezohledňuje paměťové náklady na sledování akumulovaného stavu řetězce, zejména UTXO. UTXO musí být uloženy v paměti všemi validátory, aby ověřily nové transakce nebo smart kontrakty. Čím více transakcí nebo smart kontraktů je zpracováváno na Cardano, tím více UTXO se vytváří a ukládá do paměti, což zvyšuje spotřebu paměti a náklady na validátory.

Jak jsme již řekli, další výzvou je, že uživatelé nemohou upřednostňovat své transakce nebo chytré smlouvy tím, že budou platit vyšší poplatky.

Podívejme se nyní na různé koncepty chápání toho, co je chytrá smlouva.

Cardano využívá modulární přístup, kdy se chytré smlouvy skládají ze dvou složek: on-chain kódu a off-chain kódu. Podrobně jsme to popsali v článku zmíněném v úvodu. Zjednodušenou verzi můžete vidět na následujícím obrázku.

On-chain kód je skript (skript validátoru), který běží na blockchainu a ověřuje transakce, které zahrnují smart kontrakt. Off-chain kód je aplikace, která běží na počítači uživatele a generuje transakce, které jsou v souladu s logikou inteligentní smlouvy. On-chain kód je napsán v Plutus a je zkompilován do Plutus Core, nízkoúrovňového jazyka, který běží na Cardano Virtual Machine (CVM). Off-chain kód může být napsán v jakémkoli jazyce, který může interagovat s rozhraním API uzlu Cardano.

Je důležité si uvědomit, že skripty validátoru jsou obvykle malé a s minimem operací. Většinou pouze odemyká finanční prostředky prováděním jednoduchých operací, jako je kontrola podpisů, ověřování hashů nebo porovnávání hodnot.

On-chain logika může také provádět některé složité operace, jako je generování náhodných čísel, vytváření nezaměnitelných tokenů nebo implementace stavových automatů.

Tyto operace jsou však obvykle dražší a méně efektivní, než když jsou implementovány v off-chain logice. Jejich provedení vyžaduje více zdrojů na jedno provedení na blockchainu, což může být drahé. Proto se obvykle používají střídmě a pouze v případě potřeby. S ohledem na poplatky je na backendu implementována složitější logika. Backend může být desktopová peněženka uživatele nebo online služba běžící na serveru.

Off-chain logika může také interagovat s jinými inteligentními smlouvami nebo utrácet tokeny off-chain. Tyto interakce musí být ještě před provedením na blockchainu ověřeny logikou on-chain. Proto obvykle podléhají stejným pravidlům a omezením jako on-chain logika, jako je vyžadování podpisů, hashů nebo hodnot.

Ethereum používá monolitický přístup, kdy jsou chytré smlouvy plněny a ověřovány na blockchainu. Inteligentní smlouvy jsou psány v jazycích na vysoké úrovni, jako je Solidity nebo Vyper, a kompilovány do bajtkódu, který běží na virtuálním stroji Ethereum (EVM). Každý uzel v síti musí spustit stejný kód inteligentní smlouvy pro každou transakci, která zahrnuje inteligentní smlouvu.

Jednoduše řečeno, existuje pouze on-chain logika, kterou zpracovává EVM. Všechny operace (logika) smart kontraktu Ethereum musí být definovány ve smlouvě a transakce pouze vyvolá operace. Transakce může spustit jednu nebo více funkcí nebo operací v inteligentní smlouvě v závislosti na datech a hodnotě, které poskytuje. Inteligentní smlouva pak provádí funkce nebo operace podle své logiky a pravidel a podle toho aktualizuje svůj stav. Můžete to vidět na následujícím obrázku.

Modulární přístup Cardano má některé výhody oproti monolitickému přístupu Etherea z hlediska poplatků a škálovatelnosti.

Na Cardano lze vytvořit komplexní službu s velmi nízkými poplatky. Většinu funkcí lze provádět off-chain a pouze nezbytné části on-chain. Čím menší transakce Cardano, tím menší poplatky. Poplatky mimo řetězec mohou být přirozeně výrazně nižší (nebo téměř žádné, pokud uživatel provozuje backend lokálně).

V případě Etherea je veškerá logika inteligentních kontraktů prováděna on-chain. Pokud je kód inteligentní smlouvy složitý a velký, automaticky zvyšuje poplatky za ETH. Vývojáři jsou nuceni sepisovat co nejmenší a nejjednodušší smlouvy. Mohou mít tendenci přeskakovat některá ověřování, aby bylo provádění jednotlivých operací levnější. Složitost smlouvy zvyšuje poplatky.

Modulární přístup Cardano zlepšuje jeho škálovatelnost tím, že snižuje zátěž blockchainu a umožňuje paralelní provádění chytrých kontraktů. Protože většina logiky inteligentních kontraktů se provádí off-chain, blockchain musí pouze ověřovat transakce, které vyvolávají on-chain kód, což snižuje jeho výpočetní a storage požadavky.

Škálovatelnost Etherea je omezena jeho monolitickým přístupem, který zvyšuje zátěž blockchainu a brání paralelnímu provádění chytrých kontraktů. Vzhledem k tomu, že veškerá logika inteligentních kontraktů je vykonávána on-chain, každý uzel v síti musí spustit každý kód inteligentní smlouvy pro každou transakci, která se ho týká, což zvyšuje jeho výpočetní a storage požadavky. Navíc, protože všechny transakce musí být zpracovány sekvenčně (sdílený globální stav), mohou se navzájem revertovat a vytvářet úzká hrdla nebo zpoždění zpracování na platformě.

Závěr

Někteří si myslí, že trh s poplatky je nejlepším řešením, jak získat část on-chain zdrojů, zatímco jiní věří, že blockchainové sítě budou jednoho dne dostupné jen bohatým. Troufám si tvrdit, že jak správně nastavit poplatkovou politiku je nevyřešené téma, včetně Bitcoinových transakcí. Pokud mají být poplatky za on-chain služby nízké a stabilní, je nezbytné řešit škálovatelnost.

Nedá se jednoznačně říci, zda je lepší Cardano nebo Ethereum. Obě platformy mají výhody i nevýhody. Vždy záleží na týmu, jakou funkcionalitu chtějí implementovat a co jim konkrétní platforma nabízí.

Uživatelé budou vždy preferovat co nejnižší poplatky za nejlepší možné služby. Vývojáři třetích stran se tomu musí přizpůsobit a vytvářet aplikace, které uživatelé budou chtít používat a budou ochotni za ně zaplatit. Platit 1 dolar za běžnou transakci a 5 dolar za provedení chytré smlouvy je pro většinu lidí nepřijatelně drahé. Technologický vývoj musí pokračovat.

Článek připravili Cardanians s podporou od Cexplorer.

Přečtěte si celý článek v AJ: https://cexplorer.io/article/comparison-of-fees-on-cardano-and-ethereum-platforms