Skip to content
Wszystkie przewodniki po opcjach
Skalowanie Ethereum i opłaty13 min czytania

Jak działają opłaty Ethereum Layer 2: wykonanie i publikowanie danych

Dowiedz się, dlaczego transakcja Ethereum Layer 2 może obejmować opłatę za wykonanie, dane L1 i koszty właściwe dla danej sieci oraz jak batch, blob i aktualizacje wpływają na łączną kwotę.

W tym przewodnikuTransakcja L2 nie podlega temu samemu rynkowi opłat co Ethereum mainnet

Krótkie podsumowanie

Opłaty Ethereum Layer 2 to nie po prostu opłaty za gas na Ethereum mainnet, tylko naliczane według niższej stawki. Rollup wykonuje transakcje w L2, a następnie grupuje dane i publikuje je w Ethereum. Łączny koszt użytkownika może więc obejmować wykonanie transakcji, publikację danych i opłaty właściwe dla danej sieci. Dokładny zestaw składników zależy od sieci i aktywnych aktualizacji.

Transakcja L2 nie podlega temu samemu rynkowi opłat co Ethereum mainnet

Rollup Ethereum wykonuje transakcje wielu użytkowników w L2, a następnie publikuje w Ethereum zgrupowane zmiany stanu. Opłata za wykonanie zależy od przestrzeni w blokach L2 i obowiązujących tam zasad naliczania opłat. Nie jest to cena za osobne wykonanie każdej transakcji użytkownika w mainnecie. Ethereum zapewnia rollupowi dostępność danych i rozliczenie.

Dlatego jedna „cena gasu Ethereum” nie pozwala wiarygodnie oszacować pełnego kosztu transakcji L2. Wybór sieci może zmienić cenę wykonania, koszt publikacji danych, a czasem także token używany do opłacenia transakcji — nawet jeśli działanie w portfelu wygląda identycznie, na przykład wysłanie ETH.

W tym przewodniku odróżniamy ogólny model rollupów publikujących dane w Ethereum od konkretnej struktury opłat opisanej dla OP Mainnet. Sieci L2 mogą mieć podobne interfejsy portfela, ale nie muszą stosować tych samych składników opłat ani tej samej metody publikacji danych.

Pojedyncza opłata L2 może łączyć kilka składników kosztu

Szacunek w portfelu może łączyć niektóre z poniższych pozycji:

  • Opłata za wykonanie w L2: gas potrzebny do wykonania transakcji w bloku L2 pomnożony przez cenę gasu w tej sieci
  • Opłata za dane L1: część kosztu publikacji danych rollup w Ethereum przypisana do transakcji użytkownika
  • Opłata właściwa dla sieci: osobna opłata operatora lub inny koszt ustalany przez daną sieć

To model objaśniający, a nie uniwersalna zasada trzech składników. Jedna sieć może wyświetlać koszt publikacji danych w osobnym wierszu, a inna łączyć kilka składników w jednym polu opłaty lub ceny gasu. Liczba wierszy w portfelu nie określa liczby kosztów składających się na opłatę.

Koszty publikacji batcha są czasem dzielone między wiele transakcji i nie pojawiają się jako osobna transakcja Ethereum wysłana przez każdego użytkownika. Rollup przypisuje lub szacuje udział każdej transakcji na podstawie jej rozmiaru i własnych zasad wyceny. Użytkownik zazwyczaj nie wysyła transakcji batcha ani nie kupuje całego blobu przy każdej operacji w L2.

Koszt wykonania zależy od wymaganych działań i popytu w L2

Gas to jednostka określająca ilość pracy potrzebnej do wykonania instrukcji smart kontraktu. Opłatę oblicza się, mnożąc zużyty gas przez jego cenę. Prosty transfer tokena i swap wywołujący kilka kontraktów mogą zużywać różne ilości gasu, nawet jeśli portfel pokazuje je jako pojedyncze działanie.

W uproszczeniu: opłata za wykonanie = zużyty gas × cena gasu L2. Cena gasu odzwierciedla popyt na przestrzeń w blokach oraz zasady opłat danej sieci L2. Wyższa base fee na Ethereum mainnet nie powoduje automatycznie wzrostu opłat za wykonanie we wszystkich L2 w takim samym stopniu.

