Smartfon kontra kalkulator kieszonkowy
Porównujemy obok siebie dwa inteligentne łańcuchy blokowe kontraktów, Bitcoin i Ethereum. Uważamy, że Bitcoin oferuje doskonałą wydajność, bezpieczeństwo i opłacalność, dzięki umiejętnie skonstruowanej podstawowej konstrukcji. Ten artykuł skupia się na ich różnicach technicznych. Różnice ekonomiczne, filozoficzne, prawne i środowiskowe wykraczają poza zakres artykułu.
Skalowalność Ethereum: model konta i skalowanie pionowe
W Ethereum każdy inteligentny kontrakt znajduje się na koncie. Ma własną pamięć masową, która utrzymuje się przez cały czas realizacji umowy. Aby zobaczyć, jak to zrobić, przyjrzyjmy się głównemu silnikowi inteligentnego kontraktu Ethereum: Ethereum Virtual Machine (EVM). Jest oparty na stosie i przechowuje dane w trzech miejscach: stos, pamięć i pamięć masowa. Pierwsze dwa są niestabilne i efemeryczne, co oznacza, że są resetowane, gdy EVM zaczyna uruchamiać nowe wywołanie kontraktu. Pamięć nie jest resetowana i jest częścią stanu światowego/globalnego. W konsekwencji każda umowa może zależeć od innej, ponieważ mogą odczytywać/zapisywać ten sam magazyn. Każda realizacja kontraktu widzi stan świata taki, jaki pozostał po poprzednim wykonaniu kontraktu. Nie ma współbieżności, a umowy muszą być realizowane sekwencyjnie. Pojedyncza umowa jest wykonywana na raz, aby uniknąć warunków wyścigowych. Ethereum można uznać za maszynę jednowątkową, która jest ograniczona pojemnością tej maszyny. Innymi słowy, wykorzystuje skalowanie pionowe, które jest fundamentalnie wadliwe w przypadku każdego systemu zaprojektowanego do obsługi milionów użytkowników.
Bitcoin: model UTXO i skalowanie poziome
W Bitcoin inteligentne kontrakty znajdują się w tak zwanych Unspent Transaction Outputs (UTXO). Bitcoin wykorzystuje również maszynę wirtualną o nazwie Bitcoin Virtual Machine (BVM) do przetwarzania inteligentnych kontraktów, które również są oparte na stosie. Zasadnicza różnica polega na tym, że w BVM nie ma trwałej pamięci masowej, a zatem nie ma jednego globalnego stanu. Zamiast tego stan globalny składa się z oddzielnych UTXO, które są od siebie niezależne. W związku z tym UTXO jest z założenia maksymalnie równoległe. Bitcoin można uznać za pulę maszyn działających równolegle. Jest skalowalny w poziomie i można go skalować w nieskończoność, po prostu dodając dowolną liczbę maszyn do istniejącej puli. W ten sposób Google, Facebook, Amazon skalują się, aby obsługiwać miliardy użytkowników.
Bitcoin może dziś przetwarzać 3000 transakcji na sekundę (tps) w sieci głównej. W sieci testowej osiągnięto 9000 tps. Oczekuje się, że wraz z wprowadzeniem Teranode w nadchodzących miesiącach zostanie osiągnięty poziom 50 000 tps. Teranode ma obsługiwać bloki terabajtów, co odpowiada tps na poziomie milionów. Natomiast Ethereum od lat utknęło na poziomie zaledwie 15 tps, z historią powtarzających się niedotrzymanych obietnic i bez widocznej poprawy.
Bezpieczeństwo Inteligentne kontrakty dotyczą aktywów o rzeczywistej wartości finansowej, a bezpieczeństwo ma ogromne znaczenie.
Model UTXO Bitcoina jest jak programowanie funkcjonalne. Realizacja kontraktu jest czysta i bezpaństwowa. Jest zbliżony do funkcji w matematyce (np. f(x) = x * x). Mając te same dane wejściowe, funkcja zawsze daje te same dane wyjściowe i nie powoduje skutków ubocznych. Ten projekt sprawia, że inteligentne kontrakty Bitcoin są znacznie łatwiejsze do zrozumienia, a tym samym mniej podatne na błędy. Mogą również dokładnie testować poza łańcuchem, ponieważ zachowują się tak samo, niezależnie od tego, jak, kiedy i gdzie są wykonywane. W przeciwieństwie do tego model kont Ethereum jest podobny do programowania imperatywnego. Każde wywołanie umowy może wywołać skutki uboczne wpływające na inne wywołanie, utrudniając uzasadnienie umów, zwłaszcza gdy stają się one złożone. Ze względu na ten wrażliwy wybór projektu, nękały go dziesiątki, jeśli nie setki rodzajów ataków, które przyniosły straty rzędu setek milionów dolarów.
Koszt
W dużej mierze dzięki nieograniczonej skalowalności inteligentne kontrakty działające na Bitcoin cieszą się 1000 razy niższymi opłatami transakcyjnymi niż te same działające na Ethereum¹.
Dojrzałość ekosystemu
Bitcoin przywrócił możliwości inteligentnego kontraktowania dopiero w 2020 roku ponad rok temu, podczas gdy inteligentne kontrakty na Ethereum zostały opracowane od 2015 roku. Biorąc pod uwagę 5-letni start, nie jest zaskoczeniem, że ekosystem Ethereum jest dziś bardziej dojrzały, w warunki dotyczące narzędzi programistycznych, bibliotek i aplikacji. Jednak wiele narzędzi programistycznych w Bitcoin szybko dogania, a czasem nawet przewyższa ich odpowiedniki w Ethereum. Na przykład najpopularniejsze IDE w Bitcoin obsługuje debugowanie, wdrażanie i testowanie, podczas gdy jego odpowiednik w Ethereum nie obsługuje żadnego. To tylko kwestia czasu, aby ekosystem Bitcoin dogonił i odwrócił Ethereum, biorąc pod uwagę niezdolność tego ostatniego do skalowania.
Streszczenie
Dochodzimy do wniosku, że Bitcoin jest lepszą platformą do budowania inteligentnych kontraktów.
Autor : BitcoinSV.pl
Źródło : Bitcoin vs Ethereum smart contracts – CoinGeek