Finality
Finality to moment albo poziom pewności, przy którym transakcja lub blok są traktowane jako trwale zapisane w historii sieci.
Czym jest finality
Finality mówi, jak mocno można ufać, że transakcja pozostanie w historii łańcucha.
Samo pojawienie się transakcji w portfelu lub explorerze nie zawsze oznacza ostateczne rozliczenie. Sieć może jeszcze przejść krótką reorganizację albo wymagać formalnej finalizacji.
Dlatego giełdy, mosty i protokoły często czekają na określoną liczbę potwierdzeń lub finality, zanim uznają transfer za zakończony.
Modele finality
- Bitcoin
- Finality jest probabilistyczne. Każdy kolejny blok zmniejsza ryzyko reorganizacji.
- Ethereum
- Proof of stake daje finality ekonomiczne przez głosy walidatorów i ryzyko slashing.
- Rollupy
- Transakcja może wyglądać na wykonaną na L2, a finalne rozliczenie na Ethereum następuje później.
- Optimistic rollup
- Wypłata przez natywny bridge zwykle czeka na koniec challenge period.
- ZK rollup
- Finality względem L1 zależy od publikacji i weryfikacji validity proof.
Bitcoin: finality probabilistyczne
Bitcoin nie ma jednego formalnego momentu, po którym blok jest matematycznie nieodwracalny.
Każdy kolejny blok nad twoją transakcją zwiększa koszt zbudowania konkurencyjnej historii. Dlatego często mówi się o jednej, trzech albo sześciu konfirmacjach.
Sześć potwierdzeń to popularna heurystyka dla większych wartości. Nie usuwa ryzyka absolutnie, ale w praktyce czyni atak skrajnie kosztownym dla większości przypadków.
Ethereum: finality ekonomiczne
Ethereum po The Merge używa proof of stake i mechanizmu Gasper. Walidatorzy głosują nad checkpointami epok.
Gdy warunki protokołu zostaną spełnione, checkpoint może zostać sfinalizowany. Cofnięcie finalizowanego fragmentu historii wymagałoby poważnego naruszenia zasad przez walidatorów i groziłoby slashingiem dużej części stake’u.
W praktyce użytkownik może widzieć transakcję wcześniej niż formalne finality. Aplikacje i giełdy same wybierają poziom ostrożności.
Finality na rollupach
Na rollupach trzeba rozróżnić potwierdzenie w interfejsie L2 i rozliczenie względem Ethereum.
Optimistic rollup może dać szybkie lokalne potwierdzenie, ale wypłata przez natywny most wymaga okresu na fraud proof, często około 7 dni.
ZK rollup może rozliczyć się szybciej po przesłaniu i zweryfikowaniu dowodu. W obu przypadkach model mostu i data availability mają znaczenie dla bezpieczeństwa.
Kiedy finality ma największe znaczenie
- Przy dużych transferach między portfelami.
- Przy depozytach na giełdę scentralizowaną.
- Przy wypłatach z rollupów na Ethereum mainnet.
- Przy mostach między sieciami.
- Przy rozliczeniach, które nie powinny zostać cofnięte po wykonaniu kolejnej operacji.
Najczęstsze błędne założenia
- Widoczność transakcji w explorerze nie zawsze oznacza finality.
- Pierwsze potwierdzenie i finality opisują różne poziomy pewności.
- Ethereum nie finalizuje transakcji natychmiast po pojawieniu się bloku.
- L2 może pokazać szybkie wykonanie, a finalne rozliczenie na L1 następuje później.
- Różne giełdy mogą wymagać różnej liczby potwierdzeń dla tego samego aktywa.
Finality zależy od sieci i wartości transakcji
Mały transfer możesz traktować praktycznie szybciej niż duży depozyt na giełdę. Przy wysokich kwotach patrz na politykę potwierdzeń, model finality i ryzyko reorganizacji.
