Kuinka Dandelion++ pitää Moneron tapahtuman alkuperän yksityisenä

Julkaistu:
By Diego Salazar

Yksityisyys etusijalla

Kryptovaluuttana Monero saattaa tuntua paljain silmin erittäin tylsältä. Sillä ei ole suurta väitettä kuuluisuuteen, kuten "maailmantietokone" tai "vallankumouksellinen xyz-teollisuus". Se yrittää vain olla yksityinen, digitaalinen, vaihdettava raha, ja jokainen päivitys ja uusi teknologia vain edistävät tätä tavoitetta.

Ne, jotka pitävät tätä tavoitetta liian kapeana tai epäkiinnostavana, eivät yleensä ymmärrä kuinka vaikeaa on saavuttaa merkityksellistä yksityisyyttä, etenkään pysyvällä, avoimella kirjanpidolla, kuten lohkoketjulla. Mikä tahansa keino metatietojen vuotamiseen voi heikentää yksityisyyttä.

Monero ryhtyy varotoimiin sekoittaakseen ketjun tietoja, kuten vastaanottajan, lähettäjän ja summat, salaavien osoitteiden, sormusallekirjoitusten ja Pedersenin sitoumusten avulla. Tämä minimoi sen mahdollisuuden, että satunnainen tarkkailija päättelee tärkeitä tietoja sen jälkeen, kun transaktiot on jo lähetetty, ja ne ovat nyt vain osa tallennettua historiaa. On kuitenkin olemassa joitain hyökkäyksiä, jotka voidaan tehdä tapahtuman aikana ja joita ei voida suorittaa milloin tahansa myöhemmin.


Hyökkäys IP-osoitteen paljastamiseksi

Nämä hyökkäykset keskittyvät tunnistamaan, mistä IP-osoitteesta tapahtuma tuli. Jos nämä tiedot päätellään, se voi paljastaa, että henkilö on lähettänyt Monero-transaktion. Se ei pysty näyttämään kenelle ja kuinka paljon, mutta joissain tapauksissa Moneroa käyttävän henkilön tieto riittää aiheuttamaan vahinkoa.

Hyvä uutinen on, että jos näitä tietoja ei kerätä tapahtuman hetkellä, sitä ei voida oppia myöhemmin, koska IP-osoitteita ei tallenneta lohkoketjuun. On myös lohduttavaa tietää, että tällaista hyökkäystä tuskin nähdään luonnossa, koska hyökkääjä tarvitsee suurimman osan verkon solmuista päästäkseen sen irti. Jos henkilö kuitenkin pystyisi hallitsemaan tätä suurta enemmistöä, hän pystyisi tunnistamaan, mistä "suunnasta" liiketoimi tuli.

Tämä voi olla hämmentävää, joten selitämme tässä joitain taustatietoja. Jokainen solmu muodostaa yhteyden muihin verkon solmuihin, jotta ne voivat pitää lohkoketjunsa ajan tasalla ja jakaa tietämänsä muiden kanssa. Näiden yhteyksien avulla he voivat oppia uusista tapahtumista, levittää niitä ja lähettää omia. Koska solmu voi kertoa kollegoilleen vain niistä tapahtumista, joista he tietävät, on selvää, että ensimmäinen solmu, joka välittää tapahtuman, on solmu, joka todella lähettää Moneron.

Jos hyökkääjä omistaa suuren enemmistön verkon solmuista, kukin solmu kuulee tapahtumasta joltain vertaisjäsenistään, ja sen ajoituksen perusteella, jolloin kukin solmu vastaanottaa nämä tiedot, he voivat päätellä todennäköisiä ehdokkaita tapahtuman alkamispaikalle.

Jos tämä on edelleen hämmentävää, tarjoamme tämän esimerkin. Oletetaan, että meillä molemmilla on yhteinen ystävä, joka piiloutuu näkökentästämme. Tämä ystävä huutaa äänekkäästi. Kuulen hänen kutsunsa ensin, ja kuulen sen kovemmin kuin sinä. Näiden tietojen perusteella voimme tietää, että olen todennäköisesti lähempänä ystäväämme kuin sinä. Se, että kuulet äänen myöhemmin (jopa vain sekunnin murto-osan verran) ja ääni on himmeämpi, tarkoittaa, että meidän pitäisi aloittaa etsintä omalta alueeltani, ei sinun.

