Podczas gdy Ethereum (ETH) nadal napotyka na problemy ze skalowalnością, optimistic rollups pojawiły się jako obiecujące rozwiązanie problemów związanych z przeciążeniem sieci i wysokimi opłatami transakcyjnymi. Ten kompleksowy przewodnik bada, jak działają optimistic rollups oraz zapewnia szczegółowe instrukcje dotyczące ich wykorzystania w celu osiągnięcia szybszych transakcji.
Jak działają Optimistic Rollup?
Optimistic rollups działają podobnie do systemu bankowego opartego na czekach. Tak jak banki honorują czeki, jeśli nie zostaną zakwestionowane, optimistic rollups uznają wszystkie transakcje za ważne, chyba że zostaną zakwestionowane poprzez dowody oszustwa. Ten system działa jako rozwiązanie skalujące warstwy 2, zachowując bezpieczeństwo dzięki podstawowej warstwie Ethereum, jednocześnie przetwarzając transakcje poza łańcuchem.
Główne Składniki
Architektura optimistic rollups opiera się na kilku kluczowych składnikach:
- Optimistic Virtual Machine (OVM) działa jako środowisko wykonawcze, zapewniając deterministyczne działanie smart kontraktów między warstwą 1 a warstwą 2. To odosobnione środowisko gwarantuje spójne przejścia stanu między warstwami.
- Optimistic Geth działa jako klient warstwy 2, z jedynym sekwencerem odpowiedzialnym za zamawianie i dodawanie pakietów transakcji do kontraktu głównego łańcucha. Ten sekwencer odgrywa kluczową rolę w utrzymaniu porządku transakcji i zarządzaniu stanem.
- Chain Contracts stanowią kręgosłup systemu optimistic rollup, działając w głównej sieci Ethereum. Dwa istotne kontrakty to:
- OVM_CanonicalTransactionChain (CTC) utrzymuje dziennik tylko do dodawania transakcji stosowanych do stanu OVM. Sekwencer dodaje partie transakcji warstwy 2 do tego łańcucha, jednocześnie umożliwiając użytkownikom wstawianie transakcji warstwy 2.
- OVM_StateCommitmentChain (SCC) przechowuje proponowane korzenie stanu odpowiadające transakcjom CTC, utrzymując jedno do jednego relację z transakcjami w łańcuchu kanonicznym.
Przyspieszanie Transakcji na Blockchainie za Pomocą Optimistic Rollups
Proces Depozytu
Aby zainicjować szybsze transakcje, użytkownicy muszą najpierw zrozumieć proces depozytu. Podczas przenoszenia aktywów z warstwy 1 do warstwy 2, zachodzi następująca sekwencja:
Użytkownicy wysyłają tokeny do kontraktu mostu tokenów na warstwie 1. Most przechowuje te tokeny w depotach i wyzwala wiadomość przez kontrakt Messenger, kierując żądanie zakończenia depozytu do odpowiadającego mu mostu warstwy 2. Ta transakcja jest wprowadzana do CTC przez funkcję wstawiania do kolejki.
Sekwencer musi wykonać tę wstawioną do kolejki transakcję, wołając funkcję relayMessage w kontrakcie Messenger warstwy 2. Na koniec kontrakt Messenger wysyła instrukcję do mostu w celu zakończenia depozytu, emitując równoważne tokeny na warstwie 2, które są następnie wydawane na adres warstwy 2 użytkownika.
Proces Wypłaty
Proces wypłaty odzwierciedla sekwencję depozytu, ale wprowadza dodatkową złożoność ze względu na względy bezpieczeństwa. Podczas wypłacania aktywów, system postępuje w następujących krokach:
Użytkownicy inicjują wypłatę przez most Token warstwy 2, który spala tokeny i komunikuje się z kontraktem Messenger. Te informacje są rejestrowane w drzewie stanu warstwy 2 i ostatecznie pojawiają się w CTC, gdy sekwencer aktualizuje je o nowe partie transakcji.
Sekwencer publikuje stan do SCC, rozpoczynając obowiązkowy okres oczekiwania, w którym zmiana stanu może być kwestionowana. To okno zwykle trwa tydzień, pozwalając na złożenie dowodów oszustwa, jeśli to konieczne.
Po zakończeniu okresu kwestionowania, wiadomość może być przekazana do kontraktu Messenger warstwy 1, który weryfikuje upływnięte okno dowodów oszustwa, zanim wyda instrukcję mostowi o zwolnieniu tokenów do użytkownika.
Zmaganie się z Opóźnieniami Wypłat
Tygodniowy okres sporu stanowi istotne wyzwanie dla użytkowników, którzy chcą szybko uzyskać dostęp do swoich środków. Jednak kilka strategii istnieje, aby złagodzić to opóźnienie:
Szybkie Wypłaty Z Udziałem Dostawców Płynności
To innowacyjne rozwiązanie wprowadza dostawców płynności (LP), aby ułatwić szybsze wypłaty. LP prowadzą pełne węzły warstwy 2, aby weryfikować transakcje CTC i mogą oferować natychmiastową płynność użytkownikom, pobierając za to opłatę.
Proces weryfikujący pozwala LP ocenić ważność transakcji, zanim sekwencer opublikuje korzenie stanów. Kiedy LP akceptuje żądanie wypłaty, dostarczają natychmiastową płynność użytkownikowi, jednocześnie ubiegając się o opóźnione uwolnienie mostu dla siebie, tworząc obustronnie korzystny układ.
Ten system oferuje kilka zalet:
- Użytkownicy zyskują natychmiastowy dostęp do swoich środków bez oczekiwania na zakończenie okresu sporu.
- LP zarabiają na prowizjach za dostarczoną płynność jednocześnie utrzymując bezpieczeństwo poprzez weryfikację transakcji.
- Proces pozostaje bezpieczny, ponieważ LP mogą weryfikować transakcje przez CTC niezależnie od publikacji korzeni stanów przez sekwencer.
Jednakże, takie podejście ma pewne ograniczenia:
- Tokeny o niskiej płynności mogą napotkać wysokie koszty dostarczania płynności.
- Duże wydarzenia wypłaty mogą spowodować braki w płynności.
- LP muszą utrzymać dokładne procesy weryfikacji, aby uniknąć strat finansowych.
Balansowanie Szybkości z Bezpieczeństwem
Optimistic rollups reprezentują wyrafinowane rozwiązanie skalujące, które balansuje bezpieczeństwo z prędkością transakcji. Chociaż inherentne opóźnienia wypłat stanowią wyzwanie, wypłaty wspomagane przez dostawców płynności oferują praktyczne rozwiązanie dla użytkowników wymagających natychmiastowego dostępu do funduszy. W miarę jak ekosystem nadal się rozwija, możemy oczekiwać dalszych udoskonaleń tych mechanizmów, potencjalnie wprowadzających nowe rozwiązania w celu zwiększenia szybkości transakcji przy jednoczesnym utrzymaniu solidnych gwarancji bezpieczeństwa, które czynią optimistic rollups przekonującym rozwiązaniem skalującym dla Ethereum.