Iwwer Anonymitéit a Kont-baséiert Blockchains

Mir hunn d'Thema vun der Anonymitéit an de Krypto-Währungen fir eng laang Zäit interesséiert a probéiert d'Entwécklung vun Technologien an dësem Beräich ze verfollegen. An eisen Artikelen hu mir schonn am Detail iwwer d'Prinzipien vun der Operatioun diskutéiert vertraulech Transaktiounen zu Monero, an och duerchgefouert komparativ Iwwerpréiwung Technologien déi an dësem Beräich existéieren. Wéi och ëmmer, all anonyme Krypto-Währungen sinn haut op dem Datemodell gebaut, dee vu Bitcoin proposéiert gëtt - Unspent Transaction Output (nodréiglech UTXO). Fir Kont-baséiert Blockchainen wéi Ethereum, existéierend Léisunge fir Anonymitéit a Vertraulechkeet ëmzesetzen (zum Beispill, Mobius oder Aztec) probéiert den UTXO Modell a Smart Kontrakter ze replizéieren.

Am Februar 2019, eng Grupp vu Fuerscher vun der Stanford University a Visa Research entlooss virdrock "Zether: Richtung Privatsphär an der Welt vun Smart Kontrakter." D'Autoren waren déi éischt fir eng Approche ze proposéieren fir d'Anonymitéit an de Kontbaséierte Blockchainen ze garantéieren an hunn zwou Versioune vun engem Smart Kontrakt presentéiert: fir vertraulech (verstoppt Salden an Transferbetrag) an anonym (verstoppt den Empfänger a Sender) Transaktiounen. Mir fannen d'proposéiert Technologie interessant a géife gären hiren Design deelen, souwéi schwätzen iwwer firwat de Problem vun der Anonymitéit an de Kont-baséiert Blockchainen als ganz schwéier ugesi gëtt an ob d'Auteuren et fäerdeg bruecht hunn et voll ze léisen.

Iwwer d'Struktur vun dësen Datemodeller

Am UTXO Modell besteet eng Transaktioun aus "Input" an "Output". En direkten Analog vun "Output" sinn d'Rechnungen an Ärem Portemonnaie: all "Output" huet eng Bezeechnung. Wann Dir een bezuelt (form eng Transaktioun) verbréngt Dir een oder méi "Output", an deem Fall ginn se "Input" vun der Transaktioun, an de Blockchain markéiert se als verbraucht. An dësem Fall kritt den Empfänger vun Ärer Bezuelung (oder Dir selwer, wann Dir Ännerung braucht) déi nei generéiert "Output". Dëst kann schematesch wéi dës duergestallt ginn:

Iwwer Anonymitéit a Kont-baséiert Blockchains

Kont-baséiert Blockchaine si strukturéiert wéi Äre Bankkonto. Si beschäftegen sech nëmme mam Betrag op Ärem Kont an dem Transfertbetrag. Wann Dir e Betrag vun Ärem Kont iwwerweist, verbrennt Dir keng "Output", d'Netz brauch net ze erënneren wéi eng Mënzen ausginn a wéi eng net. Am einfachsten Fall kënnt d'Transaktiounsverifizéierung erof op d'Ënnerschrëft vum Sender an de Betrag op sengem Gläichgewiicht ze kontrolléieren:

Iwwer Anonymitéit a Kont-baséiert Blockchains

Analyse vun Technologie

Als nächst wäerte mir schwätzen iwwer wéi Zether den Transaktiounsbetrag, Empfänger a Sender verstoppt. Wéi mir d'Prinzipien vu senger Operatioun beschreiwen, bemierken mir d'Ënnerscheeder an de vertraulechen an anonyme Versiounen. Well et vill méi einfach ass Vertraulechkeet a Kont-baséiert Blockchainen ze garantéieren, sinn e puer vun de Restriktiounen, déi duerch Anonymiséierung opgesat ginn, net relevant fir déi vertraulech Versioun vun der Technologie.

Verstoppen Salden an Transfermaart

