Ile kosztuje uruchomienie smart kontraktu na Ethereum?

5 117

W miarę jak sieć Ethereum staje się coraz bardziej przeciążona, coraz więcej ludzi ponosi zdecydowanie zawyżone koszty procesowania transakcji. Spójrzmy na tę kwestię z drugiej strony i odpowiedzmy na pytanie o to, Ile kosztuje uruchomienie smart kontraktu na Ethereum?

Wdrożenie bardzo prostego smart kontraktu może kosztować już 500 USD. Wdrożenie dowolnej, aczkolwiek znaczącej rozmiarowo aplikacji w sieci głównej Ethereum może z łatwością osiągnąć poziom 10 000 USD.

Sprawdźmy, dlaczego tak drogo…

Jak wyceniane są transakcje?

Do wyceny ograniczonej przestrzeni na każdym nowym bloku Ethereum, sieć wykorzystuje system oparty o paliwo, zwane gazem. Każdej operacji obliczeniowej przypisywany jest koszt gazu w oparciu o jej rozmiar i złożoność. Bardziej intensywne obliczeniowo działania wymagają więcej gazu (tj. prosta algebra to 1 a wywołanie smart kontraktu kosztuje 700). Po obliczeniu kosztu gazu, każdy nowy blok ma określoną jego ilość, którą może przydzielić, a górnicy muszą określić, które transakcje otrzymają to miejsce. Procesujący transakcję może z kolei wybrać, ile ETH zostanie zapłacone górnikom, aby dodać transakcję do bloku, tworząc rynek tego, ile Gwei (1 miliardowa część Etheru) transakcja będzie kosztować w ramach gazu.

Więcej informacji na ten temat znajdziesz tutaj: link

Krótko mówiąc: ceny gazu są na rekordowych poziomach, a ETH też nie jest tani. Średnie dzienne ceny gazu często oscylują wokół 100 Gwei. W niektóre dni obserwuje się skoki do ponad 500 Gwei. Historycznie niska cena to mniej niż 20 Gwei.

Tworzenie kontraktu

Pierwszą i najważniejszą częścią wdrożenia smart kontraktu jest jego faktyczne utworzenie. Według Ethereum Yellow Paper, podstawowy koszt operacji tworzenia kontraktu to aż 32 000 jednostek gazu, a do tego dochodzi podstawowy koszt 21 000 za wprowadzenie nowej transakcji w samym bloku. Już samo to daje cenę gazu na poziomie 53 000.

W tym artykule zakładamy, że gaz to 100 Gwei, a eter to 4000 USD. Jeśli się uwzględni:

53 000 gazu * 0,0000001 ETH na gaz * 4000 USD za ETH = 21,20 USD

To 21 USD za wdrożenie samego kontraktu. Jak zobaczysz za chwilę, jest to daleko od ostatecznego kosztu. Jak za zwykłe zainicjowanie umowy in blanco to dość spory koszt.

W przypadku większych aplikacji, takich jak platforma typu pancakeswap, ich aplikacja nie jest pojedynczym kontraktem, ale ich zbiorem, które komunikują się ze sobą i współpracują. Będzie wiele wdrożeń, z których każde będzie musiało uiścić tę opłatę. To 21 dolarów za pustą umowę. Zobacz ich repozytorium open-source (link).

Przechowywanie kontraktu

Kontrakty muszą być gdzieś przechowywane. Zgodnie z treścią whitepapera, Ethereum ma koszt przechowywania 20 000 gazu na 256 bitów. Kilobajt danych daje 640 000 gazu, czyli nieco ponad 250 dolarów.

Jak duży jest kontrakt w naszym przykładzie? Możemy to ocenić, sprawdzając podobne rozmiary innych kontraktów.

Korzystając z Etherscan, znajdźmy kilka przykładowych kontraktów:

Widzimy, że te kontrakty mają około 8 KB. Są to duże i popularne przykłady.

Gdybyśmy poprosili o 8 KB do przechowywania naszego kodu przy 640 000 gazu na KB, otrzymalibyśmy cenę ponad 2000 USD!

8 KB * 640000 gazu każdy * 0,000001 ETH * 4000 USD = 2048 USD

To bardzo kosztowny kontrakt! Te, które znalazły się na liście powyżej, uruchomione zostały w dni, kiedy gaz był szczególnie drogi.

Wykonanie kontraktu

Teraz, gdy zobowiązaliśmy się do wdrożenia kontraktu i pokryliśmy koszt jego przechowywania, w końcu nadszedł czas, aby go uruchomić. Ostatnim krokiem jest uruchomienie funkcji inicjalizacji kontraktu. Jest to blok kodu, który jest napisany w celu przydzielenia zmiennych lub wykonania innych czynności podczas wdrażania.

Jest to najbardziej zmienny ze wszystkich kosztów, ponieważ w zależności od tego, co chcesz tutaj zrobić, może to być bezpłatne lub może być obarczone zdecydowanie najwyższym kosztem. Załóżmy, że zamierzasz umieścić w kontrakcie prostą tablicę, która mogłaby zostać później użyta do wykonania jakiejś operacji. Ile by to kosztowało?

Alokacja pamięci dla umowy kosztuje 200 Gwei za bajt. Gdyby twoja aplikacja była głodna pamięci i chciała zająć jeden gigabajt na pamięć wewnętrzną, kosztowałaby ponad 80 MILIONÓW DOLARÓW:

1 miliard bajtów * 200 gazu* 0,000001 ETH * 4000 USD = 80 000 000 USD

Decydujesz się na bardziej konserwatywne podejście w kontekście pamięci i bierzesz kilka kilobajtów danych na stany wewnętrzne i dane użytkownika. Ile by cię to kosztowało? 1600 dolarów.

20 000 bajtów * 200 gazu każdy * 0,0000001 ETH na Gwei * 4000 dolarów

Słowem podsumowania

Zobaczyliśmy, że smart kontrakty są drogie. Analizując pokazane wyżej poziomy cenowe widać wyraźnie, że jeśli chciałbyś wdrożyć nawet średniej wielkości kontrakt, musiałbyś liczyć się z kosztem około 5000 dolarów (i to na samo wdrożenie). Mniejsze kontrakty mogą kosztować około 500 dolarów. Jeśli udałoby Ci się uczynić je naprawdę kompaktowymi niewykluczone, że udałoby Ci się uzyskać jeszcze niższą cenę.

Podsumowując, sieć główna Ethereum cierpi z powodu wielu problemów:

  1. Cena ETH rośnie, co oznacza, że po przeliczeniu na USD ​​droższe są również operacje deweloperskie.
  2. Sieć ma ograniczoną przepustowość, z ograniczoną przestrzenią, co coraz częściej powoduje wojny licytacyjne o miejsce w blokach.
  3. Ethereum coraz częściej doświadcza sytuacji, gdy wraz ze wzrostem wartości platformy, ludzie są gotowi płacić coraz więcej, aby dołączyć do zabawy.

Jeśli zastanawiasz się nad alternatywami, istnieje wiele łańcuchów 2-warstwy, które mogą pochwalić się znacznie niższymi cenami niż te, które królują obecnie w Ethereum.

Zobacz:

***

źródło: link

grafika tytułowa: link

Może Cię zainteresować:

Komentarze