
Ƒometɔƒo: Zcash tso Gɔmedzedze Ƒe Gɔmeɖosewo Me . Agbalẽ 6 . Ɣaɣla Protocol (nuwuwu) Ame siwo wòŋlɔ na: Ame yeye siwo xlẽ Agbalẽ 0 va se 5. Afisiae nu katã doa ƒo. Nu si nàva kplɔ ayi: Nunya ƒe nɔnɔme blibo, si le ete ŋu le ɣaɣla Zcash gaɖoɖo ŋu, eye ƒometɔƒo la me ƒe nuxexlẽwo katã le woƒe teƒe nyuitɔ me, eye Agbalẽ 0 me ƒe ɣletiviwo katã woƒo.
Míedze egɔme le Agbalẽ 0 me kple kpɔɖeŋu dze siwo me mɔme le, eye míeƒo nu tso agbalẽwo siwo wòtu ƒo ɖe kplɔŋlɔ dzikpɔa dzi. Emegbe míetsɔ agbalẽ atɔ̃ tu akpaawo: field siwo wòɖe kpɔ, elliptic curves, adzɔgbeɖeɖe [commitments], Merkle tiwo, kple zero-knowledge ɖaseɖigbalɛwo [proofs]. Fifia míatsɔ wo ado ƒo eye míakpɔ ale si fexexe ɣaɣla aɖe wɔe tso gɔmedzedze va se nuwuwu.
Ne wòkpɔ ɖeka ɖeka la, akpa siwo katã nèsrɔ la wɔnɔŋlɔ le. Ke Zcash ƒe nukunɔamesi le ale si woƒoa ƒo kple wo nɔewo. Gaɣaɣla ɖeɖe dzesi [nullifier] ɖeka ko mena ɣaɣla o. Adzɔgbeɖeɖe ɖeka ko metea mɔ aɖe tso aɖaŋudzedze ŋu o. Ɖaseɖigbalɛ ɖeka ko meɖea nu si anyi ŋu o. Ƒoƒo lae trɔ akpa atɔ̃ la wo zu ga si le ɣaɣla me eye wòle dzɔdzɔe hã.
Agbalẽ sia nye ƒoƒo la. Ne nàwu la, nyagblɔɖi sia "mɔ̃ la doa gaɖoɖo aɖe si wòmate ŋu akpɔ ƒe nyateƒe ɖe asi" ava natsɔe abe kpɔɖeŋu dze si me mɔme le o, ke boŋ abe nu si dze ƒe akpa siwo nèse gɔme xoxo me ene.
Esi nye ƒometɔƒo blibo la le axa ɖeka dzi, wòtsɔ Agbalẽ 0 ƒe nya la ƒe akpaawo sɔ kple mɔ̃ la ƒe wɔwɔnuwo.
| Agbalẽ 0 ƒe nya ƒe akpa | Wɔwɔnu vevi | Woetu tso |
|---|---|---|
| Ga si le agbalẽ me | Didienu [Note] (asixɔxɔ, ame si wòle be wòaxɔe, random nudzɔdzɔ) | woŋlɔe abe field ƒe elements ene (Agb 1) |
| Agbalẽ si wòtu eye wòle kpeŋkpeŋ | Didienu ƒe adzɔgbeɖeɖe [Note commitment] | Pedersen / Sinsemilla adzɔgbeɖeɖe (Agb 2, 3) |
| Kplɔŋlɔ dzikpɔa | Didienu ƒe adzɔgbeɖeɖe ti [Note commitment tree] (anchor = etɔ) | Merkle ti si wòle gɔmeɖoɖo me (Agb 4) |
| Dzodzro token | Gaɣaɣla ɖeɖe dzesi [Nullifier] | ZK-dze hash si wòle didienu kple klu si me ame aɖe ko nya me (Agb 2, 3) |
| "Ga si ge ɖe eme sɔ kple ga si doa tso eme" | Asixɔxɔ ƒe adzɔgbeɖeɖewo [Value commitments] + balance ƒe kpɔkpɔ | Pedersen adzɔgbeɖeɖewo siwo le homomorphic (Agb 2, 3) |
| Nukunɔamesi si le avɔ la megbe | Zero-knowledge ɖaseɖigbalɛ [Zero-knowledge proof] | zk-SNARK le arithmetic circuit aɖe dzi (Agb 5) |
| "Wò ko ate ŋu axlẽ wò agbalẽ" | Didienu si wòɣlaŋlɔ [Encrypted note] + nukpɔsafuiwo [viewing keys] | ɣaɣlaŋlɔŋlɔ [encryption] + kluwo ƒe ƒomeɖoɖo (agbalẽ sia) |
Nu si katã ame aɖe ate ŋu awɔ la tsoa klu ɣaɣla ɖeka, si nye gazazãsafui [spending key], to mɔ ɖeka ƒe ƒomeɖoɖo me (ama ɖeka ɖeka fia dzedze si mate ŋu atrɔ megbe o, le Articles 2 kple 3 me ƒe trapdoorwo ƒe amenuveve me):