Przestrzeń w blokach L2 jest jednak ograniczona, więc duży ruch w danej sieci może podnieść cenę wykonania. Limit gasu lub maksymalna opłata pokazywane przez portfel mogą być szacunkiem albo górnym limitem, a nie kwotą ostatecznie pobraną. Nie należy utożsamiać żadnej z tych wartości z końcową opłatą za transakcję.

Koszt publikacji danych zależy od wielkości batcha i cen danych w Ethereum

Rollupy publikują w Ethereum dane potrzebne innym węzłom do sprawdzenia lub odtworzenia zmian stanu. Grupowanie transakcji w batche i kompresja danych mogą obniżyć przypadający na użytkownika koszt publikacji w porównaniu z wysyłaniem każdej transakcji osobno do mainnetu.

Transakcje różnią się wielkością skompresowanych danych. Zgodnie z metodą wyceny danego rollupu transakcja zawierająca więcej danych może odpowiadać za większą część kosztu. Sposób szacowania tego udziału i stosowane parametry zależą od sieci.

Rozważmy celowo uproszczony przykład podziału kosztów. Jeśli 20 podobnych transakcji dzieli hipotetyczny, stały koszt publikacji batcha wynoszący 0.0004 ETH, równy podział oznaczałby 0.00002 ETH na transakcję. Rzeczywiste rollupy nie muszą dzielić kosztów po równo: rozmiar skompresowanych danych, metoda wyceny danych w sieci oraz stałe lub specyficzne dla protokołu parametry mogą zmienić udział każdej transakcji. Ten przykład pokazuje, dlaczego koszt batcha może różnić się od opłaty użytkownika; nie jest wzorem opłat dla żadnej konkretnej sieci.

Transakcje, które w portfelu wyglądają podobnie, mogą kodować różne wywołania kontraktów i dane, dlatego sama liczba tokenów nie pozwala przewidzieć opłaty za dane. Koszty wykonania L2 i dane batcha to również odrębne wymiary. Złożony swap może zużywać więcej gasu przy niewielkiej ilości danych, a większy payload może podnieść koszt publikacji bez dużego wzrostu obliczeń. O tym, jak wycena łączy te elementy, decydują zasady danej sieci.

Większy batch może rozłożyć stały koszt publikacji na więcej transakcji, ale czekanie na większy batch nie gwarantuje niższej opłaty dla każdego użytkownika. Przed publikacją mogą wzrosnąć ceny gasu lub blobów, a nowa transakcja może stanowić dużą część skompresowanych danych, zmieniając łączny koszt lub udział poszczególnych transakcji. Możliwa efektywność grupowania transakcji to nie to samo co obiecana zniżka dla każdego użytkownika.

Opłaty związane z danymi mogą też zależeć od ceny gasu Ethereum lub popytu na przestrzeń blob. Cena wykonania w L2 może prawie się nie zmienić, a jednocześnie może zmienić się składnik związany z danymi. Ethereum.org osobno opisuje batche i czynniki wpływające na opłaty w przypadku optimistic rollupów i ZK rollupów.

Calldata i blob to różne sposoby publikowania danych w Ethereum

calldata w Ethereum to dane transakcji obsługiwane przez warstwę wykonawczą i wyceniane na zwykłym rynku gasu. EIP-4844 wprowadziło osobną przestrzeń blob oraz niezależny rynek opłat za blob gas, aby obsługiwać publikowanie danych rollupów. Te dwie ścieżki różnią się sposobem wyceny oraz dostępem do danych i czasem ich przechowywania.

Kontrakt EVM nie może odczytać zawartości blobu tak jak zwykłych danych przechowywanych w kontrakcie. Warstwa konsensusu Ethereum udostępnia dane blob przez ograniczony czas, po którym klienci mogą przestać je przechowywać. EIP-4844 określa zasady wyceny blob gasu odrębne od zwykłego gasu za wykonanie; zobacz specyfikację EIP-4844.

