Bitcoin Core vs Wasabi Wallet - Privatlivsniveau

Bitcoin Core, mere specifikt, fulde noder betragtes som højdepunktet i netværksniveau privatliv i Bitcoin tegnebøger, som ingen anden tegnebogstype kan komme tæt på. Det er ikke svært at se hvorfor: fulde noder downloader hele Blockchain og etablerer dine tegnebogsbalancer lokalt, så der er nul-chance for, at tredjepart finder ud af, hvilke adresser der er i din tegnebog, og hvilke adresser der ikke er.
Sammenlign dette med andre lette tegnebøger, der spørger efter en backend-server for at få oplysninger om specifikke adresser eller bruge BIP37 blomstringsfiltrering SPV-tegnebogsprotokol, hvilket sandsynligvis er endnu værre. Og der er Electrum, der sender dine adresser til tilfældige Electrum-servere.

Visionen om en lys tegnebog, der ikke lækker for meget information under etablering af brugerens UTXO-sæt, havde hjemsøgt Bitcoin-udviklere i århundreder.
Selv BIP37 startede faktisk som en forbedring af privatlivets fred, det viste sig bare ikke at være en senere.
Men der var anstændige forsøg: Nogle udviklere, som Jonas Schnelli, Stratis-teamet og jeg selv byggede tegnebogssoftware, der kun downloadede blokke fra oprettelsen af ​​brugerens tegnebog.
Nogle devs, som Nicolas Dorier, forsøgte at lappe BIP37 og nogle andre, ligesom fyrene på Lightning Labs kom med en helt ny lys tegnebogarkitektur: BIP157-158.
MoneroWorld-folkene ønsker, at du delegerer at køre din node til skyen.
Der var også andre, som Chris Belcher, der sagde: “fuck that” og skabte EPS, der giver dig mulighed for at forbinde din Electrum-klient til din fulde knude.
Endelig har jeg bemærket en positiv tendens for nylig for virksomheder, der sælger kasser, de vil køre en fuld knude for dig ud af kassen.

Og så er der Wasabi Wallet, som er en BIP157-ish klientside, der filtrerer lys tegnebog og delvis integrerer i din fulde knude. Hvilket bringer mig til emnet i denne artikel: For blot få timer siden opnåede vi med Wasabi Wallet det bedste privatlivsniveau, der er muligt med dagens Bitcoin.

Terminologi

V. Står til verifikation eller validering. De bruges om hverandre, men jeg er temmelig sikker på, at en af ​​dem er korrekt. Veridation?

FN, fuld knude, fuldt bekræftende knude. Downloader og verificerer alle de Bitcoin-blokke, der nogensinde er oprettet, men til vores formål (fortrolighed) er det kun den downloadede del, der betyder noget.
SPV-knude, forenklet betalingsverifikationsnode. Synkroniserer kun overskriftskæden (uanset hvad det er) og kan bekræfte, at du har en transaktion ved at anvende en vis markle magi. Intet af dette betyder dog noget for os. Det vigtige er at bemærke, at SPV ikke har noget at gøre med privatlivets fred, det er virkelig bare en måde at sikre, at der er sket transaktioner.
Som udvidelse har heller ikke en fuld knude noget at gøre med privatlivets fred. Det er bare at beskrive, hvordan noden sørger for, at der er sket transaktioner. Det verificerer hele blockchain, selvfølgelig for at gøre det, er det nødt til at downloade hele blockchain, som muliggør hentning af tegnebog UTXO lokalt, hvilket er den mest private måde at gøre det på. Vent, så har det trods alt noget at gøre med privatlivets fred?
Full-SPV, Full-Block SPV, Full Block Downloading SPV-knude. Downloader alle blokke fra oprettelsen af ​​tegnebogen og gør SPV-verifikation på dem. Vent, fordoblet jeg bare V-ordet der? Ja, udviklere er dette inkonsekvente. Jeg håber også, at ingen nogensinde vil opbygge en full-SPV-tegnebog, der downloader alle blokke, men gør centraliseret validering, fordi det er umuligt at komme med en ordentlig betegnelse for det.

