Poate ați observat că aproape fiecare dezvoltator participă și retweetează Ceremonia KZG, deci ce este Ceremonia KZG?

În termeni simpli, KZG Ceremony este configurația de încredere a angajamentului EIP-4844 KZG, iar EIP-4844 este pre-lansarea completă a fragmentării Ethereum.

1. Sharding: O soluție pe termen lung pentru scalarea Ethereum

  • În timp ce rollup-urile scalează Ethereum din nivelul de execuție, sharding-ul îmbunătățește scalabilitatea și capacitatea Ethereum din perspectiva disponibilității datelor.

  • Graficul tendințelor de mai jos arată că dimensiunea medie a blocurilor fluctuează în jurul valorii de 90 kb, în ​​ciuda iterației rapide a Ethereum în acești ani. Deși rollup-urile remit în special congestia rețelei, performanța generală este încă limitată de capacitatea de stocare a datelor de la nivelul 1.

  • Având în vedere securitatea și complexitatea implementării, sharding-ul este împărțit în mai multe faze, care includ proto-danksharding și danksharding. Întregul proces ar putea dura câțiva ani.

  • Având în vedere schema de stocare actuală, doar puține hardware-uri de înaltă performanță sunt capabile să participe ca noduri. După implementarea sharding-ului, nodurile nu sunt obligate să stocheze întregul conținut al datelor istorice, ceea ce sporește securitatea Ethereum prin scăderea pragului de a deveni un nod (un cost mai mic de stocare a datelor și un grad mai mare de descentralizare).

2. EIP-4844: rentabilitate remarcabilă pe termen scurt, o pre-lansare a Ethereum full sharding

EIP-4844 = Proto-Danksharding;

Deoarece implementarea completă a sharding-ului este încă prea complexă și ar putea dura ani de zile, proto-danksharding-ul este cel mai bun plan intermediar pentru a reduce congestia Ethereum pe termen scurt.

2.1 Rezumatul proto-danksharding

Proto-Danksharding introduce un nou tip de tranzacție numit tranzacție cu blob-carrying. Beneficiind de această actualizare, rollup-urile pot folosi „blob” pentru a transfera date în L1 și a le stoca provizoriu la un cost relativ mai mic. Dimensiunea unui blob este mult mai mare decât datele de apel curente.

Despre blob:

  • Fiecare tranzacție poate transporta cel mult 2 blob-uri

  • Fiecare bloc transportă în mod normal 8 blob-uri, care au o capacitate de 1 MB.

Un bloc poate transporta 16 blob-uri, ceea ce duce la o dimensiune de bloc de 2 MB.

  • Un blob nu este stocat permanent ca jurnal istoric, cum ar fi calldata.

  • În proiectarea proto-danksharding, nodurile trebuie încă să descarce întregul conținut al datelor și să verifice disponibilitatea datelor.

2.2 Tranzacție care poartă blob în profunzime

Funcționalitate

Funcționalitatea unui blob de date este similară cu calldata, care permite pachetului să transfere date și dovezi ale tranzacției în L1.

Cost

Intenția inițială a blob-ului este să accepte TPS ridicat în rollup-uri. În comparație cu calldata, care utilizează stocarea în lanț, acele blob de date sunt descărcate și stocate doar pentru o perioadă de timp. Prin urmare, cheltuielile cu gazul pentru pachete pentru a asigura disponibilitatea datelor vor fi previzibil mai mici.

Capacitate

Dimensiunea fiecărui blob este de 125 kB.

2.3 Valoarea și provocarea tranzacției care transportă blob

Valoare

Este cert că apariția blob-urilor face ca datele tranzacțiilor să devină un fel de cache, ceea ce scade și mai mult necesarul de hardware de stocare pentru noduri și reduce taxa de gaz prin furnizarea Ethereumului de stocare suplimentară a datelor.

Provocare: Să calculăm necesarul de hardware

Faptul este că dimensiunea actuală a blocului este de aproximativ 90 kB, dar dimensiunea unui blob poate ajunge la 125 kB

Conform designului EIP-4844, dimensiunea fiecărui slot este în mod normal de 1 MB, ceea ce înseamnă că dimensiunea totală a datelor poate fi calculată după cum urmează:

1 MB/bloc * 5 bloc/min * 43200 min/lună * 12 luni/an = 2,47 TB pe an

Este evident că creșterea anuală a datelor este mult mai mare decât totalul datelor Ethereum, ceea ce deduce că acest plan naiv de stocare a datelor nu este eficient.

Ce poate fi optimizat?