E Verschlësselungsschema gëtt benotzt fir Salden ze verschlësselen an Betrag an Zether ze transferéieren El Gamal. Et funktionnéiert wéi follegt. Wann Alice wëll Bob schécken b Mënzen no Adress (seng ëffentleche Schlëssel) Y, si wielt eng zoufälleg Zuel r a verschlësselt de Betrag:

Iwwer Anonymitéit a Kont-baséiert Blockchains
wou C - verschlësselte Betrag, D - Hëllefswäert néideg fir dëse Betrag z'entschlësselen, G - e fixe Punkt op der elliptesch Curve, wann multiplizéiert mam geheime Schlëssel, gëtt den ëffentleche Schlëssel kritt.

Wann de Bob dës Wäerter kritt, füügt hien se einfach op seng verschlësselte Gläichgewiicht op déiselwecht Manéier, dofir ass dëse Schema bequem.

Ähnlech subtrahéiert d'Alice déiselwecht Wäerter aus hirem Gläichgewiicht, nëmmen als Y benotzt Ären ëffentleche Schlëssel.

Verstoppt den Empfänger a Sender

D'Shuffling "Output" an UTXO staamt zréck op déi fréi Deeg vu Krypto-Währungen an hëlleft de Sender ze verstoppen. Fir dëst ze maachen, sammelt de Sender selwer, wann Dir en Transfer mécht, zoufälleg "Output" am Blockchain a vermëscht se mat sengem eegenen. Als nächst ënnerschreift hien d'"Output" mat enger Ring Ënnerschrëft - e kryptographesche Mechanismus, deen him erlaabt de Verifizéierer ze iwwerzeegen datt d'Mënzen vum Sender präsent sinn ënnert den involvéierten "Outputs". Déi gemëschte Mënzen selwer ginn natierlech net ausginn.

Wéi och ëmmer, mir kënnen net gefälscht Ausgänge generéieren fir den Empfänger ze verstoppen. Dofir, an UTXO, huet all "Output" seng eege eenzegaarteg Adress, an et ass kryptographesch verbonne mat der Adress vum Empfänger vun dëse Mënzen. Am Moment ass et kee Wee fir d'Relatioun tëscht der eenzegaarteger Ausgangsadress an der Empfängeradress z'identifizéieren ouni seng geheime Schlësselen ze kennen.

Am Kont-baséiert Modell kënne mir net eemoleg Adressen benotzen (soss gëtt et schonn e "Ausgänge" Modell). Dofir muss den Empfänger an de Sender ënner anerem Konten am Blockchain gemëscht ginn. An dësem Fall sinn eng verschlësselte 0 Mënzen vun de gemëschte Konten ofgeschaaft (oder 0 ginn bäigefüügt wann den Empfänger gemëscht ass), ouni tatsächlech hir richteg Gläichgewiicht ze änneren.

Well de Sender an den Empfänger ëmmer eng permanent Adress hunn, ass et néideg déiselwecht Gruppen ze benotzen fir ze vermëschen wann Dir op déiselwecht Adressen transferéiert. Et ass méi einfach dëst mat engem Beispill ze kucken.

Loosst eis soen datt d'Alice decidéiert e Bäitrag zu Bob senger Charity ze maachen, awer léiwer datt den Transfer anonym bleift fir en externen Observateur. Dann, fir sech am Senderfeld ze verkleeden, kënnt si och op d'Konten vum Adam an der Adele. A fir de Bob ze verstoppen, füügt d'Konte vum Ben a Bill am Empfängerfeld derbäi. Mam nächste Bäitrag huet d'Alice decidéiert den Alex an d'Amanda nieft hatt ze schreiwen, an de Bruce an de Benjen nieft dem Bob. An dësem Fall, wann Dir d'Blockchain analyséiert, gëtt et an dësen zwou Transaktiounen nëmmen e Paar vu Participanten - Alice a Bob, déi dës Transaktiounen de-anonymiséieren.

Iwwer Anonymitéit a Kont-baséiert Blockchains

Transaktioun Rennen