Forvirret endnu? Godt. Nu, hvor du anerkendte emnets nuancerede karakter, vil du være mere tilgivende for mig, men smadrer resten af ​​dette afsnit med store overforenklinger:

Hybrid fuld knudepunkt. Er en let knude, indtil den fulde knude synkroniseres. Jeg vil have, at Wasabi skal være sådan en tegnebog i fremtiden.
BIP37. Klient sender blomstringsfilter til fulde noder, fulde noder sender data tilbage, der matcher blomstringsfilteret.
Blomstfilter. Lader dig teste, om et element er i et sæt uden at afsløre selve sættet.
Golomb-ris-filtre. Mindre blomsterfiltre, brugt af BIP158.
Klientsidefiltrering, Neutrino-filtrering, BIP157, BIP158. Ideen om, at klienter ikke behøver at sende filtre til fulde noder, men snarere gør det modsatte: fulde noder opretter filtre og sender dem til klienter i stedet. Herfra kan klienter downloade blokke fra andre kilder. Det er en anstændig privat måde at etablere UTXO-tegnebogstat på.
Neutrino. Lightning Labs implementering af klientsidefiltreringsprotokollen.
Hvad Wasabi laver. Vores implementering af klientsidefiltreringsprotokollen.

Zoom ud

Det er værd at påpege, at privatlivets fred privatliv kun er halvdelen af ​​slaget. Den anden halvdel er privatlivets blockchain-niveau, som er uden for denne artikels rækkevidde.

Desuden består netværksniveau privatliv af to underkategorier:

  1. Privat hentning af UTXO
  2. Privat transaktion Broadcasting

Bitcoin Core

Privat hentning af UTXO

Bitcoin Core henter alle de blokke, der nogensinde er oprettet, og etablerer dine tegnebogsbalancer lokalt.

Privat transaktion Broadcasting

Bitcoin Core sender transaktioner til andre kammerater på clearnet, ukrypteret.
Andre peers kan ikke finde ud af, hvilken transaktion der stammer fra en bestemt knude, fordi Core ikke kun sender sine egne transaktioner, men også formerer hver anden transaktion, der rammer dens mempool.
Nogle papirer bemærker dog, at det ikke er skudsikker:

Bitcoin-transaktionsudbredelse skjuler ikke kilden til en transaktion meget godt, især mod en "supernode" -aflytter, der danner et stort antal udgående forbindelser til nåbare knudepunkter på netværket [1,2,3].

Selvom jeg i praksis har mistanke om, at det ikke betyder meget, har denne artikel til hensigt at undersøge detaljerne for at sammenligne Core med Wasabi, og derfor begynder jeg at indsamle de relevante identificerede modstandere herfra:

Modstandere identificeret

  • Ondsindet Peer
  • Supernode

Bitcoin Core + Tor

Du kan bruge Bitcoin Core med Tor, der løser ovennævnte problem. I dette tilfælde kan en supernode ikke spore transaktioner tilbage til din IP-adresse.

Jeg vil overveje enhver enhed, der kan bryde Tor, en universel modstander. Bemærk dog, at dette er unøjagtigt. For eksempel er de fleste Tor-angreb ikke mulige, hvis exit-knudepunkter ikke er involveret. Dette og andre ting som Core's konfigurationsevne ville overkomplicere analysen, så det er derfor jeg vælger at trække linjen her.
Jeg antager, at denne enhed kan bryde løgdirigering, ikke Tor's kryptering i sig selv.

Modstandere identificeret

  • Tor Breaker

Wasabi tegnebog

Privat transaktion Broadcasting

Wasabi opretholdt tidligere ikke sine P2P-forbindelser over Tor. Da Wasabi er en ikke-lytterende knude, ville transmission af transaktioner via andre P2P-noder over clearnet have lader peeren til at linke din IP-adresse til transaktionen. Derfor sendte vi vores transaktioner til vores backend-server over Tor.

