Kuthibitisha dai bila kufichua siri
Dhana hii huwa rahisi kuelewa unapojua tayari kusoma smart contract bila kuwa developer. Prover anamiliki taarifa inayoitwa witness na hutengeneza kitu cha cryptographic. Kwa kutumia data za umma, verifier hukagua kitu hicho bila kujifunza witness.
Maelezo ya zero-knowledge proofs kutoka Ethereum.org yanakumbusha sifa tatu. Kwanza, completeness inamaanisha dai sahihi linaweza kumshawishi verifier mwaminifu. Pili, soundness huzuia dai la uongo kupita, isipokuwa kwa uwezekano usio na maana. Zero-knowledge hupunguza taarifa anazojifunza verifier zaidi ya uhalali wa dai.
Mfano wa kujifunzia ni kuthibitisha kwamba unajua password bila kuituma. Katika application halisi, circuit huweka uhusiano wa kihisabati: hash ya input ya siri lazima ilingane na thamani ya umma.
Proof haihakikishi kwamba programu inauliza swali sahihi. Ikiwa circuit ina hitilafu, inaweza kuthibitisha kwa usahihi hesabu isiyo sahihi. Kwa hiyo, ukaguzi wa logic bado ni muhimu.
Interactive proof na non-interactive proof
Miundo ya awali ilihitaji mawasiliano kadhaa kati ya prover na verifier. Kila changamoto ilipunguza uwezekano wa tapeli kufanikiwa. Interaction hiyo haifai sana kwenye blockchain ambako washiriki wengi lazima wathibitishe matokeo hayo hayo.
Non-interactive proof huundwa mara moja, kisha washiriki kadhaa wanaweza kuithibitisha. Mifumo ya kisasa hutumia public parameters, hash functions au assumptions nyingine kuchukua nafasi ya mawasiliano hayo.
Neno «argument» kwa kawaida huonyesha usalama wa computational: adversary mwenye rasilimali za kawaida hawezi kughushi proof. Proof kwa maana ya kihisabati inaweza kulenga usalama mkubwa zaidi, lakini istilahi hutofautiana kulingana na protocol.
Mtumiaji hahitaji kuyafahamu equations zote. Hata hivyo, anapaswa kujua assumptions, ukubwa wa proof, muda wa kuizalisha, gharama ya kuithibitisha na iwapo kuna trusted setup.
ZK-SNARKs: proofs fupi na verification ya haraka
SNARK ni kifupi cha succinct non-interactive argument of knowledge. Proof kwa kawaida hubaki ndogo na verification yake huwa ya haraka. Sifa hizi zinafaa kwa blockchains, ambako kila byte na kila operation vina gharama.
Baadhi ya familia za SNARK zinahitaji trusted setup. Ceremony hutengeneza public parameters kutokana na siri ambayo baadaye lazima iharibiwe. Ikiwa angalau mshiriki mmoja atatenda kwa uaminifu katika multipartite ceremony iliyoundwa vizuri, siri yote haipaswi kuweza kuundwa tena.
SNARK nyingine hutumia universal au transparent setup kulingana na muundo wake. Kwa hiyo, epuka kusema kwamba «SNARK zote zina trusted setup». Soma documentation ya mfumo husika.
Ukubwa mdogo haumaanishi kwamba generation ni ya bure. Kutengeneza proof kwa hesabu kubwa huhitaji muda, memory na wakati mwingine hardware maalumu. Gharama huhamishwa kutoka kwa verifier kwenda kwa prover.
ZK-STARKs: uwazi na proofs kubwa zaidi
STARK ni kifupi cha scalable transparent argument of knowledge. Neno transparent linaonyesha kutokuwepo kwa trusted setup ya siri katika miundo ya kawaida. Usalama wake unategemea hasa hash functions na public parameters zinazoweza kuthibitishwa.
STARK zinaweza kufanya vizuri zaidi kwenye hesabu kubwa, lakini proofs zake mara nyingi huchukua data nyingi zaidi. Ethereum.org inaeleza kwamba ukubwa huu huongeza mzigo wa verification on-chain ikilinganishwa na baadhi ya SNARK.
Kwa hiyo, uchaguzi hutegemea mazingira. Application inaweza kuweka kipaumbele kwenye proof fupi, ceremony inayodhibitika au uwazi wa kiwango cha juu. Hakuna familia inayoshinda vigezo vyote.
Developers pia hutathmini ukomavu wa libraries, lugha za circuits, audits na upatikanaji wa provers. Primitive nzuri iliyounganishwa vibaya inaweza kuleta security flaw ya kiutendaji.
ZK-rollups na kuongeza uwezo wa blockchain
ZK-rollup hukusanya miamala nje ya layer kuu na kuchapisha data au commitments muhimu pamoja na validity proof. Contract kwenye Ethereum huthibitisha proof badala ya kutekeleza tena kila operation.
Muundo huu hupunguza gharama kwa kila transaction na kuongeza throughput. Layer kuu hutoa settlement na verification. Mwongozo wa Ethereum kuhusu ZK-rollups unaeleza kwamba verifier huthibitisha hesabu iliyofanywa off-chain kwa kutumia proof.
Kiambishi ZK si lazima kimaanishe kwamba miamala ya rollup ni ya faragha. Rollups nyingi hutumia validity proof huku zikichapisha data zinazoweza kufikiwa. Faragha huhitaji circuits na usimamizi wa data uliobuniwa mahsusi kwa lengo hilo.
Utoaji wa fedha hutegemea proof mechanism, contract na upatikanaji wa data. Bridge kwenda kwenye rollup huongeza hatari zaidi. Soma mwongozo kuhusu crypto bridges kati ya blockchains kabla ya kuhamisha fedha.
Faragha, uhalali na upatikanaji wa data
Validity proof huonyesha kwamba mabadiliko ya state yanafuata rules. Sifa ya privacy huficha baadhi ya inputs. Mwisho, data availability huhakikisha kwamba data zinazohitajika kujenga upya au kupinga state zinaendelea kupatikana. Sifa hizi haziji pamoja moja kwa moja.
Mfumo unaweza kuthibitisha hesabu halali huku ukimtegemea operator kuchapisha data. Operator huyo akitoweka, watumiaji wanaweza kupata ugumu wa kujenga upya salio lao au kutoa fedha.
Baadhi ya solutions huchapisha data kwenye Ethereum; nyingine hutumia committee au layer maalumu. Gharama wakati mwingine hupungua kwa gharama ya kuongeza assumption ya trust.
Kabla ya kutumia network, uliza data ziko wapi, nani anaweza kuzizuia na ni utaratibu gani unaoruhusu forced exit. Neno «proof» halijibu maswali haya ya kiutendaji.
Matumizi nje ya rollups
Proof inaweza kuthibitisha kwamba mtu amevuka umri wa chini unaohitajika bila kuchapisha tarehe yake ya kuzaliwa. Pia inaweza kuonyesha kwamba mtu yumo kwenye list bila kufichua ni entry gani inayomhusu.
Kwenye finance, mshiriki anaweza kuthibitisha kwamba hesabu inafuata rule au kwamba jumla ya assets imevuka kiwango fulani. Hata hivyo, proof haihakikishi kwamba assets za off-chain zipo kweli; oracle au auditor lazima aunganishe data hiyo na ulimwengu wa nje.
Mifumo ya voting inajaribu pia kuthibitisha eligibility na uniqueness bila kufichua kura. Muundo lazima uzuie kura za mara mbili, ulinde faragha na uruhusu audit.
Games, identity na compliance programs pia zinachunguza tools hizi. Kila matumizi yanahitaji circuit, chanzo cha data na policy ya revocation inayofaa.
Mipaka ambayo marketing husahau
Zero-knowledge proof haisahihishi data ya mwanzo iliyo ya uongo. Ikiwa authority imehusisha identity isiyo sahihi, mfumo unaweza kuthibitisha kwa usahihi umiliki wa attribute hiyo isiyo sahihi.
Code ya circuit inaweza kuwa na bug. Constraints zilizoachwa ni tatizo la kawaida: prover hupata input inayotimiza circuit bila kufuata nia ya developer.
Performance nayo inaweka kikomo kingine. Kutengeneza proof kwenye simu kunaweza kuhitaji resources nyingi mno. Application basi hupeleka generation nje, jambo linaloweza kufichua data ikiwa hazijalindwa.
Parameters, libraries na ceremonies zinahitaji governance. Vulnerability ya cryptography au update inaweza kulazimisha migration. Maisha marefu ya mfumo ni muhimu kwa funds zinazohifadhiwa kwa miaka kadhaa.
Kuchunguza ahadi za project ya ZK
Anza kwa kuuliza ni sifa gani inayothibitishwa. Kauli kama «secured by ZK» haielezi circuit wala data za umma. Tafuta verification contract, technical documents na audits.
Tambua proof family na setup. Ikiwa kuna ceremony, nani alishiriki na contributions zinathibitishwaje? Kagua versions kamili za libraries.
Chunguza data availability, sequencers na emergency exit. Rollup inaweza kuwa na proof imara huku ikimtegemea operator wa kati kupanga mpangilio wa transactions.
Kagua pia permissions na ukumbuke kwamba audits hazitoshi dhidi ya mashambulizi mapya. Cryptography ya rollup hailindi dhidi ya authorization isiyo na kikomo iliyopewa application hasidi.
SNARK au STARK: jinsi ya kulinganisha
Linganisha ukubwa wa proof, muda wa generation, gharama ya verification, setup na assumptions. Ongeza ukomavu wa tools na uwezo wa timu kufanya audit ya circuit.
Kwa blockchain, gharama ya kuchapisha inaweza kufanya proof fupi ivutie zaidi. Hesabu kubwa ya off-chain inaweza kuweka kipaumbele kwenye scalability ya prover. Kwenye mfumo wa identity, ulinzi wa data wakati wa generation huwa wa msingi.
Ustahimilivu dhidi ya computers za quantum za baadaye hujitokeza wakati mwingine katika ulinganisho. Kwa kawaida STARK hutegemea hashes zinazoonekana kuwa na nafasi nzuri zaidi katika hali hiyo, lakini migration ya cryptography haiwezi kufupishwa kuwa slogan.
Project inaweza pia kuchanganya proofs kadhaa, ku-aggregate SNARK au kutumia recursive proof. Jina la kibiashara pekee halitoshi kubaini architecture.
Checklist kabla ya kutumia ZK application
Thibitisha network, contract na bridge rasmi. Jaribu kuweka kiasi kidogo kisha ufanye withdrawal. Rekodi muda, fees na utaratibu wa kutoka endapo kutatokea hitilafu.
Soma ni kitu gani application huficha kwa kweli. Transaction inaweza kuficha kiasi huku ikifichua washiriki, au kinyume chake. Network metadata na address ya funding pia vinaweza kupunguza faragha.
Soma audits za circuit, verifier na peripheral contracts. Kagua administrative keys na uwezekano wa upgrades. Timelock hutoa muda, lakini hilo linafaa tu ikiwa mtumiaji anafuatilia matangazo.
Zero-knowledge proofs ni maendeleo makubwa: kuthibitisha zaidi huku ukifichua kidogo au bila kutekeleza tena hesabu nyingi. Haziwezi kuondoa bugs, governance wala data availability. Tathmini ya kitaalamu lazima itenganishe sifa ya cryptographic na mfumo mzima wa kiutendaji unaoizunguka.