Utviklerne av Samourai Wallet har publisert den offentlige betaversjonen av Whirlpool, en Chaumian CoinJoin-implementering som består av et rammeverk som støttes av ulike personvernforbedrende programvareverktøy..
Hva er Chaumian CoinJoin?
CoinJoin er en anonymiseringsteknikk som først ble foreslått av Gregory Maxwell i 2013. En “Chaumian CoinJoin” integrerer chaumblinde signaturer – et opplegg som gir en kryptografisk blindet versjon av en mottaksadresse. Som beskrevet av ZeroLink, et rammeverk for bitcoin-soppbarhet:
“Brukerne kobler sammen og gir innganger (og bytter adresse) og en kryptografisk blindet versjon av adressen de vil at de private myntene deres skal gå til; serveren signerer tokens og returnerer dem. Brukerne kobler seg anonymt til igjen, fjern blinding av utdata-adressene og returnerer dem til serveren. Serveren kan se at alle utgangene ble signert av den, og så alle utgangene måtte komme fra gyldige deltakere. Senere kobler folk seg på nytt og signerer. ”
Dette blir sett på som en relativt rask og billig måte å legge til anonymitet i CoinJoin-transaksjoner. Med Samourai som legger til denne funksjonen i lommeboken, kan det gi et betydelig og lett å vedta privatliv for vanlige bitcoin-brukere..
Som detaljert av utviklerne, er Whirlpool-rammeverket en fullstendig modulær CoinJoin-implementering som er utviklet gjennom en “sterkt modifisert” gaffel av ZeroLink-teorien..
Ifølge tjenestemannen Github side, er Whirlpools programvare med åpen kildekode i stand til å “matematisk koble” eierskapet til innganger (“sende adresser”) til utganger (“motta adresser”) som er inkludert i en bitcoin-transaksjon. Avstanden mellom et gitt sett med innganger og deres tilsvarende utganger gir større økonomisk privatliv når du foretar bitcoin-transaksjoner. Med andre ord blir bitcoinoverføringer vanskelig å spore fordi opprinnelsen (eller avsenderen) til en transaksjon og mottakeren (e) ikke kan spores på grunn av disassosiasjonen.
Whirlpools personvernfunksjoner forbedrer også helheten soppbarhet av Bitcoin-nettverket. Fungibility refererer til et attributt til et token (i dette tilfellet BTC) hvis individuelle enheter er utskiftbare, mens hver enhet ikke kan skilles fra de andre. Sikkerhetsanalytikere har hevdet at den sporbare naturen til bitcoin-transaksjoner (overføringer som kan ses gjennom offentlige blokkutforskere) kan redusere soppbarheten til flaggskipskryptovalutaen. Dette kan skje hvis kjøpmenn nekter å akseptere “smittet” bitcoin, som kan ha blitt brukt til å finansiere ulovlige aktiviteter som narkotikahandel eller hvitvasking av penger.
Det er ikke umiddelbart klart hvordan funksjonen vil samle de nødvendige deltakerne for å gjennomføre CoinJoin-transaksjoner raskt. Aktivering av øyeblikkelig betaling vil kreve at dusinvis av deltakere umiddelbart er tilgjengelige. Med den CoinJoin-aktiverte Wasabi Wallet kan det for eksempel ta timer å samle de nødvendige 50 til 100 deltakerne.
Den tilgjengelige dokumentasjonen etterlater også uklart hvordan Samourai ville håndtere mengdematching – behovet for å koble samsvarende innganger og utganger for å maskere dem riktig.
Whirlpool’s Theoretical Anonymity Set
Whirlpool inkluderer implementering av et teoretisk anonymitetssett som har potensial til å vokse eksponentielt “på få minutter” i stedet for å ta flere timer. Enkelt sagt er teorien at alle sende- og mottaksadresser blandes sammen i et sett, hvis størrelse øker kontinuerlig. Hvis det fungerer i praksis, er ideen at dette settet blir større i raskere tempo når du bruker Whirlpool, og det blir praktisk talt umulig å bestemme avsender og mottakere av bitcoinoverføringer. I sin tekniske dokumentasjon antydet utviklerne av Samourai Wallet at dette ville oppnås ved å fokusere på relativt mindre CoinJoin-sykluser i motsetning til å jobbe med en enkelt stor syklus, forklarte Samourai Wallets utviklere. Antagelig er det enklere å jobbe med flere mindre og enklere CoinJoin-sykluser i stedet for å fokusere på en enkelt stor og kompleks CoinJoin-syklus..
Samourai-teamet bemerket også at Whirlpool’s modulær arkitektur – separering av kode i mindre seksjoner som gjør at hver kode kan utføre enkle oppgaver – skal gjøre det mulig å integrere rammeverket i nesten alle typer utviklingsmiljøer, inkludert rammeverket som brukes på smarttelefoner og stasjonære datamaskiner.
Generelt sett er det best å programmere for å skrive modulkode, noe som betyr at kildekoden bør deles inn i logiske funksjoner som kan påkalles etter behov for å utføre spesifikke oppgaver i dataprogrammer. For eksempel kan et modulært program bestå av moduler med kode for forskjellige oppgaver, for eksempel en modul for å slette transaksjoner fra minnet og en annen modul for å skrive transaksjoner til minne..
Videre har Whirlpools programvare med åpen kildekode blitt utviklet for å skape et system som kan fungere innenfor “begrensningene i et mobilmiljø.” De fleste smarttelefoner har begrensede maskinvare- og programvareressurser (sammenlignet med stasjonære datamaskiner), så Whirlpool har blitt optimalisert for å fungere effektivt, selv når de opererer i slike begrensninger.
Denne tilnærmingen til programvaredesign har bidratt til å lage en robust protokoll som kan implementeres “under de fleste forhold”, noe som betyr at protokollen vil fungere som beregnet på de fleste operativsystemer, inkludert Windows, Linux og Android-systemer..
Utviklet på et “Strong Mathematical Foundation”
Samourais team la til at en annen viktig designhensyn for Whirlpool er brukervennlighet. For å oppnå dette, fokuserte den [redigerte] på utgiftene og sørget for at de fulgte beste praksis for automatisk å unngå handlinger som kompromitterte brukernes personvern. I tillegg tilbyr Whirlpool-rammeverket en intuitiv UX som de fleste brukere allerede burde være komfortable med.
Som bemerket av utviklingsteamet, er den personvernfokuserte protokollen basert på et “sterkt matematisk grunnlag.” Hver Whirlpool-syklus maksimerer tilfeldighet ved å bruke forskjellige matematiske funksjoner og teknikker. I tillegg sørger Whirlpool-rammeverket for at brukere aldri sykler med seg selv.
Protokollen tillater heller ikke deterministiske koblinger mellom innganger og deres tilknyttede utganger. Ved å forhindre at det dannes deterministiske lenker blir det praktisk talt umulig å bestemme kilden eller opprinnelsen til midlene og hvor de kan ha blitt overført (dvs. mottakeradressene knyttet til transaksjonen).
Whirlpool-sykluser er også implementert på en måte som hindrer dem i å sykle med mynter funnet i en tidligere syklus.
Ved hjelp av en “blindet” koordinator-server
Som skrevet ovenfor bruker Whirlpool-rammeverket en Samourai-operert, “blindet” koordinator-server for å videreformidle meldinger mellom klienter. Mens koordinator-serveren er i stand til å legge til rette for kommunikasjon mellom forskjellige klienter, kan den “avgjørende” ikke vite hva som blir formidlet gjennom meldinger som deles mellom nettverksdeltakere. Det betyr at Samourai-serveren ikke kan lese innholdet i meldingene – en kritisk funksjon for brukere som prioriterer personvern og ikke vil at Samourai-serveren skal kunne koble innganger og utganger..
Windows, OSX, Linux, Android-klienter
Spesielt har utviklerne av Samourai Wallet bygget flere open source-klienter som angivelig gir ubegrenset tilgang til koordinator-serveren.
Det er for øyeblikket en klient tilgjengelig for Windows-, OS X- og Linux-operativsystembrukere. Som nevnt av Samourai-teamet, består den nyutviklede programvaren av en elektron / GUI desktop-klient som er kompatibel med de fleste Linux-operativsystemer, og den kan også kjøres på standard Windows- og OS X-systemer. Android-brukere kan også bruke Whirlpool-rammefunksjonene.
Det skal imidlertid bemerkes at Samourai Wallet-programvaren for skrivebordet er i sin offentlige beta og versjonen for mobil er for tiden under utvikling, så begge versjonene kan være ustabile. For utviklere er det en REST API som kan brukes til å starte flere applikasjoner på toppen av Whirlpool-rammeverket. Det er også Android- og Java-programvarebiblioteker og en kommandolinjeklient (CLI) som er tilgjengelig i Whirlpool-klientregisteret.