Przejdź do treści
Słownikpodstawyethereumbitcoinproof-of-stake

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.

Najczęstsze pytania

Nie. Confirmation oznacza, że transakcja została uwzględniona w bloku lub ma kolejne bloki nad sobą. Finality opisuje mocniejszy poziom pewności, że historia nie zostanie cofnięta.

W typowych warunkach formalna finalizacja trwa około kilkunastu minut. Aplikacje mogą pokazywać transakcję jako wykonaną wcześniej.

Każdy kolejny blok zwiększa koszt ataku reorganizacyjnego. Sześć potwierdzeń stało się praktyczną heurystyką dla większych transferów.

Lokalne potwierdzenie może być szybkie. Finalne rozliczenie względem Ethereum zależy od typu rollupu, bridge’a, challenge period i dowodów.