Cum o fac? Revizuirea tehnologiilor de anonimizare a criptomonedei

Cu siguranță tu, ca utilizator de Bitcoin, Ether sau orice altă criptomonedă, erai îngrijorat că oricine ar putea vedea câte monede ai în portofel, cui le-ai transferat și de la cine le-ai primit. Există o mulțime de controverse în jurul criptomonedelor anonime, dar un lucru cu care nu putem fi de acord este cum El a spus Managerul de proiect Monero, Riccardo Spagni, pe contul său de Twitter: „Dar dacă nu vreau ca casierul de la supermarket să știe câți bani am în sold și pe ce îi cheltuiesc?”

Cum o fac? Revizuirea tehnologiilor de anonimizare a criptomonedei

În acest articol ne vom uita la aspectul tehnologic al anonimatului - cum o fac și vom oferi o scurtă prezentare a celor mai populare metode, avantajele și dezavantajele lor.

Astăzi există aproximativ o duzină de blockchain-uri care permit tranzacții anonime. În același timp, pentru unii, anonimatul transferurilor este obligatoriu, pentru alții este opțional, unii ascund doar destinatarii și destinatarii, alții nu permit terților să vadă nici măcar sumele transferurilor. Aproape toate tehnologiile pe care le luăm în considerare oferă un anonimat complet – un observator extern nu poate analiza nici soldurile, nici destinatarii, nici istoricul tranzacțiilor. Dar să începem recenzia noastră cu unul dintre pionierii în acest domeniu pentru a urmări evoluția abordărilor privind anonimatul.

Tehnologiile de anonimizare existente în prezent pot fi împărțite aproximativ în două grupe: cele bazate pe mixare - unde monedele folosite sunt amestecate cu alte monede din blockchain - și tehnologii care folosesc dovezi bazate pe polinoame. În continuare, ne vom concentra asupra fiecăruia dintre aceste grupuri și ne vom analiza avantajele și dezavantajele.

Pe baza de framantare

CoinJoin

CoinJoin nu anonimizează traducerile utilizatorilor, ci doar complică urmărirea acestora. Dar am decis să includem această tehnologie în recenzia noastră, deoarece a fost una dintre primele încercări de a crește nivelul de confidențialitate al tranzacțiilor din rețeaua Bitcoin. Această tehnologie este captivantă prin simplitate și nu necesită schimbarea regulilor rețelei, așa că poate fi utilizată cu ușurință în multe blockchain-uri.

Se bazează pe o idee simplă - ce se întâmplă dacă utilizatorii cip și fac plățile într-o singură tranzacție? Se dovedește că, dacă Arnold Schwarzenegger și Barack Obama au intervenit și au făcut două plăți către Charlie Sheen și Donald Trump într-o singură tranzacție, atunci devine mai greu de înțeles cine a finanțat campania electorală a lui Trump - Arnold sau Barack.

Dar din principalul avantaj al CoinJoin vine principalul său dezavantaj - securitatea slabă. Astăzi, există deja modalități de a identifica tranzacțiile CoinJoin în rețea și de a potrivi seturi de intrări cu seturi de ieșiri, comparând cantitățile de monede cheltuite și generate. Un exemplu de instrument pentru o astfel de analiză este CoinAlăturați-vă Sudoku.

Pro-uri:

• Simplitate

Contra:

• Hackabilitate demonstrată

Monero

Prima asociere care apare la auzirea cuvintelor „criptomonedă anonimă” este Monero. Această monedă demonstrat stabilitatea și confidențialitatea acestuia sub microscopul serviciilor de informații:

Cum o fac? Revizuirea tehnologiilor de anonimizare a criptomonedei

Într-una din recentele sale articole Am descris protocolul Monero în detaliu, iar astăzi vom rezuma ceea ce s-a spus.

În protocolul Monero, fiecare ieșire cheltuită într-o tranzacție este amestecată cu cel puțin 11 (la momentul scrierii) rezultate aleatorii din blockchain, complicând astfel graficul de transfer al rețelei și făcând ca sarcina de urmărire a tranzacțiilor să fie complexă din punct de vedere computațional. Înregistrările mixte sunt semnate cu o semnătură inelă, care garantează că semnătura a fost furnizată de proprietarul uneia dintre monedele mixte, dar nu face posibilă determinarea cui.