Nu eve si dze be nàkpɔe, elabena wo katã tsoa agbalẽ siwo do ŋgɔ me:
Ne wòdi be nàfexɛ didienu aɖe le ɣaɣla me la, ele be nàde dzesi na mɔ̃ la be nyateƒe ene le eme ɖe ɣeyiɣi ɖeka me eye mèfia didienu la, eƒe asixɔxɔ, eƒe nɔƒe, alo wòame nyenye o. Nyateƒe ɖeka ɖeka xɔa dzadzraɖoɖo aɖe si nènya xoxo.

Ɖaseɖigbalɛ la mefia nyateƒe siwo le ete kuraa o (didienu kae, ame ka ƒe klu, asixɔxɔ kae). Efiya ko be nyateƒe ene la katã le eme. Esiae nye ɣaɣla Zcash ƒe nukunu blibo, abe woɖee fia le nɔnɔmetata ɖeka me ene.
Le Articles 2 kple 3 me la, míegblɔ be Pedersen adzɔgbeɖeɖewo doa ƒo: adzɔgbeɖeɖe si le v_1 ŋu kple adzɔgbeɖeɖe si le v_2 ŋu nye adzɔgbeɖeɖe le v_1 + v_2 ŋu. Afisiae mɔ na wòkpɔ eƒe vi.
Didienu si ge ɖe eme kple si doa tso eme ɖeka ɖeka tsɔa asixɔxɔ ƒe adzɔgbeɖeɖe: Pedersen adzɔgbeɖeɖe v.G + r.H si ɣla eƒe asixɔxɔ v. Esi woate ŋu ado wo ƒo la, mɔ̃ la ate ŋu awɔ:
(sum of input value commitments) − (sum of output value commitments)
Ne gaɖoɖo la le balance me (wo mewɔ ga yeye alo womegbã ga aɖe o) la, v ƒe akpaawo ɖoa ɖe eɖokui me bliboe, eye adzɔgbeɖeɖe koe nɔ anyi ɖe asixɔxɔ mema ŋu, si wòɣla kple random nudzɔdzɔ si nɔ anyi. Ame si do ga ɖe la dea dzesi be wònya random nudzɔdzɔ si nɔ anyi ma to asidede agbalẽ te [signature] sue aɖe si woyɔna be binding signature. Binding signature si le nyateƒe me ate ŋu anɔ anyi ne asixɔxɔwo sɔ ko, ke womefia asixɔxɔ aɖeke o.
Esiae nye kpɔɖeŋu kɔkɔe wu le ƒometɔƒo sia katã me tso nu ka tae míexɔ hia homomorphic, curve-based adzɔgbeɖeɖewo. Wosena se "ga si ge ɖe eme sɔ kple ga si doa tso eme" la to agbalẽ siwo wòtu ƒo ƒo kple kpɔkpɔ be nu si doa tso eme la tu ɖe mema.
Míatsɔ Alice ƒe fexexe na Bob ado ƒo. Míatsɔ Sapling ƒe "fexexe ƒe akpa / output ƒe akpa" nɔnɔme kɔkɔe la awɔa abe nufiaƒe ƒe model ene.
Ɣaɣla gaɖoɖo aɖe ƒoa nyati ƒomevi eve:
| Fexexe ƒe nyati (exɔa didienu) | Output ƒe nyati (wɔa didienu yeye) |
|---|---|
| asixɔxɔ ƒe adzɔgbeɖeɖe le input la ŋu | asixɔxɔ ƒe adzɔgbeɖeɖe le output la ŋu |
| anchor si wòdea ɖaseɖigbalɛ ɖe eŋu (ti ƒe tɔ) | didienu ƒe adzɔgbeɖeɖe yeye (aƒe yeye) |
| didienu si wòfexɛ ƒe gaɣaɣla ɖeɖe dzesi | klũ le ɣeyiɣi kpui me na ɣaɣlaŋlɔŋlɔ |
| dukɔme klu si wòtrɔ random kple fexexe ƒe mɔɖeɖe asidede agbalẽ te | didienu si wòɣlaŋlɔ (ciphertext na ame si wòaxɔe) |
| zk-SNARK si dea ɖaseɖigbalɛ ɖe nyateƒe ene la ŋu | zk-SNARK si dea ɖaseɖigbalɛ be output la wɔa dɔ nyuie |
Eye binding signature ɖeka le bundle la katã ŋu, si sena asixɔxɔ-balance ƒe se (Akpa 5).

