Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana

Tunaendelea na mfululizo wetu kuhusu blockchain ya Monero, na makala ya leo yatazingatia itifaki ya RingCT (Miamala ya Siri ya Pete), ambayo inatanguliza miamala ya siri na sahihi mpya za pete. Kwa bahati mbaya, kuna habari kidogo kwenye mtandao kuhusu jinsi inavyofanya kazi, na tulijaribu kujaza pengo hili.

Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana

Tutazungumza juu ya jinsi mtandao huficha kiasi cha uhamishaji kwa kutumia itifaki hii, kwa nini waliacha saini za pete za cryptonote, na jinsi teknolojia hii itakua zaidi.

Kwa kuwa itifaki hii ni moja wapo ya teknolojia ngumu zaidi huko Monero, msomaji atahitaji maarifa ya kimsingi ya muundo wa blockchain hii na maarifa ya kupita ya kriptografia ya mviringo (ili kupata maarifa haya, unaweza kusoma sura za kwanza za nakala yetu. makala iliyopita kuhusu saini nyingi).

Itifaki ya RingCT

Moja ya mashambulizi iwezekanavyo kwenye sarafu ya cryptonote ni uchambuzi wa blockchain kulingana na ujuzi wa kiasi na wakati wa shughuli iliyotumwa. Hii inaruhusu kwa kiasi kikubwa kupunguza eneo la utafutaji kwa ajili ya kuondoka kwa maslahi kwa mshambuliaji. Ili kulinda dhidi ya uchanganuzi kama huo, Monero imetekeleza itifaki ya muamala isiyojulikana ambayo huficha kabisa kiasi cha uhamisho kwenye mtandao.

Inafaa kumbuka kuwa wazo la kuficha kiasi sio mpya. Msanidi wa Bitcoin Core Greg Maxwell alikuwa mmoja wa wa kwanza kuielezea katika yake makala Miamala ya Siri. Utekelezaji wa sasa wa RingCT ni marekebisho yake yenye uwezo wa kutumia sahihi za pete (iwe bila hizo), na hivyo ndivyo ilipata jina lake - Miamala ya Siri ya Pete.

Miongoni mwa mambo mengine, itifaki husaidia kuondokana na matatizo na kuchanganya matokeo ya vumbi - matokeo ya kiasi kidogo (kawaida hupokea kwa njia ya mabadiliko kutoka kwa shughuli), ambayo iliunda matatizo zaidi kuliko yalivyostahili.

Mnamo Januari 2017, uma ngumu wa mtandao wa Monero ulifanyika, kuruhusu matumizi ya hiari ya shughuli za siri. Na tayari mnamo Septemba mwaka huo huo, na toleo la 6 la uma ngumu, shughuli kama hizo zikawa pekee zinazoruhusiwa kwenye mtandao.

RingCT hutumia mbinu kadhaa kwa wakati mmoja: sahihi za kikundi zilizounganishwa zenye safu nyingi zilizounganishwa moja kwa moja (Sahihi ya Kundi isiyojulikana ya Multilayered Linkable Spontaneous, ambayo itajulikana hapa kama MLSAG), mpango wa kujitolea (Ahadi za Pedersen) na uthibitisho wa anuwai (neno hili halina tafsiri iliyowekwa katika Kirusi) .

Itifaki ya RingCT inatanguliza aina mbili za miamala isiyojulikana: rahisi na kamili. Mkoba huzalisha kwanza wakati shughuli hutumia pembejeo zaidi ya moja, pili - katika hali tofauti. Zinatofautiana katika uthibitishaji wa kiasi cha malipo na data iliyotiwa saini na saini ya MLSAG (tutazungumza zaidi kuhusu hili hapa chini). Aidha, shughuli za aina kamili zinaweza kuzalishwa na idadi yoyote ya pembejeo, hakuna tofauti ya msingi. Katika kitabu "Sifuri hadi Monero" Katika suala hili, inasemekana kuwa uamuzi wa kupunguza shughuli kamili kwa pembejeo moja ulifanyika kwa haraka na inaweza kubadilika katika siku zijazo.

Sahihi ya MLSAG