Jos hyökkääjä pystyy onnistuneesti arvaamaan, kuka hänen vertaisistaan lähetti tapahtuman, koska heillä on IP-osoite, joka on liitetty solmuun ja välittänyt sen hänelle, hän voi olla varma sen lähettäneestä IP-osoitteesta. Tämä on tehokasta tietoa, sillä IP-osoitteet sisältävät tietoa käyttäjän maasta ja Internet-palveluntarjoajasta (ISP), ja Internet-palveluntarjoaja itse tietää, mikä käyttäjä on linkitetty mihin tahansa IP-osoitteeseen, mikä deanonymisoi Monero-käyttäjän.

Lievennykset

Yksi mahdollinen lievennys tälle hyökkäykselle on peittoverkon, kuten Tor tai I2P, käyttö. Tällä on suojaava vaikutus, että vaikka hyökkääjä voisi päätellä lähteen IP-osoitteen, se ei todennäköisesti ole se, joka teki tapahtuman, vaan peittoverkon outproxy (I2P) tai poistumissolmu (Tor). Tämä ei kuitenkaan ole kaiken kattava ratkaisu, koska peittoverkot, VPN:t ja vastaavat ohjelmistot ovat kiellettyjä monissa maissa, ja on epärealistista odottaa kaikkien käyttävän, synkronoivan ja levittävän näitä verkkoja. Tarvitaan ratkaisu, joka ei vaadi ulkoisten ohjelmistojen ja verkkojen käyttöä, vaan on tavallisen ihmisen saatavilla.

Tämä ratkaisu on Dandelion++ (DPP), joka on päivitetty protokolla alkuperäiseen Dandelion-ehdotukseen Bitcoinille. Tässä protokollassa on kaksi vaihetta, varsivaihe ja "fluff"vaihe; molempien yhdessä oletetaan edustavan voikukan muotoa.

Varsivaiheessa lähettävä solmu valitsee muutaman minuutin välein satunnaisesti kaksi vertaista kaikista solmuista, joihin se on yhteydessä. Kun lähettävä solmu lähettää tapahtuman, joko omasta puolestaan tai vain välittäen tapahtuman toisesta solmusta varsivaiheessa, se valitsee satunnaisesti toisen näistä kahdesta valitusta vertaisryhmästä ja lähettää tapahtuman sille.

Fluff-vaihe on, kun solmu vastaanottaa tapahtuman ja lähettää sen jokaiselle lähtevälle yhteydelle, ei vain yhdelle satunnaisesti valitulle, tämä mahdollistaa tapahtuman todellisen etenemisen. Muutaman minuutin välein solmu määrittelee itsensä sellaiseksi, joka etenee joko varren tai fluffin kautta satunnaisesti, joten varsivaihe voi olla melko pitkä, jos jokainen yhdistävä solmu on määritellyt itsensä varsisolmuksi, mutta kun tapahtuma osuu fluff-vaiheeseen, se pysyy siellä.

Tämä tarkoittaa, että hyökkääjä ei voi enää yksinkertaisesti kuunnella tapahtuman suuntaa, koska ennen kuin se levisi kaikille, se kävi läpi varsivaiheen ja fluff-vaiheen. Lähtösolmu ei ole se solmu, josta tapahtuma on peräisin ja ei ole tiedossa, kuinka monta hyppyä varren matkalla transaktiossa tapahtui.

Tietenkin yllä olevien ratkaisujen (DPP ja peittoverkko) yhdistäminen antaa entistä vahvemmat takeet yksityisyydestä ja suojasta IP-jäljittämistä vastaan. On myös huomattava, että DPP ei puolusta muita verkon jäljityshyökkäysten muotoja, jotka voidaan tehdä Internet-palveluntarjoajien kanssa, mutta tämä ei kuulu tämän artikkelin piiriin.

Dandelion++ on asetettu julkaisuun Monero-verkossa ja sitä käytetään oletusarvoisesti referenssiasiakkaassa 0.16-julkaisussa. Tämä pieni muutos lieventää entisestään Monero-verkkoon kohdistuvia mahdollisia hyökkäyksiä ja on esimerkki siitä, miksi Monero johtaa käytännöllisiä, sovellettavia tietosuojateknologioita.

Lue lisää