Wat is het paardenbloemprotocol? Volledige beginnershandleiding

Wat is het paardenbloemprotocol?

Bitcoin en andere cryptocurrencies gebruiken privacy bij beide het blockchain-niveau en de netwerklaag. Openbare blockchains zijn permanente records van digitale transacties, dus privacy-implementaties van blockchain zijn gericht op het verdoezelen van transactiegegevens en het anonimiseren van de identiteit van afzenders en ontvangers.

Privacygerichte cryptocurrencies zoals Monero en Zcoin bevatten anonimiteitsfuncties op blockchain-niveau, zoals Ring CT’s en zero-knowledge proofs om ervoor te zorgen dat transacties niet kunnen worden getraceerd. P2P / overlay-netwerkcommunicatie speelt echter ook een cruciale rol bij het anonimiseren van interacties binnen een blockchain-netwerk. Zowel Monero als Zcoin integreren privacyfuncties van de netwerklaag, zoals Tor en I2P, maar deze kenmerken gaan ook gepaard met langdurige ontwikkeling en andere nadelen.

De Paardebloem protocol is een anonimiteitsoplossing voor netwerklagen die oorspronkelijk in 2017 werd voorgesteld om de P2P-netwerkprivacy van Bitcoin te helpen verbeteren. Het oorspronkelijke voorstel werd vervolgens ontdekt om verschillende te bevatten fouten dat zou kunnen leiden tot de deanonimisering ervan in de loop van de tijd vanwege enkele idealistische aannames van potentiële tegenstanders.

Wat is het paardenbloemprotocol?

Uiteindelijk werd in mei eerder dit jaar een verbeterde versie van het Dandelion Protocol voorgesteld Paardebloem++. Dandelion ++ lost de zorgen met het originele protocol op en is al geïmplementeerd door het onderzoeksteam met een positieve reactie van de ontwikkelingsteams van Bitcoin. Dandelion ++ lijkt klaar om te worden opgenomen in een aanstaande Bitcoin Core-release.

Wat is paardenbloem++?

Dandelion ++ is een lichtgewicht en ongecompliceerde netwerklaagoplossing met formeel gegarandeerde anonimiteit die eenvoudig kan worden geïmplementeerd met bestaande cryptocurrencies. Het verbetert expliciet de idealistische aannames van het originele Dandelion-voorstel en verschilt van de meeste anonimiteitsprotocollen voor uitzendcommunicatie in zijn benadering van gebruiksdoelen en analysemetrieken.

Om beter te begrijpen hoe Dandelion ++ werkt, is het essentieel om te focussen op hoe transacties worden uitgezonden in Bitcoin en hoe het originele Dandelion-protocol werkte. In Bitcoin, wanneer een gebruiker een transactie vanaf een knooppunt uitzendt, wordt deze doorgegeven aan de knooppunten die zijn verbonden met dat specifieke knooppunt dat bekend staat als zijn peers. Het transactiebericht wordt vervolgens verspreid in een kettingreactie waarbij elk knooppunt het bericht verder verspreidt naar knooppunten waarmee ze zijn verbonden. Dit wordt het roddelprotocol van Bitcoin genoemd en is hoe transacties de meeste knooppunten in het netwerk zeer snel kunnen bereiken.

Bitcoin implementeert nu een vorm van uitzending die bekend staat als diffusie, waarbij elk knooppunt transacties met exponentiële en onafhankelijke vertragingen naar zijn buren verspreidt om de deanonimisering van het IP-adres van een gebruiker te beperken. Hoewel effectief, heeft diffusie kort geleden in verschillende onderzoeken is bewezen dat het geen adequate anonimiteitsbescherming biedt.

De oorsprong van een transactiebericht en zijn IP-adres (dat niet is opgenomen in een Bitcoin-transactiebericht) kan in kaart worden gebracht door externe waarnemers als ze controle over voldoende knooppunten of gebruik een supernode die is verbonden met een aanzienlijk aantal knooppunten. Ze kunnen het oorspronkelijke adres effectief in kaart brengen door te observeren welke knooppunten de transactie het eerst zien. De paardebloem++ papier geeft expliciet aan hoe een onderzoek dat een supernode gebruikte, het doorgestuurde verkeer van alle P2P-knooppunten registreerde en de patronen van de transactie in de loop van de tijd observeerde om uiteindelijk het bron-IP-adres af te leiden. Door het IP-adres te koppelen aan het pseudoniem van de afzender, kan een derde partij gebruikers deanonimiseren en verdere transacties koppelen, zelfs als voor elke transactie een nieuwe openbare sleutel wordt gebruikt.