Hebu tukumbuke pembejeo za muamala zilizotiwa saini ni nini. Kila muamala hutumia na kuzalisha baadhi ya fedha. Uzalishaji wa pesa hufanyika kwa kuunda matokeo ya ununuzi (mlinganisho wa moja kwa moja ni bili), na matokeo ambayo shughuli hutumia (baada ya yote, katika maisha halisi tunatumia noti) inakuwa pembejeo (kuwa mwangalifu, ni rahisi sana kuchanganyikiwa. hapa).

Ingizo hurejelea matokeo mengi, lakini hutumia moja pekee, hivyo basi kuunda "skrini ya moshi" ili iwe vigumu kuchanganua historia ya tafsiri. Ikiwa muamala una ingizo zaidi ya moja, basi muundo kama huo unaweza kuwakilishwa kama matriki, ambapo safu mlalo ni ingizo na safu wima ni matokeo mchanganyiko. Ili kuthibitisha kwa mtandao kwamba shughuli hutumia matokeo yake (inajua funguo zao za siri), pembejeo zinasainiwa na saini ya pete. Saini kama hiyo inahakikisha kwamba mtu aliyetia sahihi alijua funguo za siri za vitu vyote vya safu wima yoyote.

Shughuli za siri hazitumii tena zile za kawaida cryptonote saini za pete, zilibadilishwa na MLSAG - toleo la saini za safu moja za pete zilizobadilishwa kwa pembejeo nyingi, LSAG.

Zinaitwa multilayer kwa sababu husaini pembejeo kadhaa mara moja, ambayo kila moja imechanganywa na zingine kadhaa, i.e. matrix imesainiwa, na sio safu moja. Kama tutakavyoona baadaye, hii husaidia kuokoa kwenye saizi ya sahihi.

Wacha tuangalie jinsi saini ya pete inavyoundwa, kwa kutumia mfano wa shughuli ambayo hutumia matokeo 2 halisi na hutumia m - 1 bila mpangilio kutoka kwa blockchain kwa kuchanganya. Wacha tuonyeshe funguo za umma za matokeo ambayo tunatumia kama
Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana, na picha muhimu kwao ipasavyo: Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana Kwa hivyo, tunapata matrix ya ukubwa 2 x m. Kwanza, tunahitaji kukokotoa kile kinachoitwa changamoto kwa kila jozi ya matokeo:
Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana
Tunaanza mahesabu na matokeo, ambayo tunatumia kwa kutumia funguo zao za umma:Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikanana nambari za nasibuShughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikanaKama matokeo, tunapata maadili yafuatayo:
Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana, ambayo tunatumia kukokotoa changamoto
Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikanajozi inayofuata ya matokeo (ili iwe rahisi kuelewa ni nini tunabadilisha ambapo, tumeangazia maadili haya kwa rangi tofauti). Thamani zote zifuatazo zinahesabiwa kwenye mduara kwa kutumia fomula zilizopewa kwenye kielelezo cha kwanza. Jambo la mwisho kukokotoa ni changamoto kwa jozi ya matokeo halisi.

Kama tunavyoona, safu wima zote isipokuwa ile iliyo na matokeo halisi hutumia nambari zinazozalishwa bila mpangilioShughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana. Kwa Ο€-safu pia tutazihitaji. Hebu tubadilikeShughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikanakatika s:Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana
Sahihi yenyewe ni nakala ya maadili haya yote:

Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana

Data hii basi huandikwa katika shughuli.

Kama tunavyoona, MLSAG ina changamoto moja tu c0, ambayo inakuwezesha kuokoa kwa ukubwa wa saini (ambayo tayari inahitaji nafasi nyingi). Ifuatayo, mkaguzi yeyote, kwa kutumia dataShughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana, hurejesha maadili c1,…, cm na kuangalia hiyoShughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana. Kwa hivyo, pete yetu imefungwa na saini imethibitishwa.

Kwa shughuli za RingCT za aina kamili, mstari mmoja zaidi huongezwa kwenye tumbo na matokeo mchanganyiko, lakini tutazungumzia kuhusu hili hapa chini.

Ahadi za Pedersen

