Stratis Group Ltd har precis släppt mainnet beta för Breeze Wallet, en decentraliserad integritetslösning i plånboken för Bitcoin. Det är en implementering av TumbleBit, ett integritetsprotokoll som använder en pålitlig tumlare som inte kan stjäla BTC och inte kan undergräva de berörda parternas anonymitet..
Breeze Wallet använder en Stratis Masternode-server för att ge användare en mycket hög anonymitet (och därmed integritet när det gäller deras aktivitet) och för att göra BTC fungibelt.
En senare version av Breeze Wallet kan också ge en robust skalningslösning för Bitcoin själv. Genom att bygga Breeze Wallet har Stratis gjort ett kraftfullt åtagande att förbättra kryptovalutautrymmet. Denna artikel syftar till att belysa hur allt detta uppnås.
Bris i korthet
- Mycket hög grad av anonymitet, bestämd av antalet deltagare i varje tumlande cykel
- Cykeltid på 117 block, eller 19,5 timmar
- Tumblingavgift på 1,55% plus den standardnätavgift som användaren valt
Fallet för integritet i Bitcoin
Skulle jag vilja offentliggöra mina kontoutdrag? Jag gör inte något olagligt med mina pengar, men jag vill fortfarande inte att alla mina ekonomiska aktiviteter ska vara synliga för någon som vill se. Skydd av integritet mot godtycklig inblandning är en grundläggande mänsklig rättighet.
All Bitcoin-transaktionshistorik registreras i en offentlig huvudbok som kallas blockchain. Tidigt var blockchain-analys av Bitcoin väldigt enkel: en adress ledde till en annan och banan för en Bitcoin-användares aktivitet var lätt att följa.
Tekniker infördes för att göra kortare analys svårare, men de kunde inte göra det möjligt att spåra historien om en Bitcoin-användares aktivitet. Sofistikerad analys av blockchain är ett stort företag och företag som erbjuder sätt att undergräva människors rätt till integritet är samla in mycket pengar.
Alla BTC är lika, men vissa BTC är mer lika än andra
Bitcoin är pengar. Bitcoin-integritetsproblemet sträcker sig bortom personlig integritet och förhindrar faktiskt att Bitcoin uppnår en av funktionerna i bra pengar: fungibilitet.
Allt som är utbytbart sägs vara fungibelt. Jag kan byta ett kilo guld med ett andra kilo guld och det blir ingen skillnad i vad jag kan köpa med det. Även om det första kiloet guld var från nyminerad malm och det andra kiloet tidigare hade använts för att finansiera olaglig avskogning, när jag använder guldet skulle ingen behandla de 2 kilo annorlunda.
Detta beror på att det är mycket svårt att följa guldets historia. På samma sätt, när vi överlämnar byte i en butik, letar vi inte upp noteringsens serienummer för att kontrollera det mot någon databas som innehåller dess transaktionshistorik om det inte är chansen att det har använts för något onödigt syfte.
Vi skulle ta emot kontanter som tidigare använts för att köpa droger på samma sätt som vi skulle ta emot nya kontanter från pressen. Guld och kontanter är fungibla. De kan bytas ut eftersom deras historia inte skadar dem. Detta är inte fallet med BTC.
Bitcoin-transaktioner sänds offentligt och alla transaktioner registreras på en offentligt tillgänglig huvudbok. Som tidigare nämnts kan dessa transaktioner kopplas ihop och Bitcoin-transaktionshistoriken kan vara känd ganska enkelt. När BTC har använts för ett visst svartmarknadsändamål blir de försvagade av den transaktionshistoriken för alltid.
Det finns tjänsteleverantörer som inte accepterar BTC med en transaktionshistorik som har besvärats av en viss händelse. På samma sätt finns det svartlistade adresser (och i tillägg alla adresser länkade genom transaktionshistorik) från vilka tjänsteleverantörer och till och med individer inte accepterar inkommande transaktioner. Detta beror på att de är besvärade av sin transaktionshistorik.
Så kallade rena BTC är orenade. Dessa BTC är mer eftertraktade än orena (smutsiga) BTC.
Människor kommer att betala blandningstjänster (vi kommer att gå in på dessa lite) för att göra BTC rena, eller kommer att söka efter nyligen utvunna BTC specifikt för att säkerställa att de får ren BTC. Bra pengar kan inte ha lika stora enheter där en enhet är mer eftertraktad av användaren än en annan.
Fungibilitet är en viktig egenskap för bra pengar och just nu är Bitcoin inte fungibelt.
Sekretessdebatten handlar inte om att människor kan köpa olagliga saker: det handlar om framtiden för Bitcoin själv.
Lyckligtvis finns det hopp. I själva verket, som vi kommer att se, gör en anonymitetslösning på Bitcoins fungibilitetsproblem stora framsteg mot att lösa ytterligare ett av de stora problemen som Bitcoin står inför. Det visar sig att anonyma transaktioner kan bli mer ekonomiska än transparenta transaktioner och ge mycket större genomströmning.
Anonymitet efter något annat namn …
Bitcoin har en slags anonymitet; Bitcoin har nämligen pseudonymitet.
När jag köper lite BTC och flyttar runt den drivs denna aktivitet av två identiteter: en verklig identitet och min blockchain-motsvarighet. Det är den verkliga jag som sitter bakom min dator och fattar beslut om vart jag ska skicka min BTC, och det finns en blockchain-identitet, synlig på den offentliga huvudboken, som kan ses flytta BTC från plats till plats.
Min motsvarighet till blockchainidentitet har ingen integritet. Jag har å andra sidan integritet; folket som spårar BTC som rör sig har ingen aning om att det är det min aktivitet som de följer. Jag har integritet eftersom jag har en viss grad av anonymitet genom min pseudonymitet.
Min integritet bryts ner när det finns en länk mellan mig och min pseudonym blockchain-identitet. Det är nästan omöjligt att köpa eller sälja BTC utan att leverantören behöver någon form av KYC-information (Know Your Customer). Så snart det finns en länk mellan mig och min blockchain-identitet undermineras pseudonymiteten och min integritet bryts ner.
Vi kan mäta anonymiteten som tillhandahålls av ett system i grader av anonymitet, vanligtvis kallad anonymitetsuppsättningen.
Tänk på en lärare som kommer in i ett klassrum med 20 barn och ser att en av eleverna har ritat en oförskämd bild på tavlan. Förövaren är anonym, men läraren vet med säkerhet att förövaren är en av de 20 barnen i detta rum.
Således har förövaren en anonymitetsuppsättning på 20: deras skuld döljs bland 20 lika misstänkta noder (vi kan modellera barnen i denna situation som noder i ett nätverk under lärarens utredning). Förövaren är säkrare i ett klassrum med 20 barn än i ett klassrum med 5 barn. De vill maximera sin anonymitetsuppsättning och en anonymitetsuppsättning på 20 gör lärarens jobb att identifiera dem mycket svårare än en anonymitetsuppsättning på 5.
Uppenbarligen, om de bara har en anonymitetsuppsättning på 1 så är de lika bra som fångade (det skulle trots allt bara vara dem ensamma i klassrummet). Detta mått på anonymitet berättar också något om begreppet “sann” eller “fullständig” anonymitet: för att uppnå fullständig anonymitet behöver du en oändlig anonymitetsuppsättning som tillhandahålls av ett oändligt nätverk av oändliga noder. Något som naturligtvis inte är möjligt.
Blandar med rätt människor
Hur kan jag återfå min integritet när det finns en länk mellan mig och min pseudonyma blockchain-identitet? Jag skulle behöva skapa en ny blockchain-identitet utan länk till mig och på något sätt överföra min BTC på ett sätt där de två identiteterna inte kan länkas av en observatör..
Det verkar inte möjligt, men det är det.
Vi ger de två blockchain-identitetsnamnen: Alice och Bob. Båda dessa identiteter är faktiskt jag; de är mina pseudonymer. Alice äventyras eftersom det finns en känd länk mellan mig och den pseudonymen. Jag vill hitta något sätt att överföra den BTC som Alice innehar till min nya, rena, pseudonyma identitet, Bob.
Innan vi går in i detaljerna bör vi titta på vilken information som finns tillgänglig för observatören.
När BTC flyttas, förbinds 3 bitar av information till blockchain: det belopp som skickats, adressen som BTC skickades från och adressen som BTC skickades till.
Observera att det inte finns någon identifierare för själva BTC som skickas. Detta innebär att observatören kan se hur mycket BTC skickades, var den skickades från och var den skickades till, men de kan inte berätta som BTC skickades (när du tittar på Bitcoin på en tillräckligt låg nivå, kan du se att “vilken BTC skickades” inte är vettigt; du kan läsa mer om UTXOs om det här, om du vill).
Vad jag kan göra är att skicka Alice’s BTC till en tjänst tillsammans med en massa andra människors BTC så att alla BTC blandas ihop och sedan få en mängd BTC som är lika med Alice som skickas till Bob av tjänsten. Detta kallas blandning.
Om det finns k personer som är involverade i denna blandningsprocess, då kommer Bob att ha en anonymitetsuppsättning på k (10 personer som blandar ger Bob en anonymitet på 10).
Det bör omedelbart vara uppenbart att detta ger några egna problem: hur ser du till att Bob får rätt mängd BTC? Hur kan Bob bevisa för tjänsten att den ska få Alice’s BTC på ett sådant sätt att tjänsten inte kan länka Alice och Bob tillsammans? Hur kan du vara säker på att tjänsten inte stjäl BTC direkt?
Det finns några lösningar på dessa problem och du kan hitta en bra diskussion om deras för- och nackdelar i vitt papper av den mest framgångsrika lösningen hittills: TumbleBit.
Tumpar ner kaninhålet
TumbleBit är en pålitlig, länkbar integritetslösning för Bitcoin.
Den använder en opålitlig mellanhand som heter Tumbler för att förbättra anonymiteten. Det är pålitligt eftersom tumlaren inte kan stjäla BTC och inte kan skicka BTC till sig själv, och det förbättrar anonymiteten genom att blanda k människor på ett sådant sätt att det inte kan länka någon av de inblandade.
Tumblern kan inte lära sig något om förhållandet mellan någon som är inblandad i tumlande processen.
Hur fungerar TumbleBit? En rå analogi för Classic Tumbler Mode
TumbleBit har faktiskt två driftsätt: Payment Hub Mode och Classic Tumbler Mode. Du kan läsa mer om Payment Hub Mode i slutet av huvudartikeln, men för det här avsnittet koncentrerar vi oss på Classic Tumbler Mode.
Det finns tre parter som är inblandade i att tumla: en grupp N-betalare, en tumlare och en grupp N-betalningsmottagare (det måste finnas samma antal betalare och betalningsmottagare).
Efter artikelns innehåll är Alice betalare och Bob betalningsmottagare. Ett antal escrows, så kallade 2-of-2 escrows (som är mellan två parter och kräver att båda parter är överens om att frigöra den escrowed BTC) är också inblandade.
För att försöka göra detta tydligare använder vi en analogi. Tänk dig att betalarna (inklusive Alice), betalningsmottagarna (inklusive Bob) och tumlaren är alla riktiga människor. Här är situationen: varje betalare är i sitt eget rum tvärs över korridoren från ett rum med en betalningsmottagare i (så att varje betalare har en betalningsmottagare i rummet mittemot, dvs. Alice är mittemot Bob). Tumblern kan röra sig mellan dem; dock kan han bara interagera med en person i taget.
Tumblingen spelas ut i 3 steg (kallas epoker) och fungerar så här:
Innan du tumlar:
Låt oss säga att det finns 10 betalare och 10 betalningsmottagare; varje betalare (inklusive Alice) har 0,1 BTC, tumlaren har 1 BTC och varje betalningsmottagare (inklusive Bob) har 0 BTC.
Epoch 1: Escrow Phase
- Tumblern går till varje betalares rum och sätter upp en separat, tidlåst * 2-av-2-spärr med var och en. Alice och de andra betalarna skickar alla sina 0,1 BTC till sina separata escrows med Tumbler.
- Tumblern går sedan till Bob och de andra betalningsmottagarna och ställer in separata, tidslåsta 2-av-2-spärrar med var och en av dem. Tumblern skickar 0,1 BTC till var och en av dessa escrows.
- Bob och alla andra betalningsmottagare har papper i olika färg. Medan Tumbler är upptagen med betalarna, sönder betalningsmottagarna sina pappersbitar i 3 stycken och ger en bit till Tumbler när Tumbler kommer att göra sin escrow. Tumblern håller på alla dessa pappersbitar och håller dem säkra.
Epok 2: Betalningsfas
- I början av denna fas öppnar varje betalningsmottagare sin dörr, korsar korridoren och skjuter en andra bit av sitt papper under dörren till sin betalare innan han går tillbaka till sitt rum (sålunda glider Bob en bit av sitt papper under Alice dörr och går tillbaka till sitt rum mittemot). Betalarna plockar upp papperet som har skjutits in under dörren och kommer ihåg vilken färg det har innan de gömmer det.
- Tumblern går sedan till var och en av betalarna en i taget och visar var och en av dem sin samling av alla betalningsmottagare bitar av papper som de gav till honom. En i taget kontrollerar betalarna att det finns ett papper i samma färg som det som hade skjutits under dörren i Tumbler’s collection..
- När de väl har verifierat att tumlaren har en matchande papper öppnar de dörren och skjuter tillbaka pappersbiten under mottagarens dörr mittemot och ser till att tumlaren aldrig ser vilken pappersbit de hade.
Epoch 3: Cash Out Phase
- Tumbler kommer nu till varje betalares rum och varje betalare undertecknar en transaktion för att släppa sin deponerade BTC till Tumbler (om de har följt stegen ovan och verifierat pappersfärgen och släppt tillbaka den till betalningsmottagaren), godkänner Tumbler ta emot den deponerade BTC genom att också underteckna transaktionen. När transaktionen har undertecknats av båda parter släpps den deponerade 0,1 BTC till tumlaren. Detta görs för var och en av de tio escrows som tumlaren har med betalningsmottagarna. När Alice och de andra betalarna har gjort detta är hennes del i processen över.
- Tumblaren går till varje betalningsmottagare och undertecknar en transaktion för att frigöra 0,1 BTC som han har i spärr med varje betalningsmottagare. Om betalningsmottagaren fick tillbaka papperet från sin betalare undertecknar de en transaktion för att ta emot den deponerade 0,1 BTC. Tumblaren gör detta med alla 10 av de deponerade 0,1 BTC som han har med betalningsmottagarna. Således får Bob 0,1 BTC.
Efter att ha trumlat:
De tio betalarna (inklusive Alice) har 0 BTC, Tumbler har återigen 1 BTC och de 10 betalningsmottagarna (inklusive Bob) har 0,1 BTC vardera.
* Spärrarna har en tidslås: om spärren inte signeras av båda parter vid en viss tid, släpps den spärrade BTC tillbaka till den part som i första hand skickade den till spärren. Detta innebär att om, av någon anledning, tumlingsprocessen stoppas, kommer användarens BTC aldrig att gå vilse.
Detta är en grov analogi på ett antal sätt. I ovanstående situation finns det många möjligheter för Tumbler att länka betalare till sin betalningsmottagare, Alice till Bob. I TumbleBit är det inte möjligt för Tumbler att länka Alice och Bob om det inte finns ett samarbete mellan Alice och Tumbler.
Breeze Wallet: Decentralized TumbleBit
Att tumla är svårt att prestera framgångsrikt. Att samordna så många människor och se till att de följer processen korrekt kräver en sofistikerad tjänst.
Dessa tumlingstjänster är dock inte den bästa lösningen. Det finns alltid en risk att någon sluten källkodstjänst stjäl din BTC eller helt enkelt inte fungerar. Det finns också ett fall där Tumbler kan länka Alice och Bob, när Alice samarbetar med Tumbler själv *.
Efter analogin i avsnittet ovan, kommer Alice att kunna koppla Alice till Bob om Alice berättar tumlaren vilken färg hennes papper har. Om tumlingen är centraliserad, det vill säga en tredjepartstjänst som tillhandahåller en tumlare, gör det det lättare för samverkan att utföras.
Det är här Breeze Wallet kommer in.
Breeze är öppen källkod, så alla som vill göra det kan granska koden för att verifiera att den är säker och gör vad den säger på burken. Det gör tumlingsprocessen så enkel som möjligt genom att tillhandahålla tjänsten helt i plånboken: ladda ner plånboken, följ installationsprocessen och du kan tumla din BTC på nolltid.
Den verkliga kickern är att Breeze är det decentraliserad. Själva tumlingen utförs av Stratis Masternodes.
När du väljer att starta en tumlingcykel kommer Breeze att sända försöket att ansluta till den tumlande Masternode-servern och det kommer att fastställa vilka Masternodes som uppfyller kraven (valör – hur mycket BTC du vill tumla, vald avgift, säkerhet etc.) och väljer sedan slumpmässigt en giltig Masternode för att utföra den tumlande cykeln.
Det betyder att det inte kan förekomma samverkan mellan de tumlande deltagarna och tumlaren.
Varje cykel ger deltagarna en anonymitetsuppsättning som är lika med antalet deltagare. Om 99 personer tumlar med dig har du en anonymitetsuppsättning på 100. Detta är mer än vad som kan uppnås med de flesta sekretesslösningar för Bitcoin och också bättre än andra altcoin-lösningar (till exempel uppnår Monero en anonymitetsuppsättning på mellan 2 och 10).
* Med tanke på hur TumbleBit fungerar i verkligheten är det faktiskt samverkan mellan Bob och tumlaren som kan undergräva Alice anonymitet. Men för att överensstämma med analogin kommer vi att prata om det i termer av samverkan mellan Alice och tumlaren.
Ser framåt: Breeze, Scaling och Stratis
För tillfället är Breeze Wallet en plånbok med flera kedjor som låter en användare hålla både BTC och STRAT, men bara låter dem tumla BTC. Stratis Group Ltd arbetar också med stöd för STRAT-tumling, vilket kommer att minska tumlingcykeltiden till drygt 2 timmar snarare än BTC: s 19,5 timmar.
The Breeze Wallet är en implementering av NTumblebit, en C # -implementering av TumbleBit.
Som saker ser ut stöder Breeze Wallet Classic Tumbler Mode of TumbleBit; dock arbetar man för att stödja betalningshubläget. Payment Hub Mode fungerar med bara två transaktioner via kedjan och introducerar sedan anonymitet genom en serie betalningar utanför kedjan (som liknar Lightning Network). Detta underlättar också en betydande skalningspotential för Bitcoin själv.
Det här är tidiga dagar, men TumbleBit har vad som krävs för att göra stora vågor i Bitcoin-skalningsdebatten.
Varför Stratis?
The Breeze Wallet var ett stort företag. Stratis Group Ltd ville bygga detta integritetsprotokoll för Bitcoin av flera anledningar.
För det första har Stratis en nära relation med Bitcoin. Stratis är i sig själv en hamn i Bitcoin Core-arkitekturen, och så kan förbättringar av Bitcoin också lättare föras till Stratis. Stratis Group Ltd har planer på att stödja tumling av såväl STRAT som BTC. Detta skulle minska den tumlande cykeltiden till bara 2 timmar.
För det andra är företaget Stratis riktar sig till företag med deras Blockchain som en tjänst. Många företag vill ha en integritetsnivå som Bitcoin inte har råd med. The Breeze Wallet är Stratis lösning för att sänka denna speciella barriär för företagens adoption.
För det tredje är Breeze Privacy Protocol Masternodes (som utför tumlingstjänsten) ett sätt att belöna STRAT-innehavare. De kräver en säkerhet på 250 000 STRAT plus 5 BTC och betalar nodoperatören de tumlande avgifterna som ligger i TumbleBit-protokollet.
Bidrag av Alex Elliott
Alex Elliott flyttade från en examen i fysik och filosofi till ett liv i korsningen mellan filosofi och teknik. Förutom att evangelisera krypto i verkliga livet tillbringar Alex större delen av sin tid som Acetmesis på kryptoforum.
Relaterad: Blockchain and the Future of Digital Privacy: Why Privacy Must Be Beyond Transactions