Autor: Kernel Ventures Jerry Luo

Střih: Kernel Ventures Rose, Kernel Ventures Mandy, Kernel Ventures Joshua

TLDR:

  1. V rané fázi blockchainu je udržování konzistence dat považováno za extrémně důležité pro zajištění bezpečnosti a decentralizace. S rozvojem blockchainového ekosystému se však zvyšuje i tlak na úložiště, což vede k trendu centralizace provozu uzlů. V takovém případě je třeba urychleně vyřešit problém s náklady na úložiště způsobený růstem TPS ve vrstvě 1.

  2. Tváří v tvář tomuto problému by vývojáři měli navrhnout řešení, které plně zohlední zabezpečení, náklady na úložiště, rychlost čtení dat a všestrannost DA vrstvy.

  3. V procesu řešení tohoto problému se objevilo mnoho nových technologií a nápadů, včetně Sharding, DAS, Verkle Tree, DA mezilehlých komponent a tak dále. Snaží se optimalizovat schéma úložiště DA vrstvy snížením redundance dat a zlepšením efektivity ověřování dat.

  4. Řešení DA jsou široce rozdělena do dvou typů z hlediska umístění úložiště dat, konkrétně DA hlavního řetězce a DA třetích stran. DA s hlavním řetězcem jsou navrženy z hlediska pravidelného čištění dat a ukládání rozdělených dat, aby se snížil tlak na úložiště na uzlech, zatímco DA třetích stran jsou navrženy tak, aby sloužily potřebám úložiště, které mají rozumná řešení pro velká množství dat. Výsledkem je především kompromis mezi jednořetězcovou kompatibilitou a víceřetězcovou kompatibilitou v DA třetích stran a navrhujeme tři druhy řešení: DA specifické pro hlavní řetězec, modularizované DA a úložiště veřejného řetězce DA.

  5. Veřejné řetězce platebního typu mají velmi vysoké požadavky na zabezpečení historických dat, a proto je vhodné použít hlavní řetězec jako DA vrstvu. Pro veřejné řetězce, které fungují již delší dobu a mají na síti velký počet těžařů, je však vhodnější přijmout DA třetí strany, který nezahrnuje změnu konsensuální vrstvy s relativně vysokou bezpečností. Pro komplexní veřejné řetězce je vhodnější použít vyhrazené DA úložiště hlavního řetězce s větší datovou kapacitou, nižšími náklady a zabezpečením. S ohledem na poptávku po cross-chain je však modulární DA také dobrou volbou.

  6. Celkově blockchain směřuje ke snižování redundance dat a také k víceřetězcové dělbě práce.

1. Pozadí

Blockchain jako distribuovaná účetní kniha potřebuje vytvořit kopii historických dat uložených na všech uzlech, aby bylo zajištěno, že úložiště dat je bezpečné a dostatečně decentralizované. Protože správnost každé změny stavu souvisí s předchozím stavem (zdrojem transakce), pro zajištění správnosti transakce by měl blockchain uchovávat veškerou historii transakcí od vygenerování první transakce až po současnou. transakce. Vezmeme-li jako příklad Ethereum, i když vezmeme jako průměrnou velikost 20 kb na blok, celková velikost aktuálních dat v Ethereu dosáhla 370 GB. Pro plný uzel musí kromě samotného bloku evidovat stav a příjmy transakcí. Včetně této části přesáhl celkový objem úložiště jednoho uzlu 1 TB, čímž se provoz uzlu postupně centralizuje.

Zdroj: Etherscan

Nedávný upgrade Etherea v Cancúnu má za cíl zvýšit TPS Etherea na téměř 1000, v tomto okamžiku roční nárůst úložiště Etherea překročí součet jeho současného úložiště. Ve vysoce výkonných veřejných řetězcích může transakční rychlost v řádu desítek tisíc TPS přinést stovky GB dat denně. Společná datová redundance všech uzlů v síti se zjevně nedokáže přizpůsobit takovému tlaku úložiště. Layer1 tedy musí najít vhodné řešení, aby vyvážilo růst TPS a náklady na úložiště uzlů.

2. Výkonnostní ukazatele DA

2.1 Bezpečnost

Ve srovnání s databází nebo propojeným seznamem pramení neměnnost blockchainu ze skutečnosti, že jeho nově vygenerovaná data mohou být ověřena historickými daty, takže zajištění bezpečnosti historických dat je prvním problémem, který je třeba vzít v úvahu při ukládání vrstvy DA. Abychom mohli posoudit bezpečnost dat blockchainových systémů, často analyzujeme redundantní množství dat a způsob kontroly dostupnosti dat.

  • Počet redundance: Redundance dat v systému blockchain hraje hlavně takové role: za prvé, větší redundance v síti může poskytnout více vzorků pro referenci, když ověřovatel potřebuje zkontrolovat stav účtu, což může pomoci uzlu vybrat data zaznamenaná většina uzlů s vyšším zabezpečením. Vzhledem k tomu, že v tradičních databázích jsou data uložena pouze ve formě párů klíč-hodnota v určitém uzlu, změna historických dat se provádí pouze v jediném uzlu, s nízkými náklady na útok, a teoreticky tím více počet propouštění, tím vyšší je stupeň důvěryhodnosti dat. Teoreticky platí, že čím větší redundance bude, tím budou data důvěryhodnější. A co víc, čím více uzlů je, tím menší je pravděpodobnost ztráty dat. Tento bod lze také přirovnat k centralizovaným serverům, které ukládají hry Web2, jakmile budou všechny servery na pozadí vypnuty, dojde k úplnému uzavření služby. S větší redundancí to ale není lepší, protože redundance přinese další úložný prostor, který do systému přinese příliš velký úložný tlak. Dobrá DA vrstva by měla zvolit vhodný způsob redundance, aby dosáhl rovnováhy mezi zabezpečením a efektivitou úložiště.

  • Kontrola dostupnosti dat: Množství redundance může zajistit dostatek záznamů dat v síti, ale data, která mají být použita, musí být zkontrolována z hlediska přesnosti a úplnosti. Současné blockchainy běžně používají algoritmy kryptografického závazku jako ověřovací metody, které pouze udržují malý kryptografický závazek získaný smícháním transakčních dat, aby je mohla zaznamenat celá síť. Abychom otestovali pravost historických dat, měli bychom se pokusit obnovit závazek s daty. Pokud je závazek vymáhání shodný s původním závazkem, ověření projde. Běžně používané kryptografické ověřovací algoritmy jsou Merkle Root a Verkle Root. Vysoce zabezpečené ověřovací algoritmy dostupnosti dat mohou rychle ověřit historická data s pomocí co nejmenšího množství dat třetích stran.

