Isu tinoenderera mberi nenhevedzano yedu nezve Monero blockchain, uye chinyorwa chanhasi chichatarisa paRingCT (Ring Confidential Transactions) protocol, iyo inosuma yakavanzika kutengeserana uye mitsva siginecha yemhete. Nehurombo, pane ruzivo rudiki paInternet nezve maitirwo ainoita, uye takaedza kuzadza gap iri.
Isu tichataura nezvekuti network inovanza sei mari yekuchinjisa vachishandisa iyi protocol, nei vakasiya yakasarudzika cryptonote ring siginecha, uye kuti tekinoroji iyi ichawedzera sei.
Sezvo iyi protocol iri imwe yeakaomesesa matekinoroji muMonero, muverengi achada ruzivo rwekutanga rwekugadzirwa kweiyi blockchain uye neruzivo rwunopfuura rwe elliptic curve cryptography (kukwesha pamusoro peruzivo urwu, unogona kuverenga zvitsauko zvekutanga zvedu. yapfuura nyaya nezve
RingCT protocol
Imwe yezvinobvira kurwiswa kwekriptonote mari ndeye blockchain kuongororwa kunoenderana neruzivo rwehuwandu uye nguva yekutumirwa kutengeserana. Izvi zvinobvumira
Zvakakosha kucherechedza kuti pfungwa yekuviga mari haisi itsva. Bitcoin Core kuvandudza Greg Maxwell aive mumwe wekutanga kuzvitsanangura mune yake
Pakati pezvimwe zvinhu, iyo protocol inobatsira kubvisa matambudziko nekusanganisa guruva zvinobuda - zvinobuda zvezvishoma (kazhinji zvakagamuchirwa nenzira yekuchinja kubva kune kutengeserana), izvo zvakagadzira matambudziko akawanda kupfuura aikosha.
Muna Ndira 2017, forogo yakaoma yeMonero network yakaitika, ichibvumira kushandiswa kwakasarudzika kwekutengeserana zvakavanzika. Uye kare munaSeptember wegore rimwe chete, neshanduro 6 yakaoma forogo, kutengeserana kwakadaro kwakava ivo chete vanobvumirwa pane network.
RingCT inoshandisa nzira dzakati wandei panguva imwe chete: multilayered akabatana asingazivikanwe eboka masiginicha (Multilayered Linkable Spontaneous Anonymous Group Siginecha, yakazonzi MLSAG), chirongwa chekuzvipira (Pedersen Commitments) uye humbowo hwemhando (iri izwi harina shanduro yakagadzwa muchiRussia) .
Iyo RingCT protocol inosuma marudzi maviri ezvisingazivikanwe zvekutengeserana: zviri nyore uye zvizere. Iyo chikwama inogadzira yekutanga kana kutengeserana kunoshandisa zvinopfuura imwe yekuisa, yechipiri - mune yakatarisana mamiriro. Ivo vanosiyana mukusimbiswa kwehuwandu hwekutengesa uye data rakasainwa neMSAG siginicha (tichataura zvakawanda pamusoro peizvi pazasi). Uyezve, kutengeserana kwemhando yakazara kunogona kugadzirwa nechero nhamba yezvipo, hapana mutsauko wakakosha. Mubhuku
MLSAG siginecha
Ngatirangarirei kuti zvipi zvakasainwa zvekutengeserana zvipi. Kutengeserana kwega kwega kunopedza uye kunogadzira imwe mari. Kuberekwa kwemari kunoitika nekugadzira zvinobuda mukutengeserana (kufananidza kwakananga mabhiri), uye zvinobuda izvo kutengeserana kunoshandisa (mushure mezvose, muhupenyu chaihwo isu tinoshandisa mabhengi) inova iyo yekuisa (chenjera, zviri nyore kwazvo kuvhiringidzika. pano).
Yekupinza inonongedza zvakabuda, asi inopedza imwe chete, nekudaro kugadzira "smokescreen" kuita kuti zviome kuongorora nhoroondo yeshanduro. Kana kutengeserana kuine zvinopfuura chimwe chete, saka chimiro chakadaro chinogona kumiririrwa sematrix, apo mitsetse ndiyo yekupinda uye makoramu ndiwo akasanganiswa zvinobuda. Kuti uratidze kunetiweki kuti kutengeserana kunoshandisa chaizvo izvo zvabuda (inoziva makiyi avo epachivande), izvo zvinopinda zvakasainwa nemhete siginicha. Siginicha yakadaro inovimbisa kuti anosaina aiziva makiyi akavanzika ezvinhu zvese zvechero makoramu.
Zvekutengeserana zvakavanzika hazvichashandisi zvekare
Ivo vanonzi multilayer nekuti vanosaina akati wandei kamwechete, imwe neimwe yakasanganiswa nevamwe vakati wandei, i.e. matrix yakasainwa, uye kwete mutsara mumwe. Sezvatichaona gare gare, izvi zvinobatsira kuchengetedza pane siginicha saizi.
Ngatitarisei kuti siginecha yemhete inoumbwa sei, tichishandisa muenzaniso wekutengesa kunoshandisa 2 chaiyo kuburitsa uye inoshandisa m - 1 zvisingaite kubva ku blockchain yekusanganisa. Ngatiratidzei makiyi eruzhinji ezvakabuda zvatinoshandisa se
, uye mifananidzo yakakosha kwavari zvinoenderana: Nokudaro, tinowana matrix yehukuru 2 x m. Chekutanga, isu tinofanirwa kuverenga izvo zvinonzi zvinonetsa kune imwe neimwe yezvabuda:
Isu tinotanga kuverenga nezvinobuda, izvo zvatinoshandisa tichishandisa makiyi avo eruzhinji:uye nhamba dzisina kurongekaNekuda kweizvozvo, tinowana zvinotevera zvakakosha:
, iyo yatinoshandisa kuverenga dambudziko
iwo maviri anotevera ezvakabuda (kuita kuti zvive nyore kunzwisisa zvatiri kutsiva kupi, isu takasimbisa izvi zvakakosha mumavara akasiyana). Ese anotevera maitiro akaverengerwa mudenderedzwa uchishandisa mafomula akapihwa mumufananidzo wekutanga. Chinhu chekupedzisira kuverenga ndicho chinonetsa kune peya yezvinobuda chaiyo.
Sezvatinoona, makoramu ese kunze kweiyo ine mabudiro chaiwo anoshandisa nhamba dzakagadzirwa zvisina tsarukano. nokuti Ο- column tichavadawo. Ngatishanduremuri s:
Siginicha pachayo ituple yezvese izvi zvakakosha:
Iyi data inobva yanyorwa mukutengeserana.
Sezvatinoona, MLSAG ine dambudziko rimwe chete c0, iyo inokubvumira kuchengetedza pane siginecha saizi (iyo inotoda nzvimbo yakawanda). Uyezve, chero muongorori, achishandisa iyo data, inodzoreredza kukosha c1,β¦, cm uye inotarisa izvo. Saka, mhete yedu yakavharwa uye siginicha yakasimbiswa.
Kune RingCT transaction yemhando yakazara, imwezve mutsara inowedzerwa kune matrix ine zvakasanganiswa zvinobuda, asi isu tichataura pamusoro peizvi pazasi.
Pedersen Commitments
Zvisungo zveMonero zvinoshandiswa kuvanza huwandu hwekuchinjisa uye kushandisa iyo yakajairika sarudzo - Pedersen zvisungo. Nenzira, chokwadi chinonakidza - pakutanga vagadziri vakaronga kuvanza mari yacho nekusanganisa kwakajairika, ndiko kuti, kuwedzera zvinobuda pamari isingabvumirwe kuti vaunze kusavimbika, asi vakazochinja kuita zvisungo (haisi chokwadi chekuti vakachengeta saizi yekutengeserana, sezvatichaona pazasi).
Kazhinji, kuzvipira kunoratidzika seizvi:
Kupi C - zvinoreva kuzvipira pachako, a - yakavanzika mari, H inzvimbo yakagadziriswa pane elliptic curve (yakawedzera jenareta), uye x - imwe mhando yemasiki yekupokana, chinhu chekuvanza chinogadzirwa zvisina tsarukano. Iyo mask inodiwa pano kuitira kuti munhu wechitatu arege kungofungidzira kukosha kwekuzvipira.
Kana chinhu chitsva chikagadzirwa, chikwama chinoverengera kuzvipira kwacho, uye kana chashandiswa, chinotora kana kukosha kwakaverengerwa panguva yechizvarwa kana kuiverengera, zvichienderana nerudzi rwekutengesa.
RingCT iri nyore
Panyaya yeRingCT transactions iri nyore, kuitira kuti ive nechokwadi chekuti kutengeserana kwakagadzira zvinobuda muhuwandu hwakaenzana nehuwandu hwezvipo (hazvina kuburitsa mari kubva mumhepo yakatetepa), zvinodikanwa kuti huwandu hwezvipikirwa zvekutanga neyechipiri. zvimwe zvakafanana, zvinoti:
Makomisheni ekuzvipira anozviona zvishoma zvakasiyana - pasina mask:
kupi a - huwandu hwekomisheni, inowanikwa pachena.
Maitiro aya anotibvumira kuratidza kune bato rinovimba kuti tiri kushandisa mari imwe chete pasina kuburitsa pachena.
Kuti zvinhu zvijeke, ngatitarisei muenzaniso. Ngatitii kutengeserana kunoshandisa zviviri zvinobuda (zvichireva kuti vanove zvekushandisa) zvegumi neshanu XMR uye zvinoburitsa zvitatu zvinobuda zvakakosha gumi nemaviri XMR: 10, 5 uye 12 XMR. Panguva imwecheteyo, anobhadhara komisheni ye3 XMR. Saka, huwandu hwemari yakashandiswa pamwe nemari yakagadzirwa uye komisheni yakaenzana ne4 XMR. Ngatiedze kuverenga zvisungo uye titarise mutsauko muhuwandu hwazvo (rangarira masvomhu):
Pano tinoona kuti kuti equation ienderane, isu tinoda huwandu hwemasikirwo ekuisa uye anobuda masks kuti dzifanane. Kuti uite izvi, chikwama chinogadzira zvisizvo x1, y1, y2 uye y3, uye vakasara x2 inoverenga seizvi:
Tichishandisa masiki aya, tinogona kuratidza kune chero anosimbisa kuti hatiburitse mari yakawanda kupfuura yatinoshandisa, tisina kuburitsa huwandu. Chekutanga, handiti?
RingCT yakazara
Mukuzara kweRingCT kutengeserana, kutarisa huwandu hwekutamisa hwakanyanya kuomarara. Mukutengeserana uku, chikwama hachidzokorore zvisungo zvekupinza, asi chinoshandisa izvo zvakaverengerwa pazvagadzirwa. Muchiitiko ichi, tinofanira kufunga kuti hatichawana mutsauko muhuwandu hwakaenzana ne zero, asi panzvimbo iyo:
zviri z - musiyano pakati pekuisa uye kubuda masks. Kana tikafunga zG sekiyi yeruzhinji (iyo iyo de facto iri), ipapo z ndiyo kiyi yakavanzika. Nekudaro, isu tinoziva veruzhinji uye anowirirana makiyi akavanzika. Iine data iri muruoko, tinogona kuishandisa muMLSAG ring siginecha pamwe nemakiyi eruzhinji ezvinobuda zviri kusanganiswa:
Saka, siginecha yemhete inoshanda ichaita kuti tizive makiyi ese epachivande eimwe yemakoramu, uye isu tinogona kungoziva kiyi yakavanzika mumutsara wekupedzisira kana kutengeserana kusingaburitse mari yakawanda kupfuura yainoshandisa. Nenzira, heino mhinduro kumubvunzo wekuti "nei mutsauko wehuwandu hwezvipikirwa usingatungamiri ku zero" - kana zG = 0, ipapo isu tichawedzera mbiru nezvinobuda chaizvo.
Ko akapihwa mari anoziva sei kuti imarii yaakatumirwa? Zvese zviri nyore pano - mutumiri wekutengeserana uye mugamuchiri anotsinhanisa makiyi achishandisa Diffie-Hellman protocol, uchishandisa kiyi yekutengeserana uye kiyi yekuona yeanogamuchira uye kuverenga chakavanzika chakagovaniswa. Iye anotumira anonyora data pamusoro pemari inobuda, yakavharidzirwa neiyi kiyi yakagovaniswa, munzvimbo dzakakosha dzekutengeserana.
Range zviratidzo
Chii chinoitika kana ukashandisa nhamba isina kunaka sehuwandu muzvisungo? Izvi zvinogona kutungamira kune chizvarwa chekuwedzera mari! Mhedzisiro iyi haigamuchirwi, saka tinoda kuvimbisa kuti mari yatinoshandisa haina kunaka (pasina kuburitsa huwandu uhu, hongu, zvikasadaro pane basa rakawanda uye zvese pasina). Mune mamwe mazwi, isu tinofanirwa kuratidza kuti huwandu huri mukati menguva [0, 2n - 1].
Kuti uite izvi, huwandu hwega hwega hunobuda hwakakamurwa kuita mabhinari manhamba uye kuzvipira kunoverengerwa kune yega yega yega. Zviri nani kuona kuti izvi zvinoitika sei nemuenzaniso.
Ngatifungei kuti mari yedu idiki uye inokodzera 4 bits (mukuita izvi 64 bits), uye isu tinogadzira inobuda inokosha 5 XMR. Isu tinoverenga zvisungo zvechikamu chega chega uye kuzvipira kwese kwemari yese:
Zvadaro, kuzvipira kwega kwega kunosanganiswa neanotsiva (Ci-2iH) uye yakasainwa mumaviri neBorromeo ring siginecha (imwe siginecha yemhete), yakakurudzirwa naGreg Maxwell muna 2015 (unogona kuverenga zvakawanda nezvazvo.
Zvikatorwa pamwechete, izvi zvinodaidzwa kuti range proof uye zvinokutendera kuti uve nechokwadi chekuti zvisungo zvinoshandisa huwandu muhuwandu [0, 2n - 1].
Chii chinotevera?
Mukuita kwazvino, humbowo hwemhando hunotora nzvimbo yakawanda - 6176 bytes pane inobuda. Izvi zvinotungamirira kukutengeserana kukuru uye naizvozvo mari yakakwirira. Kuti uderedze saizi yekutengeserana kweMonero, vagadziri vari kuunza bulletproofs pachinzvimbo cheBorromeo siginecha - nzira yehumbowo hwemhando isina zvisungo zvishoma.
Bvunza mibvunzo yako, kurudzira misoro yezvinyorwa zvitsva nezve tekinoroji mumunda we cryptocurrency, uye zvakare kunyorera kuboka redu mu.
Source: www.habr.com