Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni

Nou kontinye seri nou sou chèn blòk Monero a, epi atik jodi a pral konsantre sou pwotokòl RingCT (Ring Confidential Transactions), ki prezante tranzaksyon konfidansyèl yo ak nouvo siyati bag yo. Malerezman, gen ti enfòmasyon sou entènèt la sou fason li fonksyone, epi nou te eseye ranpli espas sa a.

Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni

Nou pral pale sou ki jan rezo a kache kantite transfè lè l sèvi avèk pwotokòl sa a, poukisa yo te abandone siyati klasik kriptonote bag yo, ak ki jan teknoloji sa a ap devlope pi lwen.

Piske pwotokòl sa a se youn nan teknoloji ki pi konplèks nan Monero, lektè a pral bezwen yon konesans debaz sou konsepsyon blòk sa a ak yon konesans pase nan kriptografi koub eliptik (pou w amelyore konesans sa a, ou ka li premye chapit nou an. atik anvan sou multisiyati).

Pwotokòl RingCT

Youn nan atak posib sou lajan cryptonote yo se analiz blockchain ki baze sou konesans kantite ak lè tranzaksyon an voye. Sa pèmèt siyifikativman etwat zòn rechèch la pou sòti ki enterese atakè a. Pou pwoteje kont analiz sa yo, Monero te aplike yon pwotokòl tranzaksyon anonim ki konplètman kache kantite transfè sou rezo a.

Li se vo anyen ke lide nan kache kantite lajan se pa nouvo. Devlopè Bitcoin Core Greg Maxwell se te youn nan premye moun ki dekri li nan li atik Tranzaksyon Konfidansyèl yo. Aktyèl aplikasyon RingCT se modifikasyon li yo ak posiblite pou yo sèvi ak siyati bag (kit san yo), e se konsa li te resevwa non li - Ring Confidential Transactions.

Pami lòt bagay, pwotokòl la ede debarase m de pwoblèm ak melanje pwodiksyon pousyè - rezilta nan yon ti kantite (anjeneral resevwa nan fòm lan nan chanjman nan tranzaksyon), ki te kreye plis pwoblèm pase yo te vo.

Nan mwa janvye 2017, yon fouchèt difisil nan rezo Monero a te fèt, sa ki pèmèt itilizasyon si ou vle tranzaksyon konfidansyèl yo. E deja nan mwa septanm nan menm ane a, ak vèsyon an 6 fouchèt difisil, tranzaksyon sa yo te vin sèl yo pèmèt sou rezo a.

RingCT sèvi ak plizyè mekanis alafwa: siyati gwoup anonim espontane ki lye plizyè kouch (siyati gwoup anonim anonim ki konekte ak plizyè kouch, ke yo rele pi devan kòm MLSAG), yon konplo angajman (Angajman Pedersen) ak prèv seri (tèm sa a pa gen yon tradiksyon etabli an Ris) .

Pwotokòl RingCT prezante de kalite tranzaksyon anonim: senp ak konplè. Bous la jenere premye a lè yon tranzaksyon itilize plis pase yon opinyon, dezyèm lan - nan sitiyasyon opoze a. Yo diferan nan validation kantite tranzaksyon yo ak done yo siyen ak yon siyati MLSAG (nou pral pale plis sou sa anba a). Anplis, tranzaksyon nan kalite plen ka pwodwi ak nenpòt ki kantite entrain, pa gen okenn diferans fondamantal. Nan liv la "Zero a Monero" Nan sans sa a, yo di ke desizyon an pou limite tranzaksyon konplè a yon sèl opinyon yo te pran an prese epi yo ka chanje nan lavni.

siyati MLSAG

Ann sonje sa ki siyen tranzaksyon yo ye. Chak tranzaksyon depanse epi jenere kèk lajan. Jenerasyon lajan an fèt nan kreye rezilta tranzaksyon (yon analoji dirèk se bòdwo), ak pwodiksyon an ke tranzaksyon an depanse (apre tout, nan lavi reyèl nou depanse biye) vin antre nan (fè atansyon, li trè fasil jwenn konfonn). isit la).