2.2 Náklady na skladování

Po zajištění základní bezpečnosti je dalším cílem DA vrstvy snížení nákladů a zvýšení efektivity. Prvním krokem je snížení nákladů na úložiště, které představuje spotřeba paměti způsobená ukládáním dat na jednotku velikosti, bez ohledu na rozdíl ve výkonu hardwaru. V dnešní době je hlavními způsoby, jak snížit náklady na úložiště v blockchainu, přijetí technologie sharding a využití úložiště odměn ke snížení počtu záloh dat při zachování jeho bezpečnosti. Z výše uvedených způsobů vylepšení však není těžké vidět, že mezi náklady na úložiště a bezpečností dat existuje herní vztah a snížení obsazenosti úložiště často znamená snížení zabezpečení. Proto musí vynikající DA vrstva realizovat rovnováhu mezi náklady na úložiště a zabezpečením dat. Kromě toho, pokud je vrstva DA samostatným veřejným řetězcem, musí také snížit náklady minimalizací meziprocesu výměny dat, ve kterém každý proces přenosu potřebuje ponechat indexová data pro následné vyhledání. Takže čím delší je proces volání, tím více indexových dat zůstane, což zvýší náklady na úložiště. A konečně, náklady na ukládání dat přímo souvisí s perzistencí dat. Obecně platí, že čím vyšší jsou náklady na ukládání dat, tím obtížnější je pro veřejný řetězec trvale uchovávat data.

2.3 Rychlost čtení dat

Po dosažení snížení nákladů je dalším krokem efektivita, což znamená schopnost v případě potřeby rychle vyvolat data z DA vrstvy. Tento proces zahrnuje dva kroky, prvním je hledání uzlů pro ukládání dat, hlavně pro veřejné řetězce, které nedosáhly konzistence dat v celé síti, pokud veřejný řetězec dosáhl synchronizace dat uzlů v celé síti, časová spotřeba tohoto proces lze ignorovat. Pak v mainstreamových blockchainových systémech v této fázi, včetně bitcoinu, etherea a filecoinu, je metodou ukládání uzlů celá databáze Leveldb. V Leveldb se data ukládají třemi způsoby. Nejprve se data zapsaná za běhu ukládají do souborů typu Memtable, dokud není Memtable plná, pak se typ souboru změní z Memtable na Immutable Memtable. Oba dva typy jsou uloženy v paměti, ale soubory Immutable Memtable jsou pouze pro čtení. Hotové úložiště používané v síti IPFS ukládá data v této části sítě, takže je lze při volání rychle přečíst z paměti, ale průměrný uzel má pouze GB vyměnitelné paměti, kterou lze snadno zpomalit a když uzel selže, data v paměti jsou trvale ztracena. Pokud chcete trvalé úložiště dat, musíte data ukládat ve formě souborů SST na pevný disk (SSD), ale při čtení dat je nejprve nutné načíst data do paměti, což výrazně snižuje rychlost indexování dat. A konečně, u systému se shardováním dat vyžaduje obnova dat odesílání požadavků na data do více uzlů a jejich obnovení, což je proces, který také zpomaluje čtení dat.

Zdroj: Leveldb-příručka

2.4 Zobecnění DA vrstvy

S rozvojem DeFi a různými problémy CEX rostou požadavky uživatelů na cross-chain transakce decentralizovaných aktiv. Ať už přijmeme cross-chain mechanismus hash-locking, notary nebo relay chain, nemůžeme se vyhnout současnému stanovení historických dat na dvou řetězcích. Klíč k tomuto problému spočívá v oddělení dat o dvou řetězcích, které nelze přímo komunikovat v různých decentralizovaných systémech. Proto je navrženo řešení změnou způsobu ukládání DA vrstvy, která ukládá historická data více veřejných řetězců na stejném důvěryhodném veřejném řetězci a při ověřování stačí volat data z tohoto veřejného řetězce. To vyžaduje, aby vrstva DA byla schopna navázat bezpečnou komunikaci s různými typy veřejných řetězců, což znamená, že vrstva DA má dobrou všestrannost.

3. Techniky týkající se DA

3.1 Sdílení

V tradičních distribuovaných systémech není soubor uložen v úplné podobě na uzlu, ale k rozdělení původních dat do více bloků a jejich uložení do každého uzlu. Blok také často není uložen pouze v jednom uzlu, ale ponechává vhodnou zálohu v jiných uzlech. Ve stávajících mainstreamových distribuovaných systémech je počet záloh obvykle nastaven na 2. Tento shardovací mechanismus může snížit skladovací tlak jednotlivých uzlů, rozšířit celkovou kapacitu systému na součet úložných kapacit každého uzlu a při současně zajistit bezpečnost úložiště prostřednictvím vhodné redundance dat. Schéma shardingu přijaté v blockchainu je obecně podobné tradičním distribuovaným systémům, ale existují rozdíly v některých detailech. Za prvé, protože výchozí uzly v blockchainu jsou nedůvěryhodné, proces realizace shardingu vyžaduje dostatečně velké množství záloh dat pro následné posouzení pravosti dat, takže počet záloh tohoto uzlu musí být mnohem větší než 2. V ideálním případě , v blockchainovém systému, který přijímá toto schéma úložiště, pokud je celkový počet autentizačních uzlů T a počet fragmentů je N, počet záloh by měl být T/N. Za druhé, pokud jde o proces ukládání bloku, tradiční distribuovaný systém s menším počtem uzlů má často režim, ve kterém se uzel přizpůsobuje více blokům dat. Nejprve jsou data mapována do hash ringu pomocí konzistentního hash algoritmu, poté každý uzel ukládá určitý rozsah očíslovaných bloků s přiřazením hash ringu. V systému lze akceptovat, že jeden jediný uzel nemá úlohu úložiště v určitém úložišti. Zatímco na blockchainu, úložný blok již není náhodná, ale pro uzly nevyhnutelná událost. Každý uzel náhodně vybere blok pro uložení v blockchainu, přičemž proces je dokončen výsledkem hašování dat smíchaných s informacemi uzlu na číslo modulo řezu. Za předpokladu, že jsou všechna data rozdělena do N bloků, je skutečná velikost úložiště každého uzlu pouze 1/N. Vhodným nastavením N můžeme dosáhnout rovnováhy mezi růstem TPS a tlakem na úložiště uzlů.