Oddziel opłatę płaconą przez użytkownika od kosztu transakcji publikującej batch, ponoszonego przez operatora rollupu. Niektóre modele opłat L2, w tym sieci OP Stack skonfigurowane do korzystania z blobów, uwzględniają publikowanie danych w opłacie L2 użytkownika. Nie oznacza to, że każdy użytkownik L2 bezpośrednio płaci za cały blob jako osobną opłatę w portfelu.

Schemat bez tekstu pokazuje osobną ścieżkę wykonywania transakcji na L2 oraz ścieżkę kompresji i publikacji partii danych w Ethereum.
Schemat koncepcyjny oddziela wykonanie na L2 od publikacji danych zbiorczych w Ethereum; skład opłat zależy od sieci.

Rodzaj rollupu i konfiguracja sieci zmieniają strukturę opłat

Opłaty optimistic rollupów mogą obejmować wykonanie w L2 i część kosztu publikacji danych batcha przypisaną użytkownikowi. ZK rollupy również uwzględniają wykonanie i publikację danych, a koszty tworzenia dowodów dla batchy i ich weryfikacji w Ethereum mogą wpływać na ekonomikę protokołu. Nie muszą jednak być osobną pozycją „opłata za dowód” na potwierdzeniu transakcji użytkownika.

Sieci mogą publikować dane jako calldata albo bloby. Mogą też różnić się stopniem kompresji, częstotliwością batchy i metodą szacowania kosztu danych przypadającego na użytkownika. Porównanie samej ceny gasu L2 może zatem pomijać istotną część łącznego kosztu.

Zasady opłat mogą się zmieniać wraz z aktualizacjami sieci. Kalkulator lub starszy artykuł opisujący stały wzór może już nie odzwierciedlać aktywnej sieci. Sprawdź aktualny podgląd opłat i oficjalną dokumentację dotyczącą obowiązującej wersji.

Ta sama ostrożność jest potrzebna przy porównywaniu wcześniejszego potwierdzenia transakcji z aktualną wyceną w tej samej sieci. Znana nazwa sieci nie gwarantuje niezmienionego cennika: mogły się zmienić metoda publikacji danych lub aktywne aktualizacje opłat. Analizując starszą transakcję, sprawdź jej datę, blok i wersję protokołu, aby nie pomylić zmian cen danych L1 ze zmianą zasad naliczania opłat w sieci.

Opłata operatora OP Mainnet to przykład właściwy dla jednej sieci

Dokumentacja Optimism opisuje opłaty transakcyjne OP Mainnet jako gas za wykonanie plus opłatę za dane L1, a po aktualizacji Isthmus dodaje opłatę operatora. Struktura wygląda następująco: opłata za gas wykonania + opłata za dane L1 + opłata operatora, jeśli obowiązuje.

Nie należy traktować tej tabeli opłat jako uniwersalnego wzoru dla wszystkich Ethereum L2. Dokumentacja OP Mainnet wyjaśnia również, że parametry opłat za dane i opłat operatora zależą od aktywnych aktualizacji. Inne sieci OP Stack mogą mieć inne ustawienia operatora lub terminy aktualizacji.

W przypadku OP Mainnet korzystaj z aktualnej dokumentacji Optimism dotyczącej opłat transakcyjnych. Dla Base lub innego L2 sprawdź przewodnik opłat danej sieci. Korzystanie z tego samego stosu oprogramowania nie gwarantuje, że dwie sieci naliczą taką samą łączną kwotę.

Zsumuj pozycje w hipotetycznym potwierdzeniu transakcji

Poniższy fikcyjny przykład pokazuje strukturę trzech składników podobną do OP Mainnet. Nie jest to aktualna stawka sieci ani wycena portfela.

Przykładowa pozycjaKwota
Opłata za wykonanie w L20.000008 ETH
Opłata za publikację danych L10.000020 ETH
Opłata operatora0.000004 ETH
Razem0.000032 ETH

Działanie to 0.000008 + 0.000020 + 0.000004 = 0.000032 ETH. W tym przykładzie publikowanie danych kosztuje więcej niż wykonanie, ale nie dotyczy to każdej transakcji. Udział każdej pozycji zmienia się wraz z rozmiarem danych, popytem w L1, zakresem wykonania i ustawieniami opłat sieci.