Wéi mir scho gesot hunn, fir Äert Gläichgewiicht a Kont-baséiert Systemer ze verstoppen, verschlësselt de Benotzer säi Gläichgewiicht an d'Iwwerweisungsbetrag. Zur selwechter Zäit muss hien beweisen datt d'Gläichgewiicht op sengem Kont net negativ bleift. De Problem ass datt wann Dir eng Transaktioun erstellt, de Benotzer e Beweis iwwer säin aktuelle Kontstatus baut. Wat geschitt wann de Bob eng Transaktioun un d'Alice schéckt, an et gëtt akzeptéiert virun der vun Alice geschéckt? Da gëtt dem Alice seng Transaktioun als ongëlteg ugesinn, well de Beweis vum Gläichgewiicht gebaut gouf ier dem Bob seng Transaktioun akzeptéiert gouf.

Iwwer Anonymitéit a Kont-baséiert Blockchains

Déi éischt Entscheedung déi an esou enger Situatioun kënnt ass de Kont ze afréieren bis d'Transaktioun duerchgefouert gëtt. Awer dës Approche ass net gëeegent, well zousätzlech zu der Komplexitéit fir sou e Problem an engem verdeelte System ze léisen, an engem anonyme Schema ass et net kloer, wiem säi Kont ze blockéieren.

Fir dëst Problem ze léisen, trennt d'Technologie erakommen an erausginn Transaktiounen: Ausgaben hunn en direkten Effekt op de Bilan, während d'Empfangen e verspéiten Effekt hunn. Fir dëst ze maachen, gëtt d'Konzept vun "Epoch" agefouert - eng Grupp vu Blocks vun enger fixer Gréisst. Déi aktuell "Epoch" gëtt festgeluegt andeems d'Blockhéicht duerch d'Gruppgréisst deelt. Wann Dir eng Transaktioun veraarbecht, aktualiséiert d'Netz direkt d'Balance vum Sender a späichert d'Fongen vum Empfänger an engem Späichertank. Déi akkumuléiert Fongen ginn dem Bezueler verfügbar nëmme wann eng nei "Ära" ufänkt.

Als Resultat, kann de Benotzer Transaktiounen schécken onofhängeg vun wéi oft Fongen kritt (sou wäit wéi säi Gläichgewiicht erlaabt, natierlech). D'Epochgréisst gëtt bestëmmt baséiert op wéi séier d'Blocke sech duerch d'Netz propagéieren a wéi séier eng Transaktioun an e Block erakënnt.

Dës Léisung funktionnéiert gutt fir vertraulech Transferen, awer mat anonyme Transaktiounen, wéi mir spéider gesinn, schaaft se sérieux Problemer.

Schutz géint Replay Attacken

A Konto-baséiert Blockchainen gëtt all Transaktioun vum Privatschlëssel vum Sender ënnerschriwwen, wat de Verifizéierer iwwerzeegt datt d'Transaktioun net geännert gouf a vum Besëtzer vun dësem Schlëssel erstallt gouf. Awer wat wann en Ugräifer, deen den Iwwerdroungskanal nogelauschtert huet, dëse Message offänkt a genee déiselwecht zweet schéckt? De Verifizéierer wäert d'Ënnerschrëft vun der Transaktioun verifizéieren a gëtt vu senger Autoritéit iwwerzeegt, an d'Netzwierk wäert dee selwechte Betrag vum Sender säi Gläichgewiicht erëm ofschreiwen.

Dësen Attack gëtt e Replay Attack genannt. Am UTXO Modell sinn esou Attacke net relevant, well den Ugräifer probéiert verbrauchte Ausgaben ze benotzen, wat u sech net gëlteg ass a vum Netz verworf gëtt.

Fir dëst ze verhënneren, gëtt e Feld mat zoufälleger Donnéeën an d'Transaktioun gebaut, déi als Nonce oder einfach "Salz" genannt gëtt. Wann Dir eng Transaktioun mat engem Salz ofginn, kuckt de Verifizéierer fir ze kucken ob d'Nonce virdru benotzt gouf a wann net, betruecht d'Transaktioun als valabel. Fir net d'ganz Geschicht vun de Benotzer Nonces am Blockchain ze späicheren, ass et normalerweis an der éischter Transaktioun gläich op Null gesat, an dann ëm ee erhéicht. De Réseau kann nëmmen iwwerpréiwen datt d'Nonce vun der neier Transaktioun vun der viregter vun engem ënnerscheet.