Zdroj: Kernel Ventures

3.2 DAS (vzorkování dostupnosti dat)

Technologie DAS je další optimalizací způsobu ukládání založeného na shardingu. V procesu shardingu může v důsledku jednoduchého náhodného ukládání uzlů dojít ke ztrátě bloku. Za druhé, pro data po shardování je také velmi důležité, jak potvrdit pravost a integritu dat během procesu obnovy. V DAS jsou tyto dva problémy řešeny Eraserovým kódem a KZG polynomiálním závazkem.

  • Eraser code: Vzhledem k velkému počtu ověřených uzlů v Ethereu je možné, že blok není uložen žádným uzlem, ačkoli se jedná o událost pravděpodobnosti. Aby se zmírnila hrozba chybějícího úložiště, namísto dělení a dělení nezpracovaných dat na bloky toto schéma mapuje nezpracovaná data na koeficienty polynomu n-tého stupně, poté vezme 2n bodů na polynomu a nechá uzly náhodně vybrat jeden z je uložit. Pro tento polynom n-tého stupně je pro redukci potřeba pouze n+1 bodů, a tak nám stačí vybrat pouze polovinu bloků uzly, abychom realizovali redukci původních dat. Kód Eraser zlepšuje zabezpečení datového úložiště a schopnost sítě obnovit data.

  • Polynomiální závazek KZG: Velmi důležitým aspektem ukládání dat je ověřování pravosti dat. V sítích, které nepoužívají kód Eraser, lze pro ověření použít různé metody, ale pokud je výše uvedený kód Eraser zaveden pro zlepšení zabezpečení dat, pak je vhodnější použít polynomický závazek KZG, který může ověřit obsah jednoho blok přímo ve formě polynomu, čímž odpadá nutnost redukovat polynom na binární data. Polynomiální závazek KZG dokáže přímo ověřit obsah jednoho bloku ve formě polynomů, čímž odpadá nutnost redukovat polynomy na binární data a celková forma ověření je podobná jako u Merkle Tree, ale nevyžaduje konkrétní Data uzlu cesty a vyžaduje pouze kořenová data KZG a data bloku k ověření pravosti bloku.

3.3 Metoda validace dat v DA

Ověření dat zajišťuje, že data volaná z uzlu jsou přesná a úplná. Aby se minimalizovalo množství dat a výpočetních nákladů požadovaných v procesu ověřování, vrstva DA nyní používá jako hlavní metodu ověřování stromovou strukturu. Nejjednodušší formou je použít pro ověření Merkle Tree, který používá formu kompletních binárních záznamů stromu, stačí ponechat Merkle Root a lze ověřit hash hodnotu podstromu na druhé straně cesty uzlu. časová složitost ověření je úroveň O(logN) (logN je výchozí log2(N)). Přestože byl proces validace značně zjednodušen, množství dat pro proces validace obecně stále roste s nárůstem dat. K vyřešení problému narůstajícího objemu ověřování je v této fázi navržena další metoda ověřování, Verkle Tree, ve které každý uzel ve stromu Verkle Tree nejen ukládá hodnotu, ale také připojuje vektorový závazek, který může rychle ověřit pravost souboru. data pomocí hodnoty původního uzlu a potvrzení o závaznosti, bez nutnosti volat hodnoty jiných sesterských uzlů, což usnadňuje a urychluje výpočet každé validace. Díky tomu se počet výpočtů pro každou verifikaci vztahuje pouze k hloubce Verkle Tree, což je pevná konstanta, což značně zrychluje rychlost ověřování. Výpočet Vector Commitment však vyžaduje účast všech sesterských uzlů ve stejné vrstvě, což značně zvyšuje náklady na zápis a změnu dat. Avšak pro data, jako jsou historická data, která jsou trvale uložena a nelze s nimi manipulovat, lze je také pouze číst, ale nikoli zapisovat, je Verkle Tree mimořádně vhodný. Navíc samotný Merkle Tree a Verkle Tree mají K-ary formu variant, konkrétní implementace mechanismu je podobná, stačí změnit počet podstromů pod každým uzlem, konkrétní srovnání výkonu je vidět v následující tabulce.

Zdroj: Verkle Trees

3.4 Obecný DA Middleware

Neustálé rozšiřování blockchainového ekosystému přineslo rostoucí počet veřejných řetězců. Vzhledem k výhodám a nenahraditelnosti každého veřejného řetězce ve svých příslušných oborech je nemožné, aby se veřejné řetězce vrstvy 1 v krátké době sjednotily. S rozvojem DeFi a problémy CEX však roste poptávka uživatelů po decentralizovaných cross-chain obchodních aktivech. Více a více pozornosti si proto získává víceřetězcové datové úložiště na vrstvě DA, které může eliminovat bezpečnostní problémy v meziřetězcové interakci dat. Aby však bylo možné přijímat historická data z různých veřejných řetězců, je nutné, aby DA vrstva poskytovala decentralizované protokoly pro standardizované ukládání a ověřování toku dat. Například kvye, storage middleware založený na Arweave, využívá metodu aktivního procházení dat z hlavních řetězců a může ukládat data ze všech řetězců ve standardizované podobě do Arweave, aby se minimalizovaly rozdíly v přenosu dat. proces. Ve srovnání s tím, Layer2, která se specializuje na poskytování datových úložišť DA vrstvy pro určitý veřejný řetězec, provádí datovou interakci prostřednictvím interních sdílených uzlů. Přestože snižuje náklady na interakci a zlepšuje zabezpečení, má větší omezení a může poskytovat služby pouze konkrétním veřejným řetězcům.