Miradi ya wajibu (neno la Kiingereza ahadi hutumika mara nyingi zaidi) hutumika ili mhusika mmoja aweze kuthibitisha kwamba anajua siri fulani (nambari) bila kuifichua. Kwa mfano, unaweka nambari fulani kwenye kete, zingatia ahadi na uikabidhi kwa mhusika anayeithibitisha. Kwa hivyo, wakati wa kufichua nambari ya siri, mthibitishaji huhesabu kujitolea kwa uhuru, na hivyo kuhakikisha kuwa haukumdanganya.

Ahadi za Monero hutumiwa kuficha kiasi cha uhamisho na kutumia chaguo la kawaida - ahadi za Pedersen. Kwa njia, ukweli wa kuvutia - mwanzoni watengenezaji walipendekeza kuficha kiasi hicho kwa kuchanganya kawaida, yaani, kuongeza matokeo kwa kiasi cha kiholela ili kuanzisha kutokuwa na uhakika, lakini kisha wakabadilisha ahadi (sio ukweli kwamba waliokoa. saizi ya ununuzi, kama tutakavyoona hapa chini).
Kwa ujumla, kujitolea kunaonekana kama hii:
Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikanaJe! C - maana ya kujitolea yenyewe, a - kiasi kilichofichwa, H ni hatua ya kudumu kwenye mviringo wa mviringo (jenereta ya ziada), na x - aina fulani ya mask ya kiholela, sababu ya kujificha inayozalishwa kwa nasibu. Kinyago kinahitajika hapa ili mtu wa tatu asiweze kubahatisha tu thamani ya kujitolea.

Wakati pato jipya linapotolewa, mkoba huhesabu ahadi yake, na inapotumiwa, inachukua thamani iliyohesabiwa wakati wa uzalishaji au kuhesabu upya, kulingana na aina ya shughuli.

RingCT rahisi

Kwa upande wa shughuli rahisi za RingCT, ili kuhakikisha kuwa shughuli hiyo iliunda matokeo kwa kiasi sawa na kiasi cha pembejeo (haikutoa pesa nje ya hewa nyembamba), ni muhimu kwamba jumla ya ahadi za kwanza na za pili. wawe sawa, yaani:
Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana
Tume za ahadi huichukulia kwa njia tofauti kidogo - bila barakoa:
Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikanaAmbapo a - kiasi cha tume, kinapatikana kwa umma.

Mbinu hii huturuhusu kuthibitisha kwa mhusika kuwa tunatumia kiasi sawa bila kufichua.

Ili kufanya mambo kuwa wazi zaidi, hebu tuangalie mfano. Wacha tuseme muamala hutumia matokeo mawili (maana yanakuwa pembejeo) ya 10 na 5 XMR na kutoa matokeo matatu yenye thamani ya XMR 12: 3, 4 na 5 XMR. Wakati huo huo, analipa tume ya 3 XMR. Kwa hivyo, kiasi cha pesa kilichotumiwa pamoja na kiasi kilichozalishwa na tume ni sawa na 15 XMR. Wacha tujaribu kuhesabu ahadi na tuangalie tofauti katika viwango vyao (kumbuka hesabu):

Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana
Hapa tunaona kwamba ili equation iungane, tunahitaji hesabu za vinyago vya kuingiza na kutoa ziwe sawa. Kwa kufanya hivyo, mkoba huzalisha kwa nasibu x1, y1, y2 na y3, na iliyobaki x2 hesabu kama hii:
Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana
Kwa kutumia vinyago hivi, tunaweza kuthibitisha kwa kithibitishaji chochote kwamba hatutoi pesa nyingi kuliko tunazotumia, bila kufichua kiasi hicho. Asili, sawa?

RingCT imejaa

Katika miamala kamili ya RingCT, kuangalia kiasi cha uhamisho ni ngumu zaidi. Katika shughuli hizi, pochi haihesabu tena ahadi za pembejeo, lakini hutumia zile zilizokokotwa wakati zilitolewa. Katika kesi hii, lazima tufikirie kuwa hatutapata tena tofauti katika hesabu sawa na sifuri, lakini badala yake:
Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana
Hapa z β€” tofauti kati ya vinyago vya kuingiza na kutoa. Ikiwa tutazingatia zG kama ufunguo wa umma (ambayo ni kweli), basi z ni ufunguo wa kibinafsi. Kwa hivyo, tunajua funguo za kibinafsi za umma na zinazolingana. Kwa kuwa na data hii, tunaweza kuitumia katika sahihi ya pete ya MLSAG pamoja na vitufe vya umma vya matokeo yanayochanganywa:
Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana
Kwa hivyo, sahihi ya pete itahakikisha kwamba tunajua funguo zote za faragha za mojawapo ya safu wima, na tunaweza tu kujua ufunguo wa faragha katika safu mlalo ya mwisho ikiwa shughuli hiyo haitazalisha pesa zaidi kuliko inavyotumia. Kwa njia, hapa kuna jibu la swali "kwa nini tofauti katika kiasi cha ahadi haileti sifuri" - ikiwa zG = 0, basi tutapanua safu na matokeo halisi.

