zkGalaxy arendaja juhend

zkGalaxy arendaja juhend

Allikasõlm: 1946171

Sissejuhatus

Vitaliku kompromissid zkEVM-ide jaoks jõudluse ja ühilduvuse vahel

See on äärmiselt kasulik heuristika zkEVM-i toetamise lähenemisviiside eristamiseks. Kuid zkEVM-id on alamhulk kõigist võimalikest viisidest nullteadmiste rakenduste loomiseks. Programmeerijale, kes soovib kasutada zk-arvutuse ainulaadseid omadusi, nimelt lakoonilisus, nullteadmised ja korrektsus, zkEVM ei pruugi olla parim valik. Kogu arendajatööriistade komplekti paika pannes loodan pakkuda juhendit, mis aitab teie rakenduse jaoks õige zk-virna ümber otsustada.

Viimase aasta või paari jooksul on zk-tööriistade vallas toimunud tohutu edu. Nad on lähenemas punktile, kus tavalised tarkvaraarendajad saavad kasutada zk võimsaid omadusi, ilma et nad mõistaksid sügavalt hirmutavat matemaatikat ja tehnikat. Teisest küljest on jõulistele kasutajatele mõeldud tööriistade levik, mis annab zk-ekspertidele zk-virna üle väga täpse kontrolli.

Abstraheerimise keerukuse jõud

Kaasaegne tarkvara on üles ehitatud lugematutele abstraktsioonikihtidele, et maksimeerida spetsialistide tootlikkust. Inseneriteaduses on abstraktsioonil palju eeliseid, mis on mõnevõrra intuitiivsed – veebiarendaja ei pea mõistma operatsioonisüsteemide tööpõhimõtteid. 

Heade korduvkasutatavate abstraktsioonikihtide loomise võti on kihi keerukuse kapseldamine ja seejärel virna kõrgemal asuvate kihtide jaoks lihtsate, kuid väljendusrikaste liideste pakkumine. Kui see on õigesti tehtud, võimaldab see erinevate pädevusvaldkondade ja teadmistega arendajatel luua kogu virna kasulikke tööriistu.

Pole üllatav, et samad põhimõtted kehtivad zk-süsteemide kohta ja need abstraktsioonikihid on saamas piisavalt küpseks, et zk-algaja saaks neid juba täna kasutama ja rakendusi luua.

zk tech stack
zk Stack koos mõne näidistööriistade/tehnoloogiatega igas kihis

Madala taseme zk areng

Arkworks-rs

Arkworks-rs on Rusti teekide ökosüsteem, mis pakub zkSNARK-i rakenduse alamkomponentide tõhusat ja turvalist juurutamist. Arkworks pakub arendajatele vajalikke liideseid zk-rakenduse tarkvaravirna kohandamiseks, ilma et nad peaksid uuesti juurutama ühisjooni teiste olemasolevate raamatukogudega.

Enne Arkworksi oli ainus viis uue zk-rakenduse loomiseks luua kõik nullist. Arkworks-rsi peamised eelised eritellimusel valmistatud vertikaalselt integreeritud tööriistade ees on paindlikkuse tase, dubleeritud inseneritöö vähenemine ja auditeerimistööde vähenemine. Arkworksi mõistlikud liidesejooned komponentide vahel võimaldavad uuendamise tempot, mis hoiab virna asjakohasena keset zk-tehnoloogiate kiiret uuendustempot, sundimata meeskondi kõike nullist uuesti üles ehitama.

Kellele see on?

Arkworks on mõeldud projektidele, mis vajavad täpset juhtimist kogu zk tarkvarapinu üle, kuid ei soovi kõiki üleliigseid tükke nullist üles ehitada. Kui kaalute vooluahela DSL-i kohandatud versiooni, kuna näiteks loote uue tõestussüsteemi prototüüpi, kuid pole kindel kohustuste skeemis või vastavas elliptilises kõveras, võimaldab arkworks jagada jagatud liidestega kiiresti mitme valiku vahel. kui alustada nullist.

