Konsènan anonimite nan blockchains ki baze sou kont

Nou te enterese nan sijè a nan anonimite nan lajan kript pou yon tan long epi eseye swiv devlopman nan teknoloji nan zòn sa a. Nan atik nou yo nou te deja diskite an detay prensip operasyon yo tranzaksyon konfidansyèl yo nan Monero, epi tou te pote soti revizyon konparatif teknoloji ki egziste nan domèn sa a. Sepandan, tout lajan kriptografik anonim jodi a yo bati sou modèl done ki pwopoze pa Bitcoin - Sòti Tranzaksyon Unspent (apwe sa UTXO). Pou blockchains ki baze sou kont tankou Ethereum, solisyon ki egziste deja pou aplike anonimite ak konfidansyalite (pa egzanp, Mobius oswa Aztèk) te eseye repwodui modèl UTXO a nan kontra entelijan.

Nan mwa fevriye 2019, yon gwoup chèchè nan Stanford University ak Visa Research lage preprint "Zether: Vers enfòmasyon prive nan mond lan nan kontra entelijan." Otè yo te premye moun ki te pwopoze yon apwòch pou asire anonimite nan blockchains ki baze sou kont epi yo te prezante de vèsyon nan yon kontra entelijan: pou tranzaksyon konfidansyèl (kache balans ak kantite transfè) ak anonim (kache moun k ap resevwa a ak moun k ap voye a). Nou jwenn teknoloji yo pwopoze a enteresan epi nou ta renmen pataje konsepsyon li yo, osi byen ke pale sou poukisa pwoblèm anonim nan blockchains ki baze sou kont yo konsidere kòm trè difisil epi si otè yo jere yo rezoud li konplètman.

Konsènan estrikti modèl done sa yo

Nan modèl UTXO a, yon tranzaksyon konsiste de "antre" ak "sorti". Yon analogue dirèk nan "sorti" se bòdwo yo nan bous ou a: chak "sorti" gen kèk denominasyon. Lè ou peye yon moun (fòme yon tranzaksyon) ou depanse youn oswa plis "sorti", nan ka sa a yo vin "antre" nan tranzaksyon an, ak blòk la make yo kòm depanse. Nan ka sa a, moun k ap resevwa peman ou an (oswa ou menm, si w bezwen chanjman) resevwa "sorti" ki fèk pwodwi yo. Sa a ka reprezante schématikman tankou sa a:

Konsènan anonimite nan blockchains ki baze sou kont

Blockchain ki baze sou kont yo estriktire anpil tankou kont labank ou. Yo sèlman fè fas ak kantite lajan an nan kont ou ak kantite lajan transfè a. Lè ou transfere kèk kantite lajan nan kont ou, ou pa boule okenn "sorti", rezo a pa bezwen sonje ki pyès monnen yo te depanse ak ki pa gen. Nan ka ki pi senp la, verifikasyon tranzaksyon an se sèlman tcheke siyati moun k ap voye a ak kantite lajan ki sou balans li:

Konsènan anonimite nan blockchains ki baze sou kont

Analiz de teknoloji

Apre sa, nou pral pale sou fason Zether kache kantite tranzaksyon an, moun k ap resevwa ak moun k ap voye a. Kòm nou dekri prensip yo nan operasyon li yo, nou pral sonje diferans ki genyen nan vèsyon yo konfidansyèl ak anonim. Piske li pi fasil pou asire konfidansyalite nan blockchains ki baze sou kont, kèk nan restriksyon yo enpoze pa anonimizasyon pa pral enpòtan pou vèsyon an konfidansyèl nan teknoloji a.

Kache balans ak kantite transfè

Yo itilize yon konplo chifreman pou ankripte balans ak transfere kantite lajan nan Zether El Gamal. Li travay jan sa a. Lè Alice vle voye Bob b pyès monnen pa adrès (kle piblik li) Y, li chwazi yon nimewo o aza r epi ankripte kantite lajan an:

Konsènan anonimite nan blockchains ki baze sou kont
kote C - kantite lajan chiffres, D - valè oksilyè ki nesesè pou dekode kantite lajan sa a, G - yon pwen fiks sou koub eliptik la, lè miltipliye pa kle sekrè a, yo jwenn kle piblik la.

Lè Bob resevwa valè sa yo, li tou senpleman ajoute yo nan balans chiffres li nan menm fason an, ki se poukisa konplo sa a se pratik.

Menm jan an tou, Alice soustraksyon menm valè yo nan balans li, sèlman kòm Y sèvi ak kle piblik ou a.

Kache moun k ap resevwa a ak moun k ap voye a

