Inkomplu s-serje tagħna dwar il-blockchain Monero, u l-artiklu tal-lum se jiffoka fuq il-protokoll RingCT (Ring Confidential Transactions), li jintroduċi tranżazzjonijiet kunfidenzjali u firem ring ġodda. Sfortunatament, ftit hemm informazzjoni fuq l-Internet dwar kif taħdem, u ppruvajna nimlew dan il-vojt.
Se nitkellmu dwar kif in-netwerk jaħbi l-ammonti ta 'trasferiment bl-użu ta' dan il-protokoll, għaliex abbandunaw il-firem klassiċi taċ-ċirku tal-kriptonote, u kif din it-teknoloġija se tiżviluppa aktar.
Peress li dan il-protokoll huwa wieħed mit-teknoloġiji l-aktar kumplessi f'Monero, il-qarrej ikollu bżonn għarfien bażiku tad-disinn ta 'din il-blockchain u għarfien li jgħaddi tal-kriptografija tal-kurva ellittika (biex tħaffef dan l-għarfien, tista' taqra l-ewwel kapitoli ta 'tagħna). artiklu preċedenti dwar
Protokoll RingCT
Wieħed mill-attakki possibbli fuq il-muniti cryptonote huwa l-analiżi tal-blockchain ibbażata fuq l-għarfien tal-ammont u l-ħin tat-tranżazzjoni mibgħuta. Dan jippermetti
Ta 'min jinnota li l-idea ta' ħabi ta 'ammonti mhix ġdida. L-iżviluppatur tal-Bitcoin Core Greg Maxwell kien wieħed mill-ewwel li ddeskrivieh tiegħu
Fost affarijiet oħra, il-protokoll jgħin biex jeħles mill-problemi bit-taħlit tal-outputs tat-trab - outputs ta 'ammont żgħir (ġeneralment riċevuti fil-forma ta' bidla minn tranżazzjonijiet), li ħolqu aktar problemi milli kienu jiswew.
F'Jannar 2017, saret hard furk tan-netwerk Monero, li ppermetta l-użu fakultattiv ta 'tranżazzjonijiet kunfidenzjali. U diġà f'Settembru tal-istess sena, bil-verżjoni 6 hard fork, tranżazzjonijiet bħal dawn saru l-uniċi permessi fuq in-netwerk.
RingCT juża diversi mekkaniżmi f'daqqa: firem ta' gruppi anonimi spontanji marbuta b'ħafna saffi (Firma ta' Grupp Spontanju Spontanju b'Multilayered Linkable, minn hawn 'il quddiem imsejħa MLSAG), skema ta' impenn (Impenji Pedersen) u provi tal-firxa (dan it-terminu m'għandux traduzzjoni stabbilita bir-Russu) .
Il-protokoll RingCT jintroduċi żewġ tipi ta’ tranżazzjonijiet anonimi: sempliċi u sħaħ. Il-kartiera tiġġenera l-ewwel meta tranżazzjoni tuża aktar minn input wieħed, it-tieni - fis-sitwazzjoni opposta. Huma differenti fil-validazzjoni tal-ammonti tat-tranżazzjonijiet u d-dejta ffirmata b’firma MLSAG (se nitkellmu aktar dwar dan hawn taħt). Barra minn hekk, transazzjonijiet tat-tip sħiħ jistgħu jiġu ġġenerati bi kwalunkwe numru ta 'inputs, m'hemm l-ebda differenza fundamentali. Fil-ktieb
firma MLSAG
Ejja niftakru x'inputs tat-tranżazzjonijiet iffirmati huma. Kull tranżazzjoni tonfoq u tiġġenera xi fondi. Il-ġenerazzjoni tal-fondi sseħħ billi jinħolqu outputs tat-tranżazzjonijiet (analoġija diretta hija l-kontijiet), u l-output li tonfoq it-tranżazzjoni (wara kollox, fil-ħajja reali aħna nonfqu karti tal-flus) isir l-input (oqgħod attent, huwa faċli ħafna li titħawwad hawn).
Input jirreferi għal outputs multipli, iżda jonfoq wieħed biss, u b'hekk joħloq "mokescreen" biex jagħmilha diffiċli li tiġi analizzata l-istorja tat-traduzzjoni. Jekk tranżazzjoni għandha aktar minn input wieħed, allura struttura bħal din tista 'tiġi rappreżentata bħala matriċi, fejn ir-ringieli huma l-inputs u l-kolonni huma l-outputs imħallta. Biex tipprova lin-netwerk li t-tranżazzjoni tonfoq eżattament l-outputs tagħha (jaf iċ-ċwievet sigrieti tagħhom), l-inputs huma ffirmati b'firma ring. Firma bħal din tiggarantixxi li l-firmatarju kien jaf iċ-ċwievet sigrieti għall-elementi kollha ta 'kwalunkwe kolonna.
Tranżazzjonijiet kunfidenzjali m'għadhomx jużaw dawk klassiċi
Dawn jissejħu b'ħafna saffi għaliex jiffirmaw diversi inputs f'daqqa, li kull wieħed minnhom huwa mħallat ma 'bosta oħrajn, jiġifieri matriċi hija ffirmata, u mhux ringiela waħda. Kif naraw aktar tard, dan jgħin biex jiffranka d-daqs tal-firma.
Ejja nħarsu lejn kif tiġi ffurmata firma ring, billi tuża l-eżempju ta 'tranżazzjoni li tonfoq 2 outputs reali u tuża m - 1 dawk każwali mill-blockchain għat-taħlit. Ejja nindikaw iċ-ċwievet pubbliċi tal-outputs li nonfqu bħala
, u stampi ewlenin għalihom kif xieraq: Għalhekk, aħna tikseb matriċi ta 'daqs 2 x m. L-ewwel, irridu nikkalkulaw l-hekk imsejħa sfidi għal kull par ta 'outputs:
Nibdew il-kalkoli bl-outputs, li nonfqu bl-użu taċ-ċwievet pubbliċi tagħhom:u numri każwaliBħala riżultat, aħna nġibu l-valuri li ġejjin:
, li nużaw biex nikkalkulaw l-isfida
il-par ta 'outputs li jmiss (biex jagħmilha aktar faċli li nifhmu dak li qed nissostitwixxu fejn, enfasizzajna dawn il-valuri f'kuluri differenti). Il-valuri kollha li ġejjin huma kkalkulati f'ċirku bl-użu tal-formuli mogħtija fl-ewwel illustrazzjoni. L-aħħar ħaġa li għandek tikkalkula hija l-isfida għal par ta 'outputs reali.
Kif nistgħu naraw, il-kolonni kollha ħlief dik li fiha outputs reali jużaw numri ġenerati bl-addoċċ. Biex π- kolonna ser ikollna bżonnhom ukoll. Ejja nittrasformawf's:
Il-firma nnifisha hija tuple ta' dawn il-valuri kollha:
Din id-dejta mbagħad tinkiteb fi tranżazzjoni.
Kif nistgħu naraw, MLSAG fih sfida waħda biss c0, li jippermettilek tiffranka fuq id-daqs tal-firma (li diġà teħtieġ ħafna spazju). Barra minn hekk, kwalunkwe spettur, bl-użu tad-data, jirrestawra l-valuri c1,..., cm u jiċċekkja dan. Għalhekk, iċ-ċirku tagħna huwa magħluq u l-firma ġiet verifikata.
Għal tranżazzjonijiet RingCT tat-tip sħiħ, linja oħra hija miżjuda mal-matriċi bi outputs imħallta, iżda se nitkellmu dwar dan hawn taħt.
Impenji Pedersen
L-impenji ta' Monero jintużaw biex jaħbu l-ammonti ta' trasferimenti u jużaw l-aktar għażla komuni - impenji Pedersen. Mill-mod, fatt interessanti - għall-ewwel l-iżviluppaturi pproponew li jaħbu l-ammonti permezz ta 'taħlit ordinarju, jiġifieri, iż-żieda ta' outputs għal ammonti arbitrarji sabiex jintroduċu inċertezza, iżda mbagħad qalbu għal impenji (mhux fatt li ffrankaw fuq id-daqs tat-tranżazzjoni, kif se naraw hawn taħt).
B'mod ġenerali, l-impenn jidher bħal dan:
Где C — it-tifsira tal-impenn innifsu, a - ammont moħbi, H huwa punt fiss fuq il-kurva ellittika (ġeneratur addizzjonali), u x — xi tip ta 'maskra arbitrarja, fattur ta' ħabi ġġenerat b'mod każwali. Il-maskra hija meħtieġa hawnhekk sabiex parti terza ma tkunx tista 'sempliċement raden il-valur tal-impenn.
Meta tiġi ġġenerata output ġdid, il-kartiera tikkalkula l-impenn għaliha, u meta jintefqu, tieħu jew il-valur ikkalkulat waqt il-ġenerazzjoni jew tikkalkulah mill-ġdid, skont it-tip ta 'tranżazzjoni.
RingCT sempliċi
Fil-każ ta’ tranżazzjonijiet RingCT sempliċi, sabiex jiġi żgurat li t-tranżazzjoni ħolqot outputs f’ammont ugwali għall-ammont ta’ inputs (ma pproduċietx flus minn kollox), huwa meħtieġ li s-somma tal-impenji tal-ewwel u t-tieni dawk ikunu l-istess, jiġifieri:
Il-kummissjonijiet tal-impenji jqisuha ftit differenti - mingħajr maskra:
fejn a — l-ammont tal-kummissjoni, huwa pubblikament disponibbli.
Dan l-approċċ jippermettilna nippruvaw lill-parti li tiddependi li qed nużaw l-istess ammonti mingħajr ma niżvelawhom.
Biex tagħmel l-affarijiet aktar ċari, ejja nħarsu lejn eżempju. Ejja ngħidu tranżazzjoni tonfoq żewġ outputs (li jfisser li jsiru inputs) ta '10 u 5 XMR u tiġġenera tliet outputs li jiswew 12 XMR: 3, 4 u 5 XMR. Fl-istess ħin, huwa jħallas kummissjoni ta '3 XMR. Għalhekk, l-ammont ta 'flus minfuqa flimkien mal-ammont iġġenerat u l-kummissjoni huwa ugwali għal 15 XMR. Ejja nippruvaw nikkalkulaw l-impenji u nħarsu lejn id-differenza fl-ammonti tagħhom (ftakar il-matematika):
Hawnhekk naraw li biex l-ekwazzjoni tikkonverġi, għandna bżonn li s-somom tal-maskri tad-dħul u tal-ħruġ ikunu l-istess. Biex tagħmel dan, il-kartiera tiġġenera b'mod każwali x1, y1, y2 u y3, u l-bqija x2 tikkalkula hekk:
Billi nużaw dawn il-maskri, nistgħu nippruvaw lil kwalunkwe verifikatur li ma niġġenerawx aktar fondi milli nonfqu, mingħajr ma niżvelaw l-ammont. Oriġinali, hux?
RingCT sħiħ
Fi tranżazzjonijiet RingCT sħaħ, il-verifika tal-ammonti tat-trasferiment hija ftit aktar kumplessa. F'dawn it-tranżazzjonijiet, il-kartiera ma tikkalkulax mill-ġdid l-impenji għall-inputs, iżda tuża dawk ikkalkulati meta ġew iġġenerati. F'dan il-każ, irridu nassumu li mhux se nkomplu niksbu d-differenza fis-somom ugwali għal żero, iżda minflok:
Hawnhekk z — differenza bejn maskri ta' input u output. Jekk nikkunsidraw zG bħala ċavetta pubblika (li hija de facto), allura z hija ċ-ċavetta privata. Għalhekk, nafu ċ-ċwievet pubbliċi u privati korrispondenti. B'din id-dejta fl-idejn, nistgħu nużawha fil-firma taċ-ċirku MLSAG flimkien maċ-ċwievet pubbliċi tal-outputs li qed jitħalltu:
Għalhekk, firma ring valida tiżgura li nafu ċ-ċwievet privati kollha ta 'waħda mill-kolonni, u nistgħu nkunu nafu biss iċ-ċavetta privata fl-aħħar ringiela jekk it-tranżazzjoni ma tiġġenerax aktar fondi milli tonfoq. Mill-mod, hawnhekk hija t-tweġiba għall-mistoqsija "għaliex id-differenza fl-ammonti ta 'impenji ma twassalx għal żero" - jekk zG = 0, allura aħna se nespandu l-kolonna b'outputs reali.
Ir-riċevitur tal-fondi kif jaf kemm intbagħtu flus lilu? Kollox huwa sempliċi hawn - il-mittent tat-tranżazzjoni u ċ-ċwievet tal-iskambju tar-riċevitur bl-użu tal-protokoll Diffie-Hellman, bl-użu taċ-ċavetta tat-tranżazzjoni u ċ-ċavetta tal-vista tar-riċevitur u kkalkula s-sigriet kondiviż. Il-mittent jikteb data dwar l-ammonti tal-output, encrypted b'din iċ-ċavetta kondiviża, f'oqsma speċjali tat-tranżazzjoni.
Provi tal-firxa
X'jiġri jekk tuża numru negattiv bħala l-ammont f'impenji? Dan jista 'jwassal għall-ġenerazzjoni ta' muniti addizzjonali! Dan l-eżitu huwa inaċċettabbli, għalhekk irridu niggarantixxu li l-ammonti li nużaw mhumiex negattivi (mingħajr ma niżvelaw dawn l-ammonti, ovvjament, inkella hemm tant xogħol u kollox għalxejn). Fi kliem ieħor, irridu nippruvaw li s-somma tinsab fl-intervall [0, 2n - 1].
Biex tagħmel dan, is-somma ta 'kull output hija maqsuma f'ċifri binarji u l-impenn huwa kkalkulat għal kull ċifra separatament. Huwa aħjar li tara kif dan jiġri b'eżempju.
Ejja nassumu li l-ammonti tagħna huma żgħar u jidħlu f'4 bits (fil-prattika huwa 64 bit), u noħolqu output li jiswa 5 XMR. Aħna nikkalkulaw l-impenji għal kull kategorija u l-impenn totali għall-ammont kollu:
Sussegwentement, kull impenn huwa mħallat ma 'surrogat (Ci-2iH) u huwa ffirmat f'pari bil-firma taċ-ċirku Borromeo (firma taċ-ċirku ieħor), proposta minn Greg Maxwell fl-2015 (tista' taqra aktar dwarha
Meħuda flimkien, din tissejjaħ prova tal-firxa u tippermettilek li tiżgura li l-impenji jużaw ammonti fil-medda [0, 2n - 1].
Xi jmiss?
Fl-implimentazzjoni attwali, il-provi tal-firxa jieħdu ħafna spazju - 6176 bytes għal kull output. Dan iwassal għal tranżazzjonijiet akbar u għalhekk tariffi ogħla. Biex jitnaqqas id-daqs ta 'tranżazzjoni Monero, l-iżviluppaturi qed jintroduċu bulletproofs minflok firem Borromeo - mekkaniżmu ta' prova ta 'firxa mingħajr impenji bit-bit.
Staqsi l-mistoqsijiet tiegħek, tissuġġerixxi suġġetti għal artikli ġodda dwar teknoloġiji fil-qasam tal-kripto-munita, u abbona wkoll għall-grupp tagħna fi
Sors: www.habr.com