Plusse

  • Paindlikkus modulaarsuse kaudu
  • Vähem koodi dubleerimist
    • Madalamad insenerikulud
    • Vähendatud auditi/vea pindala
  • Uuendage mis tahes komponenti ilma suurema ümbertöötlemiseta
  • Kiiresti arenevas zk-keskkonnas on lihtne katsetada uute primitiividega

Miinused

  • Nõuab sügavat arusaamist kogu tarkvaravirust
    • Liiga suur kontroll võib viia jalgrelvadeni, kui seda ei mõisteta õigesti
  • Granuleeritud juhtimine nõuab teadmisi virna kõigil tasanditel
    • Arkworks pakub mõningaid mõistlikke vaikeseadeid.

zk domeenispetsiifilised keeled (DSL)

Mõne arvutuse kohta tõestuse loomiseks tuleb see arvutus kõigepealt väljendada kujul, millest zkSNARK-süsteem aru saab. Mitmed domeenispetsiifilised keeled on loonud programmeerimiskeeled, mis võimaldavad rakenduste arendajatel oma arvutusi sellisel viisil väljendada. Need sisaldavad Aztec Noir, Starkneti oma KairoCircomZoKratesja Aleo oma Lõvi teiste hulgas. Aluseks olev tõestussüsteem ja matemaatilised üksikasjad ei ole üldjuhul rakenduse arendajale avatud.

Arendaja kogemus

zkAppi arendajad peavad omandama oskuse kirjutada oma programme domeenispetsiifilistes keeltes. Mõned neist keeltest näevad välja nagu tuttavad programmeerimiskeeled, samas kui teisi võib olla üsna raske õppida. Jaotame mõned neist:

Kairo - Starkware DSL, mis on vajalik rakenduste loomiseks Starknetis. Kompileerib Kairospetsiifiliseks komplekteerimiskeeleks, mida Kairo zkVM saab tõlgendada.

ZoKrates — ZoKrates on tavaliste SNARK-i vajaduste jaoks mõeldud tööriistakomplekt, sealhulgas kõrgetasemeline keel vooluringide kirjutamiseks. ZoKrates pakub ka mõningast paindlikkust kõverate, tõendamisskeemi ja taustaprogrammi ümber, võimaldades arendajatel vahetada kiirvahetust lihtsa CLI argumendi abil.

Circom — Circom on spetsiaalselt loodud keel vooluringide koostamiseks. Praegu on see tootmisahelate de facto keel. Keel pole eriti ergonoomiline. Keel ise paneb sind teravalt teadvustama tõsiasja, et kirjutad vooluringe.

Lõvi — Leo töötati välja Aleo plokiahela keelena. Leol on mõningane roostetaoline süntaks ja see on spetsiaalselt loodud olekuüleminekuteks plokiahela sees.

Noir - Roostest inspireeritud süntaks. See on loodud pigem IR-i kui keele enda ümber, mis tähendab, et sellel võib olla suvaline esiosa. 

Aztec Noiri kompileerimispakk on eelkõige modulaarse arhitektuuriga

Kellele see on?

Iga rakenduste arendaja, kes soovib oma rakenduses ära kasutada zk ainulaadseid omadusi. Mõnda neist keeltest on testitud ja miljardeid dollareid liigub nende vahel selliste kettide kaudu nagu ZCash ja Starknet. Kuigi mõned projektid, mida arutame, ei ole veel tootmiseks kasutamiseks valmis, on vooluahelate kirjutamine ühes neist keeltest praegu parim strateegia, välja arvatud juhul, kui vajate täpsemaid juhtelemente, mida pakub selline tööriistakomplekt nagu Arkworks.

Plusse

  • Kasutajad ei pea mõistma zk-i aluseks olevaid üksikasju
  • Täna saadaval mõningase tootmiskogemusega
  • Keti pealt kontrollitav
  • Ökosüsteemi agnostik

Miinused

  • Kasutajad peavad õppima uut DSL-i
  • Siled tööriistad ja tugi kõigi nende keelte ümber
  • Vähe või puudub igasugune kontroll aluseks oleva proovipaki üle (praegu)

ZkEVM-i esmane eesmärk on võtta Ethereumi oleku üleminek ja tõestada selle kehtivust, kasutades lühikest nullteadmiste õigsuse tõendit. Nagu Vitaliku postituses mainitud, on selleks mitmeid viise väikeste erinevuste ja vastavate kompromissidega. 