Am anonyme Transferschema entsteet de Problem vun der Validatioun vun Transaktiounsnoncen. Mir kënnen d'Nonce net explizit un d'Adress vum Sender binden, well dat selbstverständlech den Transfert de-anonymiséiert. Mir kënnen och net een op d'Nonces vun all deelhuelende Konten bäidroen, well dëst kann Konflikt mat aneren Transfere veraarbecht ginn.

D'Auteuren vun Zether proposéieren der nonce cryptographically ze generéieren, jee no der "Epoch". Zum Beispill:

Iwwer Anonymitéit a Kont-baséiert Blockchains
et ass x ass de Geheimschlëssel vum Sender, an Gepoch - en zousätzleche Generator fir d'Epoch, kritt andeems Dir e String vun der Form 'Zether +' hashing. Elo schéngt de Problem geléist ze sinn - mir verroden d'Nonce vum Sender net a stéieren net mat den Nonces vun oninvolvéierten Participanten. Awer dës Approche setzt eng sérieux Begrenzung: ee Kont kann net méi wéi eng Transaktioun pro "Epoch" schécken. Dëse Problem bleift leider ongeléist, a mécht momentan déi anonym Versioun vum Zether, eiser Meenung no, kaum gëeegent fir ze benotzen.

D'Komplexitéit vun Zero Knowledge Proofs

An UTXO muss de Sender dem Netz beweisen datt hien net en negativen Betrag verbréngt, soss gëtt et méiglech nei Mënzen aus dënnem Loft ze generéieren (firwat dat méiglech ass, hu mir an engem vun de virdrun geschriwwen Artikelen). An ënnerschreiwen och d'"Input" mat engem Ring Ënnerschrëft fir ze beweisen datt ënnert de Mënzen gemëscht ginn et Fongen déi him gehéieren.

An der anonymer Versioun vum Kont-baséiert Blockchain sinn d'Ausdréck fir Beweis vill méi komplex. De Sender beweist datt:

  1. De Betrag geschéckt ass positiv;
  2. D'Gläichgewiicht bleift Net-negativ;
  3. De Sender huet d'Transferbetrag korrekt verschlësselt (och Null);
  4. D'Gläichgewiicht op der Gläichgewiicht ännert nëmme fir de Sender an den Empfänger;
  5. De Sender besëtzt de private Schlëssel op säi Kont an hien ass tatsächlech op der Lëscht vun de Sender (ënnert de Betraffenen);
  6. D'Nonce benotzt an der Transaktioun ass korrekt komponéiert.

Fir esou e komplexe Beweis benotzen d'Auteuren eng Mëschung Bulletproof (ee vun den Auteuren huet iwwregens un hirer Schafung deelgeholl) an Sigma Protokoll, déi Sigma-Kugel genannt ginn. Formell Beweis vun esou enger Ausso ass eng zimlech schwiereg Aufgab, an et limitéiert immens d'Zuel vun de Leit gewëllt d'Technologie ëmzesetzen.

Wat am Ende?

An eiser Meenung no kann deen Deel vum Zether, deen Privatsphär op Kont-baséiert Blockchaine bréngt, elo benotzt ginn. Awer am Moment setzt déi anonym Versioun vun der Technologie sérieux Restriktiounen op seng Notzung, a seng Komplexitéit op seng Ëmsetzung. Et dierft awer net ofgeschaaft ginn, datt d'Auteuren et eréischt virun e puer Méint verëffentlecht hunn, a vläicht fënnt een aneren eng Léisung fir d'Problemer déi haut existéieren. No allem ass dëst wéi d'Wëssenschaft gemaach gëtt.

Source: will.com

Setzt e Commentaire