Coin Mixing en CoinJoins Uitgelegd

Delen
Copied to clipboard!
Coin Mixing en CoinJoins Uitgelegd
Luister naar het artikel
00:00 / 00:00

Inhoud


Introductie

Bitcoin wordt vaak digitaal geld genoemd, maar dit is een twijfelachtige vergelijking. Als Alice Bob tien dollar contant betaalt, heeft Bob geen idee waar het geld vandaan komt. Als hij het geld later aan Carol geeft, zal Carol niet kunnen weten dat Alice het ooit in bezit heeft gehad.

Bitcoin is anders vanwege het openbare karakter. De geschiedenis van een bepaalde munt (om precies te zijn niet-uitgegeven transactie-output of UTXO) kan door iedereen worden waargenomen. Het is een beetje als het schrijven van het transactiebedrag en de namen van de deelnemers op elke factuur wanneer het gebruikt wordt. 

Dat gezegd hebbende, zorgt de pseudonimiteit van een openbaar adres ervoor dat de identiteit van gebruikers niet gemakkelijk wordt onthuld. Toch is Bitcoin niet helemaal privé. Blockchain analyse wordt steeds geavanceerder en kan adressen steeds efficiënter aan identiteiten koppelen. Naast andere bewakingstechnieken kan een speciale entiteit gebruikers van cryptocurrency deanonimiseren. Om dit te verhelpen, zijn er door de jaren heen technieken opgedoken om transacties te ontkoppelen.


Wat is coin mixing?

In grote lijnen kan muntmenging verwijzen naar elke activiteit waarbij fondsen worden verduisterd door ze te vervangen door andere. In de cryptocurrency-ruimte duidt het mengen van munten gewoonlijk een service aan die wordt geleverd door een derde partij. Doorgaans nemen de serviceproviders gebruikersmunten (en een kleine vergoeding) en retourneren ze munten die geen link hebben naar de verzonden munten. Deze services staan ook bekend als tumblers of mixers.

De veiligheid en anonimiteit van dergelijke gecentraliseerde diensten zijn natuurlijk twijfelachtig. Gebruikers hebben geen garantie dat hun geld door de mixer aan hen wordt terugbetaald of dat de geretourneerde munten op de een of andere manier niet zijn aangetast. Een extra aspect waarmee u rekening moet houden bij het gebruik van een mixer is dat IP- en Bitcoin-adressen mogelijk door een derde partij worden geregistreerd. Uiteindelijk geven gebruikers de controle over hun geld op in de hoop dat ze niet-gekoppelde fondsen terugkrijgen.

Een aantoonbaar interessantere benadering bestaat in de vorm van CoinJoin-transacties, die een aanzienlijke mate van plausibele ontkenning creëren. Dat wil zeggen dat na een CoinJoin geen enkel bewijs een gebruiker met zekerheid kan koppelen aan zijn eerdere transacties. Veel CoinJoin-oplossingen bieden een gedecentraliseerd alternatief voor mixers. Hoewel er mogelijk een coördinator bij betrokken is, hoeven gebruikers de bewaring van hun geld niet op te offeren.


Wat is een CoinJoin?

CoinJoin-transacties waren in 2013 aanvankelijk voorgesteld door Bitcoin-ontwikkelaar Gregory Maxwell. In zijn thread geeft hij een kort overzicht van hoe deze transacties zijn gestructureerd en hoe enorme privacywinst kan worden behaald zonder wijzigingen in het protocol.

In wezen omvat een CoinJoin de combinatie van invoer door meerdere gebruikers in een enkele transactie. Voordat we uitleggen hoe (en waarom), laten we eens kijken naar de structuur van een basistransactie.

Bitcoin-transacties bestaan uit inputs en outputs. Wanneer een gebruiker een transactie wil doen, nemen ze hun UTXO's als invoer, specificeren ze de uitvoer en ondertekenen ze de invoer. Het is belangrijk op te merken dat elke ingang onafhankelijk is ondertekend en dat gebruikers meerdere uitgangen kunnen instellen (naar verschillende adressen gaan).


image of an example transaction with four inputs and two outputs


Als we kijken naar een bepaalde transactie die bestaat uit vier inputs (elk 0,2 BTC) en twee outputs (0,7 BTC en 0,09 BTC), zijn er een paar verschillende aannames die we kunnen doen. De eerste is dat we kijken naar een betaling die plaatsvindt, terwijl de afzender een van de uitgangen naar iemand stuurt en een wijziging aan zichzelf terugstuurt. Omdat ze vier ingangen hebben gebruikt, is de grotere uitvoer waarschijnlijk voor de ontvanger. Merk op dat we 0,01 BTC van de uitgangen missen, wat de vergoeding is die aan de miner wordt gegeven.

