Anonimiteit van cryptocurrencies Deel I – Bestaande protocollen en Zerocoin
Een van de grootste aantrekkingskracht van cryptocurrencies is hun vermogen om detectie te vermijden, hetzij door overheidsinstanties, hetzij door andere nieuwsgierige blikken. In de nasleep van het Snowden-schandaal is de vraag naar online beveiliging extreem gestegen. De bestaande privacytools in Bitcoin moet worden beoordeeld om te concluderen of het op zichzelf anoniem is. De ideale hypothetische cryptocurrency voor anonimiteit, samen met huidige pogingen, moet ook worden onderzocht. Cryptonote, zijn beperkingen en haalbare implementatiestrategieën spelen een grote rol in de algehele capaciteit voor anonieme cryptocurrencies. Als een volledig anonieme cryptocurrency kan worden gecreëerd, betekent dit een nieuwe dageraad voor zowel online transacties als voor vrijheid van de beperkingen die door overheden zijn gesteld.
Bitcoin is een gedecentraliseerde tool waarmee vrijwel direct geld kan worden gecreëerd en verzonden over elke afstand. De fondsen worden echter gedocumenteerd in een openbaar grootboek dat bekend staat als de blockchain. De geschiedenis van elke transactie is openbaar beschikbaar, waardoor de privacy minimaal is. Het gewone Bitcoin-protocol lost dit op door openbare sleutels te gebruiken als identificatiegegevens, lange en complexe namen, terwijl individuele identiteiten worden verborgen. Bitcoin-clients genereren ook veel openbare sleutels om te helpen bij het koppelen van een enkel adres aan een persoon. Deze lijkwaden zijn echter niet voldoende om de identiteit van een persoon die geld verstuurt verborgen te houden voor een toegewijde jager. Bitcoin-wasserijen zijn een veel voorkomende oplossing, diensten die transacties combineren om de transactiegeschiedenis te verdoezelen.
Contents
Bestaande protocollen in anonieme cryptocurrency
Momenteel kan Bitcoin sterk gericht zijn op anonimiteit. CoinJoin en CoinSwap zijn twee krachtige mechanismen om dit te doen.
CoinJoin plakt meerdere transacties samen om de identiteit van elke transactie te verwarren. Elke uitwisseling van Bitcoin is gekoppeld aan een lijst met identificerende outputs door middel van een digitale waardigheid. De transactie wordt ongeldig verklaard als de totale output lager is dan of gelijk is aan de inputwaarde, en transactiekosten worden geïnd door miners. Dit systeem wordt gebruikt om Bitcoin te verdedigen tegen vervalsing. CoinJoin is moeilijk goed te implementeren, omdat het probeert om uitvoerwaarden zo consistent mogelijk te maken om te voorkomen dat ze worden gegroepeerd naar invoerwaarden. De resulterende outputs kunnen niet op hetzelfde moment worden uitgegeven, omdat ze hierdoor als één groep worden geïdentificeerd. Bij een join moeten twee verschillende partijen betrokken zijn en geen van beide kan een gecentraliseerd serversysteem zijn dat kan worden aangetast. CoinJoin is momenteel niet echt succesvol geïmplementeerd, maar DarkWallet wil zijn potentieel volledig realiseren.
CoinSwap mixt transacties zonder een centrale server, zelfs tussen afzonderlijke blockchains. Het resultaat is vergelijkbaar met CoinJoin. Het is alsof twee gebruikers persoonlijk privésleutels hebben uitgewisseld, maar de blockchain kan de munten die worden verplaatst niet zien, het kan de transactie alleen als een anomalie detecteren. Als bijna geen gebruikers dit systeem gebruiken, kunnen hun transacties eenvoudig op basis daarvan worden omgewisseld. Er zijn momenteel geen tools die dit in zijn totaliteit implementeren.
Het potentieel voor een cryptocurrency met totale anonimiteit
Zero-knowledge proofs hebben de capaciteit om een totaal onvindbare route voor fondsen te bieden, inclusief zowel hun herkomst als hun bestemming. Bitcoin-transacties zijn in wezen het publiceren van blokken die oude outputs in nieuwe outputs omzetten. In plaats daarvan zouden bij nulkennisbewijzen mijnwerkers ze publiceren in een reeks geldige transacties. Deze transacties wijzen de oude set van elke output toe aan de set van elke nieuwe output. Dit kan worden bevorderd door de ontvanger te dwingen bestemmingsadressen te kiezen en elk afzonderlijk onder verschillende mijnwerkers te verdelen, alleen de mijnwerker die het blok heeft en de ontvanger weten waar het geld naartoe gaat. De waarde van alle fondsen zou nog steeds zichtbaar zijn en tracking zou kunnen worden bereikt door bedragen te vergelijken die zijn afgetrokken en toegevoegd tussen accounts. Een remedie hiervoor staat bekend als homomorf gecodeerde waarden. Dit zou het mogelijk maken om verschillende services samen te voegen zonder de gegevens van elke service aan de andere bloot te stellen, in dit geval zijn de services de portemonnee en de blockchain.
Om nulkennisberekeningen uit te voeren, zou de maker van het protocol over geheime gegevens beschikken die hem in staat stellen om valse bewijzen te formuleren. Met deze valse bewijzen kan de maker naar believen fondsen creëren zonder te worden opgemerkt. Afgezien van deze kolossale zwakte zijn de vereiste berekeningen voorlopig niet haalbaar. Het protocol ziet ook gebreken in de vertrouwde accumulator, gebrek aan onderzoek in het veld en het onvermogen om economische ineenstorting als gevolg van onduidelijkheid te detecteren totdat de economie niet meer te redden is..
Het potentieel voor anonimiteit van Zerocoin in Bitcoin
Zerocoin geprobeerd nulkennis en het leidde tot extreme beperkingen. Dit werd ontwikkeld tot een efficiënter protocol dat directe privébetalingen voor verborgen waarden mogelijk maakt, bekend als Zerocash. Zerocoin en Zerocash werken binnen het Bitcoin-netwerk als een reeks uitbreidingen en beperkingen op het reeds bestaande protocol. Er is geen gecentraliseerde uitgever van munten nodig om Zerocoins uit te geven. Zelfs als veel knooppunten zijn gecompromitteerd, kan het Zerocash-protocol nog steeds werken, omdat het wijdverspreid kan worden onder Bitcoin-gebruikers en geen applicaties van derden of aanvullende software nodig heeft. Directe peer-to-peer-transacties zorgen ook voor extra beveiliging. Gebruikers converteren publiekelijk opgenomen Bitcoins naar anonieme Zerocoins die vervolgens naar andere Zerocoin-gebruikers kunnen worden gestuurd, ze kunnen ook weer worden omgezet in Bitcoins, hoewel dit niet nodig is omdat Zerocoins voor elke transactie kunnen worden gebruikt. De belangrijkste tekortkomingen van Zerocoin zijn dat elke munt dezelfde waarde moet hebben, dat scripting niet kan worden toegestaan en dat er veel werk nodig was om speciale optimalisaties uit te voeren. Het project was aanvankelijk een uitbreiding op het Bitcoin-protocol waarmee gebruikers hun eigen munten konden mixen.
In de komende delen, de Byzantijnse cyclus, DarkWallet, en alternatieven voor totale anonimiteit zullen worden besproken.