Bitcoin Core vs Wasabi Wallet - Ochrana osobních údajů na úrovni sítě

Bitcoinové jádro, konkrétněji plné uzly, jsou považovány za vrchol úrovně ochrany osobních údajů v bitcoinových peněženkách, k nimž se nemůže přiblížit žádný jiný typ peněženky. Není těžké pochopit, proč: celé uzly stahují celý blockchain a lokalizují zůstatky vaší peněženky lokálně, takže neexistuje žádná šance, aby jakákoli třetí strana zjistila, které adresy jsou v peněžence a které nikoli.
Porovnejte to s jinými světelnými peněženkami, které dotazují server typu backend, aby získaly informace o konkrétních adresách, nebo používají protokol BIP37 filtrování bloků SPV peněženky, což je pravděpodobně ještě horší. A tam je Electrum, které posílá vaše adresy náhodným Electrum serverům.

Vize lehké peněženky, která při vytváření uživatelské sady UTXO uživatele nevytéká příliš mnoho informací, pronásledovala vývojáře bitcoinů po staletí.
Ve skutečnosti dokonce i BIP37 začínal jako vylepšení ochrany osobních údajů, ukázalo se, že to není později.
Ale došlo k slušným pokusům: někteří vývojáři, jako Jonas Schnelli, tým Stratis a já, postavili software peněženky, který stahoval pouze bloky od vytvoření uživatelské peněženky.
Někteří devs, jako Nicolas Dorier, se pokusili o opravu BIP37 a jiní, jako kluci v Lightning Labs, přišli s úplně novou architekturou světelné peněženky: BIP157-158.
Lidé MoneroWorld chtějí, abyste delegovali běh vašeho uzlu na cloud.
Byli také jiní, jako Chris Belcher, který řekl: „to kurva“ a vytvořili EPS, které vám umožní připojit klienta Electrum k celému uzlu.
Nakonec jsem si v poslední době všiml pozitivního trendu u společností, které prodávají krabice, které vám z krabice vyrazí celý uzel.

A pak je tu Wasabi peněženka, což je BIP157-ish klientská filtrovací lehká peněženka a částečně se integruje také do celého uzlu. Což mě přivádí k tématu tohoto článku: Právě před několika hodinami jsme pomocí peněženky Wasabi dosáhli nejlepšího soukromí na úrovni sítě, jaké je možné u dnešních bitcoinů.

Terminologie

V. Znamená ověření nebo ověření. Používají se zaměnitelně, ale jsem si jistý, že jeden z nich je správný. Ověření?

FN, Celý uzel, Plně ověřující uzel. Stáhne a ověří všechny bitcoinové bloky, které byly kdy vytvořeny, ale pro naše účely (soukromí) záleží pouze na části stahování.
Uzel SPV, uzel se zjednodušeným ověřováním plateb. Synchronizuje pouze řetězec záhlaví (ať už je to cokoli) a může ověřit, že máte transakci použitím nějaké merkle magie. Nic z toho pro nás není důležité. Důležité je všimnout si, že SPV nemá nic společného s ochranou soukromí, je to opravdu jen způsob, jak zajistit, aby transakce proběhly.
Celý uzel také nemá nic společného s ochranou soukromí. Je to jen popisující, jak uzel zajišťuje transakce. Ověří to celý blockchain, samozřejmě, aby tak učinil, musí si stáhnout celý blockchain, který umožňuje lokální získání peněženky UTXO, což je nejvíce soukromý způsob, jak toho dosáhnout. Počkejte, takže to má nakonec něco společného s ochranou soukromí?
Full-SPV, Full-Block SPV, Full Block Downloading SPV Uzel. Stáhne všechny bloky z vytvoření peněženky a provede na nich ověření SPV. Počkej, zdvojnásobil jsem tam V slovo? Ano, vývojáři jsou toto nekonzistentní. Doufám také, že nikdo nikdy nebude budovat plnohodnotnou SPV peněženku, která stahuje všechny bloky, ale provádí centralizovanou validaci, protože je nemožné na to přijít vhodný termín.