Suma nie obejmuje przeliczenia na walutę fiducjarną, opłat bridge, opłaty protokołu swap, wpływu na cenę ani opłat za wpłatę lub wypłatę z giełdy. Nie wystarczy więc do oceny pełnego kosztu ekonomicznego transakcji ani stwierdzenia, która sieć jest tańsza.

Szacunek portfela może różnić się od końcowego potwierdzenia transakcji

Przed podpisaniem transakcji portfel szacuje jej koszt na podstawie przewidywanego zużycia gasu, jego ceny i opłat za dane. Rynek opłat może się zmienić, zanim transakcja trafi do bloku, a rzeczywista ścieżka wykonania może różnić się od szacunku. Maksymalna opłata to limit wydatków, a niekoniecznie kwota ostatecznie pobrana.

Po transakcji otwórz jej potwierdzenie w eksploratorze bloków dla właściwej sieci i sprawdź zużyty gas, faktyczne opłaty oraz to, czy wykonanie zakończyło się powodzeniem. Niektóre sieci pokazują opłaty za dane L1 lub opłaty operatora w osobnych polach, a inne mogą podawać łączną kwotę. Interpretuj nazwy pól w kontekście danej sieci.

Sprawdź także nazwę sieci, chain ID i token użyty do opłacenia transakcji. Przewodnik opłat za gas w Ethereum mainnet wyjaśnia różnicę między gasem wykonania L1 a kwotą płaconą za jego użycie.

Oddziel opłaty bridge, swap i sieciowe

Wpłata z Ethereum do L2 jest inicjowana jako transakcja mainnet i może wymagać gasu L1. Swap w L2 może obejmować opłatę sieciową, opłatę transakcyjną kontraktu swap oraz wpływ na cenę. Wypłata z powrotem do Ethereum może wiązać się z dodatkowymi opłatami sieciowymi za ścieżkę wypłaty i wykonanie w L1.

Nazywanie wszystkich tych kosztów „gasem L2” utrudnia ustalenie, na którym etapie powstaje każda opłata. Przed porównaniem sumy rozdziel opłaty sieciowe, koszty usługi bridge, opłaty swap i opłaty za wypłatę z giełdy. Przy sprawdzaniu trasy bridge może pomóc lista kontrolna sieci transferu kryptowalut.

Przed transakcją sprawdź (1) wybraną sieć i token opłat, (2) czy osobno wykazano koszty wykonania, danych i operatora, (3) czas sporządzenia wyceny i warunki sieci, (4) osobne opłaty za wpłatę, wypłatę lub swap oraz (5) końcowe potwierdzenie transakcji. Wiedza o tym, co obejmuje wycena, jest bardziej przydatna niż porównywanie jednej niewyjaśnionej kwoty.

Częste pytania

Q1Czy każde Ethereum L2 pokazuje opłatę za dane L1 w osobnym wierszu?

Nie. Rollupy publikują dane w Ethereum, ale sposób prezentowania opłat jest różny. Portfel lub potwierdzenie transakcji może łączyć koszt publikacji danych użytkownika z inną pozycją zamiast pokazywać osobny wiersz danych L1.

Q2Czy użytkownik L2 bezpośrednio płaci za każdy blob?

Zazwyczaj użytkownicy nie kupują pojedynczych blobów. Operator rollupu może używać blobów do publikacji danych batcha, a zasady opłat L2 przypisują część tego kosztu do transakcji użytkownika.

Q3Czy podczas transferu bridge z Ethereum do L2 muszę przygotować tylko opłatę L2?

Nie. Żądanie wpłaty jest transakcją Ethereum mainnet i może wymagać gasu L1. Późniejsze transakcje L2 lub wypłaty także mogą wiązać się z kosztami na poszczególnych etapach, dlatego sprawdź wycenę każdego z nich.

Źródła i dalsza lektura

Zgłoś problem

Przygotujemy e-mail z linkiem do tego artykułu. Mark otrzyma zgłoszenie dopiero po jego wysłaniu

Szybki test

Przeczytano? Sprawdź się w 3 pytaniach

Pytanie 1 / 3

Pytanie 01

Dlaczego transakcja L2 w Ethereum rollupie może wiązać się z opłatą za publikację danych L1?

Wybierz odpowiedź, aby zobaczyć wyjaśnienie

Słownik opcji