4. Způsoby skladování DA

4.1 Hlavní řetězec DA

4.1.1 Podobné jako DankSharding

Neexistuje žádný definitivní název pro tento typ schématu úložiště, ale nejprominentnější je Dank Sharding on Ethereum, takže v tomto článku používáme pro tento typ schématu termín Dank Sharding-like. Tento typ schématu využívá především dvě výše uvedené techniky DA úložiště, sharding a DAS, za prvé jsou data rozdělena do příslušného počtu sdílení pomocí shardingu a poté každý uzel extrahuje blok dat ve formě DAS pro uložení. Pro případ, že je v celé síti dostatek uzlů, můžeme vzít větší počet řezů N, takže skladovací tlak každého uzlu je pouze 1/N originálu, čímž se realizuje N-násobné rozšíření celkového úložiště. prostor. Zároveň, aby se předešlo extrémnímu případu, že blok není uložen žádným blokem, Dank Sharding kóduje data pomocí Eraser Code, což vyžaduje pouze polovinu dat pro kompletní obnovu. Nakonec jsou data ověřena pomocí struktury Verkle Tree s polynomiálními závazky pro rychlé kontrolní součty.

4.1.2 Dočasné uložení

Pro DA hlavního řetězce je jedním z nejjednodušších způsobů zpracování dat ukládání historických dat na krátkou dobu. Blockchain v podstatě funguje jako veřejná účetní kniha, kde se za přítomnosti celé sítě provádějí změny obsahu účetní knihy a není potřeba trvalé úložiště. Například v případě Solana, ačkoli jeho historická data jsou synchronizována s Arweave, hlavní síťové uzly uchovávají pouze transakční data za poslední dva dny. Ve veřejném řetězci založeném na záznamech účtů si každý okamžik historických dat uchovává konečný stav účtu na blockchainu, což je dostatečný základ pro ověření změn v příštím okamžiku. Ti, kteří mají zvláštní potřeby pro data před touto dobou, je mohou uložit na jiné decentralizované veřejné řetězce nebo je předat důvěryhodné třetí straně. Jinými slovy, ti, kteří potřebují další data, budou muset platit za ukládání historických dat.

4.2 DA třetí strany

4.2.1 DA pro hlavní řetězec: EthStorage

  • DA pro hlavní řetězec: Nejdůležitější věcí pro vrstvu DA je zabezpečení přenosu dat a DA s nejvyšší bezpečností je DA hlavního řetězce, ale úložiště hlavního řetězce je omezeno úložným prostorem a konkurencí. zdrojů, takže když objem dat v síti rychle roste, je DA třetí strany lepší volbou, pokud chce realizovat dlouhodobé ukládání dat. Pokud má DA třetí strany vyšší kompatibilitu s hlavní sítí, může realizovat sdílení uzlů a proces interakce dat bude mít vyšší bezpečnost. Proto za předpokladu zvážení bezpečnosti bude mít vyhrazený DA pro hlavní řetězec obrovskou výhodu. Vezmeme-li jako příklad Ethereum, jedním ze základních požadavků na DA věnovaný hlavnímu řetězci je, že může být kompatibilní s EVM, aby byla zajištěna interoperabilita s daty a smlouvami Etherea, a reprezentativní projekty zahrnují Topia, EthStorage atd. Mezi nimi EthStorage je z hlediska kompatibility nejkompatibilnější DA. Mezi reprezentativní projekty patří Topia, EthStorage a tak dále. Mezi nimi je EthStorage nejrozvinutější z hlediska kompatibility, protože kromě kompatibility EVM také nastavil příslušná rozhraní pro rozhraní s Remix, Hardhat a dalšími vývojovými nástroji Ethereum, aby byla realizována kompatibilita s vývojovými nástroji Ethereum.

  • EthStorage: EthStorage je veřejný řetězec nezávislý na Ethereu, ale uzly na něm běžící jsou superskupinou uzlů Ethereum, což znamená, že uzly, na kterých běží EthStorage, mohou zároveň provozovat Ethereum. A co víc, můžeme také přímo provozovat EthStorage prostřednictvím operačních kódů na Ethereu. Model úložiště EthStorage uchovává pouze malé množství metadat pro indexování v hlavní síti Ethereum, což v podstatě vytváří decentralizovanou databázi pro Ethereum. V současném řešení EthStorage nasazuje smlouvu EthStorage na hlavní Ethereum, aby realizovala interakci mezi hlavním Ethereem a EthStorage. Pokud chce Ethereum uložit data, musí ve smlouvě zavolat funkci put() a vstupními parametry jsou dvoubajtové proměnné key, data, kde data představují data, která mají být uložena, a klíčem je jejich identita v Ethereum síť, kterou lze považovat za podobnou existenci CID v IPFS. Po úspěšném uložení datového páru (klíč, data) v síti EthStorage, EthStorage vygeneruje kvldx, který se má vrátit do hostitelské sítě Ethereum, což odpovídá klíči v síti Ethereum a tato hodnota odpovídá adrese úložiště data na EthStorage, takže původní problém ukládání velkého množství dat lze nyní změnit na ukládání jediného (klíč, kvldx). (klíč, kvldx) pár, což výrazně snižuje náklady na úložiště hlavní sítě Ethereum. Pokud potřebujete volat dříve uložená data, musíte použít funkci get() v EthStorage a zadat parametr key a poté můžete provést rychlé vyhledání dat na EthStorage pomocí kvldx uloženého v Ethereu.