Pe termen scurt, fiecare nod trebuie să stocheze în continuare conținutul complet al datelor istorice, dar stratul de consens este implementat cu o schemă conform căreia datele blob vor fi șterse într-o anumită perioadă de timp (30 de zile sau 1 an, TBD)

Pentru beneficiul pe termen lung, EIP-4444 trebuie implementat, ceea ce indică faptul că nodurile nu mai sunt necesare pentru a stoca date complete. În schimb, este adoptat un nou mecanism, care permite nodurilor să stocheze doar părți de date pentru un anumit timp, referindu-se la așa-numita schemă de expirare a istoricului.

2.4 Angajamentul KZG

KZG Commitment este o schemă de angajament polinomial adoptată de EIP-4844 proto-danksharding

Ceremonia KZG este procesul de stabilire a încrederii pentru KZG Commitment, care atrage peste 30.000 de participanți.

2.4.1 Ce este angajamentul KZG

KZG este o abreviere a lui Aniket Kate, Gregory M. Zaverucha și Ian Goldberg, care au publicat eseul de angajament polinom „Constant-Size Commitments to Polynomials and Their Applications” în 2010. Angajamentul KZG este aplicat sălbatic în stilul plonk zk-snark. protocol.

Referindu-ne la diagrama din prezentarea lui Dankrad, rădăcina KZG este similară cu rădăcina Merkle, cu excepția faptului că rădăcina KZG se angajează într-un polinom, în care fiecare poziție se află pe acest polinom. Pe baza scenariului de proto-danksharding, rădăcina KZG comite un set de date, în care fiecare punct de date poate fi verificat ca parte a întregului set.

O vedere rapidă a modului în care angajamentul KZG funcționează intern

  • Dovator: Responsabil pentru calcularea angajamentului. Din motive de securitate, un probator nu poate modifica polinomul dat, iar angajamentul este valabil doar pentru polinomul curent;

  • Verificator: Responsabil cu verificarea angajamentului transmis de la doveditor.

2.4.2 Ceremonia KZG (configurare de încredere)

Procesul ceremoniei KZG

Toată lumea se poate alătura ca participant la ceremonia KZG și poate contribui cu secretul. Secretul nou adăugat va fi amestecat cu ieșirea anterioară pentru a forma un nou rezultat și, în final, va genera un SRS pentru configurarea de încredere a angajamentului KZG. (Verificați diagrama oferită de Vitalik pentru o mai bună înțelegere)

Configurare de încredere

  • Ceremonia KZG este o configurație de încredere multi-participantă folosită cu desăvârșire numită power-of-tau;

  • Această configurare urmează modelul de încredere 1-of-N, ceea ce înseamnă că indiferent câți participanți contribuie la procesul de generare a configurației finale, atâta timp cât o persoană își păstrează secretul, valabilitatea configurației poate fi garantată.

Semnificația ceremoniei KZG

  • Valoarea configurației de încredere a angajamentului KZG poate fi interpretată după cum urmează: pentru a genera un parametru care este necesar pentru fiecare execuție a protocolului criptografic.

  • Când probatorul calculează angajamentul, angajamentul KZG C = f(s)g1, unde f este funcția de evaluare și s este rezultatul final al configurației de încredere KZG. Prin urmare, secretul final generat de ceremonia actuală KZG este crucial pentru următoarea implementare a fragmentării.

2.4.3 Avantajul angajamentului KZG

  • Cost

  • Angajamentul KZG are o complexitate mai mică și poate fi verificat eficient.

  • Nu este nevoie de dovezi suplimentare, ceea ce duce la un cost mai mic și remite cerința de lățime de bandă.

  • Cost și mai mic profitând de precompilarea evaluării punctelor.

  • Securitate

  • Dacă are loc eșecul, doar blob-ul corespunzător angajamentului curent este infectat și nu mai există niciun efect în lanț.

  • Compatibilitate

  • Angajamentul KZG este mai prietenos cu DAS, ceea ce evită redundanța în dezvoltare.

2.5 Beneficiul EIP-4844

Rollup

După cum se arată în imaginea de mai jos, rollup-ul trebuie să trimită delta de stat și hash-ul versionat al angajamentului KZG prin calldata (zk-rollup încă trebuie să încarce zkp).

După implementarea EIP-4844, datele de apel scumpe transportă doar câteva date mici, cum ar fi delta de stat și angajamente, în timp ce datele mari, cum ar fi lotul de tranzacții, sunt introduse în blob.

  • reduce costurile;

  • reduceți utilizarea spațiului de stocare în bloc.