Je, mpokeaji wa fedha hizo anajua ni kiasi gani cha fedha alichotumwa? Kila kitu ni rahisi hapa - mtumaji wa shughuli na funguo za kubadilishana za mpokeaji kwa kutumia itifaki ya Diffie-Hellman, kwa kutumia ufunguo wa shughuli na ufunguo wa mtazamo wa mpokeaji na kuhesabu siri iliyoshirikiwa. Mtumaji huandika data kuhusu kiasi cha pato, kilichosimbwa kwa ufunguo huu ulioshirikiwa, katika sehemu maalum za muamala.

Uthibitisho wa anuwai

Nini kitatokea ikiwa unatumia nambari hasi kama kiasi katika ahadi? Hii inaweza kusababisha kizazi cha sarafu za ziada! Matokeo haya hayakubaliki, kwa hiyo tunahitaji kuhakikisha kwamba kiasi tunachotumia sio hasi (bila kufichua kiasi hiki, bila shaka, vinginevyo kuna kazi nyingi na yote ni bure). Kwa maneno mengine, lazima tuthibitishe kuwa jumla iko katika muda [0, 2n - 1].

Ili kufanya hivyo, jumla ya kila pato imegawanywa katika tarakimu za binary na ahadi huhesabiwa kwa kila tarakimu tofauti. Ni bora kuona jinsi hii inatokea kwa mfano.

Hebu tuchukulie kwamba kiasi chetu ni kidogo na kinafaa katika biti 4 (kwa mazoezi hii ni biti 64), na tunaunda pato la thamani ya 5 XMR. Tunakokotoa ahadi kwa kila aina na jumla ya ahadi ya kiasi chote:Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikana
Ifuatayo, kila ahadi inachanganywa na mbadala (Ci-2iH) na imetiwa saini kwa jozi na saini ya pete ya Borromeo (saini nyingine ya pete), iliyopendekezwa na Greg Maxwell mnamo 2015 (unaweza kusoma zaidi kuihusu hapa):
Shughuli za siri katika Monero, au jinsi ya kuhamisha vitu visivyojulikana hadi mahali visivyojulikanaKwa pamoja, hii inaitwa uthibitisho wa anuwai na hukuruhusu kuhakikisha kuwa ahadi hutumia viwango katika safu [0, 2n - 1].

Nini hapo?

Katika utekelezaji wa sasa, uthibitisho wa anuwai huchukua nafasi nyingi - byte 6176 kwa pato. Hii husababisha miamala mikubwa na kwa hivyo ada ya juu. Ili kupunguza ukubwa wa ununuzi wa Monero, wasanidi programu wanaleta vizuia risasi badala ya sahihi za Borromeo - utaratibu wa uthibitisho wa anuwai bila ahadi za busara. Kulingana na baadhi ya makadirio, wana uwezo wa kupunguza saizi ya uthibitisho wa anuwai hadi 94%. Kwa njia, katikati ya Julai teknolojia ilipita ukaguzi kutoka kwa Usalama wa Kudelski, ambayo haikufunua mapungufu yoyote muhimu ama katika teknolojia yenyewe au katika utekelezaji wake. Teknolojia tayari inatumiwa kwenye mtandao wa majaribio, na kwa uma mpya ngumu, pengine inaweza kuhamia mtandao kuu.

Uliza maswali yako, pendekeza mada kwa nakala mpya kuhusu teknolojia katika uwanja wa cryptocurrency, na pia ujiandikishe kwa kikundi chetu katika Facebookili kusasisha matukio na machapisho yetu.

Chanzo: mapenzi.com

Kuongeza maoni