Ugrás a fő tartalomra

Oldal legutoljára frissítve: 2024. március 6.

Dank-féle párhuzamos futtatás (Danksharding)

A Danksharding az a módszer, amivel az Ethereum egy valóban skálázható blokklánc lesz, ehhez azonban számos protokollfejlesztést kell végrehajtani. A Proto-Danksharding egy köztes lépés a megvalósításban. Mindkettő célja az, hogy a második blokkláncrétegen (L2) a tranzakciók a lehető legolcsóbbak legyenek a felhasználók számára, az Ethereum pedig több mint 100 000 tranzakciót tudjon feldolgozni másodpercenként.

Mi az a Proto-Danksharding?

A Proto-Danksharding, vagy más néven EIP-4844(opens in a new tab), egy olyan módszer a összevont tranzakciók számára, amellyel olcsón tudnak adatokat hozzáadni a blokkokhoz. A név attól a két kutatótól származik, akik ezt a módszert javasolták: Protolambda és Dankrad Feist. Jelenleg az összevont tranzakciókat a tranzakciók költségének csökkentésében behatárolja az a tény, hogy a tranzakciókat a CALLDATA mezőbe posztolják. Ez egy drága megoldás, mert az Ethereum-csomópontok dolgozzák fel és a láncon örökre élő adat marad, miközben az összevont tranzakcióknak csak egy rövid időre lenne szükségük ezekre. A Proto-Danksharding az adatblobokat vezeti be, amelyeket el lehet küldeni és hozzá lehet csatolni a blokkokhoz. Az ezekben a blobokban lévő adatok nem elérhetők az EVM számára, és automatikusan törlődnek egy meghatározott idő (1–3 hónap) után. Így az összevont tranzakciók sokkal olcsóbban be tudják küldeni az adatokat, és ez a felhasználóknak olcsóbb tranzakciókat eredményez.

Hogyan ellenőrzik a blobadatokat?

A összevont tranzakciók az általuk feldolgozott tranzakciókat adatblobokban posztolják. Emellett posztolnak egy „elköteleződést” is. Tehát az adathoz hozzáillesztenek egy polinomiális funkciót. Ezt a funkciót számos ponton meg lehet vizsgálni. Például, ha egy rendkívül egyszerű függvényt definiálunk, f(x) = 2x-1, akkor ezt a funkciót megvizsgálhatjuk arra, hogy x = 1, x = 2, x = 3, amelyből az 1, 3, 5 eredmények származnak. A bizonyító ugyanezt a funkciót alkalmazza az adatra, és megvizsgálja azt ugyanazokon a pontokon. Ha az eredeti adat megváltozott, akkor a függvény sem lesz azonos, és az értékek is különbözni fognak minden ponton. Valójában az elköteleződés és a bizonyíték is elég bonyolult, mert kriptográfiai függvényekbe van csomagolva.

Mi az a KZG?

A KZG a Kate-Zaverucha-Goldberg rövidítése, akik az eredeti szerzői(opens in a new tab) egy olyan sémának, amely képes az adatblobot egy kis méretű kriptográfiai „elköteleződéssé”(opens in a new tab) redukálni. A összevont tranzakció által beküldött adatblobot ellenőrizni kell, hogy az összevont tranzakció megfelelően működik-e. Ennek lényege, hogy a bizonyító újrafuttatja a blobban lévő tranzakciókat, hogy megvizsgálja az elköteleződés érvényességét. Ez koncepcionálisan ugyanolyan, mint ahogy a végrehajtási kliensek ellenőrizik az Ethereum-tranzakciók érvényességét az első blokkláncrétegen (L1) a Merkle-bizonyítékok alapján. A KZG egy alternatív bizonyíték, ami egy polinomiális egyenletet illeszt az adathoz. Az elköteleződés megvizsgálja a polinomiálist néhány titkos adatponton. A bizonyító ugyanezt a polinomiálist illeszti rá az adatra, megvizsgálja ugyanazon értékeken, és ellenőrzi, hogy az eredmény ugyanaz-e. Ilyen módon lehetséges ellenőrizni az adatot a zero-knowledge technikákkal kompatibilis módon, amelyet néhány összevont tranzakció és az Ethereum-protokoll használ.

