Cum păstrează Dandelion++ confidențialitatea originilor tranzacțiilor Monero

Publicat:
By Diego Salazar

Confidențialitatea ca prioritate

Ca criptomonedă, Monero poate părea foarte plictisitoare cu ochiul liber. Nu are o mare pretenție la faimă, cum ar fi faptul că este un "computer mondial" sau că "a revoluționat industria xyz". Încearcă doar să fie o monedă privată, digitală și fungibilă, iar fiecare actualizare și tehnologie nouă nu face decât să ducă mai departe acest scop.

Cei care consideră că acest obiectiv este prea îngust sau neinteresant nu înțeleg, în general, cât de dificil este să se obțină o confidențialitate semnificativă, mai ales într-un registru permanent și deschis precum blockchain. Orice posibilitate de scurgere a metadatelor reprezintă un potențial de erodare a confidențialității.

Monero ia măsuri de precauție pentru a ascunde datele de pe lanț, cum ar fi destinatarul, expeditorul și sumele, prin adrese invizibile, semnături inelare și, respectiv, angajamente Pedersen. Acest lucru minimizează șansele ca un observator ocazional să deducă informații esențiale după ce tranzacțiile au fost deja trimise și fac acum doar parte din istoria înregistrată. Cu toate acestea, există unele atacuri care pot fi efectuate în momentul în care are loc o tranzacție și care nu pot fi efectuate ulterior.


Atac pentru a dezvălui adresa IP

Aceste atacuri se concentrează pe identificarea adresei IP de la care provine o tranzacție. Dacă această informație este dedusă, ar putea dezvălui că o persoană a trimis o tranzacție Monero. Nu se poate arăta cui și cât de mult, dar există unele cazuri în care cunoașterea faptului că cineva folosește Monero este suficientă pentru a provoca prejudicii.

Vestea bună este că, dacă această informație nu este obținută în momentul în care se face tranzacția, atunci nu poate fi aflată ulterior, deoarece adresele IP nu sunt stocate în blockchain. De asemenea, este reconfortant să știm că un astfel de atac este puțin probabil să fie văzut în natură, deoarece, pentru a-l realiza, atacatorul ar avea nevoie de o mare majoritate a nodurilor din rețea. Totuși, dacă o persoană ar putea comanda această mare majoritate, ar putea identifica "direcția" din care provine o tranzacție.

Acest lucru poate fi confuz, așa că vă vom explica câteva informații de fond aici. Fiecare nod se conectează la alte noduri din rețea, astfel încât să își poată menține blockchain-ul la zi, precum și să împărtășească ceea ce știe cu ceilalți. Aceste conexiuni le permit să afle despre noile tranzacții, să le propage și să le trimită pe ale lor. Deoarece un nod poate comunica colegilor săi doar tranzacțiile pe care le cunoaște, este de la sine înțeles că primul nod care propagă o tranzacție este cel care trimite efectiv Monero.

În cazul în care un atacator deține o mare majoritate a nodurilor din rețea, fiecare nod va afla despre o tranzacție de la unul dintre colegii săi și, pe baza momentului în care fiecare nod primește aceste informații, poate deduce candidații probabili pentru locul în care a început tranzacția.

Dacă acest lucru este încă confuz, vă oferim următorul exemplu. Să presupunem că amândoi avem un prieten comun care se ascunde de ochii noștri. Acest prieten strigă tare. Eu îi aud primul apelul și îl aud mai tare decât tine. Din această informație, putem ști că eu sunt probabil mai aproape de prietenul nostru decât dumneavoastră. Faptul că tu auzi sunetul mai târziu (chiar și cu doar o fracțiune de secundă) și că sunetul este mai slab înseamnă că ar trebui să începem căutarea în jurul zonei mele, nu a ta.

Dacă un atacator reușește să ghicească care dintre colegii săi a trimis tranzacția, deoarece are adresa IP conectată la nodul său și care i-a transmis-o, poate fi sigur de adresa IP care a trimis-o. Aceasta este o informație puternică, deoarece adresele IP conțin informații despre țara și furnizorul de servicii de internet (ISP) al utilizatorului, iar ISP-ul însuși știe ce utilizator este legat de o anumită adresă IP exactă, ceea ce duce efectiv la deanonimizarea utilizatorului Monero.

Măsurile de atenuare

O posibilă atenuare a acestui atac este utilizarea unei rețele suprapuse, cum ar fi Tor sau I2P. Astfel, chiar dacă un atacator poate deduce o adresă IP sursă, probabil că nu este vorba de cea care a efectuat tranzacția, ci mai degrabă de nodul de ieșire (I2P) sau de ieșire (Tor) al rețelei suprapuse. Totuși, aceasta nu este o soluție atotcuprinzătoare, deoarece rețelele suprapuse, VPN-urile și alte programe similare sunt interzise în multe țări, iar așteptarea ca toată lumea să folosească, să se sincronizeze și să se propage pe aceste rețele este nerealistă. Trebuie să existe o soluție care să nu necesite utilizarea de software și rețele externe; o soluție care să fie disponibilă pentru omul de rând.

Această soluție este Dandelion++ (DPP), care este un protocol îmbunătățit față de propunerea originală Dandelion pentru Bitcoin. În acest protocol, există două faze, faza de tulpină și faza de puf; ambele împreună ar trebui să reprezinte forma unei păpădii.

În faza de tulpină, la fiecare câteva minute, nodul expeditor alege la întâmplare doi omologi din toate nodurile la care este conectat. Atunci când nodul expeditor trimite o tranzacție, fie în nume propriu, fie doar pentru a transmite o tranzacție de la un alt nod în faza tulpină, acesta alege la întâmplare unul dintre acești doi colegi selectați și îi trimite tranzacția.

Faza pufoasă este cea în care un nod primește o tranzacție și o difuzează către fiecare conexiune de ieșire, mai degrabă decât către una aleasă la întâmplare, ceea ce permite o propagare reală a tranzacției. La fiecare câteva minute, un nod se definește ca fiind unul care se va propaga fie prin tulpină, fie prin puf, în mod aleatoriu, astfel încât o fază de tulpină poate fi destul de lungă dacă fiecare nod de conectare s-a definit ca nod de tulpină, dar odată ce tranzacția ajunge în faza de puf, ea rămâne acolo.

Acest lucru înseamnă că un atacator nu va mai putea pur și simplu să asculte direcția unei tranzacții, deoarece înainte de a fi propagată la toată lumea, aceasta a trecut prin faza de tulpină, iar nodul de origine al fazei de puf nu este nodul de la care provine tranzacția și nu se știe câte salturi de-a lungul tulpinei a parcurs tranzacția.

Desigur, combinarea soluțiilor de mai sus (DPP plus o rețea suprapusă) va oferi garanții și mai puternice de confidențialitate și protecție împotriva urmăririi IP. De asemenea, trebuie remarcat faptul că DPP nu oferă apărare împotriva unei alte forme de atac de urmărire a rețelei care poate fi efectuată cu ajutorul furnizorilor de servicii de internet, dar acest lucru depășește sfera de aplicare a acestui articol.

Dandelion++ va fi activat în rețeaua Monero și va fi utilizat în mod implicit pe clientul de referință, în versiunea 0.16. Această mică schimbare va reduce și mai mult atacurile posibile în rețeaua Monero și exemplifică de ce Monero este lider în ceea ce privește tehnologiile de confidențialitate practice și aplicate.

Lecturi suplimentare

© 2024 Blue Sunday Limited