Pentru a ascunde destinatarii, fiecare monedă nou generată folosește o adresă unică, ceea ce face imposibil pentru un observator (la fel de dificil ca spargerea cheilor de criptare, desigur) să asocieze orice ieșire cu o adresă publică. Și din septembrie 2017, Monero a început să susțină protocolul Tranzacții confidențiale (CT) cu unele completări, ascunzând astfel și sumele de transfer. Puțin mai târziu, dezvoltatorii de criptomonede au înlocuit semnăturile Borromee cu Bulletproofs, reducând astfel semnificativ dimensiunea tranzacției.

Pro-uri:

• Testat în timp
• Simplitate relativă

Contra:

• Generarea și verificarea probelor sunt mai lente decât ZK-SNARK și ZK-STARK
• Nu este rezistent la hacking folosind computere cuantice

Mimblewimble

Mimblewimble (MW) a fost inventat ca o tehnologie scalabilă pentru anonimizarea transferurilor în rețeaua Bitcoin, dar a găsit implementarea sa ca un blockchain independent. Folosit în criptomonede rânjet и BEAM.

MW este remarcabil deoarece nu are adrese publice, iar pentru a trimite o tranzacție, utilizatorii fac schimb de rezultate direct, eliminând astfel capacitatea unui observator extern de a analiza transferurile de la destinatar la destinatar.

Pentru a ascunde sumele de intrări și ieșiri, se folosește un protocol destul de comun propus de Greg Maxwell în 2015 - Tranzacții confidențiale (CT). Adică, sumele sunt criptate (sau mai bine zis, folosesc schema de angajament), iar în locul lor rețeaua operează cu așa-zise angajamente. Pentru ca o tranzacție să fie considerată validă, suma de monede cheltuită și generată plus comisionul trebuie să fie egală. Deoarece rețeaua nu funcționează direct cu numere, egalitatea este asigurată folosind ecuația acelorași angajamente, care se numește angajament la zero.

În CT-ul original, pentru a garanta non-negativitatea valorilor (așa-numita dovadă a intervalului), aceștia folosesc semnături Borromean (semnături de inel Borromee), care au ocupat mult spațiu în blockchain (aproximativ 6 kilobytes pe ieșire). ). În acest sens, dezavantajele monedelor anonime care folosesc această tehnologie au inclus dimensiunea mare a tranzacțiilor, dar acum au decis să renunțe la aceste semnături în favoarea unei tehnologii mai compacte - Bulletproofs.

Nu există un concept de tranzacție în blocul MW în sine, există doar ieșiri cheltuite și generate în cadrul acestuia. Nicio tranzacție - nicio problemă!

Pentru a preveni dezanonimizarea participantului la transfer în etapa de trimitere a tranzacției în rețea, se utilizează un protocol Păpădie, care folosește un lanț de noduri proxy de rețea de lungime arbitrară care transmit tranzacția unul altuia înainte de a o distribui efectiv tuturor participanților, ofucând astfel traiectoria tranzacției care intră în rețea.

Pro-uri:

• Dimensiunea blockchain mică
• Simplitate relativă

Contra:

• Generarea și verificarea probelor sunt mai lente decât ZK-SNARK și ZK-STARK
• Suportul pentru caracteristici precum scripturi și semnături multiple este dificil de implementat
• Nu este rezistent la hacking folosind computere cuantice

Demonstrații pe polinoame

ZK-SNARK-uri

Numele complicat al acestei tehnologii înseamnă „Cunoaștere Zero Argument succint non-interactiv al cunoașterii”, care poate fi tradus ca „dovadă succintă non-interactivă de cunoștințe zero”. A devenit o continuare a protocolului zerocoin, care a evoluat în continuare în zerocash și a fost implementat pentru prima dată în criptomoneda Zcash.

În general, dovada zero-cunoștințe permite unei părți să demonstreze alteia adevărul unei afirmații matematice fără a dezvălui nicio informație despre aceasta. În cazul criptomonedelor, astfel de metode sunt folosite pentru a demonstra că, de exemplu, o tranzacție nu produce mai multe monede decât cheltuiește, fără a dezvălui valoarea transferurilor.

ZK-SNARK-urile este foarte greu de înțeles și ar fi nevoie de mai mult de un articol pentru a descrie modul în care funcționează. Pe pagina oficială a Zcash, prima monedă care implementează acest protocol, o descriere a funcționării acestuia este dedicată 7 de articole. Prin urmare, în acest capitol ne vom limita doar la o descriere superficială.

