Jak oszczędzać GAS w opłatach Ethereum i smart kontraktach?

Dokonujemy ostatnio więcej transakcji w sieci Ethereum, ponieważ można uzyskać tu ponadprzeciętne stopy zwrotu. 20% rocznie na Yearn, 11% na Curve z możliwością powiększenia oprocentowania za pomocą tokenów CRV do 27% rocznie? Takie depozyty smart kontraktów są w zasięgu każdego inwestora.

Ważne jest zatem, żeby opłaty za transakcje były jak najmniejsze. Dzięki temu osiągniemy wyższą stopę zwrotu, ponieważ opłaty pomniejszają ostateczny zysk. Jak oszczędzić GAS na smart kontraktach? Przyjrzyjmy się najpierw jednostce rozliczeniowej.

Gdzie sprawdzać wysokość opłat Ethereum?

Najpopularniejsze strony wyświetlające wysokość opłat transakcyjnych Ethereum to:

Każda strona zawiera różne funkcjonalności, takie jak historyczne ceny, rekomendacje (wolno, szybko, “natychmiast”), wytłumaczenie mechanizmów działania blockchain.

Co to jest Gwei?

Opłaty za transakcję liczymy w Gwei. Wei to ułamek Ethereum, a dokładniej 1 Ether to 1,000,000,000,000,000,000 Wei, czyli 10 do potęgi 18. Ze względu na to, że kryptowaluty liczymy najczęściej tylko 8 miejsc po przecinku, a nie 18, jak w przypadku 1 Wei, używamy Gwei (GigaWei), czyli dokładnie 0.00000001 ETH. Gwei jest określany jako Gas, ale wciąż mówimy o tej samej kryptowalutcie i jej jednostce, czyli Ethereum.

Załóżmy, że wysyłamy 0.1 ETH i decydujemy się zapłacić maksymalnie 1 GWei opłaty. Oznacza to, że wyślemy na docelowy adres 0.1 ETH, a z naszeg adresu zniknie 0.1 (przesyłane środki) + 0.00000001 ETH (1 Gwei opłaty transakcyjnej), czyli w sumie 0.10000001 ETH. W praktyce do przesłania transakcji potrzebujemy więc mieć adres, który dysponuje trochę większą ilością ETH, niż zamierzamy przesłać, ponieważ musi starczyć na opłatę.

Cena gazu, czyli Gas Price

Gas Price, czyli cena gazu to nic innego, jak cena gwei, jaką jesteśmy w stanie zapłacić za transakcję. Chociaż czasem serwis nam powie, że aby transakcja doszła do skutku musimy zapłacić ponad 100 gwei, dążymy do tego, aby była jak najniższa.

W czasach, gdy sieć nie jest obciążona, często wystarczy cena… 1 gwei. W momentach, gdy sieć zaczyna być obciążona, najlepszą ceną, jaką możemy osiągnąć w nocy w weekendy to 20-70 gwei. W czasach wysokich cen i popularności kryptowalut możemy zapłacić 100-150 gwei i na lepszą cenę musimy poczekać nawet kilka dni.

Co to jest Gas Limit?

Limit gazu, czyli Gas Limit określa maksymalną ilość gazu, jaką zużyje transakcja. Standardowa ilość to 21000 i taką często proponują portfele. Sieć podpowiada portfelom, jaka ilość jest aktualnie wymagana. Jest ona ważna, ponieważ zbyt niski limit spowoduje, że transakcja z pewnością nie dojdzie do skutku (jeśli ustawimy za niską cenę, mamy jeszcze szansę na powodzenie, gdy stawki się zmniejszą). Jeśli sieć zażąda za naszą transakcję mniej, niż wynosi limit, pozostała ilość zostanie nam zwrócona. Warto znać różnicę pomiędzy limitem gazu a ceną gazu!

Złożone operacje użyją więcej gazu, a co za tym idzie, portfel ustawi większy limit. Najmniej zapłacimy za wysłanie ETH na inny adres. Dodatkowo zapłacimy, jeśli prześlemy również metadane. Jeszcze więcej będzie kosztować wywołanie funkcji w smart kontrakcie. Najwięcej zapłacimy za egzekucję smart kontraktów: im bardziej złożony, tym więcej. Limit gazu może w takim przypadku wynieść nawet kilkaset tysięcy (w porównaniu do standardowych dwudziestu jeden tysięcy).

Dla bezpieczeństwa zatem, jeśli nie wiemy co dzieje się “pod maską”, warto pozostawić Gas Limit na poziomie, jaki proponuje nam portfel.

Wybierz mądrze czas dokonania transakcji

Jeśli jest taka możliwość, transakcje należy przeprowadzać w godzinach i dniach, które nie są zatłoczone. Są to zatem późne godziny nocne w strefach czasowych, gdzie są aktywni inwestorzy w projektach: Uniswap, Tether i innych dużych protokołów (to najwięksi użytkownicy sieci). Mniejsze opłaty są również w weekendy, szczególnie rano czasu polskiego.