Yon opinyon fè referans a plizyè rezilta, men depanse sèlman yon sèl, konsa kreye yon "kouran lafimen" pou fè li difisil pou analize istwa tradiksyon an. Si yon tranzaksyon gen plis pase yon opinyon, Lè sa a, yon estrikti konsa ka reprezante kòm yon matris, kote ranje yo se entrain yo ak kolòn yo se rezilta yo melanje. Pou pwouve rezo a ke tranzaksyon an depanse egzakteman rezilta li yo (konnen kle sekrè yo), entrées yo siyen ak yon siyati bag. Yon siyati konsa garanti ke siyatè a te konnen kle sekrè pou tout eleman nan nenpòt nan kolòn yo.

Tranzaksyon konfidansyèl yo pa sèvi ak sa ki klasik yo ankò kriptonòt siyati bag yo, yo te ranplase pa MLSAG - yon vèsyon menm jan an siyati bag yon sèl kouch adapte pou antre miltip, LSAG.

Yo rele yo multikouch paske yo siyen plizyè entrées alafwa, chak nan yo melanje ak plizyè lòt, sa vle di yon matris siyen, epi yo pa yon sèl ranje. Kòm nou pral wè pita, sa ede ekonomize sou gwosè siyati.

Ann gade ki jan yon siyati bag fòme, lè l sèvi avèk egzanp yon tranzaksyon ki depanse 2 rezilta reyèl epi ki sèvi ak m - 1 siyati o aza nan blockchain la pou melanje. Se pou nou endike kle piblik yo nan pwodiksyon yo ke nou depanse kòm
Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni, ak imaj kle pou yo kòmsadwa: Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni Kidonk, nou jwenn yon matris gwosè 2 x m. Premyèman, nou bezwen kalkile sa yo rele defi yo pou chak pè pwodiksyon:
Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni
Nou kòmanse kalkil yo ak rezilta yo, ke nou depanse lè l sèvi avèk kle piblik yo:Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoniak nimewo o azaTranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoniKòm yon rezilta, nou jwenn valè sa yo:
Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni, ki nou itilize pou kalkile defi
Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkonipwochen pè rezilta yo (pou fè li pi fasil pou konprann sa n ap ranplase kote, nou te mete aksan sou valè sa yo nan diferan koulè). Tout valè sa yo kalkile nan yon sèk lè l sèvi avèk fòmil yo bay nan premye ilistrasyon an. Dènye bagay yo kalkile se defi a pou yon pè rezilta reyèl.

Kòm nou ka wè, tout kolòn eksepte sa a ki gen rezilta reyèl yo itilize nimewo ki te pwodwi owazaTranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni. Pou π- kolòn nou pral bezwen yo tou. Ann transfòmeTranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoninan s:Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni
Siyati a li menm se yon tiple nan tout valè sa yo:

Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni

Done sa yo Lè sa a, ekri nan yon tranzaksyon.

Kòm nou ka wè, MLSAG gen yon sèl defi c0, ki pèmèt ou sove sou gwosè siyati (ki deja mande anpil espas). Pli lwen, nenpòt enspektè, lè l sèvi avèk done yoTranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni, retabli valè yo c1,..., cm epi tcheke saTranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni. Kidonk, bag nou an fèmen epi yo verifye siyati a.

Pou tranzaksyon RingCT nan kalite konplè a, yo ajoute yon lòt liy nan matris la ak rezilta melanje, men nou pral pale sou sa a anba a.

Pedersen Angajman

Konplo obligasyon (yo pi souvan itilize tèm angle angajman yo) pou yon pati ka pwouve ke yo konnen yon sèten sekrè (nimewo) san yo pa revele li. Pou egzanp, ou woule yon sèten nimewo sou zo yo, konsidere angajman epi pase li sou pati verifye a. Se konsa, nan moman sa a nan divilge nimewo sekrè a, verifikatè a poukont kalkile angajman an, kidonk asire w ke ou pa t twonpe l '.