Mélange "sorti" nan UTXO date tounen nan premye jou yo nan kriptografik lajan epi li ede kache moun k la. Pou fè sa, moun k la li menm, lè li fè yon transfè, kolekte "sorti" o aza nan blockchain a epi melanje yo ak pwòp tèt li. Apre sa, li siyen "sorti yo" ak yon siyati bag-yon mekanis kriptografik ki pèmèt li konvenk verifikatè a ke pyès monnen moun k la yo prezan nan mitan "sorti yo" ki enplike. Pyès monnen yo melanje tèt yo, nan kou, yo pa depanse.

Sepandan, nou p'ap ka jenere fo sorties pou kache destinataire a. Se poutèt sa, nan UTXO, chak "pwodiksyon" gen pwòp adrès inik li yo, epi li se kriptografikman lye nan adrès la nan moun k ap resevwa pyès monnen sa yo. Nan moman sa a, pa gen okenn fason yo idantifye relasyon ki genyen ant adrès pwodiksyon inik la ak adrès moun k ap resevwa a san yo pa konnen kle sekrè li yo.

Nan modèl ki baze sou kont, nou pa ka sèvi ak adrès yon sèl fwa (otreman li pral deja yon modèl "sòti"). Se poutèt sa, moun k ap resevwa a ak moun k ap voye a dwe melanje nan mitan lòt kont nan blockchain la. Nan ka sa a, yon kode 0 pyès monnen yo debite nan kont yo melanje (oswa 0 yo ajoute si moun k ap resevwa a melanje), san yo pa aktyèlman chanje balans reyèl yo.

Piske tou de moun k ap voye a ak moun k ap resevwa a toujou gen yon adrès pèmanan, li vin nesesè pou itilize menm gwoup yo pou melanje lè w transfere nan menm adrès yo. Li pi fasil pou w gade sa ak yon egzanp.

Ann di Alice deside fè yon kontribisyon nan charite Bob, men li prefere ke transfè a rete anonim bay yon obsèvatè deyò. Lè sa a, yo nan lòd yo degize tèt li nan jaden an voye, li tou antre nan kont yo nan Adan ak Adele. Ak kache Bob, ajoute kont yo nan Ben ak Bill nan jaden an benefisyè. Fè pwochen kontribisyon an, Alice deside ekri Alex ak Amanda bò kote li, ak Bruce ak Benjen bò kote Bob. Nan ka sa a, lè w ap analize blockchain a, nan de tranzaksyon sa yo gen yon sèl pè patisipan ki entèseksyon - Alice ak Bob, ki de-anonimize tranzaksyon sa yo.

Konsènan anonimite nan blockchains ki baze sou kont

Ras tranzaksyon

Kòm nou te deja mansyone, pou kache balans ou nan sistèm ki baze sou kont, itilizatè a ankripte balans li ak kantite lajan transfè a. An menm tan, li dwe pwouve ke balans lan sou kont li rete ki pa negatif. Pwoblèm lan se ke lè kreye yon tranzaksyon, itilizatè a bati yon prèv konsènan sitiyasyon aktyèl kont li. Kisa k ap pase si Bob voye yon tranzaksyon bay Alice, epi li aksepte anvan sa Alice voye a? Lè sa a, tranzaksyon Alice a pral konsidere kòm valab, depi prèv balans lan te bati anvan tranzaksyon Bob a te aksepte.

Konsènan anonimite nan blockchains ki baze sou kont

Premye desizyon ki vini nan yon sitiyasyon konsa se jele kont la jiskaske tranzaksyon an fèt. Men, apwòch sa a pa apwopriye, paske anplis konpleksite pou rezoud pwoblèm sa a nan yon sistèm distribiye, nan yon konplo anonim li pa pral klè ki gen kont yo bloke.

Pou rezoud pwoblèm sa a, teknoloji a separe tranzaksyon k ap rantre ak sortan: depans gen yon efè imedya sou bilan an, pandan y ap resi yo gen yon efè reta. Pou fè sa, yo prezante konsèp nan "epòk" - yon gwoup blòk nan yon gwosè fiks. Se "epòk" aktyèl la detèmine lè w divize wotè blòk la pa gwosè gwoup la. Lè w ap trete yon tranzaksyon, rezo a imedyatman mete ajou balans moun k ap voye a epi estoke lajan moun k ap resevwa a nan yon tank depo. Lajan akimile yo disponib pou benefisyè a sèlman lè yon nouvo "epòk" kòmanse.

Kòm yon rezilta, itilizatè a ka voye tranzaksyon kèlkeswa konbyen fwa yo resevwa lajan (osi lwen ke balans li pèmèt, nan kou). Gwosè epòk la detèmine ki baze sou konbyen vit blòk pwopaje atravè rezo a ak konbyen vit yon tranzaksyon antre nan yon blòk.

Solisyon sa a travay byen pou transfè konfidansyèl, men ak tranzaksyon anonim, jan nou pral wè pita, li kreye pwoblèm grav.

Pwoteksyon kont atak reparèt

