Cum păstrează Dandelion++ confidențialitatea originilor tranzacțiilor Monero
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
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
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
Cum afectează nodurile de la distanță confidențialitatea Monero
Cum folosește Monero hard-fork-urile pentru a moderniza rețeaua
Vezi etichete: Cum un singur octet va reduce timpii de sincronizare a portofelului Monero cu 40%+
Este convertirea Bitcoin în Monero la fel de privată ca și cumpărarea directă de Monero?
De ce Monero folosește o configurație fără încredere, spre deosebire de Zcash
De ce Monero este un depozit de valoare mai bun decât Bitcoin
Cum poate Monero să depășească efectele de rețea ale Bitcoin
Ce trebuie să știe fiecare utilizator Monero atunci când vine vorba de rețea
Cum a rezolvat Monero problema dimensiunii blocurilor care afectează Bitcoin