Peamine tehniline erinevus nende kõigi vahel seisneb täpselt selles, kus keelevirnas on arvutus teisendatud vormiks (aritmetiseerimiseks), mida saab kasutada tõestamissüsteemis. Mõnes zkEVM-is juhtub see kõrgetasemelistes keeltes (Solidity, Vyper, Yul), samas kui teised lähenemisviisid püüavad tõestada EVM-i kuni opkoodi tasemeni. Nende lähenemisviiside vahelisi kompromisse käsitleti põhjalikult Vitaliku postituses, kuid ma võtan selle kokku ühe lausega: mida madalam on teisendus/aritmetiseerimine virnas, seda suurem on tulemuslikkuse karistus.

Miks on EVM-i opkoodide tõestamine zk-s kallis?

Peamine väljakutse virtuaalmasina jaoks tõendite loomisel on see, et vooluringi suurus kasvab proportsionaalselt KÕIGI võimalike käskude suurusega iga täidetava käsu jaoks. See juhtub seetõttu, et vooluahel ei tea, milliseid juhiseid igas programmis täidetakse, seega peab see neid kõiki toetama.

Universaalsetes ahelates on iga täidetava käsu maksumus võrdeline kõigi toetatud käskude summaga.

Praktikas tähendab see seda, et maksate (jõudluskuludes) kõige kallima võimaliku juhise eest, isegi kui täidate ainult kõige lihtsamat käsku. See toob kaasa otsese kompromissi üldistavuse ja toimivuse vahel – kui lisate üldistavuse kohta rohkem juhiseid, maksate selle eest iga õpetus, mida sa tõestad!

See on universaalsete vooluahelate põhiprobleem, kuid koos tehnoloogiate uued arengud nagu IVC (inkrementaalne kontrollitav arvutus), saab seda piirangut leevendada, jagades arvutused väiksemateks tükkideks, millest igaühel on spetsiaalsed väiksemad alamahelad.

Tänapäevased zkEVM-i rakendused kasutavad selle probleemi mõju leevendamiseks erinevaid strateegiaid... Näiteks rebib zkSync peamisest täitmise tõendamise ahelast välja kallimad toimingud (peamiselt krüptograafilised eelkompileerimised, nagu räsid ja ECDSA) eraldi vooluringidesse, mis liidetakse kokku lõpp snarki rekursiooni kaudu. zkSync võttis selle lähenemisviisi pärast seda, kui nad mõistsid, et suurem osa nende kuludest tuleneb mõnest keerukast juhisest.

Tehingukuludes domineerivad vähesed kallid toimingud.

Põhimõtteliselt on põhjus, miks EVM-iga samaväärsema käsukomplekti tõestamine on kallim, see, et EVM ei olnud mõeldud zk-arvutuste jaoks. EVM-ist varem virnas loobumine võimaldab zkEVM-idel töötada käsukomplektides, mis on zk jaoks optimeeritud ja seega odavamad tõestada.

Kellele see on?

ZkEVM-i ideaalsed kliendid on nutikad lepingurakendused, mis vajavad suurusjärgus odavamaid tehinguid kui L1 Ethereumis saadaval. Nendel arendajatel ei pruugi olla zk-rakenduste nullist kirjutamiseks vajalikke teadmisi ega ribalaiust. Seetõttu eelistavad nad kirjutada oma rakendusi neile tuttavates kõrgema taseme keeltes, näiteks Solidity. 

Miks nii paljud meeskonnad seda ehitavad?

Ethereumi skaleerimine on praegu zk-tehnoloogia kõige nõutum rakendus.

ZkEVM on Ethereumi skaleerimislahendus, mis leevendab hõõrdumatult ummikute probleemi, mis piirab L1 dApp arendajaid.

Arendaja kogemus

ZkEVM-i eesmärk on toetada arendaja kogemust, mis on võimalikult lähedane praegusele Ethereumi arendusele. Täielik Solidity tugi tähendab, et meeskonnad ei pea koostama ja haldama mitut koodibaasi. Seda on mõnevõrra ebapraktiline täiuslikult teha, sest zkEVM-id peavad mõistliku aja jooksul mõistliku suurusega tõendite genereerimiseks teatud ühilduvuse kompromisse tegema.

