Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys

Rydym yn parhau â'n cyfres am y blockchain Monero, a bydd erthygl heddiw yn canolbwyntio ar y protocol RingCT (Ring Confidential Transactions), sy'n cyflwyno trafodion cyfrinachol a llofnodion cylch newydd. Yn anffodus, ychydig o wybodaeth sydd ar y Rhyngrwyd am sut mae'n gweithio, a gwnaethom geisio llenwi'r bwlch hwn.

Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys

Byddwn yn siarad am sut mae'r rhwydwaith yn cuddio symiau trosglwyddo gan ddefnyddio'r protocol hwn, pam eu bod wedi rhoi'r gorau i'r llofnodion cylch cryptonote clasurol, a sut y bydd y dechnoleg hon yn datblygu ymhellach.

Gan fod y protocol hwn yn un o'r technolegau mwyaf cymhleth yn Monero, bydd angen gwybodaeth sylfaenol ar y darllenydd am ddyluniad y blockchain hwn a gwybodaeth sy'n mynd heibio am cryptograffeg cromlin eliptig (i loywi'r wybodaeth hon, gallwch ddarllen penodau cyntaf ein erthygl flaenorol am amllofnod).

Protocol RingCT

Un o'r ymosodiadau posibl ar arian crypto yw dadansoddiad blockchain yn seiliedig ar wybodaeth am swm ac amser y trafodiad a anfonwyd. Mae hyn yn caniatáu culhau'r ardal chwilio yn sylweddol ar gyfer allanfeydd o ddiddordeb i'r ymosodwr. Er mwyn amddiffyn rhag dadansoddiad o'r fath, mae Monero wedi gweithredu protocol trafodion dienw sy'n cuddio'n llwyr faint o drosglwyddiadau ar y rhwydwaith.

Mae'n werth nodi nad yw'r syniad o guddio symiau yn newydd. Roedd datblygwr Bitcoin Core, Greg Maxwell, yn un o'r rhai cyntaf i'w ddisgrifio yn ei erthygl Trafodion Cyfrinachol. Mae gweithrediad RingCT ar hyn o bryd yn ei addasu gyda’r posibilrwydd o ddefnyddio llofnodion modrwy (boed hebddynt), a dyna sut y cafodd ei enw - Ring Confidential Transactions.

Ymhlith pethau eraill, mae'r protocol yn helpu i gael gwared ar broblemau gyda chymysgu allbynnau llwch - allbynnau o swm bach (a dderbynnir fel arfer ar ffurf newid o drafodion), a greodd fwy o broblemau nag yr oeddent yn werth.

Ym mis Ionawr 2017, cynhaliwyd fforch galed o rwydwaith Monero, gan ganiatáu defnydd dewisol o drafodion cyfrinachol. Ac eisoes ym mis Medi yr un flwyddyn, gyda'r fersiwn 6 fforc caled, trafodion o'r fath oedd yr unig rai a ganiateir ar y rhwydwaith.

Mae RingCT yn defnyddio nifer o fecanweithiau ar yr un pryd: llofnodion grŵp di-enw digymell amlhaenog cysylltiedig (Llofnod Grŵp Dienw Dienw Amlhaenog Linkable, y cyfeirir ato o hyn ymlaen fel MLSAG), cynllun ymrwymiad (Ymrwymiadau Pedersen) a phrofion amrediad (nid oes gan y term hwn gyfieithiad sefydledig i Rwsieg) .

Mae protocol RingCT yn cyflwyno dau fath o drafodion dienw: syml a llawn. Mae'r waled yn cynhyrchu'r cyntaf pan fydd trafodiad yn defnyddio mwy nag un mewnbwn, yr ail - yn y sefyllfa gyferbyn. Maent yn wahanol o ran dilysu symiau trafodion a'r data a lofnodwyd gyda llofnod MLSAG (byddwn yn siarad mwy am hyn isod). At hynny, gellir cynhyrchu trafodion o fath llawn gydag unrhyw nifer o fewnbynnau, nid oes gwahaniaeth sylfaenol. Yn y llyfr "Dim i Monero" Yn hyn o beth, dywedir bod y penderfyniad i gyfyngu trafodion llawn i un mewnbwn wedi'i wneud ar frys a gallai newid yn y dyfodol.

Llofnod MLSAG

Gadewch i ni gofio beth yw mewnbynnau trafodion wedi'u llofnodi. Mae pob trafodiad yn gwario ac yn cynhyrchu rhywfaint o arian. Mae cynhyrchu arian yn digwydd trwy greu allbynnau trafodion (cyfatebiaeth uniongyrchol yw biliau), ac mae'r allbwn y mae'r trafodiad yn ei wario (wedi'r cyfan, mewn bywyd go iawn, rydym yn gwario arian papur) yn dod yn fewnbwn (byddwch yn ofalus, mae'n hawdd iawn drysu yma).

Mae mewnbwn yn cyfeirio at allbynnau lluosog, ond yn gwario un yn unig, gan greu “sgrin fwg” i'w gwneud hi'n anodd dadansoddi'r hanes cyfieithu. Os oes gan drafodiad fwy nag un mewnbwn, yna gellir cynrychioli strwythur o'r fath fel matrics, lle mai'r rhesi yw'r mewnbynnau a'r colofnau yw'r allbynnau cymysg. Er mwyn profi i'r rhwydwaith bod y trafodiad yn gwario'n union ei allbynnau (yn gwybod eu bysellau cyfrinachol), mae'r mewnbynnau wedi'u llofnodi â llofnod cylch. Mae llofnod o'r fath yn gwarantu bod yr arwyddwr yn gwybod yr allweddi cyfrinachol ar gyfer pob elfen o unrhyw un o'r colofnau.

Nid yw trafodion cyfrinachol bellach yn defnyddio rhai clasurol cryptonote llofnodion cylch, cawsant eu disodli gan MLSAG - fersiwn o lofnodion cylch un haen tebyg wedi'u haddasu ar gyfer mewnbynnau lluosog, LSAG.

Fe'u gelwir yn amlhaenog oherwydd eu bod yn llofnodi sawl mewnbwn ar unwaith, pob un ohonynt yn gymysg â sawl un arall, h.y. matrics wedi'i lofnodi, ac nid un rhes. Fel y gwelwn yn nes ymlaen, mae hyn yn helpu i arbed maint llofnod.

Gadewch i ni edrych ar sut mae llofnod cylch yn cael ei ffurfio, gan ddefnyddio'r enghraifft o drafodiad sy'n gwario 2 allbwn go iawn ac yn defnyddio m - 1 rhai ar hap o'r blockchain ar gyfer cymysgu. Gadewch inni ddynodi allweddau cyhoeddus yr allbynnau yr ydym yn eu gwario fel
Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys, a delweddau allweddol ar eu cyfer yn unol â hynny: Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys Felly, rydym yn cael matrics o faint 2 x m. Yn gyntaf, mae angen i ni gyfrifo'r heriau hyn a elwir ar gyfer pob pâr o allbynnau:
Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys
Rydyn ni'n dechrau'r cyfrifiadau gyda'r allbynnau, rydyn ni'n eu gwario gan ddefnyddio eu bysellau cyhoeddus:Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbysa haprifauTrafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbysO ganlyniad, rydym yn cael y gwerthoedd canlynol:
Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys, a ddefnyddiwn i gyfrifo her
Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbysy pâr nesaf o allbynnau (i'w gwneud hi'n haws deall yr hyn yr ydym yn ei amnewid lle, rydym wedi amlygu'r gwerthoedd hyn mewn lliwiau gwahanol). Cyfrifir yr holl werthoedd canlynol mewn cylch gan ddefnyddio'r fformiwlâu a roddir yn y llun cyntaf. Y peth olaf i'w gyfrifo yw'r her ar gyfer pâr o allbynnau real.

Fel y gallwn weld, mae pob colofn ac eithrio'r un sy'n cynnwys allbynnau real yn defnyddio rhifau a gynhyrchir ar hapTrafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys. I π- colofn byddwn hefyd eu hangen. Gadewch i ni drawsnewidTrafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbysyn s:Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys
Mae'r llofnod ei hun yn tuple o'r holl werthoedd hyn:

Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys

Yna caiff y data hwn ei ysgrifennu mewn trafodiad.

Fel y gallwn weld, dim ond un her sydd gan MLSAG c0, sy'n eich galluogi i arbed maint llofnod (sydd eisoes yn gofyn am lawer o le). Ymhellach, unrhyw arolygydd, gan ddefnyddio'r dataTrafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys, yn adfer y gwerthoedd c1, …, cm ac yn gwirio hynnyTrafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys. Felly, mae ein cylch ar gau ac mae'r llofnod wedi'i wirio.

Ar gyfer trafodion RingCT o'r math llawn, ychwanegir un llinell arall at y matrics gydag allbynnau cymysg, ond byddwn yn siarad am hyn isod.

Ymrwymiadau Pedersen

Cynlluniau rhwymedigaeth (defnyddir y term Saesneg ymrwymiadau yn amlach) fel y gall un parti brofi eu bod yn gwybod cyfrinach (rhif) arbennig heb ei datgelu mewn gwirionedd. Er enghraifft, rydych chi'n rholio rhif penodol ar y dis, yn ystyried ymrwymiad ac yn ei drosglwyddo i'r parti dilysu. Felly, ar hyn o bryd o ddatgelu'r rhif cyfrinachol, mae'r dilysydd yn cyfrifo'r ymrwymiad yn annibynnol, a thrwy hynny sicrhau na wnaethoch chi ei dwyllo.

Defnyddir ymrwymiadau Monero i guddio symiau'r trosglwyddiadau a defnyddio'r opsiwn mwyaf cyffredin - ymrwymiadau Pedersen. Gyda llaw, ffaith ddiddorol - ar y dechrau cynigiodd y datblygwyr guddio'r symiau trwy gymysgu cyffredin, hynny yw, ychwanegu allbynnau ar gyfer symiau mympwyol er mwyn cyflwyno ansicrwydd, ond yna fe wnaethant newid i ymrwymiadau (nid yw'n ffaith eu bod yn arbed ymlaen maint y trafodiad, fel y gwelwn isod).
Yn gyffredinol, mae ymrwymiad yn edrych fel hyn:
Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbysLle C — ystyr ymrwymiad ei hun, a - swm cudd, H yn bwynt sefydlog ar y gromlin eliptig (generadur ychwanegol), a x - rhyw fath o fwgwd mympwyol, ffactor cuddio a gynhyrchir ar hap. Mae angen y mwgwd yma fel na all trydydd parti yn syml ddyfalu gwerth ymrwymiad.

Pan gynhyrchir allbwn newydd, mae'r waled yn cyfrifo ymrwymiad ar ei gyfer, a phan gaiff ei wario, mae'n cymryd naill ai'r gwerth a gyfrifwyd wrth gynhyrchu neu'n ei ailgyfrifo, yn dibynnu ar y math o drafodiad.

RingCT syml

Yn achos trafodion RingCT syml, er mwyn sicrhau bod y trafodiad yn creu allbynnau mewn swm sy'n hafal i swm y mewnbynnau (ni chynhyrchodd arian allan o aer tenau), mae'n angenrheidiol bod swm yr ymrwymiadau o'r cyntaf a'r ail. bydd rhai yr un peth, hynny yw:
Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys
Mae comisiynau ymrwymiad yn ei ystyried ychydig yn wahanol - heb fwgwd:
Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbyslle a — swm y comisiwn, mae ar gael i'r cyhoedd.

Mae'r dull hwn yn ein galluogi i brofi i'r parti sy'n dibynnu ein bod yn defnyddio'r un symiau heb eu datgelu.

I wneud pethau'n gliriach, gadewch i ni edrych ar enghraifft. Gadewch i ni ddweud bod trafodiad yn gwario dau allbwn (sy'n golygu eu bod yn dod yn fewnbynnau) o 10 a 5 XMR ac yn cynhyrchu tri allbwn gwerth 12 XMR: 3, 4 a 5 XMR. Ar yr un pryd, mae'n talu comisiwn o 3 XMR. Felly, mae'r swm o arian a wariwyd ynghyd â'r swm a gynhyrchir a'r comisiwn yn hafal i 15 XMR. Gadewch i ni geisio cyfrifo ymrwymiadau ac edrych ar y gwahaniaeth yn eu symiau (cofiwch y mathemateg):

Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys
Yma gwelwn, er mwyn i'r hafaliad gydgyfeirio, fod angen i symiau'r masgiau mewnbwn ac allbwn fod yr un peth. I wneud hyn, mae'r waled yn cynhyrchu ar hap x1, y1, y2 a y3, a'r gweddill x2 yn cyfrifo fel hyn:
Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys
Gan ddefnyddio'r masgiau hyn, gallwn brofi i unrhyw ddilyswr nad ydym yn cynhyrchu mwy o arian nag yr ydym yn ei wario, heb ddatgelu'r swm. Gwreiddiol, dde?

