Hoe doen ze dat? Beoordeling van technologieën voor anonimisering van cryptocurrency

U, als gebruiker van Bitcoin, Ether of een andere cryptocurrency, was vast bezorgd dat iedereen zou kunnen zien hoeveel munten u in uw portemonnee heeft, aan wie u ze heeft overgedragen en van wie u ze heeft ontvangen. Er is veel controverse rond anonieme cryptocurrencies, maar één ding waar we het niet mee oneens kunnen zijn, is hoe hij zei: Monero-projectmanager Riccardo Spagni op zijn Twitter-account: "Wat als ik gewoon niet wil dat de kassamedewerker in de supermarkt weet hoeveel geld ik op mijn saldo heb en waar ik het aan uitgeef?"

Hoe doen ze dat? Beoordeling van technologieën voor anonimisering van cryptocurrency

In dit artikel zullen we kijken naar het technologische aspect van anonimiteit - hoe ze het doen, en een kort overzicht geven van de meest populaire methoden, hun voor- en nadelen.

Tegenwoordig zijn er ongeveer een dozijn blockchains die anonieme transacties mogelijk maken. Tegelijkertijd is voor sommigen de anonimiteit van de overdrachten verplicht, voor anderen is het optioneel, sommigen verbergen alleen de geadresseerden en ontvangers, anderen staan ​​niet toe dat derden zelfs maar de bedragen van de overdrachten zien. Bijna alle technologieën die we overwegen bieden volledige anonimiteit; een waarnemer van buitenaf kan noch de saldi, noch de ontvangers, noch de transactiegeschiedenis analyseren. Maar laten we ons overzicht beginnen met een van de pioniers op dit gebied om de evolutie van de benaderingen van anonimiteit te volgen.

De momenteel bestaande anonimiseringstechnologieën kunnen grofweg in twee groepen worden verdeeld: technologieën die gebaseerd zijn op mixen – waarbij de gebruikte munten worden gemengd met andere munten uit de blockchain – en technologieën die gebruik maken van bewijzen op basis van polynomen. Vervolgens zullen we ons op elk van deze groepen concentreren en hun voor- en nadelen overwegen.

Op basis van kneden

CoinJoin

CoinJoin anonimiseert gebruikersvertalingen niet, maar bemoeilijkt alleen het volgen ervan. Maar we hebben besloten deze technologie in onze review op te nemen, omdat het een van de eerste pogingen was om het niveau van vertrouwelijkheid van transacties op het Bitcoin-netwerk te verhogen. Deze technologie is boeiend door zijn eenvoud en vereist geen wijziging van de regels van het netwerk, waardoor deze gemakkelijk in veel blockchains kan worden gebruikt.

Het is gebaseerd op een eenvoudig idee: wat als gebruikers meedoen en hun betalingen in één enkele transactie doen? Het blijkt dat als Arnold Schwarzenegger en Barack Obama in één transactie twee betalingen deden aan Charlie Sheen en Donald Trump, het moeilijker wordt om te begrijpen wie de verkiezingscampagne van Trump heeft gefinancierd: Arnold of Barack.

Maar het belangrijkste voordeel van CoinJoin is het grootste nadeel: zwakke beveiliging. Tegenwoordig zijn er al manieren om CoinJoin-transacties in het netwerk te identificeren en sets inputs te matchen met sets outputs door de hoeveelheden uitgegeven en gegenereerde munten te vergelijken. Een voorbeeld van een hulpmiddel voor een dergelijke analyse is Munt Sluit je aan bij Sudoku.

Voors:

• Eenvoud

Tegens:

• Aangetoonde hackbaarheid

Monero

De eerste associatie die ontstaat bij het horen van de woorden ‘anonieme cryptocurrency’ is Monero. Deze munt bewezen zijn stabiliteit en privacy onder de microscoop van inlichtingendiensten:

Hoe doen ze dat? Beoordeling van technologieën voor anonimisering van cryptocurrency

In een van zijn recente artikels We hebben het Monero-protocol gedetailleerd beschreven en vandaag zullen we samenvatten wat er is gezegd.

In het Monero-protocol wordt elke output die aan een transactie wordt besteed, gemengd met ten minste 11 (op het moment van schrijven) willekeurige output van de blockchain, waardoor de overdrachtsgrafiek van het netwerk ingewikkelder wordt en de taak van het volgen van transacties computationeel complex wordt. Gemengde inzendingen worden ondertekend met een ringhandtekening, die garandeert dat de handtekening is verstrekt door de eigenaar van een van de gemengde munten, maar het maakt niet mogelijk om te bepalen wie.