Nan blockchains ki baze sou kont, chak tranzaksyon siyen pa kle prive moun k la, ki konvenk verifikatè a ke tranzaksyon an pa te modifye epi li te kreye pa mèt kay la nan kle sa a. Men, e si yon atakè ki t ap koute chanèl transmisyon an entèsepte mesaj sa a epi li voye egzakteman menm dezyèm lan? Verifikatè a pral verifye siyati tranzaksyon an epi yo pral konvenki sou patènite li yo, epi rezo a pral retire menm kantite lajan an nan balans moun k la ankò.

Atak sa a rele yon atak replay. Nan modèl la UTXO, atak sa yo pa enpòtan, depi atakè a pral eseye sèvi ak pwodiksyon depanse, ki nan tèt li pa valab epi li se rejte pa rezo a.

Pou anpeche sa rive, yon jaden ki gen done o aza bati nan tranzaksyon an, ki rele yon nonce oswa tou senpleman "sèl". Lè yo resoumèt yon tranzaksyon ak yon sèl, verifikatè a gade pou wè si nonce a te itilize anvan epi, si se pa, konsidere tranzaksyon an valab. Yo nan lòd yo pa estoke tout istwa itilizatè nonces nan blockchain a, anjeneral nan premye tranzaksyon an li se egal a zewo, ak Lè sa a, ogmante pa youn. Rezo a ka sèlman tcheke ke nonce nan nouvo tranzaksyon an diferan de youn anvan an pa youn.

Nan konplo a transfè anonim, pwoblèm nan nan validation nonces tranzaksyon rive. Nou pa kapab klèman mare nonce a nan adrès moun k ap voye a, paske, evidamman, sa a de-anonimize transfè a. Nou pa kapab tou ajoute youn nan nons tout kont k ap patisipe yo, paske sa ka konfli ak lòt transfè k ap trete.

Otè yo nan Zether pwopoze jenere nonce a kriptografikman, tou depann de "epòk la". Pa egzanp:

Konsènan anonimite nan blockchains ki baze sou kont
Isit la x se kle sekrè moun k ap voye a, epi Gepoch — yon jeneratè adisyonèl pou epòk la, ki te jwenn pa hashing yon kòd nan fòm 'Zether + '. Koulye a, pwoblèm nan sanble yo dwe rezoud - nou pa revele nonce moun k ap voye a epi yo pa entèfere ak nonces yo nan patisipan ki pa enplike yo. Men, apwòch sa a enpoze yon limit grav: yon kont pa ka voye plis pase yon tranzaksyon pou chak "epòk". Pwoblèm sa a, malerezman, rete poko rezoud, ak kounye a fè vèsyon an anonim nan Zether, nan opinyon nou, diman apwopriye pou itilize.

Konpleksite Prèv Konesans Zewo

Nan UTXO, moun k la dwe pwouve rezo a ke li pa depanse yon kantite lajan negatif, otreman li vin posib jenere nouvo pyès monnen soti nan lè mens (poukisa sa a se posib, nou te ekri nan youn nan anvan an. atik). Epi tou siyen "antre yo" ak yon siyati bag pou pwouve ke nan mitan pyès monnen yo ke yo te melanje gen lajan ki apatni a li.

Nan vèsyon an anonim nan blockchain ki baze sou kont, ekspresyon yo pou prèv yo pi konplèks. Moun ki voye a pwouve ke:

  1. Kantite lajan an voye a pozitif;
  2. Balans la rete ki pa negatif;
  3. Moun ki voye a kòrèkteman ankripte kantite transfè yo (ki gen ladan zewo);
  4. Balans nan balans lan chanje sèlman pou moun k ap voye a ak moun k ap resevwa a;
  5. Moun k ap voye a posede kle prive a nan kont li epi li se aktyèlman sou lis moun k ap voye yo (pami moun ki enplike);
  6. Nonce yo itilize nan tranzaksyon an konpoze kòrèkteman.

Pou yon prèv konplèks konsa, otè yo sèvi ak yon melanj Bulletproof (youn nan otè yo, nan chemen an, te patisipe nan kreyasyon li) ak Sigma pwotokòl, ki rele Sigma-bal. Prèv fòmèl nan yon deklarasyon konsa se yon travay olye difisil, epi li anpil limite kantite moun ki vle aplike teknoloji a.

Rezilta a?

Nan opinyon nou an, pati nan Zether ki pote konfidansyalite nan blockchains ki baze sou kont yo ka itilize kounye a. Men, nan moman sa a, vèsyon an anonim nan teknoloji a enpoze restriksyon grav sou itilizasyon li yo, ak konpleksite li sou aplikasyon li. Sepandan, li pa ta dwe rabè ke otè yo te pibliye li sèlman kèk mwa de sa, e petèt yon lòt moun pral jwenn yon solisyon a pwoblèm ki egziste jodi a. Apre yo tout, sa a se ki jan syans yo fè.

Sous: www.habr.com

Add nouvo kòmantè