Udviklerne af Samourai Wallet har offentliggjort den offentlige beta-version af Whirlpool, en Chaumian CoinJoin-implementering, der består af en ramme understøttet af forskellige fortrolighedsfremmende softwareværktøjer..
Hvad er Chaumian CoinJoin?
CoinJoin er en anonymiseringsteknik, der først blev foreslået af Gregory Maxwell i 2013. En “Chaumian CoinJoin” integrerer chaumblinde signaturer – en ordning, der giver en kryptografisk blindet version af en modtagelsesadresse. Som beskrevet af ZeroLink, en bitcoin fungibilitetsramme:
”Brugerne forbinder og leverer input (og skifter adresse) og en kryptografisk blindet version af den adresse, de vil have deres private mønter til; serveren underskriver tokens og returnerer dem. Brugerne opretter forbindelse anonymt igen, fjern blinding fra deres outputadresser og returnerer dem til serveren. Serveren kan se, at alle output blev underskrevet af den, og så alle output skulle komme fra gyldige deltagere. Senere forbinder folk igen og underskriver. ”
Dette ses som en relativt hurtig og billig måde at tilføje anonymitet til CoinJoin-transaktioner på. Med Samourai, der tilføjer denne funktion til sin tegnebog, kan den give et betydningsfuldt og let at vedtage lag af privatliv for almindelige bitcoin-brugere.
Som beskrevet af udviklerne er Whirlpool-rammen en fuldt modulær CoinJoin-implementering, der er udviklet gennem en “stærkt modificeret” gaffel i ZeroLink-teorien.
Ifølge dets embedsmand Github side er Whirlpools open source-software i stand til at “matematisk adskille” ejerskabet af input (“sende adresser”) til output (“modtagende adresser”), der er inkluderet i en bitcoin-transaktion. Adskillelsen mellem et givet sæt input og deres tilsvarende output muliggør større økonomisk privatliv, når du foretager bitcoin-transaktioner. Med andre ord bliver bitcoinoverførsler vanskelige at spore, fordi oprindelsen (eller afsenderen) af en transaktion og dens modtager (e) ikke kan spores på grund af adskillelsen.
Whirlpools privatlivsfunktioner forbedrer også det samlede svaghed af Bitcoin-netværket. Fungibility refererer til en attribut for et token (i dette tilfælde BTC), hvis individuelle enheder er udskiftelige, mens hver enhed ikke kan skelnes fra de andre. Sikkerhedsanalytikere har hævdet, at bitcoin-transaktioners sporbare karakter (overførsler, der kan ses gennem offentlige block-opdagelsesrejsende) kan reducere svingbarheden i flagskibskryptovalutaen. Dette kan ske, hvis købmænd nægter at acceptere “plettet” bitcoin, som muligvis er blevet brugt til at finansiere ulovlige aktiviteter såsom narkotikahandel eller hvidvaskning af penge.
Det er ikke umiddelbart klart, hvordan funktionen vil samle de nødvendige deltagere til at gennemføre CoinJoin-transaktioner hurtigt. Aktivering af øjeblikkelige betalinger kræver, at snesevis af deltagere straks er tilgængelige. Med den CoinJoin-aktiverede Wasabi Wallet kan det for eksempel tage timer at samle de nødvendige 50 til 100 deltagere.
Den tilgængelige dokumentation efterlader også uklart, hvordan Samourai ville håndtere mængdematchning – behovet for at linke matchende input og output for at maskere dem korrekt.
Whirlpools teoretiske anonymitetssæt
Whirlpool inkluderer implementeringen af et teoretisk anonymitetssæt, der har potentialet til at vokse eksponentielt “på få minutter” i stedet for at tage flere timer. Enkelt sagt er teorien, at alle sende- og modtagelsesadresser blandes sammen i et sæt, hvis størrelse konstant øges. Hvis det fungerer i praksis, er tanken, at dette sæt bliver større med en hurtigere hastighed, når du bruger Whirlpool, og det bliver praktisk taget umuligt at bestemme afsenderen og modtageren af bitcoinoverførsler. I sin tekniske dokumentation angav Samourai Wallets udviklere, at dette ville blive opnået ved at fokusere på relativt mindre CoinJoin-cyklusser i modsætning til at arbejde med en enkelt stor cyklus, forklarede Samourai Wallets udviklere. Formentlig er det enklere at arbejde med flere mindre og enklere CoinJoin-cyklusser i stedet for at fokusere på en enkelt stor og kompleks CoinJoin-cyklus.
Samourai-teamet bemærkede også, at Whirlpool’s modulær arkitektur – adskillelse af kode i mindre sektioner, der gør det muligt for hvert stykke kode at udføre enkle opgaver – skulle gøre det muligt at integrere dets ramme i næsten enhver form for udviklingsmiljø, inklusive rammen, der bruges på smartphones og stationære computere.
Generelt er det den bedste programmeringspraksis at skrive modulær kode, hvilket betyder at kildekoden skal opdeles i logiske funktioner, der kan påberåbes efter behov for at udføre specifikke opgaver i computerprogrammer. For eksempel kan et modulært program bestå af kodemoduler til forskellige opgaver, såsom et modul til sletning af transaktioner fra hukommelsen og et andet modul til skrivning af transaktioner til hukommelse.
Desuden er Whirlpools open source-software udviklet for at skabe et system, der kan fungere inden for “begrænsningerne i et mobilmiljø.” De fleste smartphones har begrænsede hardware- og softwareressourcer (sammenlignet med stationære computere), så Whirlpool er optimeret til at fungere effektivt, selv når de fungerer i disse typer begrænsninger.
Denne tilgang til softwaredesign har hjulpet med at skabe en robust protokol, der kan implementeres “under de fleste forhold”, hvilket betyder, at protokollen fungerer som beregnet på de fleste operativsystemer, inklusive Windows-, Linux- og Android-systemer.
Udviklet på en “Strong Mathematical Foundation”
Samourais team tilføjede, at en anden vigtig designovervejelse for Whirlpool er brugervenlighed. Til dette formål “fokuserede [redigeredes] på udgifterne” og sikrede, at de fulgte bedste praksis for automatisk at undgå handlinger, der kompromitterede brugernes privatliv. Derudover tilbyder Whirlpool-rammen en intuitiv UX, som de fleste brugere allerede burde have det godt med.
Som bemærket af dets udviklingsteam er den fortrolighedsfokuserede protokol baseret på et “stærkt matematisk fundament.” Hver Whirlpool-cyklus maksimerer tilfældighed ved hjælp af forskellige matematiske funktioner og teknikker. Derudover sikrer Whirlpool-rammen, at brugerne aldrig cykler med sig selv.
Protokollen tillader heller ikke deterministiske forbindelser mellem input og deres tilknyttede output. Ved at forhindre, at deterministiske links dannes, bliver det praktisk talt umuligt at bestemme kilden eller oprindelsen af midler, og hvor de muligvis er blevet overført (dvs. modtageradresserne, der er knyttet til transaktionen).
Whirlpool-cyklusser er også implementeret på en måde, der forhindrer dem i at cykle med mønter fundet i en tidligere cyklus.
Brug af en “blindet” koordinator-server
Som skrevet ovenfor bruger Whirlpool-rammen en Samourai-betjent, “blindet” koordinator-server til at videresende meddelelser mellem klienter. Mens koordinator-serveren er i stand til at lette kommunikationen mellem forskellige klienter, kan den “afgørende” ikke vide, hvad der bliver formidlet gennem meddelelser, der deles mellem netværksdeltagere. Det betyder, at Samourai-serveren ikke kan læse indholdet af beskederne – en kritisk funktion for brugere, der prioriterer privatlivets fred og ikke ønsker, at Samourai-serveren skal kunne linke input og output.
Windows, OSX, Linux, Android-klienter
Især har Samourai Wallets udviklere bygget flere open source-klienter, som angiveligt giver ubegrænset adgang til koordinator-serveren.
Der er i øjeblikket en klient tilgængelig for Windows-, OS X- og Linux-operativsystembrugere. Som bemærket af Samourai-teamet består den nyudviklede software af en elektron / reager GUI-desktopklient, der er kompatibel med de fleste Linux-operativsystemer, og den kan også køre på standard Windows- og OS X-systemer. Android-brugere kan også bruge Whirlpool-rammefunktionerne.
Det skal dog bemærkes, at Samourai Wallet-softwaren til desktop er i sin offentlige beta og versionen til mobil er i øjeblikket under udvikling, så begge versioner kan være ustabile. For udviklere er der en REST API der kan bruges til at starte ekstra applikationer oven på Whirlpool-rammen. Der er også Android- og Java-softwarebiblioteker og en CLI-klient (Command Line), der er tilgængelige i Whirlpool-klientregistret.