Om de ontvangers te verbergen, gebruikt elke nieuw gegenereerde munt een eenmalig adres, waardoor het voor een waarnemer (net zo moeilijk als het breken van de coderingssleutels natuurlijk) onmogelijk wordt om de uitvoer aan een openbaar adres te koppelen. En sinds september 2017 begon Monero het protocol te ondersteunen Vertrouwelijke transacties (CT) met enkele toevoegingen, waardoor ook de overdrachtsbedragen verborgen blijven. Even later vervingen cryptocurrency-ontwikkelaars de Borromeaanse handtekeningen door Bulletproofs, waardoor de transactiegrootte aanzienlijk werd verkleind.

Voors:

• Beproefd
• Relatieve eenvoud

Tegens:

• Het genereren en verifiëren van bewijzen is langzamer dan bij ZK-SNARK's en ZK-STARK's
• Niet bestand tegen hacken met kwantumcomputers

Mimblewimble

Mimblewimble (MW) is uitgevonden als een schaalbare technologie voor het anonimiseren van overdrachten op het Bitcoin-netwerk, maar vond zijn implementatie als een onafhankelijke blockchain. Gebruikt in cryptocurrencies Grijns и BEAM.

MW is opmerkelijk omdat het geen openbare adressen heeft en om een ​​transactie te verzenden, gebruikers rechtstreeks output uitwisselen, waardoor de mogelijkheid voor een externe waarnemer wordt geëlimineerd om overdrachten van ontvanger naar ontvanger te analyseren.

Om de som van inputs en outputs te verbergen, wordt een vrij gebruikelijk protocol gebruikt, voorgesteld door Greg Maxwell in 2015: Vertrouwelijke transacties (CT). Dat wil zeggen, de bedragen zijn gecodeerd (of beter gezegd, ze gebruiken commitment regeling), en in plaats daarvan werkt het netwerk met zogenaamde commitments. Om een ​​transactie als geldig te beschouwen, moet het aantal uitgegeven en gegenereerde munten plus de commissie gelijk zijn. Omdat het netwerk niet rechtstreeks met cijfers werkt, wordt gelijkheid verzekerd door gebruik te maken van de vergelijking van dezelfde verplichtingen, die commitment to zero wordt genoemd.

Om de niet-negativiteit van waarden (het zogenaamde bereikbewijs) te garanderen, gebruiken ze in de originele CT Borromeaanse handtekeningen (Borromeïsche ringhandtekeningen), die veel ruimte in beslag namen in de blockchain (ongeveer 6 kilobytes per uitvoer ). In dit opzicht omvatten de nadelen van anonieme valuta die deze technologie gebruiken onder meer de grote transactieomvang, maar nu hebben ze besloten deze handtekeningen achterwege te laten ten gunste van een compactere technologie: Bulletproofs.

Er bestaat geen concept van een transactie in het MW-blok zelf; er wordt alleen output uitgegeven en gegenereerd. Geen transactie - geen probleem!

Om de-anonimisering van de overdrachtsdeelnemer tijdens het verzenden van de transactie naar het netwerk te voorkomen, wordt een protocol gebruikt Paardebloem, dat gebruik maakt van een keten van netwerkproxyknooppunten van willekeurige lengte die de transactie naar elkaar verzenden voordat deze daadwerkelijk naar alle deelnemers wordt gedistribueerd, waardoor het traject van de transactie die het netwerk binnenkomt, wordt verdoezeld.

Voors:

• Kleine blockchain-omvang
• Relatieve eenvoud

Tegens:

• Het genereren en verifiëren van bewijzen is langzamer dan bij ZK-SNARK's en ZK-STARK's
• Ondersteuning voor functies zoals scripts en multi-signatures is moeilijk te implementeren
• Niet bestand tegen hacken met kwantumcomputers

Bewijzen van veeltermen

ZK-SNARK's

De ingewikkelde naam van deze technologie staat voor “Nul-kennis Beknopt niet-interactief argument van kennis”, wat vertaald kan worden als “Beknopt niet-interactief bewijs van nulkennis.” Het werd een voortzetting van het zerocoin-protocol, dat zich verder ontwikkelde tot zerocash en voor het eerst werd geïmplementeerd in de Zcash-cryptocurrency.

Over het algemeen biedt zero-knowledge proof de ene partij de mogelijkheid om aan de andere partij de waarheid van een wiskundige uitspraak te bewijzen zonder enige informatie daarover vrij te geven. In het geval van cryptocurrencies worden dergelijke methoden gebruikt om te bewijzen dat een transactie bijvoorbeeld niet meer munten oplevert dan er wordt uitgegeven, zonder het aantal overdrachten bekend te maken.