Zdroj: Kernel Ventures

  • Pokud jde o to, jak uzly ukládají data, EthStorage se učí z modelu Arweave. Za prvé, velké množství (k,v) párů z ETH je shardováno a každý sharding obsahuje pevný počet (k,v) párů, z nichž je limit na velikost každého (k, v) dvojice, aby byla zajištěna spravedlivost pracovní zátěže v procesu ukládání odměn pro těžaře. Pro vydávání odměn je nutné pro začátek ověřit, zda uzel ukládá data. V tomto procesu EthStorage rozdělí sharding (velikost TB) na mnoho částí a ponechá kořen Merkle na hlavní síti Ethereum pro ověření. Poté musí těžař poskytnout nonce pro generování několika kousků náhodným algoritmem s hashem předchozího bloku na EthStorage a těžař musí poskytnout data těchto kousků, aby dokázal, že uložil celý sharding, ale tuto nonce nelze zvolit libovolně, jinak si uzel vybere vhodnou nonce odpovídající jím uloženým blokům a projde ověřením. Toto nonce však nelze vybrat náhodně, jinak si uzel vybere vhodnou nonce, která odpovídá pouze jeho uloženým chunkům a projde tak verifikací, takže tato nonce musí po smíchání a hašování vytvořit vygenerované chunky tak, aby hodnota obtížnosti odpovídala požadavkům. sítě a odměnu může získat pouze první uzel, který odešle důkaz nonce a náhodný přístup.

4.2.2 Modularizace DA: Celsetia

  • Modul Blockchain: Transakce, které mají být provedeny na veřejném řetězci vrstvy 1, jsou rozděleny do následujících čtyř částí: (1) návrh základní logiky sítě, výběr ověřovacích uzlů určitým způsobem, psaní bloků a přidělování odměn pro správce sítě; (2) transakce balení a zpracování a transakce související s publikováním; (3) ověření transakcí, které mají být nahrány do blockchainu, a určení konečného stavu; (4) ukládání a udržování historických dat na blockchainu. Podle různých vykonávaných funkcí můžeme blockchain rozdělit do čtyř modulů, konsensuální vrstva, realizační vrstva, zúčtovací vrstva a vrstva dostupnosti dat (DA vrstva).

  • Modulární návrh blockchainu: po dlouhou dobu byly tyto čtyři moduly integrovány do jednoho veřejného řetězce, takový blockchain se nazývá monolitický blockchain. Tato forma je stabilnější a snadněji se udržuje, ale zároveň vytváří obrovský tlak na jediný veřejný řetězec. V praxi se tyto čtyři moduly navzájem omezují a soutěží o omezené výpočetní a úložné zdroje veřejného řetězce. Například zvýšení rychlosti zpracování procesní vrstvy přinese větší tlak na úložiště na vrstvu dostupnosti dat; zajištění bezpečnosti prováděcí vrstvy vyžaduje složitější ověřovací mechanismus, ale zpomaluje rychlost zpracování transakcí. Proto vývoj veřejného řetězce často naráží na kompromis mezi těmito čtyřmi moduly. Aby vývojáři prolomili toto úzké hrdlo zlepšování výkonu veřejného řetězce, navrhli modulární řešení blockchainu. Základní myšlenkou modulárního blockchainu je odstranit jeden nebo několik ze čtyř výše uvedených modulů a dát je k implementaci samostatnému veřejnému řetězci. Tímto způsobem se veřejný řetězec může zaměřit na zlepšení rychlosti transakcí nebo kapacity úložiště a prolomit předchozí omezení celkového výkonu blockchainu díky efektu krátké desky.

  • Modulární DA: Komplexní přístup oddělení DA vrstvy od blockchainového podnikání a její umístění do samostatného veřejného řetězce je považováno za životaschopné řešení pro rostoucí historická data Layer1. V této fázi je průzkum v této oblasti stále v rané fázi a nejreprezentativnějším projektem je Celestia, která využívá metodu ukládání dat Sharding, která také rozděluje data do více bloků a každý uzel z nich extrahuje část pro úložiště a používá KZG polynomiální závazek k ověření integrity dat. Celestia zároveň využívá pokročilé dvourozměrné korekční kódy RS k přepisování původních dat do podoby matice k*k, což v konečném důsledku vyžaduje k obnově pouze 25 % původních dat. Úložiště rozdělených dat však v podstatě pouze násobí úložný tlak uzlů v síti faktorem celkového objemu dat a úložný tlak uzlů stále roste lineárně s objemem dat. Vzhledem k tomu, že se na vrstvě 1 neustále zlepšuje rychlost transakcí, může úložný tlak na uzly jednoho dne stále dosáhnout nepřijatelného prahu. K vyřešení tohoto problému je v Celestii zavedena komponenta IPLD. Místo ukládání dat do matice k*k přímo na Celestii jsou data uložena v síti LL-IPFS, přičemž v uzlu je uložen pouze CID kód dat. Když uživatel požaduje část historických dat, uzel odešle odpovídající CID komponentě IPLD, která se používá k volání původních dat na IPFS. Pokud data na IPFS existují, jsou vrácena prostřednictvím komponenty IPLD a uzlu. Pokud neexistuje, data nelze vrátit.

Zdroj: Celestia Core

  • Celestia: Vezmeme-li Celestii jako příklad, můžeme vidět aplikaci modulárního blockchainu při řešení problému úložiště Ethereum, Rollup uzel odešle zabalená a ověřená data transakcí do Celestie a uloží data na Celestii, během procesu Celestia pouze ukládá data bez přílišného vnímání. V tomto procesu Celestia pouze ukládá data, aniž by je snímala, a nakonec podle velikosti úložného prostoru Rollup uzel zaplatí Celestii odpovídající tia tokeny jako poplatek za úložiště. Úložiště v Celestia využívá podobný DAS a ladicí kód jako v EIP4844, ale polynomiální ladicí kód v EIP4844 je upgradován tak, aby používal dvourozměrný RS ladicí kód, který opět zvyšuje zabezpečení úložiště, a pouze 25 % zlomků jsou potřebné k obnovení všech transakčních dat. Jde v podstatě o veřejný řetězec POS s nízkými náklady na úložiště, a pokud má být realizován jako řešení problému s ukládáním historických dat Etherea, je pro práci s Celestií potřeba mnoho dalších specifických modulů. Například pokud jde o rollup, jeden z roll-up modelů vysoce doporučených oficiálními stránkami Celestia je Sovereign Rollup, který se liší od běžného rollupu na Layer2, který může pouze vypočítat a ověřovat transakce, stačí dokončit prováděcí vrstvu a zahrnuje celý proces exekuce a vypořádání, což minimalizuje potřebu procesu exekuce a vypořádání na Celestii. To minimalizuje zpracování transakcí na Celestii, což maximalizuje celkovou bezpečnost transakčního procesu, když je celkové zabezpečení Celestie slabší než u Etherea. Pokud jde o zabezpečení dat volaných Celestií v hlavní síti Ethereum, nejmainstreamovějším řešením je smart kontrakt Quantum Gravity Bridge. Pro data uložená na Celestii vygeneruje Merkle Root (certifikát dostupnosti dat) a uchová je ve smlouvě Quantum Gravity Bridge v hlavní síti EtherCenter. Když EtherCenter pokaždé zavolá historická data o Celestii, porovná výsledek hash s Merkle Root, a pokud se shoduje, znamená to, že se skutečně jedná o skutečná historická data.

