Introducere
Transparența sistemului este cheia pentru funcționarea normală a blockchain-ului. Așa-numita transparență înseamnă că fiecare nod din rețea poate stoca o copie și are dreptul de a verifica dacă există încălcări. În multe registre distribuite, oricine poate încărca un explorator de blocuri și poate răsfoi blocurile, tranzacțiile și adresele din rețea.
Din perspectiva confidențialității, această abordare nu este ideală. În sisteme precum Bitcoin, fiecare tranzacție poate fi legată de tranzacțiile anterioare. Tokenurile nu sunt fungibile din punct de vedere tehnic, ceea ce înseamnă că fiecare jeton este legat de o anumită tranzacție. Nimeni nu te poate împiedica să trimiți Bitcoins, dar dacă acele monede trec vreodată printr-o adresă pe lista neagră, cealaltă parte are dreptul de a respinge tranzacția.
În cel mai rău caz, lipsa de omogenitate poate avea consecințe profunde asupra fundamentelor sistemului. Monedele curate câștigă o primă, în timp ce monedele timpurii își pierd valoare din cauza problemelor istorice.
Confidențialitatea Bitcoin este adesea exagerată. De fapt, atât token-urile, cât și utilizatorii din sistem sunt urmăribile. Oamenii sunt obișnuiți să opereze în mod anonim (afișând o adresă publică în loc de nume), dar există anumite dezavantaje ale acestei abordări. Cu o precizie din ce în ce mai mare, analizele de ultimă oră agregează entitățile din rețea pentru deanonimizare.
Tranzacțiile confidențiale sunt un mijloc îmbunătățit de promovare a tranzacțiilor cu adevărat private.
Ce este o tranzacție confidențială?
Conceptul de tranzacții confidențiale (CT) a fost propus pentru prima dată în 2013 de Adam Back, CEO al Blockstream, și a fost ulterior extins și extins de dezvoltatorul Bitcoin Gregory Maxwell. În prima parte, Maxwell a subliniat problemele menționate de „omogenizare” și „anonimitate slabă” și a propus soluții corespunzătoare. El a subliniat că suma tranzacției poate fi ascunsă în rețeaua mai largă și doar participanții la tranzacție pot cunoaște valoarea specifică.

În circumstanțe normale (tranzacțiile pot fi vizualizate public), nodurile pot verifica cu ușurință dacă cantitatea de monede primite depășește suma trimisă. De exemplu, Alice vrea să-i trimită 0,3 BTC lui Bob, ea folosește rezultatul necheltuit (să-i spunem „1 BTC”) și o împarte în două părți: 0,3 BTC lui Bob și 0,69 BTC pentru a trimite înapoi în portofelul personal (restul fondurile sunt extrase pe măsură ce se plătesc taxele miniere).
Pentru alte noduri, este o chestiune de algebră simplă: 1 > 0,3+0,69, semnăturile sunt toate corecte, iar intrarea lui Alice nu este consumată în altă parte, așa că tranzacția trebuie să fie validă. După ce suma a fost ascunsă, lucrurile s-au complicat. Cum determinăm dacă o sumă necunoscută este mai mare sau egală cu suma altor două cantități necunoscute?
O privire de ansamblu asupra principiilor criptografice implicate
Pentru a ascunde datele, trebuie aplicate unele tehnici de criptare. Cu toate acestea, metoda tradițională este similară cu stocarea documentelor într-un seif: odată blocate, acestea nu pot fi scoase până nu sunt deblocate. Tranzacțiile confidențiale funcționează în mod similar cu un seif digital, în care conținutul este ascuns, iar proprietatea asupra activelor poate fi verificată de persoane din afară.
Răspunsul constă în „criptarea homomorfă”, un mecanism numit promisiunea lui Pedersen. Acest tip de criptare permite persoanelor din exterior să efectueze operațiuni asupra datelor criptate în diverse scopuri, fără a putea vizualiza conținutul specific.
Un hash obișnuit poate fi folosit pentru a trimite datele pe care doriți să le afișați. Să presupunem că doriți să anunțați un concurs pe rețelele sociale pentru a câștiga 0,01 BTC pentru că ghiciți schimbul dvs. preferat. Participanții pot fi sceptici în ceea ce privește concursul, deoarece cu siguranță puteți să vă uitați la răspunsurile lor după concurs și să alegeți un schimb pe care nimeni nu l-a menționat.
Faceți acest lucru oferindu-le fanilor un hash: o combinație aparent aleatorie de numere și caractere (corespunzător unei anumite intrări), transmiterea răspunsului printr-o funcție specifică (adică specificând schimbul) și, în final, obțineți rezultatul. Să luăm algoritmul SHA256 ca exemplu:
f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191Pe baza valorii hash de mai sus, nu cunoașteți intrarea specifică și nu puteți obține intrarea anterioară lucrând înapoi prin funcție. Dar dacă știți că intrarea este „Binance”, puteți determina cu ușurință că hash-ul său se potrivește cu cel enumerat mai sus. În acest fel, fanii se vor simți mai confortabil știind că nu îți vei schimba răspunsul la sfârșitul jocului, ceea ce ar duce la o ieșire complet diferită.
De fapt, această metodă nu este absolut sigură. În timp ce fanii nu pot face ingineria inversă a algoritmului, ei pot crea o listă de schimburi și pot potrivi hashurile unul câte unul până când obțin răspunsul corect. Pentru a evita astfel de operațiuni, putem adăuga date aleatorii, numite „factor de mascare”, la datele care trebuie să fie hashing.
Dacă introducem „Binance este schimbul meu preferat față de orice alt schimb 2#43Wr”, va fi dificil pentru concurenți să ghicească rezultatul (la urma urmei, nu pot încerca de nenumărate ori pentru doar 0,01 BTC).
Cu promisiunile Pedersen putem adăuga intrări după promisiune. Maxwell a explicat acest lucru ca:

