Kā uz apkopojumu orientēts ekosistēmu entuziasts mani vienmēr ir interesējuši risinājumi, kas uzlabo apkopojuma savietojamību. Turklāt vienīgais iemesls, kāpēc es izveidoju šo pētījuma ziņojumu, bija veicināt vēstījumu par sadarbspējas nozīmi šajā jomā. Tad es sapratu, ka rakstu rakstīšana ir lielisks veids, kā nostiprināt savu izpratni par noteiktu tēmu un palīdzēt cilvēkiem to saprast, un tagad esmu šeit.
Tā kā katru dienu kriptovalodā tiek apgūtas jaunas lietas, vajadzētu šķist pašsaprotami, ka šodien es uzskatu, ka redzējums “Apkopošanas savietojamība ir izšķiroša Ethereum nākotnei” ir diezgan novecojis. No filozofijas POV es joprojām ievēroju to pašu redzējumu** — apkopojuma sadarbspēja ir ārkārtīgi svarīga Ethereum** nākotnei, un visai ekosistēmai ir jāstrādā pie risinājumiem, kas to uzlabo. Tomēr no tehnoloģiju POV es uzzināju daudz jaunu ideju par šo tēmu un mainīju savas domas par dažām lietām.
Lai izprastu tālāk sniegto materiālu, ir lietderīgi iegūt pamatzināšanas par apkopojumiem un to sadarbspējas problēmu. Ja jums tā nav, mans raksts “Dr. Dankshards jeb Kā es iemācījos beigt uztraukties un mīlēt rollups” ir lielisks ievads.
Ir 13. novembra vakars, Devconnect Istanbul pirmā diena. Kā milzīgs ZkSync fans es nolēmu apmeklēt zkSync Connect kā savu pirmo pasākumu šajā sammitā, pirmo manā dzīvē. Tur es satiku kādu puisi, un mēs kopā devāmies uz “Mosyo Coffee”, kā teikts zkCafe Luma lapā. Tajā rajonā viņi bija divi, un īsto vietu atradām tikai līdz vakaram.
Tas bija daudz tumšāks nekā fotoattēlā, un lija lietus. Uzturoties pie jumta malas, uz kuras atradās ēdināšanas laukums, un dzerot kafiju, ko par bezmaksas žetoniem nopirkām vietnē Clave , es pastāstīju savam jaunajam draugam par savu ideju par hakatona projektu.
Ir “mini konti”: ERC-4337 konti, kuru apstiprināšanas loģika nav paraksta pārbaude, bet gan operācijas jaucējkoda esamība vienotajā iesūtnes tiltā tā L2. Jaucējkods ir jānosūta no vecākadreses noteiktā avota ķēdē. Vecāku adrese ir jūsu galvenais viedais maks jebkurā L2 vai Ethereum L1. Lai mijiedarbotos ar citu L2, jums:
Izvietojiet tajā mini kontu un iestatiet savu galveno maku kā vecāku adresi. Ikviens var veikt izvietošanu; tādējādi to var finansēt protokols vai jūsu seifa nodrošinātājs.
Nosūtiet lietotāja darbības jaucējkodolu, kuru vēlaties nosūtīt, uz iesūtnes tiltu savā L2 un iestatiet mērķa ķēdes ID.
Šis jaucējfails tiek komplektēts ar citiem jaucējiem un tiek nosūtīts uz L1. Viedais līgums L1 pārsūta šo komplektu uz galamērķi L2, un iesūtnes tilts atdala jaucējumus, lai mini konti varētu tos nolasīt.
Sūtītājs savam jaukumam pievieno nelielu maksu, lai stimulētu protokola viedlīgumos veikto darījumu iniciatorus.
Kad hash sasniedz galamērķi L2, jūs nosūtāt savu lietotāja darbību uz šīs L2 AA mempool. Izmantojot ERC-4337 standartu, mums nav atkārtoti jāievieš savs mini-konta mempool, un protokolu var viegli integrēt makos ar jau esošu kodu bāzi.
Īsāk sakot, es gatavojos izveidot uz L1 balstītu tiltu, kas nosūta darījumus no jūsu L2 viedmaka uz jebkuru L2, ar kuru vēlaties sazināties. Es beidzot to gandrīz ieviesu hakatonā, bet nevarēju to pabeigt, jo man bija maz pieredzes un strādāju solo. Paskaidrojis draugam, viņš man jautāja:
Kāpēc viens vienkārši nemaina tīklu savā makā un neizmanto token tiltus, lai pārvietotu nepieciešamos līdzekļus uz vajadzīgo tīklu?
Es atbildēju : šī ir absolūti iespēja, ja tiek izmantots EOA seifs. EOA maki darbojas vienādi visos EVM tīklos, un tiem ir viena un tā pati adrese, tāpēc varat nosūtīt darījumus visos tajos, vienkārši mainot tīklu sava maka iestatījumos.
Tomēr apgabals tiek migrēts uz viedkontiem, kuru pamatā ir abstrakcija. Šie konti ļauj mums programmatiski pievienot jebkuras funkcionalitātes saviem makiem:
P256 paraksti ļauj mūsu tālruņos izmantot drošas mikroshēmas darījumu parakstīšanai.
Izmantojot sociālo atveseļošanos, mēs varam pievienot savus radiniekus kā aizbildņus, kas ir pilnvaroti atgūt mūsu makus, novēršot nedrošas sēklu frāzes.
Maksātāja tehnoloģija ļauj mums samaksāt gāzes maksu jebkurā žetonā vai pat likt kādam maksāt maksu par mums .
Kad kvantu datori sāk lauzt klasiskās parakstu shēmas, mēs varam vienkārši mainīt shēmu mūsu AA makos uz kvantu drošu, neizveidojot jaunu maku.
Šo sarakstu var turpināt bezgalīgi, jo konta abstrakcija būtībā ļauj mums izmantot izpildāmās programmas kā pilnvērtīgus makus. Bet tas viss maksā: nevar viegli migrēt savus makus uz citu ķēdi, jo ne tikai līdzekļu pārvietošanai caur tiltu ir nepieciešams pārdalīt visu kontu ar visām atslēgām, aizbildņiem un iestatījumiem. Dažos gadījumos tas var būt pārāk sarežģīti vai pat neiespējami; piemēram, apkopojumos, kas neatbalsta P256 priekškompilāciju (šī paraksta shēma var būt pārāk dārga lietošanai).
Tāpēc es izveidoju šo protokolu. Būtībā jums ir AA konti daudzās L2. Lai nosūtītu darījumu no viņiem, jums ir jāapstiprina savs nodoms, nosūtot tā jauktu no sava galvenā konta noteiktā L2 uz šiem “minikontiem”, izmantojot L1 tilta ziņojumapmaiņu. Patiesībā šādā veidā jūs neatbrīvosities no vairākiem makiem; jūs vienkārši pārvietojat visu verifikācijas loģiku uz vienu “vecāku” kontu.
Vēl viena interesanta šāda protokola detaļa ir tāda, ka tas nodrošina savietojamību ne tikai ar L2, bet ar visām L1 (sānu ķēdēm), kurās ir ietverti tilti ar Ethereum — Polygon PoS, Ronin, Gnosis un Avalanche ir tas, par ko es domāju. Tomēr tas tika izstrādāts kā uz apkopošanu orientēts sadarbspējas protokols , tāpēc tas ir tikai jautrs tehnoloģisks fakts.
Lai gan projekta ideja bija diezgan gudra, praktiskajai īstenošanai bija būtisks trūkums: ātrums . Viss dizains balstās uz kanoniskiem saliekamiem tiltiem, kas savienoti ar Ethereum L1. Rollup tilti ir īpatnēji ar to, ka tie apliecina savu stāvokli ar saviem viedajiem līgumiem Ethereum, lai mantotu tā drošību. Kā jūs, iespējams, jau zināt, optimistiskā un ZK pārbaude ir divi populārākie veidi, kā to izdarīt.
Optimistiskā pārbaude darbojas, atverot “izaicinājuma logu”, parasti apmēram septiņas dienas, un šajā laikā izaicinātāji var nosūtīt krāpšanas pierādījumu , kas norāda uz jebkuru nederīgu darījumu partijas daļu. Ja šis pierādījums ir derīgs, apkopojums pārkārto savu blokķēdi, lai dzēstu šo partiju. Pēc septiņām dienām bez krāpšanas pierādījumiem partija tiek automātiski uzskatīta par derīgu, un visi ziņojumi un izņemšana tiek pabeigti Ethereum.
Jūs droši vien to jau esat sapratuši. Tā kā ziņojumapmaiņa uz L1 aizkavējas septiņas dienas, starpķēžu darījumu sūtīšana no optimistiska apkopojuma ir šausmīga ideja. Kāpēc? Nu, vai jūs gaidīsit savu DEX maiņu nedēļu? Kas šajā laikā notiks ar cenu?
Daudz labāk ir nosūtīt starpķēžu darījumus optimistiskajam apkopojumam. Lai gan OP Stack sekvencētājs nogaida dažus blokus pirms ziņojuma apstrādes, lai samazinātu pārkārtojumu iespējamību, dažu uzdevumu gaidīšana dažas minūtes jūsu darījumam jau ir diezgan pieņemama.
Turklāt Ethereum kopiena pašlaik strādā pie vienas slota galīguma izveides , kas ļaus katram blokam pabeigt atsevišķi, padarot tos neatgriezeniskus nākamajā blokā. Pēc tā ieviešanas ziņojumapmaiņa no L1 uz L2 prasīs aptuveni 12 sekundes.
Šādu kontu mitināšana ZK apkopojumos būtu labāka, taču joprojām ne pārāk lietojama. Kā redzams no zemāk esošās statistikas, ZKsync Era beidzas 21 stundā, Linea 5 stundās, Starknet 9 stundās utt.
Bet kāpēc tas ir šādi? Vai jaudīgos klasteros nav ātra ZK droša ģenerēšana? Īsāk sakot, ir divas problēmas:
Darījuma gaidīšana stundu vai divas joprojām ir pārāk ilga. Ko mēs varam darīt lietas labā?
Pirmkārt, aizmirsīsim manu astoņus mēnešus veco hakatona projektu un mēģināsim likvidēt mentālo modeli, ka katrs darījums ir jāuzsāk no mūsu galvenā viedmaka. Kāpēc mums pat ir jādalās ar mūsu viedā maka loģiku katrā apkopojumā? Kāpēc mēs vienkārši neģenerējam pagaidu EOA, nesaņemam līdzekļus no mūsu galvenā viedmaka, nepaveicam kādu darbu, ko vēlamies paveikt, un neizveidotu atlikušo?
My Clave (vai jebkuram viedam makam, ko izmantojat) ir Secure Enclave parakstīšana un sociālā atkopšana, tāpēc es vienmēr varu būt drošs par saviem līdzekļiem, pat ja pazaudēju savu tālruni. Un kuru interesē, kas notiek ar šiem pagaidu kontiem? Es jau esmu izdarījis savas lietas ar viņiem; visi līdzekļi tagad ir manā Clave.
Tomēr šai pieejai ir būtiska problēma: pieņēmums, ka jūs nevarat regulāri izmantot vienu un to pašu maku citās ķēdēs, ievērojami ierobežo tajās veicamo uzdevumu skaitu. Piemēram, jūs nevarat:
Būtībā viss, ko varat darīt kā lietotājs, ir sadalīt līdzekļus vairākiem saņēmējiem, katru reizi neveicot pāreju, un iegūt labāku likviditāti, lai veiktu mijmaiņas darījumu ar marķieri, ko var savienot atpakaļ ar galveno ķēdi.
Tādējādi, lai šie maki būtu noderīgi, mums tiem ir jāpiekļūst, izmantojot tos pašus noteikumus, ko izmantojam savos galvenajos viedmakos — droši anklāvi, sociālā atveseļošanās utt. Tātad, mēs atgriežamies pie iepriekš minētās idejas un tās neiespējamības. Tomēr ir reāls līdzeklis , kas šiem mini kontiem var nodrošināt tikai mūsu galvenā maka atkopšanas īpašības:
Mēs izveidojam tos pašus mini kontus, kas aprakstīti iepriekš, taču ļaujam vienai atslēgai tieši nosūtīt darījumus no tiem. Mūsu vecākmaksa tagad var mainīt šo atslēgu, izmantojot uz L1 balstītu tiltu vai likt minikontam to nolasīt no vecāka L2 stāvokļa. Tādā veidā, ja pagaidu atslēga tiek pazaudēta, vecākais maciņš var sākt atslēgas maiņu, izmantojot lēno, bet atomu L1 tiltu.
Atomiskums — darbības īpašība, kas neļauj tai izgāzties izpildes laikā. Vai nu tas netika uzsākts, vai arī tas tika izdarīts. Uz L1 balstīti tilti ir atomāri, jo ziņojumu nevar pazaudēt, ja tas tiek nosūtīts. Pasūtīšanu, pieejamību un autentiskumu garantē Ethereum L1.
Šis ir daudz labāks! Tagad parastajiem darījumiem nepieciešams laiks tikai marķieru savienošanai. Kad žetoni ir nonākuši galamērķī, darījumu nosūtīšana notiek tikpat ātri, it kā tā būtu jūsu galvenā ķēde. Ja pazaudēsiet atslēgu, jums būs jāgaida no vairākām stundām līdz septiņām dienām atkarībā no jūsu vecāku maka ķēdes, taču jūs to neizmantosit pārāk bieži, tāpēc kompromiss ir pieņemams lielākajā daļā lietošanas gadījumu. Turklāt tas ir iespējams ieviest makos pat šodien. Es pat izveidoju savu implementāciju , taču tā nekādā ziņā nav droša vai gatava ražošanai un ir paredzēta tikai vizualizācijas nolūkiem.
Līdzīga tehnika tiek izmantota Web3 fjūčeru tirdzniecības platformās: jūs apstiprināt tokenu pa pāriem (parasti USDC) viedajam līgumam un piešķirat pagaidu atslēgu tēriņiem, kas tiek saglabāta platformas priekšgalā. Tas ļauj lietotājiem veikt ātras darbības, neparakstot katru darbību ar savu galveno maku. Ja maināt ierīci vai dzēšat datus pārlūkprogrammā, varat vienkārši piešķirt atslēgu, izmantojot savu galveno maku.
Taču, tāpat kā ar visu kriptovalūtu, arī šī pieeja nav ideāla. Tam ir divi trūkumi:
Lai gan modernie tilti var pārskaitīt līdzekļus dažu sekunžu laikā , tie a) iekasē maksu, kas var būt ļoti liela par lieliem pārskaitījumiem , b) nav kodolīgi un nepārmanto Ethereum drošības īpašības. Īpaši svarīgi ir ņemt vērā blokķēdes tiltu drošības īpašības .
Ārējo tiltu izmantošana marķieru pārsūtīšanai ir zināmā mērā pieņemama, atšķirībā no to izmantošanas ziņojumu nodošanai minikontu darbībai. Iemesls ir viņu sliktākie gadījumi, iespējams, uzbrukuma viņiem dēļ:
Tādējādi paļaušanās uz ārējiem tiltiem marķieru savienošanai ir diezgan liela iespēja, ja vien nav efektīva veida, kā tos savienot atomu veidā, izmantojot L1. Faktiski šo iespēju izmanto daudzi lietotāji, kuri šodien mijiedarbojas ar apkopošanas ķēdēm.
Pieņemsim, ka mēs vēlamies apstiprināt visus darījumus vienuviet, piemēram, lai sākotnēji pārsūtītu marķierus starp kontiem vai pārbaudītu parakstus ar unikālu priekškompilāciju. Tādā gadījumā mēs saskaramies ar šodienas ZK apkopojumu lēno galīgumu. Atgriezīsimies uz īsu brīdi, lai padomātu, ko varētu uzlabot ar iepriekšējo tehniku.
Kāpēc apkopojumiem ir lēns tilta galīgums? Mēs ņemsim ZK apkopojumus par mērķi, jo, ņemot vērā optimistiskos, iemesls jau ir skaidrs:
Tomēr ir izņēmums; Scroll piedāvā stāvokli aptuveni katru minūti , taču a) pierādījumu pārbaude joprojām tiek veikta ik pēc dažām stundām, tāpēc tā paliek neapstiprināta, un b) Scroll ir viens no visdārgākajiem šodien izmantojamajiem apkopojumiem .
Ja mēs to pārfrāzējam vēl vienkāršāk, problēmas ir izmaksu pierādīšana un izmaksu pārbaude. Apskatīsim katru problēmu un tās risināšanas veidus.
Būtībā mūsu uzdevums ir panākt, lai mūsu apkopojumā esošais viedais maciņš ātri sadarbotos ar citiem apkopojumiem bez papildu uzticības pieņēmumiem, ko rada ārējie tilti. Viedie maki parasti sastāv no dažām parastajām AA funkcijām — maksātāji, sociālā atkopšana, droši anklāvi, tēriņu ierobežojumi utt., kā arī galvenā darbība, kas ļauj no tā nosūtīt ķēdes darījumus.
Kāpēc mums ir nepieciešama galvenā darbība, ja vēlamies izmantot citus apkopojumus no sava maka? Tā kā tas, iespējams, tiek mitināts daudzfunkcionālā apkopojumā — Arbitrum, Base, ZKsync Era — un mēs vēlamies arī šajā apkopojumā sadarboties ar lietotājiem un viedajiem līgumiem.
Šajā konkrētajā gadījumā būtu lietderīgi vienkārši izmantot ārējos marķieru tiltus. Vienkārši aizstājiet uzdevumu ar, piemēram, mijiedarbību ar dApp tajā pašā apkopojumā un citu.
Šī daudzpusība ir tas, kas padara apkopojumu pārbaudes sistēmu sarežģītāku. Visas virtuālās mašīnas stāvokļa pārbaude ar daudziem viediem līgumiem un darījumiem, kas notiek katru sekundi, ir diezgan grūts uzdevums. Mēs vēlamies izpildīt divu veidu uzdevumus, kuriem apkopojumā ir nepieciešams pilnīgi atšķirīgs funkciju kopums: ķēdes transakcijai tā ir ātra L2 iekļaušana, zemas L2 maksas un plaša VM funkcionalitāte, kā arī vairāku apkopojumu transakcija. , tas ir ātrs tilta galīgums.
Bet ko darīt, ja mēs vienkārši atbrīvojamies no virtuālās mašīnas un izveidojam apkopojumu, kas var apstrādāt tikai viedos kontus un ziņojumapmaiņu ar citiem L2? Vitaliks Buterins ierosināja līdzīgu paņēmienu gandrīz Devconnect Istanbul laikā, ko sauca par "atslēgu krātuves apkopošanu". Mēs to apspriežam tālāk.
Ideja ir izveidot ZK apkopojumu, kurā var saglabāt tikai konta atslēgas un mainīt tās, izmantojot citu atslēgu. Šis apkopojums nospiež Merkles koka sakni, kurā ir visas šīs atslēgas uz L1. Pēc tam, kad vēlaties nosūtīt darījumu no viena no saviem viedkontiem L2s, jūs ģenerējat pašreizējās atslēgas Merkle apliecinājumu, un jūsu konts verificē to ar L1 pieejamo atslēgu krātuves sakni. Tagad tas zina jūsu atslēgu un var to izmantot, lai pārbaudītu jūsu parakstus.
Šāds apkopojums ir ļoti vienkāršs, un var viegli ieviest vairākas pārbaudes sistēmas, tāpēc tajā glabātās atslēgas faktiski ir tikpat drošas kā L1.
Papildus Vitalik oriģinālajam dizainam ir trīs galvenie atslēgu krātuves apkopojumi:
Vispārīgi runājot, tie atšķiras pēc ārpusķēdes apstrādei deleģēto uzdevumu skaita (citiem vārdiem sakot, cik daudz lietu atrodas L2) un to īstenošanas detaļu.
Mēs varam paplašināt šo ideju, apstrādājot ne tikai atslēgas , bet arī visu viedā konta loģiku . Tas arī nebūtu daudz sarežģītāk skaitļošanas ziņā; būtībā mums ir jāveic tikai šādi uzdevumi:
Datu sūtīšana uz L1: atslēgu krātuves apkopojuma kontiem jāspēj informēt L1 par savu darījuma nodomu. Visa darījuma glabāšana L1 nav nepieciešama; pietiktu ar kaut ko līdzīgu Merkle koka saknei ar visām lietotāja operāciju hashēm. Pēc tam viss, kas nepieciešams, lai nosūtītu darījumu no minikonta, ir nolasīt sakni no galamērķa L2 un pierādīt, ka noteikta AA darbība patiešām tika pieprasīta no vecākkonta.
Paraksta pārbaudes: lietotājs paraksta tās lietotāja darbības jaucējkodu, kuru vēlas izpildīt noteiktā apkopojumā. Atslēgu krātuves apkopojums pārbauda parakstu, lai pierādītu nodomu, un pievieno kokam jaucēju, lai pēc tam to novirzītu uz L1. Pietiek ar dažām parakstu shēmām, piemēram, ECDSA , P256 un kvantu drošām shēmām .
Sociālā atkopšana: ļaujiet citiem, mērķtiecīgi izvēlētiem kontiem, sauktiem par “aizbildņiem”, balsot par galvenajām izmaiņām lietotāja kontā. Lietotājs var iestatīt aizbildņus un slieksni un lūgt tos atgūt atslēgas nozaudēšanas gadījumā. Mēs varam arī ieviest uz veto balstītas atkopšanas vai alternatīvas aizbildņu shēmas, piemēram, ZK-Email , ZK-OTP vai Web Proofs , lai paplašinātu sociālo atkopšanu ārpus apkopojuma lietotājiem.
Tēriņu noteikumi: Ja maciņš tiek nozagts, aizbildņu kontrolētie tēriņu noteikumi var ievērojami samazināt iespējamos zaudējumus, pirms lietotājs maku atgūst. Šī funkcija noder arī līdzekļu uzkrāšanai vai, piemēram, maciņu izgatavošanai bērniem — vecāki var nosūtīt pabalstu un ierobežot, cik daudz no tā var iztērēt, lai bērns iemācītos krāt.
Žetonu atlikumi: tas var šķist nevajadzīgi, taču iespēja glabāt kriptovalūtu atslēgu krātuves apkopojumā ievērojami palielina lietotāju līdzekļu drošību, nesadalot tos vairākos mini kontos. Turklāt tas nodrošina daudzas funkcijas, kas uzlabo lietotāja pieredzi:
Maksātāji: apkopojums var piedāvāt bezmaksas darījumus, lai piesaistītu jaunus lietotājus vai ļautu viņiem maksāt maksu ar jebkuru marķieri, nevis tikai ETH. Var ieviest arī sarežģītāku maksātāja loģiku — piemēram, sekvencētājs var iekasēt maksu no mijmaiņas darījuma citā ķēdē, kad tā tiek atgriezta atpakaļ uz atslēgu krātuves apkopojumu.
Iekšējie marķieru pārskaitījumi: ne tikai tūlītēja līdzekļu nosūtīšana starp apkopojuma lietotājiem, bet arī tiešie pārskaitījumi, lai ieviestu uz nolūku balstītus tiltus ar citiem apkopojumiem, kuru galīgums ir pārāk lēns, lai izmantotu L1, lai izveidotu tiltu no minikonta uz vecākkontu atslēgu krātuves apkopojumā. Tādā veidā atslēgu krātuves apkopojums būtībā var darboties kā centrmezgls, lai lēti pārsūtītu marķierus starp minikontiem desmitiem dažādu L2.
Šāda sistēma ir tehniski daudz vienkāršāka nekā pilna virtuālā mašīna apkopojumā, tāpēc ir iespējams ģenerēt pierādījumus vairākām pārbaudes sistēmām vienlaikus, un pierādījumu ģenerēšanas sarežģītība joprojām būs daudz mazāka.
Tomēr pierādījumu pārbaude joprojām ir problēma. Kā mēs jau iepriekš aprēķinājām, tā gāzes izmaksas var būt līdz 1 miljonam gāzes vai ~ 25-50 USD atkarībā no gāzes cenas. Šīs izmaksas ir fiksētas un nav atkarīgas no darījumu skaita partijā. Tas nozīmē, ka, ja darījumu ir pārāk maz, maksa par katru darījumu var būt ļoti augsta. Ir divi galvenie veidi, kā samazināt šīs izmaksas:
Aligned ir EigenLayer AVS, kas izmanto atkārtotus operatorus, lai lēti pārbaudītu ZK pierādījumus. Ja neesat pazīstams ar EigenLayer, šis ir vienkāršots kopsavilkums par to, kā pierādījumi tiek pārbaudīti programmā Aligned:
Lietotājs nosūta tīklam apliecinājuma pārbaudes pieprasījumu un samaksā par to maksu;
Saskaņotie operatori, no kuriem katrs ir Ethereum validators ar piesaistītiem noguldījumiem, pārbauda pierādījumu savā mezglā un parakstās par tā derīgumu;
Kad 2/3 operatoru parakstās par pierādījumu, apkopotais paraksts tiek nosūtīts un pārbaudīts Ethereum L1.
Ja nederīgs pierādījums ir sasniedzis galīgumu, pārbaudītājus, kas parakstījušies par to, var samazināt, pārbaudot to ķēdē. Tādā veidā pierādījums iegūst ekonomisko drošību, kas vienāda ar 2/3 no kopējās Aligned operatoru akciju.
Šai pieejai ir acīmredzams trūkums — Ethereum vairs negarantē pierādījumu derīgumu. Ja rollup tilta TVL ir lielāks par 2/3 no kopējās Aligned likmes, uzbrukt tam kļūst izdevīgi. Un tā kā mēs runājam par 1-2 bloku beigu latentumu, mēs nevaram optimistiski novērst uzbrukumu.
Tomēr tas varētu būt samērā drošs risinājums, ja vien apkopojums nav pārāk liels. Ja tas notiek, darījuma pieprasījums jau varētu padarīt L1 pierādījumu pārbaudi lietderīgu. Saskaņā ar dokumentiem ZK pierādījuma pārbaude, izmantojot Aligned, maksā apmēram 3000 gāzes, kas ir gandrīz bez maksas pat Ethereum L1.
Ja jums ir neērti ieviest sistēmā papildu uzticamības pieņēmumus vai jūsu protokols jau ir kļuvis pārāk liels, bet tā darījuma pieprasījums nav, pastāv alternatīva.
ZK un rollup komandas nesen ir sākušas aktīvi strādāt pie pierādījumu apkopošanas protokoliem. Ja jūs pārāk nepārzināt ZK, pierādījumu apkopošana ir tad, kad ZK pierādījums pierāda cita ZK pierādījuma derīgumu (kas, savukārt, var pierādīt citu pierādījumu utt.), tādējādi "apkopojot" tos vienā pierādījumā un būtībā pārceļot visas pārbaudes izmaksas uz pierādīšanas izmaksām. Atliek pārbaudīt vienu ZK pierādījumu ķēdē un pārliecināties par visu pārējo ZK pierādījumu derīgumu, ko tas pierāda. Fu!
Pierādījumu apkopošanai ir jēga, ja pārbaudes izmaksas ir augstākas nekā pierādījumu apkopošanas izmaksas. Tas ir, apkopošana kļūst rentabla, ja pierādījuma izveides izmaksas desmit pierādījumiem un to pārbaude ir mazākas nekā šo desmit pierādījumu pārbaude atsevišķi. Tas ir vēl noderīgāks Ethereum L1, kuru ļoti ierobežo skaitļošanas jauda. Atkarībā no pārbaudes sistēmas visā blokā var būt tikai aptuveni 100 pārbaudes verifikācijas , izņemot visas pārējās ķēdes darbības.
Parasti ir divu veidu pierādījumu apkopošanas protokoli:
Universālo apkopošanas sistēmu priekšrocības ir tādas, ka tās ir projektu agnostiskas un specializējas tikai pašā apkopošanas procesā, kas paver diezgan ātru pierādījumu pārbaudi un zemas izmaksas. Turklāt tam, visticamāk, nebūs treniņriteņu, jo trūkst tilta komponenta.
Savukārt apkopotie apkopošanas tilti ir noderīgi, lai atslēgu krātuves apkopojumam būtu sinhrona kompozīcija ar jau esošu apkopojuma steku. Piemēram, saskaņā ar L2BEAT 13 projekti pašlaik tiek veidoti, izmantojot Polygon CDK, un 11 projekti izmanto ZK Stack. Kad tie visi savienojas ar koplietojamo pierādījumu apkopošanas tiltu, atslēgu krātuves apkopojuma savienošana ar vienu no tiem atvērs netraucētu mijiedarbību ar daudziem L2, pat nepieskaroties L1. Lai tas darbotos, tiltam ir jāatbalsta atšķirīga stāvokļa pārejas loģika tā L2, jo atslēgu krātuves apkopojuma loģika atšķiras no citiem tajā esošajiem L2.
Tomēr šos tiltus parasti var uzlabot, un tos kontrolē DAO vai drošības padome. Atslēgu krātuves apkopošanas projekti var nebūt apmierināti, atdodot savu suverenitāti tā tilta operatoriem, ar kuru tie ir saistīti. Turklāt tilti var izraisīt izpildes aizkavi kā piesardzības līdzekli, kas tiek izmantots kā apmācības riteņi, līdzīgi tam, kā ZKsync Era darbojas tagad, kas būtībā samazina visu šī atslēgu krātuves apkopojuma dizaina efektivitāti.
Tādā veidā atslēgu krātuves apkopojumi, tāpat kā citi ZK apkopojumi, var samazināt pierādījumu pārbaudes izmaksas un pat apvienot to ar sinhronu kompozīciju ar jau esošu apkopojuma steku.
Kā minēts iepriekš, pāreja no L2 uz L1 nav vienīgā problēma. Lielākā daļa apkopojuma sekvencētāju piemēro arī aizkavi ziņojumu nodošanai no L1 uz L2. Tas ir tāpēc, ka, kad tiek izveidots Ethereum bloks, tas vēl nav galīgs un to var mainīt nākamo ~ 64 bloku laikā (divos epohos, apmēram 13 minūtes). Šie pārkārtojumi notiek tīkla latentuma dēļ, kā rezultātā daži priekšlikumi tīklā parādās pārāk vēlu, kad daži mezgli jau uzskata, ka tie ir izlaisti.
Lai gan lielākā daļa reorgu nav dziļāki par diviem blokiem (septiņu bloku reorgs pat parādījās ziņās pirms diviem gadiem) , apkopošanas komandas joprojām nevēlas riskēt ar neatbildētiem ziņojumiem un piemērot aizkavēšanos pārejai no L1. Dažos apkopojumos ( OP Stack , ZK Stack ) šī aizkave ir tikai aptuveni 1 minūte, taču tā var būt līdz 6 minūtēm, piemēram, Arbitrum , vai pat pieprasīt L1 galīgumu, piemēram, Linea .
Ethereum kopiena aktīvi strādā pie Single-Slot Finality , kas ļaus katram blokam pabeigt neatkarīgi, nevis vienu reizi laikmetā. Taču mēs varam droši teikt, ka tas nav plānots nākamajam Pectra jauninājumam, kas nāks 2025. gada pirmajā ceturksnī, tāpēc paies vismaz gads, līdz SSF tiks ieviests.
Ja komanda, kas ievieš šo paplašināto atslēgu krātuves apkopojuma dizainu, nav apmierināta ar šādu darījumu latentumu, tā var ieviest iepriekš aprakstīto atvieglojumu. Katram minikontam ir atslēga, kas pilnvarota nosūtīt darījumus, vai tiek izmantota statiskā atslēga no atslēgu krātuves (saskaņā ar Vitalik sākotnējo dizainu), taču konta pārvaldība joprojām notiek galvenajā atslēgu krātuves kontā. Kad SSF ir ieviests L1, apkopojums var noņemt autorizētās tēriņu atslēgas, un lietotāji iegūs visu AA pielāgošanas funkcionalitāti bez ievērojamas ātruma samazināšanās.
Šeit es piekrītu Aleksam; 15 sekunžu latentums ir absolūti pieņemams, jo īpaši tāpēc, ka operācija notiek pēc tam, kad atslēgu krātuves apkopošanas darījums ir pabeigts L1. Ja mēs runājam par marķieru pārsūtīšanu, saņēmēju maki var pat ieviest statusu “Gaida” lietotāja interfeisa līmenī.
Tomēr savstarpējās apkopošanas pilnvaru pārsūtīšana joprojām rada problēmas. Ja atslēgu krātuves apkopojumā ieviešam marķieru glabātuves, marķieru pārsūtīšana no tā aizņems 1–15 minūtes atkarībā no adresāta apkopojuma. Ja mēs to nedarīsim, lietotāju atlikumu sadalīšana mini kontos vairākos L2 kontos var radīt drošības riskus un pat bloķēt dažus aktīvus nelikvīdos L2 kontos, no kuriem pāreja var maksāt pārāk dārgi vai aizņemt pārāk ilgu laiku.
Kā alternatīvu mēs apkopojumā varam integrēt uz nolūku balstītu tiltu un izvietot to visos citos apkopojumos vai pat atkārtoti izmantot esošo infrastruktūru, piemēram, ar ERC-7683 saderīgus protokolus. Nākamajā sadaļā mēs īsi apspriedīsim nodomu tiltus.
Lielākā daļa esošo šķērsķēžu tiltu ir balstīti uz ziņojumapmaiņas protokoliem. Piemēram, Stargate izmanto LayerZero , lai nosūtītu ziņojumus par noguldījumiem galamērķa ķēdēm, paļaujoties uz to kā uzticības avotu. Nosūtot žetonus caur šādiem tiltiem, tie bloķē jūsu žetonus vienā pusē un nosūta ziņojumu par jūsu depozītu otrā pusē, un tur esošā glabātuve atbloķē jums attiecīgo žetonu daudzumu.
Uz nolūku balstīti tilti savukārt nesūta ziņojumus starp divām ķēdēm. Tā vietā nosūtāmie līdzekļi tiek bloķēti glabātavā kā “starpķēžu pasūtījums”, un tad ikviens var aizpildīt pasūtījumu, nosūtot galamērķa ķēdē pieprasīto marķieru daudzumu. Ikviens, kurš aizpilda pasūtījumu, pēc tam var pieprasīt bloķētos marķierus no avota ķēdes, kad tajā esošā glabātuve tiek informēta par galamērķa ķēdes pabeigto stāvokli un var apstiprināt pārsūtīšanu.
Tas var notikt, gaidot galamērķa ķēdes mērķa (tilta) galīgumu vai izmantojot kādu ārēju orākula protokolu. Piemēram, Across izmanto UMA optimistisko orākulu , lai iegūtu vēl nepabeigto L2 stāvokli.
Šajā scenārijā kā uzticības avots tiek izmantots Ethereum L1. Daži protokoli, piemēram, Across, tā vietā izmanto ārējos orākulus. Faktiskais dizains esošajos projektos var atšķirties; tiek parādīta tikai vispārējā ideja.
Mēs varam izmantot to pašu dizainu šiem paplašinātajiem atslēgu krātuves apkopojumiem, lai ieviestu neuzticamu, ātru un lētu divvirzienu tiltu starp atslēgu krātuvi un visiem citiem L2. Ātrā tilta galīgā darbība ļauj uz nolūku balstītiem pasūtījumiem no citām L2 ierīcēm būt gandrīz bez maksas, jo izpildes pierādīšana L2 aizņem tikai dažas minūtes.
Pasūtījumi no atslēgu krātuves, iespējams, arī būs lēti, jo L2 likviditāti var nodrošināt salīdzinoši ātri, izmantojot atslēgu krātuves. Tādā veidā šāds atslēgu apkopojuma dizains var kļūt par centru uz nolūku balstītai savienošanai, ļaujot lietotājiem nosūtīt darījumus uzreiz, nevis dažu minūšu laikā, gandrīz neko nemaksājot par savienošanu. Apkopošanas komanda var arī nodrošināt likviditāti, lai pārietu caur atslēgu krātuvi 1:1, un tas viņiem nemaksātu dārgi.
Iedomājieties, ka jums ir viens lietotājvārds.eth , kas atrisina visus jūsu minikontus neatkarīgi no tā, kurā ķēdē atrodas adresāts. Šis dizains padara to iespējamu. Kā?
Tā kā mēs jau zinām sava galvenā atslēgu krātuves konta adresi, mēs varam izmantot daudzķēžu rūpnīcas un CREATE2, lai padarītu mūsu minikontu adreses vienādas visās baitu koda ekvivalentajās EVM ķēdēs, pat ieskaitot Ethereum L1. Pēc tam mēs iestatām vienoto adresi ENS atrisinātājā, un mūsu nosaukums darbojas visos EVM L2.
Tomēr ir divi izņēmuma gadījumi:
Lai gan šī pieeja ir ļoti draudzīga lietotājam, tā izmanto daudz dārgu aprēķinu un krātuves L1, jo vārdi un adreses tiek glabāti L1 atrisinātājos. Šo problēmu var atrisināt, izmantojot CCIP Read , bet es izdomāju citu, efektīvāku ķēdes izšķirtspējas loģiku:
Katrs konts atslēgu krātuvē tiek reģistrēts un indeksēts ar tā ENS nosaukuma namehash (reģistrēts ar vienu ENS nosaukumu ar pielāgotu atrisinātāju). Kad tā apakšdomēns ir atrisināts, atrisinātāja līgums pārbauda, vai konts ar šādu namehash eksistē apkopojumā, un izmanto nosaukumu jaucējvārds, lai ģenerētu CREATE2
balstītas minikonta adreses.
Kad tie ir izvietoti, tie prasīs L1 atslēgu krātuves datus, kas pieder namehash, ar kuru tie tika izvietoti. Tas var būt pats darījuma nolūks vai tikai pašreizējā parakstīšanas atslēga atkarībā no atslēgu krātuves ieviešanas. Tādā veidā mēs iegūstam atslēgu krātuves kontus, katrs ar ENS nosaukumu, kas tiek atrisināts pats un tā minikonti katrā apkopojumā. Šie mini konti, savukārt, paļausies arī uz šo ENS nosaukumu, apstiprinot darījumu, izmantojot atslēgu krātuves apkopojumu.
**
Tā kā ir paredzēts, ka paplašinātā atslēgu krātuves apkopojuma tilta galīgums ir daži L1 bloki, mēs varam arī pilnībā atbrīvoties no centralizētajiem sekvencētājiem, pārvēršot to par balstītu apkopojumu. Kā jau iepriekš runājām, vidusmēra lietotājam ir pieņemams aptuveni 12 sekunžu darījuma ātrums, taču balstīta secība padarītu apkopojumu daudz izturīgāku pret cenzūru un atsevišķiem kļūmes punktiem.
Ir vērts ņemt vērā, ka, izmantojot balstītu secību, iekšējie darījumi aizņems tikpat ilgu laiku kā ārējie darījumi (izņemot laiku, lai sasniegtu L2). Dažām komandām tas var būt nepieņemami, jo centralizētā secībā visas iekšējās darbības tiek veiktas uzreiz.
Es uzrakstīju visu rakstu par ZK apkopojumiem un ZK tehnoloģiju. Tas ir tāpēc, ka optimistiskiem apkopojumiem būtībā nevar būt ātra objektīva galīgība, un šāds rekvizīts ir sasniedzams, tikai izmantojot ZK. Šodienas optimistiskie apkopojumi saprot savu noslēgto stāvokli un aktīvi pēta iespējas integrēt derīgumu orientētus dizainus savās kaudzēs, līdz ar to, piemēram, nesenā partnerība starp Optimism un RISC Zero .
Optimistisks dizains ir būtiski ierobežojošs, jo tas nekad neapstrādās sadarbspēju ar citiem apkopojumiem. Tomēr sadarbspēja optimistiskajā ekosistēmā strauji attīstās. Galvenā tehnoloģija optimistisku apkopojumu savstarpējai savietojamībai ir koplietošanas secība . Vienkārši sakot, šis ir mehānisms, kurā sekvencētājs var izveidot partiju vairākiem apkopojumiem vienlaikus. Ja kāds darījums kādā no secinātajiem apkopojumiem ir nederīgs, visu grupu var apstrīdēt un atsaukt.
Tas piešķir visām šīs “mega partijas” partijām atomu īpašību — vai nu visas partijas ir derīgas, vai neviena. Tas savukārt nodrošina atomu sinhronu kompozīciju partijas iekšienē. Atomiskais — jo nekas partijā nevar būt nederīgs, ja tas ir derīgs, sinhrons, jo visa ziņojumapmaiņa atrodas paketē, ko vienlaikus apstrādā visi tās apkopojumu mezgli.
Šī tehnoloģija būtībā pārvērš visus apkopojumus noteiktā optimistiskā kaudzē vienā lielā, sadalītā apkopojumā. Kāpēc tikai viena kaudze, nevis visas? Jo, lai tas darbotos, rollups ir jāsavieno ar vienu tiltu. Katrai skurstei ir savs tilts, un nav uzticama veida, kā vienlaikus veidot partijas vairākos tiltos. Tas nozīmē, ka koplietotā secība ļauj OP Mainnet nevainojami sadarboties ar Base un Zora, bet ne Arbitrum vai Metis, un otrādi.
Šāda konsolidācija rada bīstamu situāciju apkopošanas ekosistēmā. Jaunajiem apkopojumiem ir iespēja vai nu pievienoties esošajai kopai un tikt integrētam ar to, bet ne ar kādu citu, VAI būvēt uz ZK un tikt integrētiem ar jebkuru citu, izņemot augstāk esošo steku. Pašlaik šādas izvēles nav, jo koplietojamā secība vēl nav pieejama, un katrs OP Stack vai Arbitrum Orbit apkopojums ir neatkarīgs un ar savu tiltu. Tomēr, kad tie konsolidēsies, tie ekosistēmā veidos divus cietus organismus, kuriem katram pieder aptuveni 40% no kopējā L2s TVL .
Pirmkārt, koplietotie sekvenceri ir milzīgs centralizācijas virzītājspēks. Ja palaižat OP Mainnet sekvencētāju, jūsu partijās netiks iekļauti darījumi no citiem steka apkopojumiem; jūs nopelnīsit mazāk maksu un galu galā jūs pārspēs lielie komerciālie sekvenceri, kas var apstrādāt visu steku savās partijās.
Tomēr viskritiskākā problēma ir tāda, ka šādā gadījumā apkopošanas ekosistēma tiek iekļauta oligopolu impērijās, kas tiecas pēc savām interesēm, cenšas panākt lielāku kontroli pār galvaspilsētu un atslābina tehnoloģisko progresu ekosistēmā. Tad mums būtu jātiek galā ar to, ka Ethereum tiek saspiests nevienā apgabalā, kur svarīgākais ir PR un starpsugu cīņa, nevis tehnoloģijas, kas faktiski maina pasauli.
“Veidojiet rīkus, nevis impērijas . Impērijas mēģina notvert un notvert lietotāju dārzā ar sienu; rīki veic savu uzdevumu, bet citādi sadarbojas ar plašāku atvērtu ekosistēmu. ”- Vitalik Buterin
ZK apkopojumu koplietotajos tiltos secību var veikt neatkarīgi no citiem apkopojumiem tiltā. Katram apkopojumam var būt savs sekvencētājs vai koplietota secība. Priekšlikumu iesniedzēji, kas apstiprina iegūto stāvokļa sakni pēc visām sekvencētajām partijām un pierāda to, izmantojot ZK, veic apkopošanu.
Turklāt salīdzinoši ātras objektīva galīguma īpašība ZK apkopojumos nepadara tos iekļautus savā ekosistēmā neatkarīgi no tā, cik liela tā aug vai cik centralizēta tā ir. Kad ZK ir izstrādāts līdz līmenim, kad var ātri ģenerēt lielus zkVM pierādījumus vairākām pārbaudes sistēmām, visas uz ZK balstītās apkopojumu stekas sadarbosies gandrīz nemanāmi, tāpat kā iepriekš aprakstītais teorētiskais atslēgu krātuves apkopojums nosūta transakcijas visos citos apkopojumos L1 bloki.
Mūsu pētnieku un ļoti tehnisku cilvēku kopienā ir vienisprātis, ka ZK ir labākais mērogošanas risinājums. Un jūs būsiet pārsteigts, saprotot, ka parastajiem lietotājiem un celtniekiem optimistiski apkopojumi ir daudz labāki nekā ZK! Kā tas nākas?
Lietotājiem : ir labi izveidota ekosistēma. Visas platformas zina, kas ir Arbitrum un Base, dApps vienmēr ir augsta likviditāte, un UX ir smaržīgs. Mēģiniet nosaukt lietojumprogrammu Base, un jūs uzreiz atcerēsities Friend.tech , Farcaster , Daimo , Time.fun (tagad tikai Solana), dažādas NFT kolekcijas, ZKP2P. Pat Mirror sākotnēji kalšanai atbalstīja tikai OP Stack apkopojumus. Mēģiniet nosaukt lietojumprogrammu vietnē ZKsync Era. Uhhh…
Izstrādātājam : pastāv absolūta Ethereum ekvivalence, tāpēc visa Ethereum un EVM dakšu infrastruktūra darbojas no komplekta. Turklāt dokumentācijā ir skrupulozi definētas un izskaidrotas visas optimistisko apkopojumu īpatnības un instrumenti. Ir daudz apmācību, kursu, maratonu, izstrādātāju attiecību utt.
No otras puses, ir gadu veci zkEVM, no kuriem ne visiem ir pat baitkoda ekvivalence. Viņiem visiem ir garš atšķirību un grūtību saraksts, kas tām jāpapildina. Tie lielākoties ir slikti dokumentēti, un ir ievērojama paļaušanās uz esošo infrastruktūru, kas tik tikko ir saderīga ar tīkliem. “Saderīgo” virtuālo mašīnu auditēšana ir ļoti sarežģīta un dārga, un jums pat nav jājautā ChatGPT.
Lietotājiem: ZK apkopojumiem nav ekosistēmas. Nav lietojamas lietojumprogrammas, nav sociālo tīklu, nav populāru NFT vai žetonu, un visas darbības ir saistītas ar lauksaimniecību ar gaisa pilienu. Jūs tik tikko atradīsit likviditāti pāriem, kas neietilpst Ethereum ekosistēmas desmitniekā, un DefiLlama sāk rādīt ZK apkopojumus, kad jums apnicis ritināt.
Jums nav jāievieš baitkoda ekvivalence vai blake2f
priekškompilācija, lai savai platformai piesaistītu izstrādātājus un aktivitātes. ZK rollups šajā ziņā nav labāks. Tā vietā to ātrā galīgumā un savietojamībā, pilnībā horizontālā mērogojamībā, būtiski augstākajā drošībā un decentralizēšanā. Tas ir jāizmanto projektos ZK apkopojumu ekosistēmā, lai tie būtu izdevīgi ekosistēmā.
Es uzrakstīju šo rakstu, lai izveidotu pilnīgu priekšstatu par visām šīm tehnoloģijām, tostarp ZK apkopojumiem, kas šajā laikā ir parādījušās un attīstījušās šajā apgabalā, un parādītu, kā tās var izmantot, lai atrisinātu mūsdienu vissvarīgāko problēmu šajā jomā — apkopojuma savietojamību. Mums ir jāaptver ZK un tās neierobežotās priekšrocības. Mums tie ir jāizmanto savā labā, lai izveidotu lietas, kas mūs tuvina tam, lai Web3 padarītu par vietu ikvienam pasaulē.
Šī, iespējams, ir lielākā salīdzināšanas tabula, ko jebkad esmu izveidojis. Nav brīnums — pēdējā gada laikā Ethereum kopiena ir nākusi klajā ar daudzām jaunām idejām un tehnoloģijām, kuras var elastīgi kombinēt un ar tām manipulēt, lai radītu pilnīgi jaunus risinājumus, kas atrisina visaktuālākās problēmas šajā jomā, pat izmantojot esošās tehnoloģijas.
Jā, es joprojām esmu pārliecināts, ka apkopojuma sadarbspēja ir visaktuālākā problēma, kas neļauj mums iekļaut visu pasauli Web3. Mērogošana vairs nav tik steidzama — 4844 ļauj apstrādāt līdz pat tūkstoš darījumu sekundē, kas ir salīdzināms ar finanšu aktivitāti lielākajās pasaules valstīs; PeerDAS drīzumā būs pieejams, un tas vēl vairāk palielinās. Tomēr sadrumstalotība joprojām nopietni apdraud Ethereum ekosistēmu. Neatkarīgi no tā, cik liela tā aug, ekosistēmai nevajadzētu justies kā duci atšķirīgu impēriju, bet gan kā viens liels mehānisms. Tik dažādi, bet tik identiski.
Mēs vēl neesam agri, un šim rakstam vajadzētu to parādīt. Mums ir jāizmanto visas mūsu stiprās puses, lai izstrādātu darba sistēmas, kas palīdz gigantiskajai L2 ekosistēmai sadarboties. Šobrīd tas ir iespējams. Drīzumā jums vajadzētu būt iespējai piedalīties jebkurā DAO un nosūtīt visus līdzekļus ENS, kuras īpašnieks atrodas vairāku tūkstošu kilometru attālumā no jums. Ģeogrāfiskās robežas nevajadzētu aizstāt ar digitālajām.
Ja jums patika šis darbs, piekrītat tā tēzei, uzzinājāt kaut ko jaunu vai vēlaties izplatīt šo vēstījumu tālāk, kopīgojiet to sociālajos medijos, atstājiet savus komentārus un vairāk runājiet par apkopojuma sadarbspējas nozīmi. Paldies, ka izlasījāt.
Autora piezīme: šī raksta versija iepriekš tika publicēta šeit .