Îmbunătățirea securității

  • Disponibilitatea datelor: Blob este stocat în lanțul de semnalizare, care are aceeași securitate ca Ethereum L1.

  • Date istorice: nodurile stochează blob-uri doar pentru o anumită perioadă de timp, iar pachetul de nivel 2 este responsabil pentru stocarea permanentă a datelor, ceea ce indică faptul că securitatea datelor istorice se bazează pe acumulare.

Cost

Caracteristica low-cost a tranzacției care transportă blob poate optimiza costul total cu x10 până la x50.

Între timp, EIP-4844 introduce o taxă blob

  • Gazul și blob vor avea prețuri și limite reglabile separate pentru gaz;

  • Unitatea de preț a unui blob este gazul, cantitatea de gaz va pluti în funcție de traficul din rețea, care își propune să mențină numărul pe care îl transportă fiecare bloc (8 în medie).

Implementarea precompilării

Execuția EVM poate vizualiza doar angajamentul unui blob generat de probator și nu poate accesa direct datele blob. Prin urmare, rollup-ul trebuie să utilizeze schema de precompilare pentru a verifica validitatea angajamentului.

Există doi algoritmi de precompilare menționați în EIP-4844

  • Precompilarea de evaluare a punctelor

  • Demonstrați că mai multe angajamente sunt angajate pentru același set de date.

  • Precompilarea de evaluare a punctelor este adoptată în principal de zk-rollup, rollup-ul trebuie să ofere două angajamente, angajamentul KZG și angajamentul zk-rollup

  • În ceea ce privește acumularea optimistă, majoritatea dintre ei au adoptat anti-fraudă în mai multe runde, iar runda finală anti-fraudă are o dimensiune mai mică a datelor, ceea ce înseamnă că pot folosi și precompilarea de evaluare a punctelor pentru un cost mai mic.

  • Precompilare pentru verificarea blob

  • Demonstrați că hash-ul versionat este valid pentru blob-ul corespunzător

  • Acumularea optimistă are nevoie de acces la datele complete atunci când trimiteți antifraudă, așa că este rațional să verificați validitatea hash-ului versiunea și apoi verificarea împotriva fraudei.

3. Danksharding: Un pas crucial către sharding complet

Scalare

Datorită noului design de tip de tranzacție al proto-danksharding, care introduce un blob de date, fiecare bloc are acum un cache suplimentar de 1MB. Acest număr va crește de 16 până la 32 de ori după implementarea danksharding.

Disponibilitatea datelor: stocarea și verificarea datelor de înaltă performanță

În comparație cu proto-danksharding, unde nodurile sunt necesare pentru a stoca întregul conținut al datelor istorice, danksharding permite nodurilor să stocheze date numai după eșantionare.

THE

Profitând de tehnologia de codare de ștergere, propunerea danksharding facilitează (fiecare nod trebuie doar să descarce părți de date) nodurilor să descopere pierderea de date.

Securitate: Aproape la fel

Deoarece nodurile nu mai sunt necesare pentru a stoca întregul conținut al datelor istorice, securitatea nu este susținută doar de un singur nod, ci depinde de mai multe noduri care stochează părți de date și pot fi compuse și recuperate în continuare datele complete.

Deși o schemă de dependență într-un singur punct este mai sigură decât o dependență în mai multe puncte, numărul de noduri din rețeaua Ethereum este mult mai mult decât suficient, care este calificat pentru a atinge obiectivul de a asigura disponibilitatea datelor.

Noua provocare: cerința mai mare pentru constructorii de blocuri

În timp ce validatorii descarcă și stochează doar părți din datele complete, constructorul de blocuri trebuie încă să încarce întregul conținut al datelor, care este blob-ul care conține toate datele tranzacției.

Conform diagramei din slide-urile lui Dankrad, putem vedea cum PBS (separarea propunere/constructor), care a fost conceput inițial pentru anti-MEV, ajută la reducerea cerinței de lățime de bandă în timpul construirii blocurilor.

4. O altă schemă de sharding: sharding state dinamice de la Shardeum

Shardeum este un blockchain L1 compatibil cu EVM, care utilizează fragmentarea dinamică a stării pentru a îmbunătăți scalabilitatea și securitatea. Între timp, rețeaua shardeum este capabilă să asigure un nivel mai ridicat de descentralizare.

Fracționarea dinamică a stării

Avantaje

Cele mai intuitive beneficii ale fragmentării stării dinamice sunt scalarea liniară. Fiecare nod deține un interval de adrese diferit și există o suprapunere semnificativă între adresele acoperite de noduri. Algoritmul de sharding grupează nodurile în mod dinamic, ceea ce înseamnă că nodurile nou adăugate în rețeaua Shardeum lucrează imediat pentru a crește TPS-ul

Implementarea