C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)
unde BF se referă la factorul de mascare și D se referă la date
Următorii câțiva pași implică criptarea curbei eliptice și dovezile intervalului, dar ideea de bază este de a efectua procesarea angajamentului Pedersen pe adresă. La trimiterea fondurilor, sistemul va genera două „angajamente” suplimentare (adresa de schimbare și adresa de destinație pentru returnarea fondurilor).
Nimeni nu știe suma trimisă, dar se poate verifica dacă angajamentul de schimbare și destinație (partea stângă a ecuației lui Maxwell) sunt egale cu adresa inițială (partea dreaptă a ecuației). Dacă calculul este corect, este suficient să se demonstreze că intrarea și ieșirea sunt egale, indicând că tranzacția utilizatorului este validă.
Ce pot obține tranzacțiile confidențiale
Dacă tranzacțiile confidențiale sunt implementate în Bitcoin, se poate crea un sistem mai privat. Intrările și ieșirile din sistem vor fi ascunse, iar entitățile din registru vor fi ascunse, dar nodurile își pot verifica în continuare autenticitatea. Cu confidențialitate îmbunătățită semnificativ, analiza în lanț nu poate dezvălui istoria unei anumite unități, făcând Bitcoin fungibil în mod eficient.
În ceea ce privește dacă „tranzacțiile confidențiale” pot fi integrate în acord, pare puțin probabil în prezent. Odată cu adăugarea acestei caracteristici, dimensiunea tranzacțiilor va fi mai mare decât tranzacțiile obișnuite, ceea ce va crea în mod natural o cerere mai mare pe piață, având în vedere spațiul limitat al blocurilor. În plus, majoritatea participanților la rețea trebuie să fie de acord să schimbe codul, ceea ce a fost o problemă în trecut.
Rezuma
Unele criptomonede au repetat într-o oarecare măsură tranzacțiile confidențiale în sidechain-uri Bitcoin. De exemplu, Monero integrează perfect tranzacțiile confidențiale cu structura „ring signature” pentru a obține anonimatul și omogenitatea. Confidențialitatea atât pentru Liquid sidechain, cât și pentru MimbleWimble a fost, de asemenea, îmbunătățită semnificativ.
Tranzacțiile confidențiale au multe avantaje, dar se confruntă și cu problema creșterii volumului de procesare. Criptomonedele s-au confruntat de mult timp cu provocări în ceea ce privește scalabilitatea și debitul stratului de bază, iar volumele mari de tranzacții vor interzice, de asemenea, multor persoane. Cu toate acestea, susținătorii confidențialității susțin că este necesar să se ascundă sumele tranzacțiilor și participanții pentru ca criptomonedele să devină monede cu adevărat omogene.


