Przejdź do głównej zawartości

Strona ostatnio zaktualizowana: 24 lipca 2024

Danksharding

Danksharding to sposób, aby uczynić Ethereum prawdziwie skalowalnym blockchainem, ale osiągnięcie tego wymaga kilku uaktualnień protokołu. Proto-Danksharding jest krokiem pośrednim w tej drodze. Oba rozwiązania mają na celu zapewnienie jak najtańszych transakcji w warstwie 2 dla użytkowników i powinny skalować Ethereum do >100 000 transakcji na sekundę.

Czym jest Proto-Danksharding?

Proto-Danksharding, znany również jako EIP-4844(opens in a new tab), jest sposobem dla pakietów zbiorczych na dodawanie tańszych danych do bloków. Nazwa pochodzi od dwóch badaczy, którzy zaproponowali ten pomysł: Protolambda i Dankrad Feist. Kiedyś pakiety zbiorcze miały ograniczoną możliwość obniżania kosztów transakcji użytkowników, ponieważ publikowały swoje transakcje w CALLDATA.

Jest to drogie rozwiązanie, ponieważ jest przetwarzane przez wszystkie węzły Ethereum i pozostaje w łańcuchu na zawsze, nawet jeśli pakiety zbiorcze potrzebują danych tylko na krótki czas. Proto-Danksharding wprowadza bloby danych, które mogą być wysyłane i dołączane do bloków. Dane w tych blobach nie są dostępne dla EVM i są automatycznie usuwane po określonym czasie (w czasie powstawania tego tekstu jest to 4096 epok, czyli około 18 dni). Oznacza to, że pakiety zbiorcze mogą przesyłać swoje dane znacznie taniej i przekazywać oszczędności użytkownikom końcowym w postaci tańszych transakcji.

W jaki sposób są weryfikowane dane blobów?

Pakiety zbiorcze publikują wykonywane transakcje w blobach danych. Publikują również „zobowiązanie” do danych. Robią to poprzez dopasowywanie funkcji wielomianowej do danych. Funkcja ta może być następnie obliczana w różnych punktach. Na przykład, jeśli zdefiniujemy bardzo prostą funkcję f(x) = 2x-1, możemy obliczyć tę funkcję dla x = 1, x = 2, x = 3, otrzymując wyniki 1, 3, 5. Udowadniający stosuje tę samą funkcję do danych i oblicza ją w tych samych punktach. Jeśli oryginalne dane zostaną zmienione, funkcja nie będzie identyczna, a zatem wartości obliczone w każdym punkcie również nie będą identyczne. W rzeczywistości zobowiązanie i dowód są bardziej skomplikowane, ponieważ są opakowane w funkcje kryptograficzne.

Co to jest KZG?

KZG to skrót od Kate-Zaverucha-Goldberg — nazwisk trzech oryginalnych autorów(opens in a new tab) schematu, który redukuje blob danych do małego kryptograficznego „zobowiązania”(opens in a new tab). Blob danych przesłany przez pakiet zbiorczy należy zweryfikować, aby upewnić się, że pakiet zbiorczy nie działa nieprawidłowo. Wiąże się to z ponownym wykonaniem przez udowadniającego transakcji w blobie w celu sprawdzenia, czy zobowiązanie było poprawne. Zasadniczo mówimy tu o tym samym, co sposób, w jaki klienci wykonawczy sprawdzają poprawność transakcji Ethereum w warstwie 1 za pomocą dowodów Merkle. KZG to alternatywny dowód, który dopasowuje równanie wielomianowe do danych. Zobowiązanie ocenia wielomian w niektórych tajnych punktach danych. Udowadniający dopasowałby ten sam wielomian do danych i obliczyłby go dla tych samych wartości, sprawdzając, czy wynik jest taki sam. Jest to sposób weryfikacji danych, który jest zgodny z technikami wiedzy zerowej używanymi przez niektóre pakiety zbiorcze oraz później inne części protokołu Ethereum.