RingCT yn llawn

Mewn trafodion RingCT llawn, mae gwirio'r symiau trosglwyddo ychydig yn fwy cymhleth. Yn y trafodion hyn, nid yw'r waled yn ailgyfrifo ymrwymiadau ar gyfer mewnbynnau, ond mae'n defnyddio'r rhai a gyfrifwyd pan gawsant eu cynhyrchu. Yn yr achos hwn, rhaid i ni gymryd yn ganiataol na fyddwn bellach yn cael y gwahaniaeth yn y symiau hafal i sero, ond yn hytrach:
Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys
Yma z - gwahaniaeth rhwng masgiau mewnbwn ac allbwn. Os ystyriwn zG fel allwedd gyhoeddus (y mae'n de facto), felly z yw'r allwedd breifat. Felly, rydym yn gwybod yr allweddi preifat cyhoeddus a cyfatebol. Gyda'r data hwn mewn llaw, gallwn ei ddefnyddio yn y llofnod cylch MLSAG ynghyd ag allweddi cyhoeddus yr allbynnau'n cael eu cymysgu:
Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys
Felly, bydd llofnod modrwy dilys yn sicrhau ein bod yn gwybod holl allweddi preifat un o'r colofnau, a dim ond os nad yw'r trafodiad yn cynhyrchu mwy o arian nag y mae'n ei wario y gallwn wybod yr allwedd breifat yn y rhes olaf. Gyda llaw, dyma'r ateb i'r cwestiwn "pam nad yw'r gwahaniaeth yn y symiau o ymrwymiadau yn arwain at sero" - os zG = 0, yna byddwn yn ehangu'r golofn gydag allbynnau go iawn.

Sut mae derbynnydd yr arian yn gwybod faint o arian a anfonwyd ato? Mae popeth yn syml yma - mae anfonwr y trafodiad a'r derbynnydd yn cyfnewid allweddi gan ddefnyddio'r protocol Diffie-Hellman, gan ddefnyddio'r allwedd trafodiad ac allwedd gweld y derbynnydd a chyfrifo'r gyfrinach a rennir. Mae'r anfonwr yn ysgrifennu data am y symiau allbwn, wedi'u hamgryptio gyda'r allwedd hon a rennir, ym meysydd arbennig y trafodiad.

Proflenni ystod

Beth fydd yn digwydd os byddwch yn defnyddio rhif negyddol fel y swm mewn ymrwymiadau? Gall hyn arwain at gynhyrchu darnau arian ychwanegol! Mae'r canlyniad hwn yn annerbyniol, felly mae angen i ni warantu nad yw'r symiau a ddefnyddiwn yn negyddol (heb ddatgelu'r symiau hyn, wrth gwrs, fel arall mae cymaint o waith a'r cyfan yn ofer). Mewn geiriau eraill, rhaid i ni brofi fod y swm yn y cyfwng [0, 2n - 1].

I wneud hyn, rhennir swm pob allbwn yn ddigidau deuaidd a chyfrifir yr ymrwymiad ar gyfer pob digid ar wahân. Mae'n well gweld sut mae hyn yn digwydd gydag enghraifft.

Gadewch i ni dybio bod ein symiau yn fach ac yn ffitio i mewn i 4 did (yn ymarferol mae hyn yn 64 did), ac rydym yn creu allbwn gwerth 5 XMR. Rydym yn cyfrifo ymrwymiadau ar gyfer pob categori a chyfanswm yr ymrwymiad ar gyfer y swm cyfan:Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbys
Nesaf, mae pob ymrwymiad yn gymysg â dirprwy (Ci-2iH) ac wedi'i lofnodi mewn parau gyda llofnod cylch Borromeo (llofnod cylch arall), a gynigiwyd gan Greg Maxwell yn 2015 (gallwch ddarllen mwy amdano yma):
Trafodion cyfrinachol yn Monero, neu sut i drosglwyddo pethau anhysbys i gyrchfannau anhysbysGyda'i gilydd, gelwir hyn yn brawf amrediad ac mae'n eich galluogi i sicrhau bod ymrwymiadau yn defnyddio symiau yn yr ystod [0, 2n - 1].

Beth sydd nesaf?

Yn y gweithredu presennol, mae proflenni amrediad yn cymryd llawer o le - 6176 beit fesul allbwn. Mae hyn yn arwain at drafodion mwy ac felly ffioedd uwch. Er mwyn lleihau maint trafodiad Monero, mae datblygwyr yn cyflwyno gwrth-fwledau yn lle llofnodion Borromeo - mecanwaith prawf amrediad heb ymrwymiadau bitwise. Yn ôl rhai amcangyfrifon, maent yn gallu lleihau maint y prawf amrediad hyd at 94%. Gyda llaw, yng nghanol mis Gorffennaf y dechnoleg pasio archwiliad gan Kudelski Security, na ddatgelodd unrhyw ddiffygion sylweddol naill ai yn y dechnoleg ei hun nac yn ei gweithrediad. Mae'r dechnoleg eisoes yn cael ei ddefnyddio yn y rhwydwaith prawf, a gyda'r fforch caled newydd, mae'n debyg y gall symud i'r prif rwydwaith.

Gofynnwch eich cwestiynau, awgrymwch bynciau ar gyfer erthyglau newydd am dechnolegau ym maes arian cyfred digidol, a hefyd tanysgrifiwch i'n grŵp i mewn Facebooki gael y wybodaeth ddiweddaraf am ein digwyddiadau a'n cyhoeddiadau.

Ffynhonnell: hab.com

Ychwanegu sylw