Kiire juhtumiuuring: zkSync vs Scroll

Peamine erinevus zkSynci ja Scrolli vahel on see, kus/millal nad virnas aritmetiseerivad – see tähendab, kus nad teisendavad tavalistest EVM-konstruktsioonidest SNARK-sõbralikuks esituseks. ZkSynci puhul juhtub see siis, kui nad teisendavad YUL-i baitkoodi oma kohandatud zk-käskude komplektiks. Scrolli puhul juhtub see lõpus, kui tegelik täitmisjälg genereeritakse tegelike EVM-i opkoodidega.

Seega on zkSynci puhul kõik sama, mis EVM-iga suhtlemisel, kuni zk baitkood on genereeritud. Scrolli puhul on kõik sama, kuni tegelik baitkood on käivitatud. See on väike erinevus, mis vahetab jõudluse välja toe vastu. Näiteks zkSync ei toeta EVM-i baitkooditööriistu, nagu silur, kuna see on täiesti erinev baitkood. Kuigi Scrollil on juhiste komplektist head jõudlust raskem saavutada, pole see mõeldud zk jaoks. Mõlemal strateegial on plusse ja miinuseid ning lõppkokkuvõttes on palju väliseid tegureid, mis mõjutavad nende suhtelist edu.

zkLLVM vooluahela kompilaator

???? Vaatamata oma nimele ei ole LLVM VM (virtuaalne masin). LLVM on kompilaatori tööriistade komplekti nimi, mis on ankurdatud keeleagnostilise vaheesitlusega (IR).

=null; Sihtasutus (nime kohta on see a SQL-i süstimise nali kui teil on huvi) ehitab kompilaatorit, mis suudab teisendada mis tahes LLVM-i esiotsa keele vahepealseks esituseks, mida saab SNARK-is tõestada. zkLLVM on loodud olemasoleva LLVM-i infrastruktuuri laiendusena, tööstusstandardile vastava tööriistaahelana, mis toetab paljusid kõrgetasemelisi keeli, nagu Rust, C, C++ jne.

Kuidas see töötab?

zkLLVM-i arhitektuuri umbkaudne visand

Kasutaja, kes soovib mõnda arvutust tõestada, rakendab selle arvutuse lihtsalt C++ keeles. ZkLLVM võtab selle kõrgetasemelise lähtekoodi, mida toetab nende modifitseeritud helinakompilaator (praegu C++), ja genereerib vooluringist mõne vahepealse esituse. Sel hetkel on vooluahel tõestamiseks valmis, kuid kasutaja võib soovida ahelat mõne dünaamilise sisendi põhjal tõestada. Dünaamiliste sisendite käsitlemiseks on zkLLVM-il lisakomponent, mida nimetatakse määrajaks, mis genereerib määramistabeli, kus kõik sisendid ja tunnistajad on täielikult eeltöödeldud ja valmis vooluringi kõrval tõestamiseks.

Need 2 komponenti on kõik, mis on tõendi loomiseks vajalikud. Kasutaja saab teoreetiliselt ise tõestuse luua, kuid kuna see on mõnevõrra spetsialiseerunud arvutusülesanne, võib ta soovida maksta kellelegi teisele, kellel on riistvara, et see nende eest ära teeks. Selle vastaspoole tuvastamise mehhanismi puhul = null; Sihtasutus on loonud ka tõendusturu, kus tõestajad võistlevad, et tõestada arvutusi kasutajatele, kes neile selle eest maksavad. See vabaturu dünaamika viib tõestajateni, kes optimeerivad kõige väärtuslikumad tõestamisülesanded.

Kompromissid

Kuna iga tõestatav arvutusülesanne on ainulaadne ja genereerib erineva vooluringi, on ahelaid, millega tõestajad peavad hakkama saama, lõpmatu arv. See sunnitud üldistus muudab üksikute ahelate optimeerimise keeruliseks. Tõestusturu kasutuselevõtt võimaldab spetsialiseeruda ahelatele, mida turg peab väärtuslikuks. Ilma selle turuta oleks selle loomuliku külmkäivituse probleemi tõttu keeruline veenda tõestajat seda vooluringi optimeerima.