Už jste zmatení? Dobrý. Teď, když jste poznali nuantovou povahu tématu, bude mi více odpouštět, ale zbytek této sekce budete ohromovat velkými zjednodušováními:

Hybridní úplný uzel. Je světelný uzel, dokud se synchronizuje celý uzel. Chci, aby byl Wasabi v budoucnu takovou peněženkou.
BIP37. Klient odešle bloomový filtr do plných uzlů, plné uzly odešlou zpět data odpovídající blokového filtru.
Bloom filtr. Umožňuje otestovat, zda je prvek v sadě, aniž by odhalil samotnou sadu.
Golomb-rýžové filtry. Menší blokové filtry, které používá BIP158.
Filtrování na straně klienta, filtrování neutrin, BIP157, BIP158. Myšlenka, že klienti nemusí posílat filtry do úplných uzlů, ale spíše naopak: plné uzly vytvářejí filtry a místo toho je odesílají klientům. Odtud mohou klienti stahovat bloky z jiných zdrojů. Jedná se o slušně soukromý způsob stanovení stavu UTXO peněženky.
Neutrino. Implementace protokolu filtrování na straně klienta pomocí Lightning Lab.
Cokoli Wasabi dělá. Naše implementace protokolu filtrování na straně klienta.

Oddálení

Je třeba zdůraznit, že soukromí na úrovni sítě je jen polovinou bitvy. Druhou polovinou je soukromí na úrovni blockchainu, které je mimo rozsah tohoto článku.

Soukromí na úrovni sítě se dále skládá ze dvou podkategorií:

  1. Soukromé vyhledávání UTXO
  2. Soukromé transakční vysílání

Bitcoinové jádro

Soukromé vyhledávání UTXO

Bitcoin Core stahuje všechny bloky, které byly kdy vytvořeny, a lokálně zjišťuje zůstatky vaší peněženky.

Soukromé transakční vysílání

Bitcoin Core vysílá transakce ostatním vrstevníkům v síti Clearnet, nešifrované.
Jiní vrstevníci nemohou zjistit, která transakce pochází z konkrétního uzlu, protože Core nejenže vysílá své vlastní transakce, ale také šíří každou další transakci, která zasáhne její mempool.
Některé papíry však poznamenávají, že to není odrážka:

Šíření bitcoinových transakcí neskrývá zdroj transakce velmi dobře, zejména proti „supernodovému“ odposlouchávači, který vytváří velké množství odchozích připojení k dosažitelným uzlům v síti [1,2,3].

I když v praxi mám podezření, že na tom nezáleží, tento článek má v úmyslu prozkoumat podrobnosti, abych mohl porovnat Core s Wasabi, a tak začnu odtud shromažďovat relevantní identifikované protivníky:

Identifikováni protivníci

  • Škodlivý Peer
  • Supernode

Bitcoinové jádro + Tor

Můžete použít bitcoinové jádro s Torem, které řeší výše uvedený problém. V tomto případě supernode nemůže sledovat zpětné transakce na vaši IP adresu.

Budu uvažovat o každé entitě, která může zlomit Tor, univerzálního protivníka, nicméně je to nepřesné. Například většina útoků Tor není možná, pokud nejsou zapojeny výstupní uzly. To a další věci, jako je konfigurovatelnost Core, by analýzu komplikovaly, a proto jsem se rozhodl zde nakreslit čáru.
Předpokládám, že tato entita může přerušit směrování cibule, nikoli samotné šifrování Tor.

Identifikováni protivníci

  • Tor Breaker

Wasabi peněženka

Soukromé transakční vysílání

Wasabi dříve neudržoval své P2P připojení přes Tor. Vzhledem k tomu, že Wasabi je uzel, který neposlouchá, vysílání transakcí prostřednictvím jiných uzlů P2P přes síť ClearNet by umožnilo partnerovi propojit vaši IP adresu s transakcí. Proto jsme vysílali naše transakce na náš backendový server přes Tor.