Paardebloem werd aanvankelijk voorgesteld om deze kwetsbaarheden te verminderen, maar vertrouwde op theoretische garanties die in de praktijk niet stand hielden. Het oorspronkelijke voorstel van Dandelion maakte 3 geïdealiseerde veronderstellingen:

  • Alle knooppunten volgen het protocol
  • Elk knooppunt genereert precies één transactie
  • Alle Bitcoin-knooppunten draaien op Dandelion

Deze aannames werkten duidelijk niet in de praktijk en daarom probeerde Dandelion ++ ze aan te pakken. Het originele Dandelion-protocol werkt in 2 fasen:

  1. Stamfase
  2. Pluisfase

De stamfase is de anonieme fase waarin het protocol is ontworpen om de mogelijkheid te verkleinen om terug te koppelen naar het IP-adres van het oorspronkelijke knooppunt. In de stamfase, in plaats van dat een knooppunt een transactie uitzendt naar al zijn verbonden peers, stuurt het het transactiebericht via een privacygrafiek door naar een enkele willekeurige peer op basis van een algoritme. Vervolgens verzendt dat knooppunt alleen het transactiebericht naar een andere enkele peer, en het patroon gaat door totdat uiteindelijk (en willekeurig) een van de knooppunten het bericht in het typische verspreidingsformaat naar de rest van het netwerk uitzendt..

Dit is waar de pluisfase begint. Zodra een enkel knooppunt het bericht uitzendt met behulp van de diffusiemethode, wordt het transactiebericht snel doorgestuurd naar de meeste knooppunten in het netwerk. Het wordt echter veel moeilijker om terug te traceren naar het oorspronkelijke knooppunt, aangezien het transactiebericht naar veel individuele knooppunten werd overgebracht via een privacygrafiek voordat het werd verspreid op een manier die een waarnemer in staat zou stellen het naar een enkel knooppunt te mappen. In plaats daarvan kon een waarnemer de spreiding van transacties alleen terug in kaart brengen naar de verschillende knooppunten waar het bericht werd overgedragen in de stamfase, waardoor de werkelijke identiteit van de afzender door elkaar werd gehaald. In feite is dit abstract vergelijkbaar met hoe een ringsignatuur de daadwerkelijke ondertekenaar van een transactie verdoezelt.

Image Credit – Giulia Fanti’s presentatie in Lissabon

De Zcoin blog biedt een uitstekend voorbeeld van hoe het Dandelion-protocol werkt door middel van typische roddels op de middelbare school:

* STAM FASE *

  • Kathy: “Pssst, ik ben enorm verliefd op Nuwa. Vertel het aan niemand “
  • George: “OMG, wist je wat Kathy me vertelde? Ze is enorm verliefd op Nuwa. Ik heb je alleen verteld, vertel het alsjeblieft aan niemand “
  • Alice: “Betty, je zult niet geloven wat Kathy’s beste vriend, George vertelde me net, Kathy verplettert Nuwa! Je bent mijn beste vriend, dus ik zei het je alleen, vertel het alsjeblieft aan niemand oké! “

* BEGIN FLUFF FASE *

  • Blabbermouth Betty: “Oh wauw heet nieuws … ik heb uit goede bronnen dat Kathy een enorme verliefdheid op Nuwa is … Vertel alsjeblieft tegen iedereen dat dit zo opwindend is!”

De belangrijkste problemen met het oorspronkelijke Dandelion-protocol komen voort uit de onderschatting van specifieke soorten tegenstanders vanwege aannames van hun beperkte kennis. Dandelion ++ richt zich met name op het maken van subtiele wijzigingen in de implementatiekeuzes van Dandelion, zoals de grafiektopologie en mechanismen voor het doorsturen van berichten.

Als gevolg hiervan vergroten deze kleine wijzigingen in het algoritme exponentieel de probleemtoestandsruimte voor anonimiteitsanalyse. Dandelion ++ vertrouwt op het vergroten van de hoeveelheid informatie die tegenstanders moeten leren om gebruikers te deanonimiseren.

Dandelion ++ verschilt opmerkelijk van Dandelion in zijn stamfase, waar het transacties doorgeeft via verweven paden die bekend staan ​​als kabels voordat het transactiebericht naar het netwerk wordt verspreid. De kabels kunnen gefragmenteerd zijn, maar de intuïtie bij het selecteren van een knooppunt om naartoe te verspreiden is nog steeds beperkt tot de lokale omgeving. Dit is een belangrijke overweging bij het vergelijken van anonimiteitsoplossingen op netwerkniveau, zoals Tor, een ui-routeringsprotocol waarbij klanten globale, actuele netwerkinformatie nodig hebben om transactiepaden te bepalen..

Image Credit – Dandelion ++ Academic Paper

Zowel Dandelion als Dandelion ++ verlopen in asynchrone cycli. Elk knooppunt gaat vooruit wanneer zijn interne klok een bepaalde drempel bereikt. Voor elke periode functioneert Dandelion ++ in 4 primaire componenten met kleine optimalisaties:

  1. Anonimiteitsgrafiek
  2. Transaction Forwarding (eigen)
  3. Transactie doorsturen (relay)
  4. Faalveilig mechanisme

