Många människor känner till bitcoin som en anonym digital valuta, en vars sekretessfunktioner är primära för dolda betalningar i skissiga urtag på internetets mörka nät.
Samma människor skulle sannolikt bli förvånade över att lära sig att bitcoin är långt ifrån anonymt. Mer pseudonym än någonting, dess underliggande teknik, blockchain, har faktiskt ett antal tekniska fönster genom vilka användare kan kika en annan användares identitet. Dessa intresserade parter, oavsett om de är analysföretag, regeringar eller någon med tillräcklig IT-kunskap, kan använda peer-to-peer-nätverksanalys för att länka en Bitcoin-adress till en IP-adress, så att de kan lära sig vem som äger en plånbok och vem de är skicka sina medel till.
Genom att spåra transaktioner och offentliga adresser tillbaka till sina användares IP-adresser deanonymerar dessa “spioner”, även känd som “motståndare”, effektivt användare. Ett uppenbart brott mot integriteten har Bitcoin-communityt länge brottats med lösningar för att neutralisera detta problem.
Att delta i konversationen är Maskros, a protokoll utvecklad av Giulia Fanti tillsammans med Shaileshh Bojja Venkatakrishnan, Surya Bakshi, Bradley Denby, Shruti Bhargava, Andrew Miller och Pramod Viswanath, forskare vid Carnegie Mellon, MIT och University of Illinois. Om teorin kan hålla i applikationen skulle maskros effektivt neutralisera peer-to-peer-analysen som spelar en viktig roll för att kompromissa med användaridentiteten.
Problemet
När någon skickar en transaktion i Bitcoins nätverk sänds den transaktionen vanligtvis till flera noder tills den plockas upp av en gruvarbetare och ingår i ett block.
Denna sändningsprocess är känd som diffusion. Det börjar när källnoden, noden som skapar transaktionen, överför den till andra noder i nätverket. När denna nod sänder transaktionen fortsätter var och en av de andra noder som utgör nätverket att oberoende sprida transaktionen genom att skicka den till andra med exponentiella förseningar.
Presenterar maskros vid konferensen Building on Bitcoin i Lissabon, Portugal, förklarade Giulia Fanti att källnodens IP-adress ofta kan urskiljas eftersom “diffusion är mottaglig för upptäckt.” När spionnoder som samarbetar tar emot en transaktion kan de delta i peer-to-peer-nätverksanalys för att spåra sina steg genom nätverket.
I grund och botten kan spioner – med hög sannolikhet som inte nödvändigtvis är idiotsäker – spåra en transaktion tillbaka till dess källnod genom att observera tidpunkten för varje sändning och undersöka relästrukturen. Härifrån har spionen stora odds för att skaffa transaktionens IP-adress.
Maskros lösning
Maskros syftar till att abstraktera transaktionsöverföringsprocessen för att göra det mer komplicerat för motståndare att spåra transaktioner. Detta skulle i huvudsak göra det nästan omöjligt att följa brödsmulspåret som sändningstider och relästrukturer leder tillbaka till källnoden som ursprungligen överförde transaktionen.
För att uppnå detta skickar Dandelion transaktionen på en slumpmässig väg genom ett variabelt antal noder innan transaktionen sprids över hela nätverket. Den slumpmässiga vägen är känd som protokollets stamfas, eftersom transaktioner som vidarebefordras i scenen bara delas mellan varandra och överförs från en nod till nästa. Diffusionsfasen är känd som “flufffasen”, eftersom transaktionen sänds till flera noder för att spridas över nätverket (visuellt och effektivt replikerar båda dessa processer en maskros anatomi, därav terminologin).
Skärmdump av maskrosstrukturen som illustreras i Fantis tal.
I stamfasen bestämmer varje nod slumpmässigt att antingen fortsätta stamfasen genom att vidarebefordra sändningen till en annan nod eller sprida transaktionen till resten av nätverket. Om den skickas vidare, bestämmer nästa nod igen slumpmässigt om transaktionen ska vidarebefordras eller spridas. Transaktionen överförs, en efter en, tills en nod utlöser diffusionsprocessen.
Att lägga till den första transaktionsfasen före diffusion är tänkt att ge ett extra lager av anonymitet till transaktionssändningsprocessen. Om nätverket skickar transaktionen till flera potentiella källnoder före diffusion, bör detta i teorin fördunkla var en sändning kom ifrån, vilket gör det extremt svårt att definitivt spåra en transaktion tillbaka till dess källa.
Maskros tillväxt
Maskros förslag anses vara ett genomförbart steg mot att lösa Bitcoins anonymitetsfråga som inte innebär en översyn av koden helt för att klä den med den typ av peer-to-peer-nätverksförvirringsverktyg som ett mynt som Monero utvecklar, till exempel.
Teamet frågas ofta varför det inte kommer att implementera samma lökruttning som Monero fokuserar på. Fanti erkände i sitt föredrag att “Monero tar itu med exakt samma problem [Maskros] försöker lösa”, men kvalificerade detta genom att säga att “att implementera detta faktiskt verkligen är tidskrävande”, eftersom Monero-utvecklingsteamet har arbetat med det sedan 2014.
Dandelion har i stället fokuserat på sitt eget grundläggande tillvägagångssätt sedan det först introducerades 2017. Efter en peer review av koden hittade några skarpa hål, gjorde teamet nytt och släppte på nytt ett nytt vitbok med en uppdaterad metod (känd som Dandelion ++) i maj 2018.
Det förväntas att Dandelion kommer att implementeras i en framtida Bitcoin Core-uppdatering, även om den inte kommer att vara redo för den kommande 0.17.0-utgåvan.