4.2.3 Skladovací řetězec DA

Pokud jde o technické principy DA hlavního řetězce, mnoho technik podobných shardingu bylo vypůjčeno od skladovacích veřejných řetězců. V externích DA některé z nich dokonce plní část úloh úložiště přímo pomocí storage veřejných řetězců, například konkrétní transakční data v Celestia jsou vložena do sítě LL-IPFS. V řešeních externích DA je kromě vybudování samostatného veřejného řetězce k vyřešení problému s úložištěm vrstvy 1 přímějším způsobem přímé připojení veřejného řetězce úložiště k vrstvě 1 pro ukládání obrovských historických dat na vrstvě 1. U výkonného blockchainu je objem historických dat ještě větší, za plného provozu se objem dat výkonného veřejného řetězce Solana blíží 4 PG, což je zcela mimo dosah úložiště běžných uzlů. Solana volí řešení pro ukládání historických dat na decentralizované úložné síti Arweave a pro ověření uchovává pouze 2 dny dat na uzlech hlavní sítě. Aby byla zajištěna bezpečnost procesu ukládání, Solana a řetězec Arweave navrhly protokol storage bridge Solar Bridge, který synchronizuje ověřená data z uzlů Solana do Arweave a vrací odpovídající tag, což umožňuje uzlům Solana prohlížet historická data blockchain Solana v kterémkoli okamžiku. Uzel Solana může zobrazit historická data z libovolného okamžiku na blockchainu Solana. Na Arweave namísto toho, aby uzly v síti vyžadovaly zachování konzistence dat jako nutnost pro účast, síť používá přístup k ukládání odměn. Za prvé, Arweave nepoužívá ke stavbě bloků tradiční řetězovou strukturu, ale spíše grafovou strukturu. V Arweave bude nový blok ukazovat nejen na předchozí blok, ale také náhodně ukazuje na vygenerovaný blok Recall blok, jehož přesné umístění je určeno výsledkem hash předchozího bloku a jeho výškou bloku a umístěním Recall. blok je neznámý, dokud není vytěžen předchozí blok. V procesu generování nových bloků však musí uzly mít data bloku Recall, aby bylo možné použít mechanismus POW k výpočtu hashe zadané obtížnosti, a pouze těžař, který jako první vypočítá hash, který splňuje obtížnost může být odměněna, což podněcuje těžaře k ukládání co nejvíce historických dat. Zároveň platí, že čím méně lidí ukládá konkrétní historický blok, tím méně konkurentů bude mít uzel při generování nonce vyhovující obtížnosti, což těžaře povzbuzuje k ukládání bloků s menším počtem záloh v síti. A konečně, aby bylo zajištěno, že uzly ukládají data trvale, je v Arweave zaveden mechanismus hodnocení uzlů WildFire. Uzly budou preferovat komunikaci s uzly, které mohou poskytovat historická data více a rychleji, zatímco uzly s nižším hodnocením nebudou moci získat nejnovější data o blocích a transakcích napoprvé, čímž se jim nepodaří získat náskok v soutěži POW.

Zdroj: Arweave Yellow-Paper

5. Syntetizované srovnání