ZK-SNARKs is erg moeilijk te begrijpen en er zijn meer dan één artikel voor nodig om te beschrijven hoe het werkt. Op de officiële pagina van Zcash, de eerste munt die dit protocol implementeert, wordt een beschrijving van de werking ervan gewijd 7 artikelen. Daarom beperken we ons in dit hoofdstuk tot slechts een oppervlakkige beschrijving.

Met behulp van algebraïsche polynomen bewijst ZK-SNARKs dat de afzender van de betaling eigenaar is van de munten die hij uitgeeft en dat het aantal uitgegeven munten niet groter is dan het aantal gegenereerde munten.

Dit protocol is gemaakt met als doel de omvang van het bewijs van de geldigheid van een verklaring te verkleinen en deze tegelijkertijd snel te verifiëren. Ja, volgens presentaties Zooko Wilcox, CEO van Zcash, de proefgrootte is slechts 200 bytes en de juistheid ervan kan in 10 milliseconden worden geverifieerd. Bovendien zijn de ontwikkelaars er in de nieuwste versie van Zcash in geslaagd de tijd voor het genereren van proefdrukken terug te brengen tot ongeveer twee seconden.

Voordat u deze technologie kunt gebruiken, is echter een complexe, vertrouwde instellingsprocedure van ‘openbare parameters’ vereist, die een ‘ceremonie’ wordt genoemd (De ceremonie). De hele moeilijkheid is dat tijdens de installatie van deze parameters geen van beide partijen er privésleutels voor over heeft, genaamd “giftig afval”, anders zal het nieuwe munten kunnen genereren. Hoe deze procedure verloopt, kunt u vanaf de video leren YouTube.

Voors:

• Kleine bewijsomvang
• Snelle verificatie
• Relatief snelle proefproductie

Tegens:

• Complexe procedure voor het instellen van publieke parameters
• Giftig afval
• Relatieve complexiteit van technologie
• Niet bestand tegen hacken met kwantumcomputers

ZK-STARK's

De auteurs van de laatste twee technologieën zijn goed in het spelen met acroniemen, en het volgende acroniem staat voor ‘Zero-Knowledge Scalable Transparent ARguments of Knowledge’. Deze methode was bedoeld om de bestaande tekortkomingen van ZK-SNARKs op dat moment op te lossen: de behoefte aan een vertrouwde instelling van publieke parameters, de aanwezigheid van giftig afval, de instabiliteit van cryptografie tot hacken met behulp van kwantumalgoritmen, en onvoldoende snelle bewijsgeneratie. De ZK-SNARK-ontwikkelaars hebben echter het laatste nadeel aangepakt.

ZK-STARK's gebruiken ook op polynomen gebaseerde bewijzen. De technologie maakt geen gebruik van cryptografie met openbare sleutels, maar vertrouwt in plaats daarvan op hashing- en transmissietheorie. Het elimineren van deze cryptografische middelen maakt de technologie resistent tegen kwantumalgoritmen. Maar dit heeft een prijs: het bewijs kan een omvang van enkele honderden kilobytes bereiken.

Momenteel heeft ZK-STARK geen implementatie in een van de cryptocurrencies, maar bestaat het alleen als bibliotheek libSTARK. De ontwikkelaars hebben er echter plannen voor die veel verder gaan dan blockchains (in hun Wit papier de auteurs geven een voorbeeld van DNA-bewijs in een politiedatabase). Voor dit doel is het gemaakt StarkWare Industries, die eind 2018 werd verzameld $ 36 miljoen investeringen van de grootste bedrijven in de sector.

Je kunt meer lezen over hoe ZK-STARK werkt in de berichten van Vitalik Buterin (Deel 1, Deel 2, Deel 3).

Voors:

• Weerstand tegen hacking door kwantumcomputers
• Relatief snelle proefproductie
• Relatief snelle proefverificatie
• Geen giftig afval

Tegens:

• Complexiteit van technologie
• Groot proefformaat

Conclusie

Blockchain en de groeiende vraag naar anonimiteit stellen nieuwe eisen aan cryptografie. Zo is de tak van de cryptografie die halverwege de jaren tachtig ontstond – zero-knowledge proofs – in slechts een paar jaar tijd aangevuld met nieuwe, zich dynamisch ontwikkelende methoden.

De vlucht van het wetenschappelijke denken heeft CoinJoin dus overbodig gemaakt en MimbleWimble een veelbelovende nieuwkomer met redelijk frisse ideeën. Monero blijft een onwrikbare reus in het bewaken van onze privacy. En SNARK's en STARK's kunnen, hoewel ze tekortkomingen hebben, leiders in het veld worden. Misschien zullen de punten die we in de kolom ‘Nadelen’ van elke technologie hebben aangegeven de komende jaren irrelevant worden.

Bron: www.habr.com

Voeg een reactie