Czym była ceremonia KZG?

Ceremonia KZG była sposobem dla wielu osób z całej społeczności Ethereum na wspólne wygenerowanie tajnego losowego ciągu liczb, który można wykorzystać do weryfikacji niektórych danych. Bardzo ważne jest, aby ten ciąg liczb nie był znany i nie mógł zostać odtworzony przez nikogo. Aby to zapewnić, każda osoba biorąca udział w ceremonii otrzymywała ciąg od poprzedniego uczestnika. Następnie tworzyli nowe losowe wartości (np. pozwalając przeglądarce mierzyć ruch ich myszki) i mieszali je z poprzednią wartością. Potem wysyłali tę wartość do kolejnego uczestnika i niszczyli ją ze swojego komputera. Dopóki jedna osoba w tej ceremonii robiła to uczciwie, ostateczna wartość nie była znana atakującemu.

Ceremonia EIP-4844 KZG była dostępna publicznie, a dziesiątki tysięcy ludzi wzięło w niej udział, aby dodać własną losowość. Łącznie w ceremonii wzięło udział 140 000 osób, co czyni ją największą tego typu ceremonią na świecie. Aby ceremonia została unieważniona, 100% uczestników musiałoby być wyraźnie nieuczciwych. Jeśli uczestnicy wiedzą, że byli uczciwi, nie ma potrzeby ufać nikomu innemu, ponieważ wiedzą, że zabezpieczyli ceremonię (indywidualnie spełnili wymóg 1-z-N uczciwych uczestników).

Ani Danksharding, ani Proto-Danksharding nie są zgodne z tradycyjnym modelem „shardingu”, który ma na celu podzielenie blockchainu na wiele części. Łańcuchy odłamkowe nie są już częścią planu działania. W zamian Danksharding wykorzystuje rozproszone próbkowanie danych w blobach do skalowania Ethereum. Jest to znacznie prostsze do wdrożenia. Model ten był czasami określany jako „odłamkowanie danych”.

Czym jest Danksharding?

Danksharding to pełna realizacja skalowania pakietów zbiorczych, która rozpoczęła się od Proto-Dankshardingu. Danksharding przyniesie ogromne ilości miejsca na Ethereum dla pakietów zbiorczych w celu zrzucania ich skompresowanych danych transakcyjnych. Oznacza to, że Ethereum będzie w stanie z łatwością obsługiwać setki indywidualnych pakietów zbiorczych i realizować miliony transakcji na sekundę.

Sposób, w jaki to działa, polega na rozszerzaniu blobów dołączonych do bloków z sześciu (6) w Proto-Dankshardingu do 64 w pełnym Dankshardingu. Reszta wymaganych zmian to aktualizacje sposobu działania klientów konsensusu, mające umożliwić im obsługę nowych dużych blobów. Kilka z tych zmian znajduje się już w planie działania dla innych celów niezależnych od Dankshardingu. Na przykład Danksharding wymaga wdrożenia podziału proponent-twórca. Jest to uaktualnienie, które rozdziela zadania tworzenia bloków i proponowania bloków u różnych walidatorów. Również próbkowanie dostępności danych jest wymagane dla Dankshardingu, ale jest ono także wymagane do rozwoju bardzo lekkich klientów, które nie przechowują wielu danych historycznych („klienci bezstanowi”).

Aktualny postęp

Na pełny Danksharding poczekamy jeszcze kilka lat. W międzyczasie ceremonia KZG zakończyła się przy udziale ponad 140 000 członków, a EIP(opens in a new tab) dla Proto-Dankshardingu został ulepszony. Propozycja ta została w pełni wdrożona we wszystkich sieciach testowych i została uruchomiona w sieci głównej wraz z uaktualnieniem sieci Cancun-Denceb („Dancun”) w marcu 2024.

Dalsza lektura

Czy ten artykuł był pomocny?