Teine kompromiss on klassikaline abstraktsioon vs kontroll. Kasutajad, kes on valmis seda hõlpsasti kasutatavat liidest kasutama, loobuvad kontrollist krüptograafiliste primitiivide üle. Paljude kasutajate jaoks on see väga õige kompromiss, kuna sageli on parem lasta krüptoekspertidel need otsused teie eest teha.

Plusse

  • Kasutajad saavad kirjutada koodi tuttavates kõrgetasemelistes keeltes
  • Kõik zk sisemised osad on kasutajatest eemale võetud
  • Ei tugine konkreetsele VM-i vooluringile, mis lisab täiendavaid üldkulusid

Miinused

  • Igal programmil on erinev ahel. Raske optimeerida. (tõendturg lahendab selle osaliselt)
  • Sisemiste zk-teekide vahetamine/uuendamine ei ole triviaalne (vajab harutamist)

ZkVM kirjeldab kõigi zk-virtuaalmasinate superkomplekti, samas kui zkEVM on spetsiifiline zkVM-i tüüp, mis vääris oma tänapäevase levimuse tõttu eraldi teemana käsitlemist. Lisaks eritellimusel valmistatud krüpto-VM-idele on veel mõned projektid, mis töötavad üldisemate zkVM-ide loomisel, mis põhinevad ISA-del.

EVM-i tõestamise asemel võib süsteem tõestada uues VM-is teistsugust käsukomplekti arhitektuuri (ISA), näiteks RISC-V või WASM. Kaks projekti, mis nende üldistatud zkVM-idega töötavad, on RISC Zero ja zkWASM. Sukeldume siin veidi RISC Zerosse, et näidata, kuidas see strateegia töötab ja mõningaid selle eeliseid/miinuseid. 

Risc Zero proof põlvkonna kõrgetasemeline arhitektuur

RISC Zero suudab tõestada mis tahes arvutusi, mida teostatakse RISC-V arhitektuuril. RISC-V on avatud lähtekoodiga käsukomplekti arhitektuuri (ISA) standard, mis on kogunud populaarsust. RISC (vähendatud juhiskomplekti arvuti) filosoofia seisneb äärmiselt lihtsa ja minimaalse keerukusega käsukomplekti loomises. See tähendab, et pinu kõrgemate kihtide arendajad võtavad selle arhitektuuri abil juhiste rakendamisel suurema koormuse, muutes samal ajal riistvara juurutamise lihtsamaks.

See filosoofia kehtib ka üldise andmetöötluse kohta, ARM-kiibid on kasutanud RISC-stiilis käsukomplekte ja on hakanud domineerima mobiilsete kiipide turul. Selgub, et lihtsamatel käsukomplektidel on ka suurem energia- ja stantsiala efektiivsus.

See analoogia kehtib üsna hästi zk-tõestuste genereerimise tõhususe kohta. Nagu eelnevalt mainitud, maksate täitmisjälje tõestamisel zk-des kõigi käskude maksumuse summa iga jälje iga üksuse kohta, nii et lihtsamad ja vähem käske on parem.

Kuidas see töötab?

Arendaja vaatenurgast on RISC Zero kasutamine zk-tõestuste käsitlemiseks sarnane AWS Lambda funktsioonidega taustaserveri arhitektuuri käsitlemiseks. Arendajad suhtlevad RISC Zero või AWS Lambdaga, kirjutades lihtsalt koodi ja teenus tegeleb kogu taustasüsteemi keerukusega.

RISC Zero jaoks kirjutavad arendajad Rust või C++ (lõpuks kõik, mis sihib RISC-V). Seejärel võtab süsteem kompileerimise käigus loodud ELF-faili ja kasutab seda VM-ahela sisendkoodina. Arendajad kutsuvad lihtsalt esile tõendi, mis tagastab kviitungi (mis sisaldab täitmisjälje zk tõendit), mida igaüks saab kõikjalt kutsuda "verify". Arendaja seisukohast pole vaja aru saada, kuidas zk töötab, kogu selle keerukusega tegeleb selle aluseks olev süsteem.