Folosind polinoame algebrice, ZK-SNARKs demonstrează că expeditorul plății deține monedele pe care le cheltuiește și că cantitatea de monede cheltuită nu depășește cantitatea de monede generată.

Acest protocol a fost creat cu scopul de a reduce dimensiunea dovezii de validitate a unei declarații și, în același timp, de a o verifica rapid. Da, conform prezentări Zooko Wilcox, CEO al Zcash, dimensiunea probei este de doar 200 de octeți, iar corectitudinea acesteia poate fi verificată în 10 milisecunde. Mai mult, în cea mai recentă versiune de Zcash, dezvoltatorii au reușit să reducă timpul de generare a probelor la aproximativ două secunde.

Cu toate acestea, înainte de a utiliza această tehnologie, este necesară o procedură complexă de configurare de încredere a „parametrilor publici”, care se numește „ceremonie” (Ceremonia). Întreaga dificultate este că în timpul instalării acestor parametri, niciuna dintre părți nu mai are chei private pentru ei, numite „deșeuri toxice”, altfel va putea genera monede noi. Puteți afla cum are loc această procedură din videoclip YouTube.

Pro-uri:

• Dimensiunea mică a dovezilor
• Verificare rapidă
• Generarea de probe relativ rapidă

Contra:

• Procedura complexa de stabilire a parametrilor publici
• Deseuri toxice
• Complexitatea relativă a tehnologiei
• Nu este rezistent la hacking folosind computere cuantice

ZK-STARK

Autorii ultimelor două tehnologii sunt buni să se joace cu acronimele, iar următorul acronim înseamnă „Zero-Knowledge Scalable Transparent ARguments of Knowledge”. Această metodă a fost menită să rezolve deficiențele existente ale ZK-SNARK-urilor la acea vreme: necesitatea unei setari de încredere a parametrilor publici, prezența deșeurilor toxice, instabilitatea criptografiei la hacking folosind algoritmi cuantici și generarea de dovezi insuficient de rapidă. Cu toate acestea, dezvoltatorii ZK-SNARK s-au confruntat cu ultimul dezavantaj.

ZK-STARK folosesc, de asemenea, dovezi bazate pe polinomi. Tehnologia nu folosește criptografia cu cheie publică, bazându-se în schimb pe teoria hashingului și transmisiei. Eliminarea acestor mijloace criptografice face ca tehnologia să fie rezistentă la algoritmii cuantici. Dar acest lucru are un preț - dovada poate ajunge la câteva sute de kiloocteți.

În prezent, ZK-STARK nu are o implementare în niciuna dintre criptomonede, ci există doar ca bibliotecă libSTARK. Cu toate acestea, dezvoltatorii au planuri pentru aceasta care merg cu mult dincolo de blockchains (în cadrul lor Cartea albă autorii dau un exemplu de dovezi ale ADN-ului într-o bază de date a poliției). În acest scop a fost creat StarkWare Industries, care la sfârșitul anului 2018 a colectat 36 de milioane de dolari investiții de la cele mai mari companii din industrie.

Puteți citi mai multe despre cum funcționează ZK-STARK în postările lui Vitalik Buterin (parte 1, parte 2, parte 3).

Pro-uri:

• Rezistenta la hacking de catre calculatoarele cuantice
• Generarea de probe relativ rapidă
• Verificarea dovezilor relativ rapidă
• Fără deșeuri toxice

Contra:

• Complexitatea tehnologiei
• Dimensiune mare a probei

Concluzie

Blockchain-ul și cererea tot mai mare de anonimat impun noi cerințe privind criptografia. Astfel, ramura criptografiei care a apărut la mijlocul anilor 1980 – dovezile zero-cunoștințe – a fost completată cu metode noi, în dezvoltare dinamică, în doar câțiva ani.

Astfel, zborul gândirii științifice a făcut ca CoinJoin să fie depășit, iar MimbleWimble un nou venit promițător cu idei destul de proaspete. Monero rămâne un gigant neclintit în protejarea intimității noastre. Iar SNARK-urile și STARK-urile, deși au neajunsuri, pot deveni lideri în domeniu. Poate că în următorii ani, punctele pe care le-am indicat în coloana „Contra” a fiecărei tehnologii vor deveni irelevante.

Sursa: www.habr.com

Adauga un comentariu