Complexitatea implementării sharding-ului dinamic al stării este mai dificilă decât sharding-ul static. Echipa tehnică Shardeum a cercetat în profunzime tehnologiile de fragmentare. Realizările anterioare de cercetare și dezvoltare realizate de echipa Shardeum (anterior tehnologia Shardus) au, de asemenea, contribuții semnificative, care sunt capabile să prezinte scalarea liniară a fragmentării stării dinamice într-o etapă timpurie de dezvoltare.

Rezumat

Produs

Referindu-ne la ideea de împărțire și cucerire, sharding-ul dinamic al stării Shardeum a împărțit volumul de lucru de calcul și stocare, ceea ce permite un nivel mai ridicat de paralelizare. Prin urmare, rețeaua este capabilă să găzduiască mai multe noduri, ceea ce îmbunătățește și mai mult debitul și nivelul de descentralizare.

Echipă

Echipa Shardeum are o experiență puternică de marketing și o capacitate narativă. De asemenea, au o înțelegere profundă a detaliilor tehnice, în special a fragmentării stării dinamice.

Tehnologie

Echipa tehnologică este capabilă să proiecteze o schemă de sharding adecvată și un algoritm de consens eficient (Proof of Stake + Proof of Quorum) pe baza înțelegerii scenariului, care pune scalarea și debitul ca primă considerație și asigură securitatea și nivelul de descentralizare pe cât posibil.

Progres

Betanet lansat pe 2023–02–02.

5. Perspectiva

  • Sharding este o soluție de scalare pe termen lung pentru Ethereum, are o valoare uriașă și o semnificație profundă pentru întreaga rețea. Este mai rău să acordați o atenție deosebită, deoarece implementarea sharding-ului este un proces de iterație. Toate propunerile actuale, inclusiv proto-danksharding și danksharding, pot fi actualizate/modificate.

  • Deși înțelegerea metodei generale de implementare a sharding-ului este importantă, propunerile tehnice, cum ar fi PBS, DAS, piața de taxe multidimensionale etc., care apar în timpul procesului, merită de asemenea să le acordați atenție. Ar putea exista multe proiecte remarcabile care să însoțească aceste scheme.

  • Este important de știut că sharding-ul este un termen general care descrie un set de tehnologii de scalare și există diferite scheme de aplicații în funcție de scenarii specifice. De exemplu, proiectarea danksharding s-ar putea să se potrivească doar cu Ethereum și ar putea duce probabil la un efect negativ dacă este aplicată în alte L1, deoarece securitatea trebuie să fie garantată de o cantitate imensă de noduri în rețea.

  • O combinație rațională de sharding și alte soluții de scalare poate obține un efect de multiplicare. Actuala propunere de danksharding nu va funcționa singură. În schimb, rollup-urile și dankshardingul se completează reciproc pentru a îmbunătăți mai bine scalabilitatea și capacitatea Ethereum.

Referinţă

https://notes.ethereum.org/@dankrad/kzg_commitments_in_proofs

https://notes.ethereum.org/@dankrad/new_sharding

https://vitalik.ca/general/2022/03/14/trustedsetup.html

https://notes.ethereum.org/@vbuterin/proto_danksharding_faq#Why-use-the-hash-of-the-KZG-instead-of-the-KZG-directly

https://ethresear.ch/t/easy-proof-of-equivalence-between-multiple-polynomial-commitment-schemes-to-the-same-data/8188

https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html

https://eips.ethereum.org/EIPS/eip-4844

https://www.eip4844.com/

https://biquanlibai.notion.site/Data-Availability-caa896aae59d489b98f2448f17b01640

https://ethresear.ch/t/a-design-of-decentralized-zk-rollups-based-on-eip-4844/12434

Despre Foresight Ventures

Foresight Ventures se dedică susținerii inovației perturbatoare a blockchain-ului pentru următoarele câteva decenii. Gestionăm mai multe fonduri: un fond de capital de risc, un fond secundar gestionat activ, un FOF cu mai multe strategii și un fond secundar de piață privată, cu AUM depășind 400 de milioane USD. Foresight Ventures aderă la credința „unic, independent, agresiv, mentalitate pe termen lung” și oferă suport extins companiilor din portofoliu într-un ecosistem în creștere. Echipa noastră este compusă din veterani de la companii financiare și tehnologice de top precum Sequoia Capital, CICC, Google, Bitmain și multe altele.

Site: https://www.foresightventures.com/

Twitter: https://twitter.com/ForesightVen

Mediu: https://foresightventures.medium.com

Substack: https://foresightventures.substack.com

Discord: https://discord.com/invite/maEG3hRdE3

Linktree: https://linktr.ee/foresightventures