Risc Zero praktikant?

Plusse

  • Lihtne kasutada. Avab ukse igale programmeerijale zk-rakenduste loomiseks
  • Üks vooluring, millele proovijad saavad spetsialiseeruda
    • Samuti on vähem pinda rünnaku jaoks ja vähem auditeeritavat pinda
  • Ühildub mis tahes plokiahelaga, postitate lihtsalt tõendid

Miinused

  • Sellise üldise liidese toetamiseks kulub palju üldkulusid (tõendi suuruse ja genereerimise kiiruse osas).
  • Olemasolevate raamatukogude laiaulatusliku toetuse saavutamiseks on vaja tõendite genereerimise tehnikaid oluliselt parandada

Eelehitatud korduvkasutatavad vooluringid

Mõnede põhiliste ja korduvkasutatavate vooluringide puhul, mis on eriti kasulikud plokiahela rakenduste jaoks või mujal, võivad meeskonnad olla need ahelad teie jaoks juba koostanud ja optimeerinud. Saate lihtsalt sisestada oma konkreetse kasutusjuhtumi sisendi. Näiteks Merkle'i kaasamise tõend on midagi, mida tavaliselt vajatakse krüptorakendustes (airdrop loendid, Tornado Cash jne). Rakenduste arendajana saate neid lahingutestitud lepinguid alati uuesti kasutada ja unikaalse rakenduse loomiseks lihtsalt peal olevaid kihte muuta.

Näiteks saab Tornado Cashi vooluringe uuesti kasutada privaatne lennuvälja rakendus või erahääletamise rakendus. Manta ja Semaphore loovad terve tööriistakomplekti sellistest tavalistest vooluringividinatest, mida saab kasutada Solidity lepingutes, kui zk moon matemaatikat ei mõista või üldse mitte.

Juhend – virna valimine

Nagu pikemalt arutatud, on zk-rakenduse arendamiseks lugematu arv erinevaid võimalusi, millel kõigil on oma ainulaadsed kompromissid. See diagramm aitab selle otsustusmaatriksi kokku võtta, et saaksite oma zk-teadmiste taseme ja jõudlusvajaduste põhjal valida töö jaoks parima tööriista. See ei ole kõikehõlmav nimekiri, kavatsen seda tulevikus täiendada, kui saan teada, et ruumis on rohkem tööriistu.

Rakenduse arendaja juhend zkGalaxy kohta

zk App Dev Cheatsheet

1. Madala tasemega Snarki raamatukogud

Millal kasutada: 

  • Teil on vaja täpset kontrolli kogu prover-pinu üle
  • Soovite vältida tavaliste komponentide ümberehitamist
  • Tahad katsetada erinevate kombinatsioonidega tõestamisskeemide, kõverate ja muude madala tasemega primitiivid

Millal mitte kasutada:

  • Olete algaja, kes otsib kõrgetasemelisi tõestamisliideseid

Valikud: 


3. zk koostajad

Millal kasutada: 

  • Ei taha võtta universaalse vooluringi üldkulusid
  • Tahad kirjutada vooluringe tuttavates keeltes 
  • Vajad väga kohandatud vooluringi

Millal mitte kasutada: 

  • Tahad kontrollida aluseks olevaid krüptoprimitiive
  • Vaja on juba tugevalt optimeeritud vooluringi

Valikud:


5. zkVM

Millal kasutada: 

  • Tahad kirjutada koodi kõrgetasemelises keeles 
  • On vaja tõestada selle teostuse õigsust 
  • Mõned selle täitmise sisendid tuleb kinnitaja eest peita
  • zk-alased teadmised on vähesed või puuduvad üldse

Millal mitte kasutada:

  • Äärmiselt madala latentsusega keskkondades (see on ikka aeglane)
  • Teil on tohutu programm (praegu)

Valikud:

2. zk DSL-id

Millal kasutada: 

  • Teil on mugav uut keelt omandada
  • Soovite kasutada mõnda lahingutes testitud keelt
  • Vajab minimaalset vooluringi suurust, on valmis loobuma abstraktsioonidest

Millal mitte kasutada: 

  • Vajab täpset kontrolli tõestava taustaprogrammi üle (praegu võib mõne DSL-i jaoks taustaprogramme vahetada)