Porovnáme výhody a nevýhody každého z pěti řešení úložiště z hlediska čtyř dimenzí výkonnostních metrik DA.

  • Bezpečnost: Největším zdrojem problémů se zabezpečením dat je ztráta dat způsobená procesem přenosu dat a zákeřnou manipulací ze strany nepoctivých uzlů a proces křížového řetězce je nejhůře zasaženou oblastí zabezpečení přenosu dat kvůli nezávislosti obou veřejnosti. řetězců a stát se nedělí. Navíc Layer1, která v této fázi vyžaduje specializovanou DA vrstvu, má často silnou konsensuální skupinu a její bezpečnost bude mnohem vyšší než u běžných storage veřejných řetězců. Proto má hlavní řetězec DA řešení vyšší bezpečnost. Po zajištění bezpečnosti datového přenosu je dalším krokem zajištění bezpečnosti volajících dat. Pokud vezmeme v úvahu pouze krátkodobá historická data použitá k ověření transakce, stejná data jsou zálohována celou sítí v síti dočasného úložiště, zatímco průměrný počet záloh dat ve schématu podobném DankShardingu je pouze 1/N počet uzlů v celé síti, což znamená, že větší redundance dat může snížit náchylnost ke ztrátě dat a zároveň může poskytnout více referenčních vzorků pro ověření. Proto bude mít dočasné úložiště vyšší zabezpečení dat. Ve schématu DA třetí strany, kvůli veřejným uzlům používaným v hlavním řetězci, mohou být data přímo přenášena přes tyto přenosové uzly v procesu křížového řetězení, a proto bude mít také relativně vyšší bezpečnost než ostatní DA. schémata.

  • Náklady na úložiště: Faktorem, který má největší vliv na náklady na úložiště, je množství redundance v datech. Ve schématu krátkodobého úložiště hlavního řetězce DA, které pro ukládání používá formu synchronizace dat v uzlu v celé síti, je třeba veškerá nově uložená data zálohovat v uzlech v celé síti, což má nejvyšší náklady na úložiště. Vysoké náklady na úložiště zase určují, že v síti s vysokým TPS je tento přístup vhodný pouze pro dočasné úložiště. Další je metoda ukládání sharding, včetně shardingu v hlavním řetězci a shardingu v DA třetí strany. Protože hlavní řetězec má často více uzlů, a proto bude mít odpovídající blok více záloh, schéma sdílení hlavního řetězce bude mít vyšší náklady. Nejnižší náklady na úložiště jsou ve veřejném řetězci úložiště DA, který využívá metodu ukládání odměn, a množství redundance dat v tomto schématu má tendenci kolísat kolem pevné konstanty. Veřejný úložný řetězec DA zároveň zavádí mechanismus dynamického přizpůsobení, který přitahuje uzly k ukládání menšího množství zálohovaných dat zvýšením odměny za zajištění bezpečnosti dat.

  • Rychlost čtení dat: Rychlost ukládání dat je primárně ovlivněna tím, kde jsou data uložena v úložném prostoru, cestou indexu dat a distribucí dat mezi uzly. Mezi nimi to, kde jsou data uložena v uzlech, má větší vliv na rychlost, protože ukládání dat do paměti nebo SSD může vést k desetinásobnému rozdílu v rychlosti čtení. DA ve veřejném řetězci úložiště většinou zabírají úložiště SSD, protože zatížení tohoto řetězce zahrnuje nejen data z vrstvy DA, ale také osobní data velmi náročná na paměť, jako jsou videa a obrázky nahrané uživateli. Pokud síť nevyužívá SSD jako úložný prostor, je těžké unést obrovský tlak na úložiště a uspokojit poptávku po dlouhodobém úložišti. Za druhé, u externích DA a DA hlavního řetězce, kteří používají stav paměti k ukládání dat, musí externí DA nejprve vyhledat odpovídající indexovaná data v hlavním řetězci a poté přenést indexovaná data napříč řetězcem do třetího party DA a vraťte data přes storage bridge. Naproti tomu hlavní DA může dotazovat data přímo z uzlů, a proto má rychlejší načítání dat. A konečně, v rámci hlavního řetězce DA přístup shardingu vyžaduje volání bloků z více uzlů a obnovu původních dat. Proto je pomalejší než způsob krátkodobého skladování bez střepin.

  • Univerzálnost DA Layer: Univerzálnost DA hlavního řetězce se blíží nule, protože není možné přenášet data z veřejného řetězce s nedostatečným úložným prostorem do jiného veřejného řetězce s nedostatečným úložným prostorem. V DA třetích stran jsou obecnost řešení a jeho kompatibilita s konkrétním hlavním řetězcem protichůdné metriky. Například v případě řešení DA specifického pro hlavní řetězec navrženého pro konkrétní hlavní řetězec provedlo mnoho vylepšení na úrovni typů uzlů a konsenzu sítě, aby se přizpůsobilo tomuto konkrétnímu veřejnému řetězci, a proto tato vylepšení mohou fungovat jako obrovskou překážkou při komunikaci s ostatními veřejnými řetězci. V rámci DA třetích stran fungují DA veřejného řetězce úložiště z hlediska zobecnění lépe než modulární DA. DA veřejného řetězce úložiště mají větší komunitu vývojářů a více rozšiřujících zařízení pro přizpůsobení různým veřejným řetězcům. Veřejný DA řetězce úložiště zároveň může získávat data aktivněji prostřednictvím zachycování paketů, než pasivně přijímat informace přenášené z jiných veřejných řetězců. Proto může kódovat data svým způsobem, dosáhnout standardizovaného ukládání datového toku, usnadnit správu datových informací z různých hlavních řetězců a zlepšit efektivitu ukládání.

Zdroj: Kernel Ventures

6. Závěr

Blockchain prochází procesem konverze z Crypto na Web3 a přináší množství projektů na blockchainu, ale také problémy s ukládáním dat. Aby bylo možné pojmout simultánní provoz tolika projektů na vrstvě 1 a zajistit zkušenosti s projekty Gamefi a Socialfi, společnost Layer1 zastoupená společností Ethereum přijala Rollup a Blobs ke zlepšení TPS. A co víc, roste také počet vysoce výkonných blockchainů v nově zrozeném blockchainu. Vyšší TPS však neznamená pouze vyšší výkon, ale znamená také větší úložný tlak v síti. Pro obrovské množství historických dat je v této fázi navrženo několik přístupů DA, a to jak hlavního řetězce, tak založeného na třetích stranách, aby se přizpůsobily růstu tlaku na úložiště v řetězci. Vylepšení mají své výhody a nevýhody a mají různou použitelnost v různých kontextech. V případě blockchainů založených na platbách, které mají velmi vysoké požadavky na bezpečnost historických dat a neusilují o zvlášť vysoké TPS, ty jsou stále v přípravné fázi, mohou přijmout způsob ukládání jako DankSharding, který může zajistit bezpečnost a zároveň si uvědomit obrovský nárůst skladovací kapacity. Pokud se však jedná o veřejný řetězec, jako je bitcoin, který již byl vytvořen a má velký počet uzlů, existuje obrovské riziko unáhleného vylepšení konsensuální vrstvy, takže může přijmout speciální DA pro hlavní řetězec s vyšší bezpečností. v off-chain úložišti, aby se vyvážily otázky zabezpečení a úložiště. Je však třeba poznamenat, že funkce blockchainu se v průběhu času mění. Například v počátcích byla funkčnost Etherea omezena na platby a jednoduché automatizované zpracování aktiv a transakcí pomocí chytrých kontraktů, ale jak se blockchain rozšiřoval, byly do Etherea přidány různé projekty Socialfi a Defi, které jej posunuly k více komplexní směr. S nedávnou explozí ekosystému nápisů na bitcoinech stouply transakční poplatky v bitcoinové síti od srpna téměř 20krát, což odráží skutečnost, že transakční rychlosti sítě nejsou v této fázi schopny uspokojit poptávku po transakcích. Obchodníci musí zvýšit poplatky, aby transakce byly zpracovány co nejrychleji. Nyní musí bitcoinová komunita udělat kompromis mezi akceptováním vysokých poplatků a pomalou rychlostí transakcí nebo snížením zabezpečení sítě, aby se zvýšila rychlost transakcí a na prvním místě byl zmařen účel platebního systému. Pokud se bitcoinová komunita rozhodne pro to druhé, bude nutné řešení úložiště upravit tváří v tvář rostoucímu datovému tlaku.