Het is ook mogelijk dat de afzender een grote UTXO wil maken uit kleinere, zodat ze kleinere inputs consolideren om het gewenste 0,7 BTC-resultaat te krijgen.

Een andere veronderstelling die we kunnen maken, is gebaseerd op het feit dat elke invoer onafhankelijk wordt ondertekend. Deze transactie kan tot vier verschillende partijen hebben die de input ondertekenen. En daarin schuilt het principe dat CoinJoining effectief maakt.


Hoe werkt een CoinJoin?

Het idee is dat meerdere partijen zullen coördineren om een transactie te creëren, elk met input en gewenste output. Doordat alle inputs gecombineerd zijn, is het onmogelijk om met zekerheid te zeggen welke output bij welke gebruiker hoort. Beschouw het onderstaande diagram:


image of an example coinjoin


Hier hebben we vier deelnemers die de link tussen transacties willen verbreken. Ze coördineren onderling (of via een speciale coördinator) om de inputs en outputs aan te kondigen die ze willen opnemen.

De coördinator neemt alle informatie op, zet deze om in een transactie en laat elke deelnemer tekenen voordat deze naar het netwerk wordt uitgezonden. Nadat gebruikers hebben ondertekend, kan de transactie niet worden gewijzigd zonder ongeldig te worden. Daarom bestaat er geen risico dat de coördinator er met de fondsen van door gaat.

De transactie dient als een soort zwarte doos om munten te mengen. Vergeet niet dat we UTXO's effectief vernietigen om nieuwe te maken. De enige link tussen de oude en nieuwe UTXO's die we hebben is de transactie zelf, maar we kunnen natuurlijk geen onderscheid maken tussen deelnemers. In het beste geval kunnen we zeggen dat een deelnemer een van de inputs heeft opgegeven en misschien de nieuwe eigenaar is van een resulterende output.

Maar zelfs dat is lang niet gegarandeerd. Wie zegt er bij het bekijken van de bovenstaande transactie dat er vier deelnemers zijn? Stuurt deze persoon zijn geld naar vier eigen adressen? Twee mensen die twee afzonderlijke aankopen doen en elk 0.2 BTC terugsturen naar hun eigen adres? Vier mensen sturen naar nieuwe deelnemers of terug naar zichzelf? We weten het niet zeker.


Privacy door ontkenning

Het feit dat er CoinJoin-implementaties bestaan, is voldoende om twijfel te zaaien over de methoden die worden gebruikt om transacties te analyseren. Je kunt afleiden dat er in veel gevallen een CoinJoin heeft plaatsgevonden, maar je weet nog steeds niet wie de uitgangen bezit. Naarmate ze in populariteit toenemen, wordt de veronderstelling dat alle inputs eigendom zijn van dezelfde gebruiker een enorme sprong voorwaarts voor privacy in het bredere ecosysteem afgezwakt.

In het vorige voorbeeld zeiden we dat de transactie een anonimiteitsinstelling van 4 had; de eigenaar van een output zou een van de vier betrokken deelnemers kunnen zijn. Hoe groter de anonimiteit is ingesteld, hoe minder waarschijnlijk het is dat transacties aan de oorspronkelijke eigenaar kunnen worden gekoppeld. Gelukkig maken recente CoinJoin-implementaties het voor gebruikers triviaal om hun input met tientallen anderen betrouwbaar samen te voegen, wat een hoge mate van ontkenning oplevert. Onlangs is een transactie van 100 personen met succes uitgevoerd.


Tot Slot

Tools voor het mixen van munten zijn een belangrijke aanvulling op het arsenaal van elke gebruiker die zijn privacy serieus neemt. In tegenstelling tot voorgestelde privacy-upgrades (zoals Vertrouwelijke transacties), zijn ze compatibel met het protocol zoals het nu is. 

Voor degenen die vertrouwen op de integriteit en methodologie van derden, zijn mengservices een gemakkelijke oplossing. Voor degenen die de voorkeur geven aan een verifieerbaar en niet-bewarend alternatief, zijn CoinJoin-alternatieven superieur. Deze kunnen met de hand worden gedaan voor technisch bekwame gebruikers, of door softwaretools te gebruiken die de meer complexe mechanismen abstraheren. Er zijn al een handvol van deze tools die alleen maar in populariteit blijven groeien naarmate gebruikers streven naar meer privacy.

Loading