Duże wydarzenia rynkowe, takie jak emisje tokenów, promocje oprocentowania, debiuty projektów przyciągają duże ilości chętnych i zapychają sieć, generując bardzo wysokie opłaty. Warto unikać tych okresów.

Jednym z ważniejszych sposobów, ale wciąż nieznanym szerszemu gronu jest wybór godziny transakcji. Otóż szeroko zakrojone badania wykazały, że dużo lepiej wysyłać transakcję… w ostatnich minutach każdej godziny. Wychodzi zatem, że lepiej wysłać transakcję o 12:49, a nie o 12:05 lub o 7:51, a nie o 7:00. Big data pozwala na szukanie nawet takich zależności.

Jak wysłać transakcję Ethereum i nie przepłacić za Fees?

Do wysłania Ethereum lub tokenów ERC-20 najprościej użyć portfela przeglądarkowego MetaMask. Opłata za transakcję zmienia się wraz z zapotrzebowaniem na dostępność blockchaina Ethereum. Jeśli zapotrzebowanie jest bardzo duże, opłata transakcyjna może wynieść nawet ponad 100 Gwei. Przekłada się to na opłatę transakcyjną ponad $10, a w przypadku smart kontraktów kilkadziesiąt dolarów. Tak duże kwoty mogą sprawić, że inwestycje przestaną być opłacalne.

Jak wygląda schemat opłat Gas w Ethereum? Priority Fee i Gas Price

Najpopularniejszym źródłem jest EthGasStation, rekomendujemy jednak porównanie cen na EtherScan w sekcji GasTracker. Nowy schemat opłat składa się z dwóch komponentów:

  • najpierw określamy wysokość Priority Fee (najczęściej w wysokości kilku gwei)
  • następnie określamy wysokość opłaty w gwei Gas Price, podobnie jak robiliśmy to do tej pory

Dzięki nowemu sposobowi naliczania jesteśmy w stanie dokładniej określić wysokość opłat i skuteczniej oszacować nasze wydatki.

Schemat opłat w sieci Ethereum. Podpowiadamy jak oszczędzić na Gas Price i Gas Fees. EthGasStation
EthGasStation. Na zielono zaznaczyliśmy rekomendację, która przyniesie najwięcej oszczędności. Wg sugestii zapłacimy Priority Fee o wysokości 2 (to te duże cyfry), a Gas Price w wysokości 91 (małe cyferki zaznaczone na żółto). Zielone pole to według algorytmu bezpieczny, niski poziom.

Widzimy, że różnica pomiędzy szybkim potwierdzeniem transakcji (7 Priority Fee, Gas Price 121) a niskim jest podobna do wcześniejszego sposobu naliczania.

Analogiczny interfejs mamy w serwisie EtherScan, tylko wyeksponowana jest cena Gazu, a priorytetowa opłata jest jakby ukryta. Zaznaczyliśmy te miejsca dla Low Fee, która interesuje nas najbardziej z punktu widzenia oszczędności.

Schemat opłat w sieci Ethereum. Podpowiadamy jak oszczędzić na Gas Price i Gas Fees. EtherScan
Etherscan. Na zielono mamy cenę, która przyniesie najwięcej oszczędności. Wg sugestii zapłacimy Priority Fee o wysokości 1, a Gas Price w wysokości 66. Jest to według algorytmu niski poziom opłat i dłuższe oczekiwanie na potwierdzenie.

Niestety nie działa już serwis Gasnow.org, który pozwalał nie tylko sprawdzić opłaty w czasie rzeczywistym, ale też przedstawiał graficznie historię opłat z całego poprzedniego tygodnia.

Jak oszczędzić więcej w portfelu ETH MetaMask?

Jak ręcznie skonfigurować wysokość opłat w portfelu? Gdy zaczynamy transakcję Ethereum, Metamask z góry poleca odpowiednią wg niego minimalną wysokość opłaty. Najczęściej jest to opłata o poziomie średniej opłaty, możemy zatem bezpiecznie ustawić mniej i oszczędzić. Interfejs wygląda podobnie do rekomendacji serwisów EthGasStation i EtherScan.

Podpowiadamy konfigurację w MetaMask, dzięki której można oszczędzić na opłatach za wysyłkę ETH lub tokenów w sieci Ethereum.
Uzupełniamy zaznaczone miejsca wg rekomendacji wziętych z serwisów EtherScan lub EthGasStation. Bardzo może pomóc kliknięcie w “Show recommendation” a potem w “Low”.

Gas Limit nie powinniśmy zmieniać, ponieważ jest on ustalony na podstawie operacji, które chcemy wykonać na blockchain.

Oznaczyliśmy miejsce do wpisania rekomendowanego, niskiego Priority Fee oraz niżej ceny gazu Gas Price. Następnie klikamy “Save”, aby MetaMask zapamiętał nasze stawki, wracamy do okna transakcji i ją potwierdzamy. Potem pozostaje tylko czekać.

