Kako Dandelion++ Ohranja Zasebnost Izvora Transakcije Monero

Objavljeno:
By Diego Salazar

Zasebnost kot prioriteta

Kot kriptovaluta se lahko Monero s prostim očesom zdi zelo dolgočasen. Nima veliko zahtev po slavi, kot je "svetovni računalnik" ali "revolucioniranje industrije xyz". Preprosto poskuša biti zaseben, zamenljiv, digitalen denar, vsaka nadgradnja in nova tehnologija pa temu cilju le pripomoreta.

Tisti, ki menijo, da je ta cilj preozek ali nezanimiv, na splošno ne razumejo, kako težko je doseči smiselno zasebnost, zlasti v trajni, odprti knjigi, kot je blockchain. Vsaka pot do uhajanja metapodatkov ima potencial erozije zasebnosti.

S tem se zmanjša možnost, da bi naključni opazovalec razbral ključne informacije po tem, ko so bile transakcije že poslane in del zapisane zgodovine. Vendar pa obstajajo nekateri napadi, ki jih je mogoče izvesti v trenutku nastanka transakcije in jih ni mogoče izvesti pozneje.


Napad za razkritje IP naslova

Ti napadi se osredotočajo na ugotavljanje, s katerega naslova IP je bila transakcija izvedena. Če se ta informacija razbere, se lahko ugotovi, da je posameznik poslal transakcijo v valuti Monero. Ni mogoče pokazati, komu in koliko, vendar v nekaterih primerih za povzročitev škode zadostuje že vedenje, da nekdo uporablja Monero.

Dobra novica je, da če teh informacij ne pridobimo v trenutku izvedbe transakcije, jih pozneje ne moremo izvedeti, saj naslovi IP niso shranjeni v verigi blokov. Pomirjujoče je tudi dejstvo, da takega napada v naravi verjetno ne bomo zasledili, saj bi napadalec za izvedbo potreboval veliko večino vozlišč v omrežju. Če pa bi mu uspelo obvladati to veliko večino, bi lahko ugotovil, iz katere "smeri" je prišla transakcija.

To je lahko zapleteno, zato vam bomo tukaj razložili nekaj osnovnih informacij. Vsako vozlišče se poveže z drugimi vozlišči v omrežju, tako da lahko posodablja svojo verigo blokov in deli svoje znanje z drugimi. Te povezave jim omogočajo, da izvedo za nove transakcije, jih razširjajo in pošiljajo svoje. Ker lahko vozlišče svojim vrstnikom pove le o transakcijah, za katere ve, je razumljivo, da je prvo vozlišče, ki razširi transakcijo, vozlišče, ki dejansko pošilja Monero.

Če ima napadalec v lasti veliko večino vozlišč v omrežju, bo vsako vozlišče izvedelo za transakcijo od enega od svojih vrstnikov in na podlagi časa, v katerem posamezno vozlišče prejme to informacijo, lahko sklepa o verjetnih kandidatih, kjer se je transakcija začela.

Če je to še vedno nejasno, vam ponujamo naslednji primer. Recimo, da imava oba skritega skupnega prijatelja. Ta prijatelj nas glasno pokliče. Njegov klic zaslišim prvi in glasneje kot vi. Na podlagi te informacije lahko ugotovimo, da sem verjetno bližje temu prijatelju, kot vi. Dejstvo, da slišite zvok pozneje (čeprav le za delček sekunde) in da je zvok šibkejši, pomeni, da moramo začeti iskati na mojem območju in ne na vašem.

Če lahko napadalec uspešno ugane, kateri od njegovih kolegov je poslal transakcijo, saj ima naslov IP, ki je povezan z njegovim vozliščem in mu je transakcijo posredoval, je lahko prepričan o naslovu IP, ki jo je poslal. To je močna informacija, saj naslovi IP vsebujejo podatke o državi in ponudniku internetnih storitev (ISP) uporabnika, ponudnik internetnih storitev pa sam ve, kateri uporabnik je povezan s točno določenim naslovom IP, kar efektivno deanonimizira uporabnika Monero.

Ublažitev

Ena od možnosti za ublažitev tega napada je uporaba prekrivnega omrežja, kot sta Tor ali I2P. Tako tudi če napadalec lahko ugotovi izvorni IP-naslov, to verjetno ni tisti, ki je opravil transakcijo, temveč izhodno (I2P) ali izhodno vozlišče (Tor) prekrivnega omrežja. Vendar to ni vseobsegajoča rešitev, saj so prekrivna omrežja, VPN omrežja in podobna programska oprema v številnih državah prepovedana, zato je nerealno pričakovati, da bodo vsi uporabljali, sinhronizirali in širili v teh omrežjih. Potrebna je rešitev, ki ne zahteva uporabe zunanje programske opreme in omrežij; rešitev, ki bo na voljo običajnim ljudem.

Ta rešitev je Dandelion++ (DPP), ki je nadgrajen protokol prvotnega predloga Dandelion za Bitcoin. V tem protokolu sta dve fazi, in sicer steblo in fluff; oboje skupaj naj bi predstavljalo obliko regrata.

V stebelni fazi vsakih nekaj minut vozlišče pošiljanja naključno izbere dva vrstnika izmed vseh vozlišč, s katerimi je povezano. Ko pošiljajoče vozlišče pošlje transakcijo, bodisi v svojem imenu bodisi samo posreduje transakcijo iz drugega vozlišča v fazi stem, naključno izbere enega od teh dveh izbranih vrstnikov in mu pošlje transakcijo.

Faza fluff je faza, ko vozlišče prejme transakcijo in jo razpošlje vsaki izhodni povezavi, ne le eni naključno izbrani, kar omogoča resnično širjenje transakcije. Vsakih nekaj minut se vozlišče naključno opredeli kot vozlišče, ki se bo razširilo bodisi prek " stebla" bodisi prek "fluffa", zato je lahko faza " stebla" precej dolga, če se je vsako povezovalno vozlišče opredelilo kot " steblo", ko pa transakcija preide v fazo " fluffa", tam tudi ostane.

To pomeni, da napadalec ne bo mogel več preprosto poslušati smeri transakcije, saj je ta, preden se je razširila med vse, prešla fazo stebla, izvorno vozlišče faze fluff pa ni vozlišče, iz katerega je transakcija izšla, in ni znano, koliko skokov po steblu je transakcija podvržena.

Seveda bo kombinacija zgornjih rešitev (DPP in prekrivno omrežje) zagotovila še močnejša jamstva zasebnosti in zaščite pred sledenjem IP. Opozoriti je treba tudi, da DPP ne ščiti pred drugo obliko napada na sledenje omrežja, ki ga je mogoče izvesti pri ponudnikih internetnih storitev, vendar to presega obseg tega članka.

Dandelion++ naj bi začel delovati v omrežju Monero in se privzeto uporabljal v referenčnem odjemalcu v izdaji 0.16. Ta majhna sprememba bo še dodatno ublažila možnost napadov na omrežje Monero in je primer, zakaj je Monero vodilni na področju praktičnih, uporabnih tehnologij za varovanje zasebnosti.

Nadaljnje branje