Anonimiteitsgrafiek gebruikt een willekeurige 4-reguliere grafiek in plaats van een lineaire grafiek voor de anonimiteitsfase. De keuze van Dandelion ++ relais door knooppunten is onafhankelijk van het feit of hun uitgaande buren Dandelion ondersteunen of niet++.

Transaction Forwarding (eigen) is wanneer elke keer dat een knooppunt een eigen transactie genereert, het de transactie doorstuurt langs dezelfde uitgaande rand in de 4-reguliere grafiek. Dit verschilt van een van de problematische aannames in Dandelion, waarbij wordt aangenomen dat knooppunten slechts één transactie genereren.

Transaction Forwarding (relay) is het moment van waarschijnlijkheid in de stamfase waar een knooppunt een stamtransactie ontvangt en ervoor kiest om de transactie door te geven of deze naar het netwerk te verspreiden. De keuze om transacties naar het netwerk te verspreiden is pseudo-willekeurig. Verder is een knooppunt ofwel een diffusor ofwel een relaisknooppunt voor alle doorgegeven transacties.

Fail-Safe Mechanism is waar voor elke stamfase-transactie, elk knooppunt bijhoudt of het opnieuw wordt gezien als een fluff-fase-transactie. Als dit niet het geval is, verspreidt het knooppunt de transactie.

De kleine aanpassingen aan het algoritme in deze fasen maken het drastisch moeilijker om IP-adressen in kaart te brengen door de verspreiding van transactieberichten te observeren. Het Dandelion ++ paper gaat verder met het identificeren van specifieke aanvallen die kunnen worden gebruikt tegen het originele Dandelion-protocol, waaronder aanvallen met het leren van grafieken, aanvallen op kruispunten, aanvallen op het maken van grafieken en aanvallen op zwarte gaten. Met elke aanvalsvector laten ze zien hoe Dandelion ++ ze verzacht met theoretische analyse en simulaties.

Dandelion ++ verhoogt de netwerklatentie niet significant, en de praktische haalbaarheid werd aangetoond op het mainnet van Bitcoin. Het biedt een lichtgewicht en effectief anonimiteitstool voor netwerklagen om de mogelijkheid te verminderen om aanvallen in kaart te brengen om gebruikers te deanonimiseren. Ondanks de voordelen biedt Dandelion ++ niet expliciet bescherming tegen ISP- of AS-level tegenstanders die routingaanvallen kunnen gebruiken om gebruikers te deanonimiseren.

Dandelion ++ en Tor vergelijken

Dandelion ++ heeft een aantal opmerkelijke voordelen ten opzichte van andere implementaties van netwerk-anonimiteit, zoals Tor. Tor is de meest prominente netwerkoverlay-laag gericht op privacy en gebruikt ui-routing om de geografische locatie en IP-adressen van gebruikers te verbergen.

Tor’s integratie op het netwerkstackniveau van cryptocurrency-systemen is buitengewoon uitdagend. Monero is hier een uitstekend voorbeeld van, aangezien het meer dan vier jaar heeft geduurd om zijn Tor-achtige I2P te implementeren Kovri project in hun netwerk en het is nog steeds een werk in uitvoering. Veel cryptocurrency-netwerken hebben niet de tijd of de technische expertise om dit soort functionaliteit te integreren.

Gebruikers die hun transacties via Tor routeren, is ook niet bijzonder haalbaar voor reguliere Bitcoin-gebruikers die ofwel niet op de hoogte zijn van de privacyproblemen van het netwerk of niet de ervaring hebben om transacties correct via Tor te routeren. Verder kan Tor traag zijn vanwege de beperkte bandbreedte in vergelijking met Dandelion++.

Hetzelfde studie dat enkele deanonimiserende zorgen over diffusie-uitzendingen in Bitcoin identificeerde, benadrukt ook aanvallen op knooppunten waar ze Tor-verbindingen afwijzen of op de zwarte lijst zetten. Dit kan leiden tot het deanonimiseren van transacties en het in kaart brengen van IP-adressen van gebruikers.

Gevolgtrekking

Dandelion ++ is een nuttige verbetering ten opzichte van het originele Dandelion-protocol. De uiteindelijke integratie ervan in een aanstaande Bitcoin Core-release lijkt waarschijnlijk en zou aanzienlijke verbeteringen moeten opleveren in de P2P-netwerkprivacy van Bitcoin. Aanvalsvectoren van cryptocurrencies blijven evolueren, en dat geldt ook voor de oplossingen ervoor. Dandelion ++ vertegenwoordigt een nieuwe stap voorwaarts in het beschermen van de gebruiker privacy in Bitcoin.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me