Nyní jsme také začali tunelovat veškerý náš P2P provoz přes Tor:

  • Udělali jsme to tak, že se připojujeme pouze k cibulovým uzlům, takže je nyní mezi námi a našimi vrstevníky prosazováno šifrování typu end to end. To vše bez zapojení výstupního uzlu.
  • Ke každému vrstevníkovi se připojujeme prostřednictvím jiného proudu Tor.
  • To nám umožnilo nahradit náš mechanismus vysílání transakcí. Nyní vysíláme transakce pouze jednomu peerovi přes Tor a ihned poté ho odpojíme.

Soukromé vyhledávání UTXO

Nakonec jsme se dostali k zajímavé části. Před implementací P2P Tor dělal Wasabi následující:
Server typu backend sloužil všem klientům přes Tor konstantní filtrační tabulku. Z těchto filtrů mohli klienti zjistit, o které bloky se zajímají a stáhli tyto bloky a některé falešně pozitivní bloky od vrstevníků. Jeden blok na jednoho vrstevníka. Když byl blok získán, byl peer odpojen.
S tím byly dva problémy.
Co když všichni kolegové, se kterými byl Wasabi spojen, byli po dlouhou dobu stejnou entitou? Poté by útočící entita Sybil věděla, o jakých blocích má klient zájem, o nichž by bylo možné získat některé informace. Vyvstává otázka? Jak zajistíte, že jste jediný partner, ke kterému se klient připojuje po delší dobu?
Druhým problémem je, co když na vás váš ISP špionuje po delší dobu? To je věrohodnější. Ve skutečnosti bylo hodnocení soukromí Wasabi v seznamu Bitcoin.org téměř hodnoceno, aby bylo stejné jako peněženka Bread, protože to, což by samozřejmě bylo směšné, protože Bread je peněženka BIP37. To, co uložilo hodnocení, bylo, že jsem si všiml, že pokud je ISP protivník, pak by to bitcoinové jádro selhalo mnohem efektivněji, protože transakce jsou vysílány přes clearnet ai když je uzel naslouchá, jediná transakce, která nevede ' Vstoupit, ale vyjde pouze z peněženky, musí být ta, která pochází z uzlu.
Wasabi to teď dělá přes Tor. Kvůli end-to-end šifrování onionové sítě okamžitě porazí protivníka ISP a znemožňuje již tak nemožnou práci protivníka Sybil. Jak Sybil po dlouhou dobu, všechny uzly, které se připojují k Wasabi? Nebo dokonce jen jeden uzel? Klient se skrývá za Torem. Nemůžete ani svázat dohromady dvě spojení klienta, protože klient se připojuje ke všem svým Sybils prostřednictvím jiného proudu Tor.
Jediný protivník, který by to mohl překonat, by musel nastavit tisíce plných uzlů na cibuli a také rozbít Tor sám.

Identifikováni protivníci

  • ISP
  • Tor Breaker Sybil útočník s tisíci plných uzlů nad cibulkou

Peněženka Wasabi + celý uzel

Soukromé vyhledávání UTXO

Pokud máte na pozadí spuštěný naslouchající uzel (nejen bitcoinový jádro, jakýkoli plný uzel), pak jej Wasabi automaticky zvedne a místo toho, aby žádal vrstevníky o bloky, požádal o bloky z vašeho vlastního uzlu. Používání Wasabi tak vede ke stejnému modelu ochrany soukromí jako Bitcoin Core, pokud jde o Private UTXO Retrieval.

Dát to všechno dohromady

Závěr

Aby byly užitečné, měly by bezpečnostní metriky odrážet obtíže, které má protivník při jejich překonávání. - entropista

Vzhledem k tomu, že proti všem rozumným protivníkům nemá srovnání mezi bitcoinovým jádrem a peněženkou Wasabi na úrovni ochrany osobních údajů smysl, možná si myslíte, že tento článek byl ztráta času. Ale velmi se mýlíte. Tento článek mi určitě pomůže vyhrát internetové argumenty. A nakonec to není to, na čem opravdu záleží?