Valikud:


4. zkEVM

Millal kasutada: 

  • Teil on dApp, mis EVM-is juba töötab
  • Te vajate oma kasutajatele odavamaid tehinguid 
  • Soovite minimeerida uude ahelasse juurutamise vaeva
  • Hoolige ainult zk (kokkusurumine) lakoonilisusest.

Millal mitte kasutada: 

  • Teil on vaja täiuslikku EVM-i ekvivalenti
  • Teil on vaja zk privaatsusatribuuti 
  • Teil on plokiahelata kasutusjuhtum 

Valikud: 


6. Eelehitatud korduvkasutatavad vooluringid

Millal kasutada: 

  • Teil on nutikas lepingurakendus, mis tugineb tavalistele zk-i ehitusplokkidele, nagu Merkle'i kaasamine
  • Teil on zk-i aluseks olevate asjade osas vähe teadmisi või üldse mitte

Millal mitte kasutada:

  • Teil on väga spetsiifilised vajadused
  • Eelehitatud vooluringid ei toeta teie kasutusjuhtu 

Valikud: 

Järeldus

zk on mitme tehnoloogia tipptasemel ja selle loomine nõuab matemaatika, krüptograafia, arvutiteaduse ja riistvaratehnika põhjalikku mõistmist. Kuna aga iga päev on saadaval üha rohkem abstraktsioonikihte, saavad rakenduste arendajad zk võimsust ilma doktorikraadita ära kasutada. Kuna tõestamisaegade piiranguid vähendatakse aja jooksul järk-järgult virna kõigil tasanditel optimeerimise kaudu, näeme tõenäoliselt keskmise arendaja jaoks veelgi lihtsamaid tööriistu.

Loodan, et veensin teid, uudishimulik tarkvaraarendaja, et saate juba täna oma rakendustes zk-d kasutama hakata. Head häkkimist 🙂

mida sa ootad anon, mine ehita mõned zk-rakendused

Avalikustamine: Blockchain Capital on investor mitmesse ülalnimetatud protokolli.

Igas ajaveebi postituses väljendatud seisukohad võivad olla iga autori isiklikud seisukohad ega pruugi kajastada Blockchain Capitali ja tema sidusettevõtete seisukohti. Ei Blockchain Capital ega autor ei garanteeri igas ajaveebi postituses esitatud teabe täpsust, adekvaatsust ega täielikkust. Blockchain Capital, autor või mõni muu isik ei anna ega anna otsest ega kaudset kinnitust ega garantiid mis tahes ajaveebipostituses sisalduva teabe täpsuse, täielikkuse või õigluse kohta ning vastutust ega vastutust ei võeta. sellise teabe saamiseks. Miski igas ajaveebi postituses ei kujuta endast investeeringut, regulatiivset, juriidilist, vastavust ega maksu- ega muud nõuannet ning sellele ei saa investeerimisotsuse tegemisel tugineda. Blogipostitusi ei tohiks vaadelda kui praegusi või varasemaid soovitusi või pakkumisi väärtpaberite ostmise või müügi või investeerimisstrateegia vastuvõtmise kohta. Blogipostitused võivad sisaldada prognoose või muid tulevikku suunatud väiteid, mis põhinevad uskumustel, eeldustel ja ootustel, mis võivad paljude võimalike sündmuste või tegurite mõjul muutuda. Kui toimub muutus, võivad tegelikud tulemused oluliselt erineda tulevikku suunatud avaldustes väljendatutest. Kõik tulevikku suunatud avaldused räägivad ainult selliste avalduste tegemise kuupäeva seisuga ja ei Blockchain Capital ega ükski autor ei võta endale kohustust selliseid avaldusi ajakohastada, välja arvatud seadusega nõutud juhtudel. Kuivõrd mis tahes Blockchain Capitali toodetud, avaldatud või muul viisil levitatud dokumentidele, esitlustele või muudele materjalidele viidatakse mis tahes ajaveebi postituses, tuleks selliseid materjale lugeda, pöörates erilist tähelepanu nendes sisalduvatele lahtiütlustele.

Ajatempel:

Veel alates Blockchain Capital