Kpɔ ɣaɣla la: mɔ̃ la kpɔ anchor la, wòkpɔ be gaɣaɣla ɖeɖe dzesi la menye esime wozãe xoxo o, wòkpɔ ɖaseɖigbalɛ la, eye wòkpɔ balance la. Wòxɔ fexexe dzɔdzɔ aɖe eye wòmesrɔ asixɔxɔ aɖeke, gaɖoƒe ƒe dzesi aɖeke, eye wòmenya didienu kae wòfexɛ o. Le ɣeyiɣi ma ke me la, didienu si wòfexɛ ƒe gaɣaɣla ɖeɖe dzesi (eƒe ku) kple Bob ƒe adzɔgbeɖeɖe yeye (eƒe didienu ƒe dzidzi) le dukɔme nɔnɔme ƒomevi eve me, eye mɔ ka aɖeke menye wo dome o; esiae nye kadodo si wotso le Agbalẽ 0 me.
Agbalẽ 0 dzra biabiawo ɖe ŋgɔ le intentional. Afisia wo katã le, woƒo.
| Ɣleti si wòke ɖe ŋgɔ le Agbalẽ 0 me | Woƒoe kple |
|---|---|
| Aleke agbalẽ si wòtu ke woate ŋu aɖo ŋu wòmefia nusi le eme, eye mele aɖaŋudze o? | Adzɔgbeɖeɖewo: ɣaɣla tsoa random nudzɔdzɔ me, kpekpeɖeŋu tsoa collision resistance / curve trapdoor me (Agb 3) |
| Afikae kluwo kple wɔwɔ ƒe nya ɣaɣlawo tsoa? | Field ƒe calculus kple elliptic-curve scalar multiplication (Agb 1, 2) |
| Nu kae nye "kplɔŋlɔ dzikpɔa" tututu? | Didienu ƒe adzɔgbeɖeɖewo ƒe Merkle ti si le gɔmeɖoɖo me; etɔ nye anchor (Agb 4) |
| Nu ka tae wo mate ŋu aka dzodzro token la ɖe eƒe agbalẽ ŋu o? | Gaɣaɣla ɖeɖe dzesi la nye keyed hash si le setsiaa aɖe me vovo na adzɔgbeɖeɖewo (Agb 2, 3, 4) |
| Aleke wòate ŋu aɖe dzɔdzɔme ƒe ɖaseɖigbalɛ eye mèfia naneke o? | zk-SNARK le arithmetic circuit aɖe dzi si me nyateƒe ene la katã le (Agb 5) |
| Aleke ame si wòaxɔa nu nya be wòxɔ fexexe? | Woɣlaŋlɔ didienu la na woƒe gaɖoƒe ƒe dzesi; wotrial-decrypt e kple nukpɔsafui (agbalẽ sia) |
| Aleke wosena se "ga si ge ɖe eme = ga si doa tso eme" le ɣaɣla me? | Homomorphic asixɔxɔ ƒe adzɔgbeɖeɖewo + binding signature (Akpa 5) |
Kpɔɖeŋu dze si me mɔme le tso axa gbãtɔ dzi, kpɔ nyateƒe ɖe nu si mèkpɔ o ŋu, fifia bu ɖe anyi bliboe. Mɔ̃ la dea ɖaseɖigbalɛ ɖe nyateƒe siwo le data ɣla la ŋu, ke menye data la ŋutɔ ŋu o.
Míefia kple Sapling ƒe nɔnɔme elabena eƒe mamã la dze kɔkɔe wu. Nɔnɔme si le fifia, Orchard, wɔa nyuie ɖe nyati siawo ŋu ke menye be wòtrɔ wo ɖe teƒe bubu o:
| Sapling | Orchard | |
|---|---|---|
| Gaɖoɖo ƒe unit | Spend kple Output nyati siwo le vovo | Actions siwo wòƒo ɖeka (ɖeka ɖeka wɔa fexexe ɖeka + output ɖeka) |
| Ɖaseɖigbalɛ ƒe nɔnɔme | Groth16 (mɔ̃ ƒe ɖoɖo xexlẽnuwo [trusted setup]) | Halo 2 (mɔ̃ ƒe ɖoɖo xexlẽnuwo mele o) |
| Curves | BLS12-381 + Jubjub | Pallas / Vesta (Pasta) |
| Adzɔgbeɖeɖe ƒe hash | Pedersen | Sinsemilla |
Nuxexlẽ sia me ƒe nyati ɖeka ɖeka yia edzi tẽe; Orchard ƒoa fexexe kple output ƒe akpaawo ɖeka, eye wòtrɔ ɖaseɖigbalɛ ƒe nɔnɔme la kple esi me ceremony mele o. Ti atɔ̃ la metrɔ o.
Esiae nye nɔnɔmetata blibo wu le ƒometɔƒo sia me, ke eganye model ko hã. Míekpɔ didienu ƒe field encodings tututu, klu ƒe dzedze ƒe formula siwo tututu, spend kluwo ƒe re-randomization, gaɖoƒe ƒe dzesi siwo le vovototo me, nya kpui [memo] ƒe fields, adzɔ [fee] ƒe wɔwɔ, vovototo si le asixɔxɔ ƒe adzɔgbeɖeɖewo kple didienu ƒe adzɔgbeɖeɖewo dome le nyati blibo me, kple asidede agbalẽ te ɖeka ɖeka ƒe dɔ tututu me ɖe kpui. Míefia mɔ ɖeka si wòzu kpɔɖeŋu hã; gaɖoɖo siwo le nyateƒe me ate ŋu akplɔ fexexewo kple output geɖe ɖe ɣeyiɣi ɖeka me eye woate ŋu aɖe transparent kple ɣaɣla ƒe akpaawo ƒo. Nya si le ŋusẽ wu nye Zcash Protocol Specification. Nu si nèle asi fifia nye nɔnɔme dzɔdzɔ; specification la tsɔa neƒe wɔwɔwo katã ɖe eme.
| Nya | Gɔmeɖeɖe bɔbɔe |
|---|---|
| Spending key | Klu ɣaɣla gɔmedzedze ɖeka si ame aɖe ƒe kluwo katã tsoa |
| Viewing Key | Efia wò gaɖoɖowo na ame si tsɔe le asi me, ke mena mɔ be wòafexɛ o |
| Spend description | Tx ƒe akpa si exɔa didienu aɖe (gaɣaɣla ɖeɖe dzesi, anchor, ɖaseɖigbalɛ) |
| Output description | Tx ƒe akpa si wɔa didienu aɖe (adzɔgbeɖeɖe, ciphertext, ɖaseɖigbalɛ) |
| Action (Orchard) | Unit ɖeka si wòƒo, si wɔa fexexe ɖeka kple output ɖeka ɖeka |
| Value commitment | Pedersen adzɔgbeɖeɖe homomorphic le asixɔxɔ aɖe ŋu |
| Binding signature | Asidede agbalẽ te si dea ɖaseɖigbalɛ be asixɔxɔwo sɔ eye wòmefia wo o |
| Anchor | Ti ƒe tɔ si fexexe aɖe dea membership ƒe ɖaseɖigbalɛ ɖe eŋu |
| Trial decryption | Ame si axɔa nu doa adzɔgbeɖeɖe yeye ɖe nudzodzro me be wòakpɔ didienu siwo wole be woanɔ eya tɔwo |
Mɔ̃ la kpɔa asixɔxɔ alo ame si fe na ame ka mahã kpɔa? Ao. Wòkpɔa ɖaseɖigbalɛ la, be gaɣaɣla ɖeɖe dzesi la yenye yeye, anchor la, kple binding signature la. Asixɔxɔ ɣaɣlawo katã nɔa ɣla.
Nu kae atɔ mɔ nam be mafexɛ didienu ɖeka zi eve? Gaɣaɣla ɖeɖe dzesi la. Fexexe la doa e ɖe go; mɔ̃ la gbea gaɣaɣla ɖeɖe dzesi ɖeka ɖe sia si le gaɣaɣla ɖeɖe dzesi ƒe set la me xoxo. Didienu ma ke nana gaɣaɣla ɖeɖe dzesi ma ke ɣesiaɣi.
Aleke woate ŋu akpɔ balance ne asixɔxɔwo le ɣla? Asixɔxɔ ƒe adzɔgbeɖeɖewo doa ƒo homomorphically; gaɖoɖo si le balance me ƒe adzɔgbeɖeɖewo ɖoa ɖe adzɔgbeɖeɖe mema, si binding signature la dea ɖaseɖigbalɛ ɖe eŋu.
Mate ŋu ade ɖaseɖigbalɛ ɖe nye gaɖoɖowo ŋu na auditor aɖe eye megbe nye ŋusẽ o? Ẽ. Na nukpɔsafui aɖe. Efiya wò ɣaɣla ƒe nudzɔdzrowo, ke wòmate ŋu axɔ mɔ na fexexe o, le klu ƒe ƒomeɖoɖo mɔ ɖeka la ta.
Sapling va zu nu si mehiã o esi Orchard le anyi? Wo eve katã nɔ mɔ̃ la dzi; Orchard nye nɔnɔme si le fifia. Nyatiwo le wo dome ɖeka, eyata ne nèse ɖeka gɔme la, nèse bubu hã gɔme.
Xɔlɔ aɖe gblɔ be: "Esi ɖaseɖigbalɛ la ɣla asixɔxɔ la, fiavi aɖe ate ŋu agblɔ ko be eƒe outputwo ƒe asixɔxɔ le dɔme wu eƒe inputwo eye wòawɔ ga blaa." Tsɔ Akpa 5 dzi, gblɔ le nyagblɔɖi eve me nu ka tae esia mate ŋu ava eme o. (Ŋuɖoɖo le ete.)
Asixɔxɔwo le ɣla, ke woɖeka ɖeka wòtu ɖe homomorphic asixɔxɔ ƒe adzɔgbeɖeɖe me, eye mɔ̃ la tsɔa input ƒe adzɔgbeɖeɖewo katã doa ƒo eye wòlea output ƒe adzɔgbeɖeɖewo katã ƒe nu; ne asixɔxɔ ɣaɣlawo mesɔ o la, nu si doa tso eme la matu ɖe mema o eye wo mate ŋu awɔ binding signature dzɔdzɔ aɖeke o. Fiavi la ate ŋu aɣla nène, ke wòmate ŋu ana asixɔxɔ siwo mesɔ o ava pasa balance ƒe kpɔkpɔ la o; eyata ga blaa wɔwɔ mate ŋu ava eme o, togbɔ be wòfia naneke o hã, arithmetic la akpɔe.
Fifia nèzɔ tso kpɔɖeŋu dze si me mɔme le ɖeka me va se fexexe ɣaɣla blibo aɖe:

Tso afisia la, mɔ si dze be woatoe yia eme wu: Groth16 kple Halo 2 ƒe wɔwɔ le eme, mɔ̃ ƒe ɖoɖo xexlẽnuwo ƒe ceremonywo, Sapling kple Orchard circuits ƒe nyatiwo, klu ƒe dzedze kple gaɖoƒe ƒe dzesi siwo le vovototo me, kple protocol la ƒe trɔtrɔ to mɔ̃ ƒe sewo trɔtrɔ [network upgrades] me. Ke gɔmeɖoɖo la le teƒe fifia, eye nyati siawo ɖeka ɖeka kpɔ teƒe si wòate ŋu abla ɖe eŋu.
Enye akpa le Zcash tso Gɔmedzedze Ƒe Gɔmeɖosewo Me ƒometɔƒo la me na ZecHub. Licensed CC BY-SA 4.0.