Zdroj: OKLINK

Co se týče veřejného řetězce s komplexními funkcemi, jeho honba za TPS je vyšší, s enormním nárůstem historických dat je těžké se dlouhodobě adaptovat na rychlý růst TPS přijetím řešení podobného DankShardingu. Vhodnějším způsobem je tedy migrace dat na externího DA pro uložení. Mezi nimi mají DA specifické pro hlavní řetězec nejvyšší kompatibilitu a mohou být výhodnější, pokud se uvažuje pouze o uložení jednoho veřejného řetězce. V dnešní době, kdy veřejné řetězce na 1. vrstvě kvetou, se však přenos aktiv napříč řetězci a interakce dat také staly běžnou činností blockchainové komunity. Pokud vezmeme v úvahu dlouhodobý vývoj celého blockchainového ekosystému, ukládání historických dat z různých veřejných řetězců na stejném veřejném řetězci může eliminovat mnoho bezpečnostních problémů v procesu výměny a ověřování dat, takže modularizovaný DA a způsob ukládání veřejných řetězové DA mohou být lepší volbou. Za předpokladu blízké obecnosti se modulární DA zaměřuje na poskytování služeb vrstvy blockchain DA, zavádí propracovanější indexová data pro správu historických dat a může provádět přiměřenou kategorizaci různých dat veřejného řetězce, což má více výhod ve srovnání s veřejnými řetězci úložiště. Výše uvedený návrh však nezohledňuje náklady na úpravu konsensuální vrstvy na stávajícím veřejném řetězci, což je extrémně riskantní. Drobná systematická mezera může způsobit, že veřejný řetězec ztratí komunitní konsensus. Pokud se tedy jedná o přechodné řešení v procesu transformace blockchainu, může být vhodnější dočasné úložiště na hlavním řetězci. A konečně, všechny výše uvedené diskuse jsou založeny na výkonu během skutečného provozu, ale pokud je cílem určitého veřejného řetězce rozvíjet svou ekologii a přilákat více účastníků projektu a účastníků, může mít tendenci upřednostňovat projekty, které jsou podporovány a financovány její základ. Pokud je například celkový výkon stejný nebo dokonce mírně nižší než u řešení pro ukládání veřejných řetězců, komunita Ethereum bude také upřednostňovat EthStorage, což je projekt Layer2 podporovaný nadací Ethereum, aby pokračoval v rozvoji ekosystému Ethereum. .

Celkově vzato, rostoucí složitost dnešních blockchainů s sebou přináší větší potřebu úložného prostoru. S dostatečným počtem ověřovacích uzlů vrstvy 1 nemusí být historická data zálohována všemi uzly v celé síti, ale po určité prahové hodnotě mohou zajistit bezpečnost. Zároveň se stále více zpřesňuje dělba práce veřejného řetězce, Layer1 je zodpovědná za konsensus a provádění, Rollup je zodpovědný za výpočet a ověřování a pak se pro ukládání dat používá samostatný blockchain. Každá část se může zaměřit na určitou funkci, aniž by byla omezena výkonem ostatních částí. Konkrétní počet úložišť nebo podíl uzlů, které mohou ukládat historická data za účelem dosažení rovnováhy mezi bezpečností a efektivitou, a také to, jak zajistit bezpečnou interoperabilitu mezi různými blockchainy, je problém, který musí vývojáři blockchainu zvážit. Investoři mohou věnovat pozornost hlavnímu řetězci specifickému projektu DA na Ethereu, protože Ethereum má v této fázi již dostatek příznivců, aniž by bylo nutné využívat sílu jiných komunit k rozšíření svého vlivu. Je důležitější zlepšit a rozvíjet svou komunitu, aby přilákala více projektů do ekosystému Ethereum. U veřejných řetězců, které dohánějí, jako jsou Solana a Aptos, však jediný řetězec sám o sobě nemá tak dokonalý ekosystém, takže mohou dát přednost tomu, aby spojily své síly s jinými komunitami, aby vybudovaly velký ekosystém napříč řetězci, aby rozšířily svůj vliv. . Proto si u vznikající vrstvy 1 zaslouží více pozornosti univerzální DA třetí strany.

Kernel Ventures je výzkumný a vývojářský komunitou řízený krypto VC fond s více než 70 investicemi v rané fázi se zaměřením na infrastrukturu, middleware, dApps, zejména ZK, Rollup, DEX, modulární blockchain a vertikály, které začlení další miliardu uživatelů do kryptoměn. jako je abstrakce účtů, dostupnost dat, škálovatelnost atd. Za posledních sedm let jsme se zavázali podporovat růst klíčových vývojářských komunit a univerzitních blockchainových asociací po celém světě.

Odkaz

  1. Celestia: Hvězdné moře modulárního blockchainu: https://foresightnews.pro/article/detail/15497

  2. Využití DHT a budoucí práce: https://github.com/celestiaorg/celestia-node/issues/11

  3. Celestia-core: https://github.com/celestiaorg/celestia-core

  4. Laboratoře Solana: https://github.com/solana-labs/solana?source=post_page-----cf47a61a9274------------------------- --------

  5. Announcing The SOLAR Bridge: https://medium.com/solana-labs/announcing-the-solar-bridge-c90718a49fa2

  6. leveldb-handbook: https://leveldb-handbook.readthedocs.io/zh/latest/sstable.html

  7. Kuszmaul J. Verkle stromy[J]. Verkle Trees, 2019, 1: 1.: https://math.mit.edu/research/highschool/primes/materials/2018/Kuszmaul.pdf

  8. Síť Arweave: https://www.arweave.org/

  9. Žlutá kniha Arweave: https://www.arweave.org/yellow-paper.pdf