Aj keď by sme mali byť my tí, ktorí majú naše digitálne dáta pod kontrolou, v skutočnosti tomu tak veľakrát nie je. Kto napríklad pozná základy browser fingerprintingu a cookies, tak vie, že kúsky našich dát sú skrátka všade a môžu ich zbierať a trejdovať všelijaké spoločnosti, aby mohli vykonávať predikcie toho čo kde nakúpime, posielať nám tak personalizované reklamy a pod.
Naše unikajúce dáta priamo umožňujú firmám získať si potrebné info o svojich zákazníkoch, lepšie targetovať reklamu a navýšiť tak ich zisky. Asi každý z nás by chcel mať za takúto činnosť ideálne zaplatené a nerobiť to zadarmo, no jedinou možnosťou ako to nerobiť “zdarma” je mať svoje dáta plne pod kontrolou.
Nuž, či už sa to niekomu páči alebo nie, naším verným priateľom v „kontrole nad vlastnými dátami“ je v prvom rade súkromie, alebo anonymita. Ak sme skutočne anonymní a niekto chce k naším dátam získať prístup, musí nás pekne požiadať o povolenie. A je pritom úplne jedno, či je to povolenie na fingerprinting, reklamy, Big data, finančné sledovanie alebo čokoľvek iné.
Internet, cookies a fingerprinting určite nie sú všetko. Transakčná anonymita nepochybne súvisí s anonymitou internetovou, keďže korporácie kvôli personalizovaným reklamám a targetovaniu zákazníkov zbierajú a predávajú aj naše transakčné dáta. Kľúčovú rolu pri tom hrajú štátne meny a online transakcie. Cieľom tohto všetkého nie je nič iné než zbohatnúť na našej pozornosti a získať nad nami kontrolu bez toho, aby sme si to vôbec všimli.
Mimo iné, tento systém je extrémne zraniteľný.
Predstavme si napr. zlosucha, ktorý sa chce zmocniť našej karty. Stačí pritom, aby vygeneroval náhodné čísla kariet, dátumov platnosti a CVV kódov (kód na zadnej strane karty).
Následne zloduch vyskúša svoje kombinácie na viacerých online platobných službách. Keďže rôzne webové stránky požadujú na vypĺňanie políčok s platobnými údajmi rôzne údaje, je pre zloducha jednoduchšie použiť vylučovací proces na nájdenie každého čísla jednotlivo, než dúfať, že sa mu podarí naraz na jednom webe. Väčšinou existujú celkom tri úrovne dátových setov používaných internetovými obchodníkmi: Číslo karty + dátum platnosti; číslo karty + dátum platnosti + CVV; číslo karty + dátum platnosti + CVV + adresa.
Bombardovanie stránok viacerých predajcov taktiež zloduchovi umožňuje vyhnúť sa limitovaným pokusom o nákup na jednotlivých stránkach a predísť spusteniu opatrení na ochranu pred podvodmi.
Po spustení hackerského útoku s aktívnym číslom karty stačí zloduchovi na uhádnutie údajov šokujúco málo pokusov. Väčšina kariet je platná 60 mesiacov, takže uhádnutie dátumu platnosti si vyžaduje maximálne 60 pokusov.
CVV je podľa výskumov o niečo ťažšie nájsť, ale nie o veľa; štúdia IEEE z roku 2016 uhádnutie CVV napríklad odhaduje na 1000 pokusov.
Mimo iné, banky sú tiež tak trochu zlodusi, keďže cez viaceré bezpečnostné systémy vyhodnocujú na aké účty sú platby posielané, v akých časoch či z akého zariadenia. Ak banka zistí alebo má podozrenie, na neoprávnenú transakciu, kontaktuje klienta a preveruje, či transakciu urobil on. A je vhodné zmieniť, že niečo také sa nedeje iba na bankových účtoch, či pri skutočne “podozrivých” transakciách. Finančné inštitúcie skrátka podliehajú mnohým nariadeniam, ktoré ich zaväzujú k neustálej kontrole a preverovaniu súm a identít.
Samozrejme, ak nedostaneme zaplatené za ponúkanie našich dát korporáciám, vykradne nás nejaký zloduch, alebo nám banka zavrie účet, tak sa nemusí jednať o nič neznesiteľne dystopické. Či? Možno áno, možno nie. Poiaľ naše dáta nemáme pod kontrolou my, môže ich mať pod kontrolou hocikto. Hocikto si ich môže získať a môže ich hocikomu predať. Veci ako sú dáta veľmi rýchlo menia svojho vlastníka a ich vlastníci môžu mať veľmi odlišné úmysly (obzvlášť vlády čínskeho typu vedia byť s dátami veľmi vynaliezavé). A práve preto je anonymita ako taká kľúčovým prvkom pre naše bezpečie.
Internetovej anonymite a bezpečiu sme sa však už povenovali v článkoch o cookies. Poďme sa tentokrát pozrieť na úlohy anonymity a súkromia vo svete financií. Všetci vieme, že štátne meny a bankové karty sú jednoznačnou cestou do sledovacieho pekla plného zloduchov, ale vedia nám pri tom pomôcť kryptomeny? Je riešením Bitcoin, alebo existuje aj lepšia alternatíva? Poďme sa teda pozrieť na kryptomenovú anonymitu a konkrétne na Monero, nejpopulárnejšiu anonymnú kryptomenu.
Pseudonymita a Bitcoin
Keď sa vo svete objavili prvé správy o Bitcoine, obrovské množstvo bitcoinového hypeu sa vtedy nieslo v duchu “Bitcoin je úžasná pseudonymná mena”, kde nie je zapojená žiadna tretia strana a kde sme si všetci sami sebe bankou. Žiaľ, pravda je taká, že Bitcoin je veľmi ľahko vystopovateľný.
Jedinou možnosťou, akou môžete poslať vaše bitcoiny druhému človeku je doslova poukázať na predchádzajúcu transkaciu v bitcoinovom bloku. Všetky transakcie v bloku jedna po druhej “poukazujú” na predchádzajúcu transakciu až po tzv. Coinbase transakciu (prvú transakciu v bloku). Coinbase transakcia je transakcia, ktorú môže vykonať iba miner Bitcoinu, ktorý získa Bitcoiny ako odmenu za to, že vyťažil nejaký blok (jedná sa o bitcoiny vytvorené “z ničoho” a releasnuté do bitcoinovej siete).
(Ak je niekto úplný bitcoinový začiatočník, tak by mal vedieť, že presne takto mimochodom funguje celý algoritmus Proof-of-Work, na ktorom beží ako Bitcoin, tak aj Monero. Mineri minujú svojimi mašinami, dostávajú za to odmeny v podobe nových Bitcoinov a na pozadí toho všetkého si ľudia posielajú transakcie.)
Kždá transakcia v Bitcoine je dohľadateľná cez blockchain explorer.
Jednoduché nie? Asi áno, akurát tento tracing je veľmi ťažké spracovať manuálne. Zoberme si napríklad situáciu, kedy odošlete transakciu jednému človeku a ten ju odošle ďalšiemu. Na blockchaine sa nám preto vytvoria iba dve prepojenia a je preto veľmi jednoduché na blockchain exploreri kliknúť iba dvakrát, aby sme si transakcie vedeli spojiť. Akonáhle však v sieti pribúdajú ďalšie a ďalšie uzly, komplexita celého systému exponenciálne rastie (keďže jedny finančné prostriedky sú pri jednej transakcii rozdelené na dva ďalšie, tie sú následne pri ďalšej transakcii rozdelené na dva ďalšie atď).
Aby sa predišlo komplikovanosti manuálneho tracingu, na tento účel existujú firmy, ktoré sa venujú ne-manuálnej blockchainovej analýze.
Blockchainová analýza sa deje tak trochu na každom blockchaine, ktorý analýzu umožňuje. Jedným zo spôsobov, akým firmy zaoberajúce sa blockchainovou analýzou získavajú informácie, je sledovanie toku finančných prostriedkov medzi bitcoinovými adresami. Sledovaním pohybu finančných prostriedkov si tieto firmy môžu vytvoriť podrobný obraz o toku Bitcoinov v sieti vrátane identity používateľov, výšky a frekvencie transakcií a polohy používateľov.
Ďalšou metódou, ktorú firmy zaoberajúce sa blockchainovou analýzou využívajú, je zhromažďovanie informácií od centralizovaných entít, ako sú napríklad burzy, ktoré majú prístup k skutočným identitám používateľov prostredníctvom právnych predpisov „know your customer“ (KYC) a „anti-money laundering“ (AML). Tieto burzy sú povinné zhromažďovať a uchovávať informácie o svojich používateľoch a môžu byť nútené poskytnúť tieto informácie orgánom činným v trestnom konaní a taktiež aj firmám zaoberajúcim sa blockchainovou analýzou.
Celkovo možno konštatovať, že napriek pseudonymite Bitcoinu zhromažďovanie údajov o používateľoch centralizovanými subjektmi prostredníctvom nariadení KYC a AML a schopnosť firiem zaoberajúcich sa blockchainovou analýzou sledovať tok finančných prostriedkov v sieti sťažuje používateľom zachovanie ich súkromia a tobôž anonymity v Bitcoine. Bitcoin nie je úplne súkromná mena, ako sa niektorí používatelia môžu domnievať.
Ak sa chcem vyhnúť traceovaniu a blockchainovej analýze, existujú štyri hlavné spôsoby, akými si môžeme bitcoin transakcie zanonymizovať:
- Vytvoriť si novú peňaženku pred a po každej transakcii, no vyšetrovateľ pri tom môže sledovať pohyb peňazí z jednej adresy na druhú (akonáhle sa peniaze použijú, tento koncový používateľ môže byť vyšetrovateľmi ľahko prinútený vypovedať).
- Kúpiť si bitcoiny anonymne od “veksláka” a ideálne za cash.
- Používať coinjoin služby, čiže tzv. “mixéry”. Mixéry robia jednoducho to, že zoberú veľa inputov od rôznych používateľov, zlúčia ich zmixujú ich tak, že jednotlivé outputy sú nevysledovateľné. Niektoré peňaženky, ako napríklad Samourai alebo Wasabi, majú možnosť CoinJoinu pri transakcii už priamo v sebe zabudovanú. Pri CoinJoine však existuje riziko odhalenia identity odosielateľa, pretože spájanie jednotlivých transakcií do jednej robí až ťažiar. Tento ťažiar plus každý, kto prevádzkuje full-node však dokáže identifikovať a zaznamenať jednotlivé inputy transakcií predtým, než ich spojí dohromady.
- Peniaze by ste mohli vyprať aj nákupom aktív a ich následným presunom späť do Bitcoinu, no takáto operácia je väčšinou nelegálna.
Po bitcoinovej anonymite a súkromí je očividne veľký dopyt a s novými implementáciami a vývojom bitcoinu automaticky prichádzajú aj nové možnosti, ako sa anonymizovať. Taktiež aj bitcoinová sieť Lightning Network na druhej vrstve nepochybne bitcoinu prináša väčšiu anonymitu.
Plne vystopovateľných kryptomien existuje pomerne veľké množstvo. Patrí k nim aj gigant Ethereum, ktorého blockchain je vďaka Etherscan plne transparentný rovnako ako aj blockchain Bitcoinu. Samozrejme, ľudia sa vedia vždy vynájsť a v snahe zachovať si svoje finančné súkromie vymýšľajú nadstavby nie len nad Bitcoinom, ale aj nad tak transparentnými blockchainami, ako je Ethereum (napr. Tornado Cash).
Poďme sa však pozrieť na krypto, ktoré bolo dizajnované ako anonymné by default. Krypto, ktorého blockchain nemal byť nikdy transparentný a teda krypto, ktoré by malo slúžiť ako jasná voľba pre každého maximalistu v oblasti svojho (nie len) finančného súkromia.
„Skutočne“ anonymné kryptomeny
Anonymné kryptomeny majú svoje rodisko v protokole CryptoNote, ktorý bol prvýkrát zverejnený Nicolasom van Saberhagenom vo whitepaperi v októbri 2013. Autor označil súkromie a anonymitu za „najdôležitejšie aspekty elektronických peňazí“ a sledovateľnosť bitcoinu označil za „kritickú chybu“.
Všetko to začalo s kryptomenou ByteCoin, ktorá ako prvá CryptoNote implementovala.
Počiatočnú implementáciu ByteCoinu však sprevádzalo viacero problémov vrátane predťaženia viac ako 80 % z celkovej zásoby, čo kryptokomunita vyhodnotila ako zásadnú chybu. V reakcii na tieto problémy sa skupina vývojárov rozhodla forknúť ByteCoin a vytvoriť novú kryptomenu, ktorá by stavala na silných stránkach protokolu CryptoNote a zároveň by riešila bytecoinové nedostatky.
Na obrázku nižšie môžete vidieť, že po ByteCoine nasledovalo niekoľko ďalších kryptomien vrátane Monera, pričom aj pri Monere samotnom vznikali ďalšie a ďalšie odnože.
Nasledoval vír všelijakých možných anonyných kryptomien a ich subfrakcií. Podstatné však je, že práve bytecoinová odnož Monero je najstabilnejšou a najpopulárnejšou kryptomenou súčasnosti.
História Monera siaha k používateľovi fóra Bitcointalk „thankful_for_today“, ktorý zakódil myšlienky CryptoNote protokolu do coinu, ktorý nazval BitMonero. Ostatní používatelia fóra s vývojom tohto BitMonera veľmi nesúhlasili a tak ho v roku 2014 forkli a vytvorili Monero (“monero” znamená v esperante “minca”).
Van Saberhagen a aj thankful_for_today zostali do dnešného dňa anonymní.
Malý úvod do technickej analýzy Monera
CryptoNote transakcie nie je možné na blockchaine dohľadávať spôsobom, ktorý by odhalil identitu odosielateľa alebo príjemcu (ako to je možné pri Bitcoine alebo pri Ethereu).
Kryptomena Monero vychádza z bezpečnostných funkcií protokolu CryptoNote, no ponúka aj niekoľko ďalších mechanizmov pre zvýšenie súkromia. Jedným z nich je používanie ring signatures, ktoré umožňujú viacerým používateľom podpísať jednu transakciu, čím znemožňujú určiť skutočného odosielateľa transakcie.
Okrem ring signatures Monero používa aj RingCT (Ring Confidential Transactions), ktoré ďalej skrýva sumu, ktorá je medzi účastníkmi transakcie odosielaná.
Použitie bezpečnostného komunikačného protokolu Kovri zasa zabezpečuje skrytie IP adries počas transakcií, zatiaľčo technológia „stealth adresses“ má na starosti utajovanie identity príjemcu.
Každú z týchto technológií si detailne rozoberieme nižšie v článku. Pre úvod by sme však vedeli zjednodušene povedať, že Monero skrýva identitu odosielateľa, príjemcu, sumu a taktiež aj IP adresy.
Monero pod kapotou
V tejto sekcii sa už zoznámime s konkrétnymi funciami Monera. Podrobne si rozoberieme technológie, ktoré za nimi stoja a porovnáme si ich (aj) s Bitcoinom.
Stealth addresses a zakrytie príjemcu
Ak máme v Monero sieti verejnú adresu (napr. 4AdUndXHHZ6cfufTMvppY6JwXNouMBzSkbLYfpAV5Usx3skxNgYeYTRj5UzqtReoS44qo9mtmXCqY45DJ852K5Jv2684Rge), žiadna transakcia nemôže byť s touto verejnou adresou prepojená. Ktokoľvek teda môže chytiť do rúk moju verejnú adresu bez toho aby vedel povedať aké transakcie boli odoslané z nej alebo na ňu.
V prípade Bitcoinu má každý používateľ jedinečnú verejnú adresu (napr. bc1q42lja79elem0anu8q8s3h2n687re9jax556pcc), ktorá sa používa na prijímanie finančných prostriedkov. Táto verejná adresa je viditeľná pre každého v sieti a každý môže vidieť výšku finančných prostriedkov spojených s touto adresou. Pri odosielaní finančných prostriedkov sa transakcia oznámi celej sieti a finančné prostriedky, ktoré vlastníte, sa prevedú na verejnú adresu príjemcu. Táto transakcia je úplne verejná a môže ju vidieť ktokoľvek v sieti.
V Monere má teda každý používateľ verejnú adresu, rovnako ako v Bitcoine. Rozdiel však spočíva v spôsobe zaznamenávania a spracovania transakcií v Monero blockchaine. Na rozdiel od Bitcoinu, kde sa transakcie zaznamenávajú a spájajú s verejnou adresou, Monero používa systém jednorazových adries na prepojenie prijatých transakcií.
To znamená, že aj keď majú transakcie rovnakého príjemcu, nemôžu byť medzi sebou vzájomne prepojené prostredníctvom blockchainovej analýzy.
Keď posielate peniaze v Monere, v skutočnosti ich neposielate na verejnú adresu príjemcu. Namiesto toho sa prostriedky posielajú na náhodne vytvorenú úplne novú jednorazovú adresu (commitment public key na obrázku nižšie).
A to je to jediné, čo je verejné. Žiaden váš verejný kľúč a žiaden verejný kľúč príjemcu, ale commitment public key.
Vo verejnom zázname transakcie sa mimo iné zobrazí aj stealth address, vďaka ktorej viete rozpoznať prichádzajúce Monero iba vy a príjemca. Takže ak chce niekto prijať Monero, musí najprv naskenovať monerový blockchain aby zistil, či je nejaká transakcia z blockchainu určená priamo pre neho (skenovanie robia Monero peňaženky automaticky). Príjemca má na skenovanie blockchainu svoj súkromný view key, vďaka ktorému môže byť tým jediným, kto vie rozpoznať Monero (a aj sumu) určenú práve pre neho.
Svoj vlastný súkromný view key má v Monere okrem príjemcu (pochopiteľne) aj odosielateľ, aby mohol vedieť, akú sumu odoslal.
Opakovanie je matka múdrosti – na tomto všetkom je dôležité práve to, že secret view keys zostávajú u vás a u príjemcu a do blockchainu ide iba jednorázový commitment public key.
Ring Signature a RingCT – zakrytie odosielateľa a sumy
Každá prichádzajúca transakcia (input) v Bitcoine používa nejakú signature (podpis). Všetky inputy v Bitcoine sú pekne krásne prepojené s predchádzajúcimi transakciami a sú verejné. Každý si preto môže bez problémov dohľadať input a aj transakciu, z ktorej input vychádza. (Viac detailov vám o tomto probléme vie povedať UTXO).
Monero ale funguje inak. Ak v Monere príjmete input, nie je to iba jeden input. Je ich hneď niekoľko a sú spolu previazané (vytvárajú tzv. “ring“). Všetky tieto inputy sú podpísané tzv. Ring signature, práve vďaka ktorej bude každý input v Monere prepojený k viac ako jednej predchádzajúcej transakcii. Nikto teda nebude schopný povedať, od koho nejaký input pochádza, nakoľko input je súčasťou ringu.
Veľmi dôležitým prvkom v procese Ring Signatures je tzv. “key image”. Jedná sa o hash, ktorý slúži Monero sieti ako dôkaz o tom, že ring signature bola vytvorená tak ako byť vytvorená mala. Sieť verifikuje, že tento image ešte nebol nikdy v histórii Monera vyrobený, aby sa zabránilo double spendingu (v blockchaine Monera sa totiž nachádza zoznam všetkých key imageov a ak sieť nájde identický key image, tak je jasné že sa jedná o double spending a transakcia sa zamietne).
Keď už sme teda poriešili zakrytie receivera cez stealth adresy a sendera cez Ring Signature, zostáva nám ešte zakryť sumu. A práve na to slúži RingCT.
RingCT bol v Monere implementovaný od januára roku 2017 a od septembra rovnakého roku je povinný pri všetkých transakciách.
Jeho kľúčovým prvkom je Pedersen Commitment. Pedersen Commitment je v podstate vzorec, ktorý násobí skutočnú odosielanú sumu v Monere random číslom a konštantnou hodnotou. Verejnosť teda v konečnom dôsledku nevidí žiadnu sumu, ale iba výsledok tohto Pedersen Commitment vzorca.
Ďalšou súčasťou RingCT je tzv. “Range Proof System”, ktorý slúži práve na validáciu odoslaného množstva v transakcii. Dôkaz zabezpečuje, že sa suma pohybuje v určitom rozmedzí a nie je záporná alebo napríklad nepresahuje dostupné finančné prostriedky. Tým sa v Monero sieti zvyšuje súkromie aopäť ju chráni pred prípadnými double spending útokmi.
V skratke, existujú tri spôsoby, akými sa môže output zobraziť v bloku:
- Ide o nové emisie peňazí a teda ide o coinbase transakciu.
- Bol skutočne utratený.
- Bol pridaný ako decoy v ring signature.
IP adresy a Kovri
Už teda vieme o tom, ako sú receiveri v Monere zakrytí pomocou stealth adries, ako sú odosielatelia zakrytí pomocou Ring signatures a ako je množstvo zakryté pomocou RingCT. Posledným dôležitým bodom v oblasti anonymity Monera je Kovri, ktorý zakrýva naše IP adresy.
Kovri je v podstate obyčajný I2P (Invisible Internet Project) routovací servis ktorý sa tak trochu podobá anonymizačnej sieti Tor. Všetka prevádzka v sieti Monero je šifrovaná a prechádza cez I2P uzly. Tieto uzly iba preposielajú správy ďalej a ďalej, pričom nemajú poňatia o ich obsahu. Takisto nevedia, či cieľová destinácia, kam posielajú vaše správy, je konečným cieľom, alebo len orientačným bodom, ktorý bude vašu správu ďalej posielať. Pasívni počúvajúci síce môžu zistiť, že používate I2P, ale nemôžu zistiť, na čo ho používate alebo s akými destináciami komunikujete.
Trochu o nákupe a miningu
Tak ako Bitcoin, Monero sa dá kúpiť anonymne cez ATMs, od veksláka alebo cez kryptozmenárne bez KYC (napr. burza Inkognito, kycnot.me, Dex alebo Bisq).
Čo sa týka ťaženia Monera, tak Monero sa v porovnaní s Bitcoinom trochu dosť líši. Aj Bitcoin a aj Monero sú síce založené na protokole PoW, ktorý ťažiarov odmeňuje za vyriešenie nejakej matematickej úlohy.
Avšak, algoritmus pre ťaženie Monera zvaný RandomX je kompletne odlišný od bitcoinového algoritmu SHA-256.
RandomX je ASIC-resistant algoritmus, ktorý v novembri 2019 nahradil starý monerácky (taktiež ASIC-resistent) algoritmus CryptoNight. ASIC-resistencia v praxi znamená približne to, že ako ťažiari nebudete schopní ťažiť viac XMR, pokiaľ máte výkonnejší počítač. Dokonca ani pri použití GPU nebudete mať nejakú výhodu v porovnaní s ťažením iných coinov. Vďaka tomu je Monero možné ťažiť aj na vašom notebooku, čo rozhodne nie je možné povedať o Bitcoine alebo o Ethereu.
Niečo na záver
Na záver možno povedať, že Monero je inovatívna kryptomena zameraná na ochranu súkromia, ktorá si v kryptokomunite získala významné postavenie. Jednou z jeho kľúčových vlastností je odolnosť voči blockchainovej analýze, čo zlodušským entitám tretích strán sťažuje sledovanie a stopovanie transakcií.
Je však nevyhnutné zohľadniť, že žiadna technológia ani kryptomena nie je úplne odolná voči blockchainovej analýze. Napriek pokročilým funkciám ochrany súkromia v Monere vždy existuje riziko narušenia súkromia a aj možnosť, že zlomyseľné entity nájdu nové spôsoby, ako zneužiť zraniteľnosti systému. Tento fakt poukazuje na dôležitosť neustáleho výskumu anonymných a súkromných technológií, aby sa zabezpečilo, že tieto technológie zostanú aj naďalej účinné pri ochrane informácií o ich používateľoch.
Okrem toho rastúca kontrola a regulácia kryptomien zo strany vlád a finančných inštitúcií iba zdôrazňuje význam ochrany súkromia vo svete financií. Keďže kryptomeny naďalej získavajú na popularite, je pravdepodobné, že práve projekty ako je Monero, budú zohrávať čoraz významnejšiu úlohu pri poskytovaní bezpečných a súkromných finančných transakcií.
Budúcnosť anonymných technológií je sľubná, aspoň si to teda myslí ChatGPT, ktorý písal pár riadkov záveru tohto článku o Monere a anonymite. Budúcnosť je ale práve tu a je k dispozícii pre každého, kto o ňu má záujem. Stiahnutie si Monero peňaženky nič nestojí a vďaka používaniu tejto kryptomeny si spolu všetci priatelia kontroly nad vlastnými dátami môžu vytvoriť o niečo krajší a vyspelejší svet. Ak k nim patríte tiež, neváhajte sa pridať.