W tzw. międzyczasie możemy przeczytać szczegóły implementacji EIP-1559, aby jeszcze lepiej poznać działanie transakcji Ethereum. Znajdziemy tam między innymi informacje o tym, że:

  • Base Fee opłata jest “palona”, dzięki czemu Ethereum ma szansę stać się deflacyjną walutą
  • Max Priority Fee w MetaMask to “miner tip”. Im więcej zapłacimy, tym większą szansę mamy na szybką realizację.
  • Max Fee zawiera maksymalną opłatę, którą zapłacimy. Zwykle zapłacimy mniej (50%-70% wartości z MetaMask).
  • Użytkownicy zatem nie ustalają wysokości swoich opłat, ale mówią ile maksymalnie są w stanie zapłacić. Bazowa stawka (Base fee) jest określana przez protokół.
  • Stary tryb “licytacji” najwyższych opłat w celu zachęcenia minerów może również być użyty, szczególnie w przypadku zapchanych bloków. Będzie on wtedy określany w zwiększającej się Base fee.

Jak przyspieszyć transakcję Ethereum?

Jeśli chcieliśmy zbyt dużo zaoszczędzić i ustawiliśmy zbyt niski limit, nasza transakcja może nie zostać zrealizowana. Często zdarza się, że transakcja z niskim limitem wisi w kategorii oczekujące (pending) przez wiele dni. Transakcja może zostać kiedyś odrzucona (np. timeout), jednakże zależy to od konfiguracji węzłów, które ją rozgłaszają.

Przyspieszamy transakcję Ethereum za pomocą przycisku Speed Up. Zapłacimy trochę więcej.

Przyspieszanie transakcji polega na zwiększeniu opłaty w celu zwiększenia jej priorytetu. Aby przyspieszyć transakcję, wybieramy ją z listy Activity, a następnie klikamy “Speed Up”. Potwierdzamy, ile jesteśmy w stanie dopłacić za transakcję i… dalej czekamy licząc, że wyższa kwota przyspieszy jej przetwarzanie.

Gdy sprawdzimy status transakcji w EtherScan, odkryjemy, że pierwotna transakcja została nadpisana. Jest jednak technicznie możliwe, że transakcja zostanie zrealizowana za wcześniej ustawioną opłatę lub zostanie odrzucona przez węzły, które mają konfigurację realizującą taką ewentualność.

Najczęściej jednak “Speed Up” pozwala na szybszą realizację transakcji, lub poczekanie na mniej zatłoczony czas (nocne godziny w miejscach, gdzie ETH jest najbardziej popularny lub brak dużych wydarzeń związanych z siecią).

Jak naprawić transakcję Ethereum, gdy oczekuje zbyt długo?

Czasami przyspieszamy transakcję w portfelu MetaMask, a opłaty transakcyjne wciąż rosną. Możemy wtedy czekać na realizację transakcji w nieskończoność. Zdarzają się w sieci transakcje, które oczekują na realizację przez kilka miesięcy. Co można wtedy zrobić? Jest w portfelu MetaMask opcja ręcznego nadpisania transakcji.

Aby rozpocząć nadpisywanie transakcji, musimy włączyć w portfelu MetaMask ręcznie ustawianie Nonce. Aby to zrobić:

  • klikamy na ikonę portfela, po czym wybieramy “Settings”
  • przechodzimy do sekcji “Advanced”
  • wybieramy “Customize transaction nonce” i przesuwamy suwak, aby opcja była włączona

W tak przygotowanym portfelu możemy ponowić transakcję. Sprawdzamy numer Nonce transakcji, która oczekuje zbyt długo. Będziemy musieli wpisać go w nowej transakcji. Następnie powtarzamy wszystkie kroki (adres, kwotę, etc.). Ustawiamy wyższy limit opłat, aby transakcja została zrealizowana w aktualnych warunkach rynkowych. Uzupełniamy w nowo odkrytym polu ten sam numer Nonce i potwierdzamy wysłanie transakcji. Liczymy na to, że nowa transakcja zrealizuje się szybciej i pozbędziemy się problemu ze starą.

Bonus dla tych, którzy zapłacili dużo opłat

W 2022 roku tych, którzy przepłacili za opłaty transakcyjne Ethereum spotkała miła niespodzianka. Serwis fees.wtf wyemitował token dla właścicieli adresów, które mają historię dużych opłat.

Wystarczy zalogować się adresem, np. portfelem MetaMask i zgłosić się po tokeny WTF. Pamiętajcie, żeby nie zapłacić dużych fees.

Podsumowanie niskich opłat Ethereum

Umiejętność mądrego dobrania stawek za opłaty Ethereum przydaje się szczególnie podczas inwestowania w DeFi. Opłaty za smart kontrakty są dużo wyższe, niż zwykłe przesyłanie ETH. W długim terminie, każda zaoszczędzona złotówka zwiększa stopę zwrotu inwestycji w cyfrowe aktywa.

Najnowsze artykuły

spot_img

Dowiedz się więcej:

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj

Sprawdź nas na facebooku!