Mit jelent a KZG-ceremónia?

A KZG-ceremónia egy olyan módszer, mellyel az Ethereum-közösség több tagja együtt létrehozhat egy számokból álló titkos, véletlenszerű sorozatot, amelyet adatvalidálásra tudnak használni. Nagyon fontos, hogy ezt a számsort nem tudja senki és nem is lehessen újraalkotni azt. Ennek biztosításához minden egyes résztvevő az előző tagtól kap egy részletet. Ekkor létrehozhatnak néhány új, véletlenszerű értéket (pl. azzal, hogy a böngésző leköveti az egérmozgást), és ezt összekeverhetik az előző részlettel. Ezután elküldik ezt az értéket a következő tagnak, és megsemmisítik a saját gépükön. Amíg van legalább egy személy, aki jóhiszeműen végzi ezt a folyamatot, addig a támadó számára nem derül ki a végső érték. Az EIP-4844 KZG-ceremónia nyilvános volt és emberek tízezrei vettek benne részt, hogy hozzátegyék a saját entrópiájukat. Ahhoz, hogy a ceremóniát megtámadhassák, ezeknek a résztvevőknek 100%-ban rosszhiszeműnek kell lenniük. A résztvevők szempontjából lényeges, hogy ha ő maguk jóhiszeműen jártak el, akkor nincs szükség arra, hogy megbízzanak másban, mert már maguk is biztosították a ceremóniát (egyénként kielégítették az N-ből 1 résztvevő kritériumot).

Se a Danksharding, se a Proto-Danksharding nem követi a hagyományos „sharding” (szilánkosítási) modellt, amelynek célja a blokklánc több részre való felosztása lenne. A shard láncok többé nem szerepelnek az Ethereum útitervében. Ehelyett a Danksharding elosztott adatmintavételt használ a blobokon keresztül, hogy az Ethereumot skálázza. Ezt sokkal egyszerűbb bevezetni. Ezt a modellt néha „adat-shardingnak” is nevezik.

Mi az a Danksharding?

A Danksharding az összevont tranzakciós skálázási megoldás teljes megvalósítása, amely a Proto-Dankshardinggal kezdődik. A Danksharding az Ethereumon hatalmas helyet teremt az összevont tranzakcióknak, hogy az összecsomagolt tranzakciós adataikat beküldjék. Ezzel az Ethereum képes lesz könnyedén támogatni az egyéni összevont tranzakciók százait, és tranzakciók millióit végrehajtani minden másodpercben.

Ennek az a módja, hogy a blokkokhoz kapcsolt blobokat kiterjeszti a Proto-Danksharding által adott 1-ről 64-re a teljes Danksharding során. A szükséges változások többi része a konszenzus kliensek működését fejleszti, hogy azok képesek legyenek az új, nagy méretű blobokat kezelni. Ezen változások néhány része már benne van az útitervben, függetlenül a Danksharding bevezetéstől. Például a Dankshardinghoz szükséges a javaslattevő-építő szétválasztás (PBS) bevezetése. Ez egy olyan fejlesztés, amely szétválasztja a blokkok építését és azok előterjesztését a különböző validátorok között. Ugyanígy az adatelérhetőség-mintázás szükséges a Dankshardinghoz, de az igazán könnyű kliensek fejlesztéséhez is, amelyek nem tárolnak túl sok előzményadatot („státuszmentes kliensek”).

Jelenlegi helyzet

A teljes Danksharding bevezetéséhez még számos év szükséges. Ugyanakkor a Proto-Danksharding a közeljövőben elérhetővé válhat. A jelen szöveg írásának időpontjában (2023. február) a KZG ceremónia még nyitva volt, és több mint 50 000 résztvevőt számlált. A Proto-Dankshardinghoz tartozó EIP(opens in a new tab) kellően kidolgozott, a specifikációban megegyeztek, a kliensek továbbfejlesztett prototípusait jelenleg tesztelik és felkészítik az éles működésre. A következő lépésben a változásokat egy nyilvános teszthálózaton teszik elérhetővé. A jelenlegi státuszról az EIP-4844 készültségének ellenőrzőlistája(opens in a new tab) nyújt tájékoztatást.

További olvasnivaló

Hasznosnak találta a cikket?