Angajman Monero yo itilize pou kache kantite transfè yo epi sèvi ak opsyon ki pi komen an - angajman Pedersen. By wout la, yon reyalite enteresan - nan premye devlopè yo pwopoze kache kantite lajan yo pa melanje òdinè, se sa ki, ajoute pwodiksyon pou kantite lajan abitrè yo nan lòd yo prezante ensètitid, men Lè sa a, yo chanje nan angajman (li se pa yon reyalite ke yo sove sou gwosè tranzaksyon an, jan nou pral wè anba a).
An jeneral, angajman sanble sa a:
Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoniKi kote C - siyifikasyon angajman tèt li, a - kantite lajan kache, H se yon pwen fiks sou koub eliptik la (dèlko adisyonèl), epi x - kèk kalite mask abitrè, yon faktè kache pwodwi owaza. Mask la bezwen isit la pou yon twazyèm pati pa ka senpleman devine valè angajman an.

Lè yon nouvo pwodiksyon pwodwi, bous la kalkile angajman pou li, epi lè depanse, li pran swa valè a kalkile pandan jenerasyon oswa rekalkile li, tou depann de kalite tranzaksyon an.

RingCT senp

Nan ka a nan tranzaksyon RingCT senp, yo nan lòd yo asire ke tranzaksyon an te kreye rezilta nan yon kantite lajan ki egal a kantite lajan an nan entrain (pa t 'pwodwi lajan soti nan lè mens), li nesesè ke sòm total la nan angajman nan premye ak dezyèm lan. yo menm, sa vle di:
Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni
Komisyon angajman konsidere li yon ti jan diferan - san yon mask:
Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkonikote a — kantite lajan an nan komisyon an, li disponib piblikman.

Apwòch sa a pèmèt nou pwouve pati ki konte a ke nou ap itilize menm kantite lajan yo san divilge yo.

Pou fè bagay yo pi klè, ann gade nan yon egzanp. Ann di yon tranzaksyon depanse de rezilta (sa vle di yo vin antre) nan 10 ak 5 XMR epi jenere twa rezilta ki vo 12 XMR: 3, 4 ak 5 XMR. An menm tan an, li peye yon komisyon de 3 XMR. Kidonk, kantite lajan ki depanse plis kantite lajan ki pwodui ak komisyon an egal a 15 XMR. Ann eseye kalkile angajman yo epi gade diferans ki genyen nan kantite lajan yo (sonje matematik la):

Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni
Isit la nou wè ke pou ekwasyon an konvèje, nou bezwen sòm total mask yo antre ak pwodiksyon yo dwe menm bagay la. Pou fè sa, bous la jenere owaza x1, y1, y2 ak y3, ak rès la x2 kalkile konsa:
Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni
Sèvi ak mask sa yo, nou ka pwouve nenpòt verifikatè ke nou pa jenere plis lajan ke nou depanse, san yo pa divilge kantite lajan an. Orijinal, pa vre?

RingCT plen

Nan tranzaksyon RingCT konplè, tcheke kantite transfè yo se yon ti kras pi konplike. Nan tranzaksyon sa yo, bous la pa rekalkile angajman pou antre, men sèvi ak sa yo kalkile lè yo te pwodwi. Nan ka sa a, nou dwe asime ke nou p ap jwenn diferans ki genyen nan sòm yo egal a zewo, men olye de sa:
Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni
Isit la z — diferans ant mask antre ak pwodiksyon. Si nou konsidere zG kòm yon kle piblik (ki se defakto), lè sa a z se kle prive a. Kidonk, nou konnen kle piblik ak korespondan prive yo. Lè w gen done sa yo, nou ka sèvi ak li nan siyati bag MLSAG ansanm ak kle piblik rezilta yo melanje:
Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni
Kidonk, yon siyati bag valab pral asire ke nou konnen tout kle prive youn nan kolòn yo, epi nou ka sèlman konnen kle prive a nan dènye ranje a si tranzaksyon an pa jenere plis lajan ke li depanse. By wout la, isit la se repons lan nan kesyon an "poukisa diferans lan nan kantite angajman yo pa mennen nan zewo" - si zG = 0, Lè sa a, nou pral elaji kolòn nan ak rezilta reyèl.

Ki jan moun k ap resevwa lajan yo konnen konbyen lajan yo te voye ba li? Tout bagay se senp isit la - moun k la nan tranzaksyon an ak benefisyè a echanj kle lè l sèvi avèk pwotokòl la Diffie-Hellman, lè l sèvi avèk kle tranzaksyon an ak kle gade moun k ap resevwa a epi kalkile sekrè a pataje. Moun k ap voye a ekri done sou kantite lajan pwodiksyon an, chiffres ak kle pataje sa a, nan domèn espesyal nan tranzaksyon an.

Range prèv

Kisa k ap pase si ou itilize yon nimewo negatif kòm kantite lajan nan angajman? Sa a ka mennen nan jenerasyon an nan pyès monnen adisyonèl! Rezilta sa a se akseptab, kidonk nou bezwen garanti ke kantite lajan nou itilize yo pa negatif (san yo pa divilge kantite lajan sa yo, nan kou, otreman gen anpil travay ak tout pou gremesi). Nan lòt mo, nou dwe pwouve ke sòm nan se nan entèval la [0, 2n - 1].

Pou fè sa, sòm chak pwodiksyon divize an chif binè epi yo kalkile angajman an pou chak chif separeman. Li pi bon pou wè ki jan sa rive ak yon egzanp.

Ann sipoze ke kantite lajan nou yo piti ak anfòm nan 4 Bits (nan pratik sa a se 64 Bits), epi nou kreye yon pwodiksyon vo 5 XMR. Nou kalkile angajman pou chak kategori ak angajman total pou tout montan an:Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoni
Apre sa, chak angajman melanje ak yon ranplasan (Ci-2iH) epi li siyen an pè ak siyati bag Borromeo (yon lòt siyati bag), Greg Maxwell te pwopoze an 2015 (ou ka li plis sou li isit la):
Tranzaksyon konfidansyèl nan Monero, oswa ki jan yo transfere bagay enkoni nan destinasyon enkoniAnsanm, yo rele sa prèv ranje epi li pèmèt ou asire ke angajman yo sèvi ak kantite lajan ki nan seri a [0, 2n - 1].

Ki sa ki nan pwochen?

Nan aplikasyon aktyèl la, prèv ranje pran anpil espas - 6176 bytes pou chak pwodiksyon. Sa a mennen nan pi gwo tranzaksyon yo ak Se poutèt sa pi wo frè. Pou diminye gwosè yon tranzaksyon Monero, devlopè yo ap entwodwi siyati pou bal olye de siyati Borromeo - yon mekanis prèv ranje san angajman bit. Dapre kèk estimasyon, yo kapab redwi gwosè a nan prèv ranje pa jiska 94%. By wout la, nan mitan mwa Jiyè teknoloji a te pase kontwòl kontab soti nan Kudelski Sekirite, ki pa t 'revele okenn enpèfeksyon enpòtan swa nan teknoloji nan tèt li oswa nan aplikasyon li yo. Teknoloji a deja itilize nan rezo tès la, ak nouvo fouchèt la difisil, li ka pwobableman deplase nan rezo prensipal la.

Poze kesyon ou yo, sijere sijè pou nouvo atik sou teknoloji nan domèn cryptocurrency, epi tou abònman nan gwoup nou an nan Facebookpou kenbe ajou ak evènman ak piblikasyon nou yo.

Sous: www.habr.com

Add nouvo kòmantè