Nu begyndte vi også at tunnelere al vores P2P-trafik gennem Tor:

  • Vi gjorde det på en måde, som vi kun forbinder til løgknudepunkter, så kryptering af ende til ende nu håndhæves mellem os og vores kolleger. Alt dette uden at involvere nogen exit-knude.
  • Vi opretter forbindelse til hver peer gennem en anden Tor-strøm.
  • Dette gjorde det muligt for os at erstatte vores transaktionsudsendelsesmekanisme. Nu sender vi transaktioner til kun en peer over Tor og straks derefter afbryder vi peer.

Privat hentning af UTXO

Endelig ankom vi til den interessante del. Før P2P Tor-implementeringen lavede Wasabi følgende:
Backend-serveren serverede en konstant filtertabel til alle klienter over Tor. Fra disse filtre kunne klienterne finde ud af, hvilke blokke de er interesseret i og downloadet disse blokke og nogle falsk-positive blokke fra kammerater. En blok pr. Da en blok blev erhvervet, blev peer-forbindelsen afbrudt.
Der var to problemer med dette.
Hvad hvis alle de peers, som Wasabi har tilknyttet, var den samme enhed i en længere periode? Derefter ville den Sybil-angribende enhed kende alle de blokke, en klient er interesseret i, og som nogle oplysninger kunne fås. Spørgsmålet opstår? Hvordan sikrer du dig, at du er den eneste peer, som en klient opretter forbindelse til i en længere periode?
Det andet problem er, hvad nu hvis din internetudbyder spionerer efter dig i en længere periode? Dette er mere sandsynligt. Faktisk blev Wasabis privatlivsbedømmelse på Bitcoin.org-listen næsten bedømt til at være den samme som Brød-tegnebog, på grund af dette, hvilket naturligvis ville have været latterligt, da Brød er en BIP37-tegnebog. Det, der reddede vurderingen, var, at jeg bemærkede, at hvis ISP er en modstander, ville Bitcoin Core have fejlet det på en mere spektakulær måde, da transaktioner sendes via clearnet, og selvom noden lytter, er den eneste transaktion der ikke ' t kommer ind, men kun går ud af tegnebogen skal være den, der stammer fra noden.
Uanset hvad, Wasabi gør dette over Tor nu. På grund af ende-til-ende-kryptering af løgnetværket besejrer det straks en ISP-modstander og gør Sybil-modstanderens allerede umulige job endnu mere umulig. Hvordan kan Sybil i en længere periode, alle de noder, der forbinder Wasabi? Eller endda kun en knude? Klienten gemmer sig bag Tor. Du kan ikke engang binde to forbindelser af klienten sammen, da klienten opretter forbindelse til alle dine Sybils gennem en anden Tor-strøm.
Den eneste modstander, der muligvis kunne overvinde dette, ville være nødt til at opsætte tusinder af fulde knuder over løg og også bryde Tor selv.

Modstandere identificeret

  • ISP
  • Tor Breaker Sybil Attacker med tusinder af fulde knuder over løg

Wasabi Wallet + Fuld knudepunkt

Privat hentning af UTXO

Hvis du har en lytterende fuld knude, der kører i baggrunden (ikke kun Bitcoin Core, enhver fuld knudepunkt), afhenter Wasabi det automatisk, og i stedet for at bede kolleger om blokke, beder det blokke fra din egen knude. Brug af Wasabi på denne måde resulterer i den samme privatlivsmodel som Bitcoin Core's vedrørende privat UTXO-hentning.

Samler det hele

Konklusion

For at være nyttige skal sikkerhedsmæssige beregninger afspejle den vanskelighed, en modstander har ved at overvinde dem. - entropist

Fordi imod alle rimelige modstandere giver en sammenligning mellem Bitcoin Core og Wasabi Wallet på privatlivsniveau ikke mening, at du måske synes, at denne artikel var spild af tid. Men du tager meget fejl. Denne artikel vil helt sikkert hjælpe mig med at vinde internet-argumenter. Og til sidst er det ikke det, der virkelig betyder noget?