Sledujte nás aj na

Bitcoin white paper od Satoshiho Nakamota obsahuje sekciu s názvom Privacy, teda “súkromie” alebo “ochrana osobných údajov“ (strana 6, sekcia č. 10.). Nakamoto v nej veľmi realisticky opisuje obmedzenia ochrany osobných údajov, ktoré sú dnes v Bitcoin sieti zjavné.

Tieto obmedzenia sú čoraz zjavnejšie a existuje už mnoho prípadov, kedy sa podarilo vypátrať konkrétnu osobu, ktorá bitcoiny posielala alebo prijímala. S množstvom dát, ktoré sú v BTC sieti každému verejne dostupné, to nie až tak náročné. Určite to však prekvapilo niektorých ľudí, ktorí si mysleli, že Bitcoin je anonymný, pretože nezverejňuje mená participujúcich strán. Zverejňuje však dostatok iných identifikátorov a údajov, s ktorými sa dá dopátrať až k spomínaným vlastníkom.

Súkromie sa stáva čoraz častejšou témou a obzvlášť vo svete kryptomien. Dnešná časť Víkendového ฿ulletinu bude detailne zameraná práve na súkromie. Presnejšie na nedokonalosti týkajúce sa súkromia v Bitcoin sieti a možné návrhy riešenia týchto problémov pomocou protokolu MimbleWimble (MW).

Ako Bitcoin prezrádza dôležité informácie

Bitcoin “narušuje” súkromie vykonaných transakcií zapísaných na jeho blockchaine. Robí to tak, že odhaľuje každému tri dôležité informácie o každej transakcii. Tieto informácie sú:

  • Adresa odosielateľa
  • Množstvo odoslaných mincí
  • Adresa príjemcu

Bitcoin ich neodhaľuje pre to, že by bol proti súkromiu svojich používateľov. Odhaľuje ich, pretože každý peňažný systém, ako napríklad zlato, hotovosť či barter, musí spĺňať dve základné požiadavky:

  1. Systém musí overiť, že prijatá suma sa rovná odoslanej sume. Kryptomenový systém by bol absolútne nepoužiteľný, ak by bolo možné uskutočniť transakciu, v ktorej sa odosiela 1 minca z jednej adresy a vo finále by sa prijali 2 mince na inej adrese. Ak zaplatíme niekomu 5 eur v hotovosti, 5 eur nám odíde z peňaženky alebo z ruky a 5 eur pristane do ruky príjemcu. Jedna strana príde o 5 eur, druhá strana získa 5 eur. Žiadne peniaze nevzniknú len tak zo vzduchu počas transakcie a žiadne zo systému nezmiznú.
  2. Systém nesmie dovoliť odoslať peniaze alebo prostriedky z účtu, ktorý daná osoba nevlastní. Nemôžeme začať bankový prevod z bankového účtu inej osoby, ale iba z vlastného účtu. Musíme overiť, že transakcia je odoslaná držiteľom debetnej karty, bankového účtu, alebo súkromného kľúča v prípade kryptomien.

Bitcoin spĺňa tieto dve požiadavky práve odhalením spomínaných troch “tajomstiev”.

Bitcoinové transakcie obsahujú sumu a adresu príjemcu v jednoduchom textovom formáte. Tým je splnená prvá požiadavka. Vidíme, že 5 BTC vstúpilo do transakcie a 5 BTC z nej vyšlo.

Pre splnenie druhej požiadavky používa Bitcoin verejné adresy s príslušnými súkromnými kľúčmi. Zjednodušene povedané, verejná adresa vlastní bitcoiny. Odosielateľ vygeneruje digitálny podpis pomocou príslušného privátneho kľúča a podpíše svoju transakciu (tá obsahuje sumu a adresu príjemcu). Každý môže skontrolovať, či podpis pochádza zo súkromného kľúča skrytého za adresou, ktorá drží mince. Týmto spôsobom vieme, že podpis pochádza od entity s právomocou minúť dané BTC, inými slovami iniciovať transakciu.

Protokol MimbleWimble (MW)

MimbleWimble (MW) je protokol, ktorý bol navrhnutý anonymným používateľom v chatovacej miestnosti (IRC) Bitcoin vývojárov (#bitcoin-wizards) pod menom Tom Elvis Jedusor (francúzsky názov fiktívnej postavy z Harryho Pottera, Voldemorta). MimbleWimble je názov kúzla, ktoré doslova zviaže jazyk, aby zakliata osoba nemohla vyzradiť istú tému alebo tajomstvo. Referencií na knihy o Harrym Potterovi nájdeme v súvislosti s technológiou MimbleWimble viac než dosť. Je to veľmi výstižné meno, pretože práve to sa snaží dosiahnuť aj samotný protokol. Jedusor zanechal odkaz na white paper, v ktorom načrtáva, že pomocou protokolu MimbleWimble by sa mohlo výrazne zvýšiť súkromie v Bitcoin sieti spôsobom, ktorý nijak neublíži škálovateľnosti siete, naopak by ju mohol ešte zlepšiť.

V kryptografickom svete sa už MimbleWimble stihol stať pojmom. Protokol je založený na silných kryptografických základoch. Poskytuje tak vynikajúci rámec pre blockchain aplikácie, ktoré sú zamerané na škálovateľnosť, súkromie a zameniteľnosť (fungibility).

MimbleWimble používa desaťročiami otestovanú kryptografiu eliptickej krivky, ktorá vyžaduje menšie kľúče ako iné typy kryptografie. V sieti, ktorá používa protokol MimbleWimble, nie sú v blockchaine žiadne adresy a ukladanie údajov siete je vysoko efektívne.

MimbleWimble potrebuje na uloženie potrebných sieťových dát len približne 10 % z toho, čo potrebuje Bitcoin sieť. To robí MimbleWimble vysoko škálovateľným na ukladanie blockchainových dát (akými sú napríklad informácie o transakciách) a zároveň výrazne rýchlejším a menej centralizovaným protokolom. Okrem toho umožňuje povaha protokolu vykonávať transakcie, ktoré sú vysoko anonymné.

História

White paper protokolu MimbleWimble bol vydaný v júli 2016 na IRC kanáli #bitcoin-wizards používateľom s pseudonymom Tom Elvis Jedusor. Dokument navrhol nový spôsob kombinovania transakcií s cieľom zlepšiť funkcie súkromia vo verejných blockchainoch.

Publikácia od Jedusora bola postavená na práci iného anonymne uverejneného dokumentu z roku 2013 opisujúceho jednosmerné agregované podpisy (OWAS, One-way aggregate signatures), ktorý si vyžadoval nové kryptografické primitívum a párovaciu kryptografiu. Táto publikácia čerpala inšpiráciu z technológií ako dôverné transakcie (Confidential Transactions, CT) a CoinJoin. To sú dva návrhy na ochranu súkromia od Bitcoin Core vývojára Gregoryho Maxwella.

Pôvodný white paper MimbleWimble používal tú istú kryptografiu eliptickej krivky, ktorú používa Bitcoin. To upútalo pozornosť mnohých kryptomenových výskumníkov, vrátane Andrewa Poelstra, matematika a aplikovaného kryptografa v spoločnosti Blockstream, ktorý spomínaný white paper vylepšil. V októbri 2016 vydal jeho novú „rozšírenú“ verziu.

Pôvodne sa predpokladalo, že by MimbleWimble mohol byť integrovaný ako upgrade do Bitcoin siete, alebo by mohol existovať ako jeho sidechain (postranný reťazec). 

Kompromis, ktorý urobili vývojári MimbleWimble, vylučuje expresívny skriptovací jazyk, ktorý umožňuje inovácie, ako sú napr. platobné kanály pri Lightning Network alebo cross-chain atomic swaps, z ktorých obidva začali v Bitcoine v roku 2017. Odvtedy vznikli dve samostatné implementácie protokolu MimbleWimble s rôznymi úvahami o komunite, étose, financovaní a technickými detailami. O tých si povieme neskôr.

MimbleWimble a Confidential Transactions

Aby bolo možné pochopiť protokol MimbleWimble, musíme najprv pochopiť spôsob, akým sa vykonávajú MimbleWimble transakcie.

MimbleWimble transakcie sú odvodené od iného typu transakcií. Tento typ sa nazýva Confidential Transactions (CT), voľne preložené ako dôverné transakcie. Koncept dôverných transakcií, ktoré vytvoril Bitcoin vývojár Adam Back, umožňuje odosielateľom šifrovať množstvo bitcoinov, ktoré chcú odoslať. Vykonáva sa to pomocou metódy zvanej blinding factors, maskovací faktor. Blinding factor je náhodná hodnota, ktorá sa používa na šifrovanie bitcoinových čiastok v transakcii a je vybraná odosielateľom transakcie. Zvolený “maskovací faktor” by mal vhodne zašifrovať prevádzanú sumu, ale nemal by mať vplyv na vstup a výstup transakcie.

Pri dôvernej transakcii len zúčastnené strany vidia množstvo bitcoinov, s ktorými sa obchoduje. Nikto iný tieto cifry vidieť nemôže. Pozorovatelia alebo validátory si však jednoducho môžu overiť, že transakcia je platná porovnaním počtu vstupov a výstupov. Ak sú oba rovnaké, transakcia sa bude považovať za platnú. Takýto postup zaisťuje, že žiadne nové bitcoiny neboli vytvorené, čo je kľúčové pre zachovanie integrity systému.

MimbleWimble transakcie fungujú podobným spôsobom, ale s výnimkou, že príjemca transakcie náhodne vyberie rozsah maskovacích faktorov poskytnutých odosielateľom. Tento faktor je potom použitý ako dôkaz vlastníctva, čo umožňuje bitcoiny minúť.

MimbleWimble a CoinJoin

Okrem CT, MimbleWimble transakcie tiež využívajú ďalšiu kryptografickú inováciu známu ako CoinJoin. Návrh z dielne Gregoryho Maxwella je mechanizmus, pomocou ktorého sa platby z viacerých príjemcov kombinujú do jedinej transakcie, čím je pre externú stranu ťažké určiť, ktorá platba patrila ktorému príjemcovi.

CoinJoin funguje tak, že obfuskuje vstupy a výstupy odosielateľov a príjemcov. Vo vzťahu k transakciám typu MimbleWimble, keď sa vstupy a výstupy kombinujú dohromady, by blok obsahoval nasledovné: zoznamu vstupov, zoznamu výstupov a podpis alebo podpisy. To prinesie výraznú úsporu priestoru v blokoch, pretože ďalšie údaje o transakciách už nie sú potrebné, len vstupy a výstupy. Odčítaním celkových vstupov od celkových výstupov a zabezpečením, že tento výsledok je nulový, by sa blockchain vytvorený pomocou takéhoto systému považoval za platný. To je v kontraste s tým, ako sa validujú transakcie v BTC sieti. V tomto prípade je potrebné stiahnuť celý blockchain a analyzovať celú doterajšiu históriu všetkých transakcií, aby bola zabezpečená jeho platnosť.

MimbleWimble a Cut-Through

Každá nová technológia sa vyznačuje radom inovácií a MimbleWimble nie je žiadnou výnimkou. Ďalšou dôležitou vlastnosťou MimbleWimble týkajúcej sa škálovateľnosti je funkcia “Cut-Through”. Jeden blok, ktorý je neskôr zaradený do blockchainu, sa zvyčajne skladá zo stoviek transakcií, ako aj množstva dodatočných informácií. Veľkosť týchto blokov sa však snaží funkcia Cut-Through minimalizovať. Veľkú časť informácií možno z blokov odstrániť bez toho, aby bola ohrozená bezpečnosť blockchainu.

Cut-Through je funkcia protokolu MimbleWimble, ktorá agreguje transakčné vstupy a výstupy do reťazca transakcií s cieľom umožniť menšie veľkosti blokov. Výstupy z predchádzajúcich transakcií sa používajú ako vstupy pri vytváraní nových.

Na ilustráciu zvážte nasledujúci reťazec transakcií spolu s ich vstupmi a výstupmi:

Alica pošle 1 BTC Bobovi. Alica použije 1 vstup na konštrukciu svojej transakcie pre Boba, čo má za následok vytvorenie 1 výstupu. Bob pošle 1 BTC Chrisovi. Bob tak použije 1 vstup na vytvorenie svojej transakcie pre Chrisa, výsledkom čoho je opäť 1 výstup.

Prostredníctvom funkcie Cut-Through umožňuje MimbleWimble agregáciu z 2 vstupov a 2 výstupov na 1 vstup a 1 výstup. Vlastníctvo prostriedkov je zabezpečené prostredníctvom tzv. transakčného jadra (transaction kernel). To obsahuje verejný kľúč, podpis a poplatok za ťažbu. Toto jadro potom kontrolujú validátory.

Okrem toho je možné dokázať, že neboli vytvorené žiadne nové finančné prostriedky prostredníctvom jednoduchého súčtu vstupov a výstupov, ktorý by sa mali vždy rovnať nule. Vďaka funkcii Cut-Through môže blok MimbleWimble obsahovať iba:

  • Hlavičku bloku
  • Zoznam vstupov zostávajúcich po aplikovaní funkcie Cut-Through
  • Zoznam výstupov zostávajúcich po aplikovaní funkcie Cut-Through
  • Transakčné jadro
  • Offset transakčného jadra

Offset je maskujúci faktor, ktorý je zahrnutý v bloku, aby sa predišlo jeho rekonštrukcii škodlivými aktérmi.

Rozhodnutie, či implementovať funkciu Cut-Through v protokole založenom na MimbleWimble, závisí od uzla samotného. Uzol sa môže rozhodnúť, že nebude vykonávať Cut-Through na svojich uložených transakčných záznamoch. Tento uzol tak bude musieť zabezpečiť viac miesta na disku, aby si uložil kópiu svojich transakcií. Taktiež môže takýto uzol mierne ohroziť propagovanú anonymitu.

MimbleWimble a jeho výhody

Najmä v porovnaní s Bitcoinom poskytuje protokol MimbleWimble tri dôležité výhody:

  • Anonymitu
  • Škálovateľnosť
  • Zameniteľnosť (fungibilita)

Anonymita

Spočiatku bol aj Bitcoin označovaný za skutočne anonymnú menu, čo sa však časom úplne nepotvrdilo. Každý používateľ je v sieti Bitcoin reprezentovaný jednou, alebo viacerými verejnými adresami a ich históriu transakcií možno sledovať napríklad pomocou blockchain explorerov. Ak by sa niekedy vytvorilo prepojenie medzi verejnou adresou a používateľom v reálnom živote, iní používatelia by boli schopní vidieť celú jeho históriu príjmov a výdavkov. To je v protiklade s MimbleWimble protokolom, ktorý nezverejňuje žiadne adresy ani históriu transakcií, takže je nemožné ohroziť anonymitu používateľa.

Škálovateľnosť

Bitcoin sieť je predmetom debát o škálovateľnosti od polovice konca roku 2017,. Tieto debaty vyústili v hard fork a vytvoreniu kryptomeny Bitcoin Cash. Argument sa točil okolo veľkosti blokov, ktoré sú pri BTC veľké 1MB. Dôkazom existencie problému boli vysoké poplatky, ktoré dosiahli 21. decembra 2017 svoju najvyššiu hodnotu, a to $52. Riešenie rozdielov v diskusii sa vo veľkej miere prezentovalo vo forme SegWit, ako aj implementácie riešenia Lightning Network. Architektúra protokolu MimbleWimble je pochopiteľne viac škálovateľná ako Bitcoinová kvôli transakciám, ktoré zaberajú menej miesta v bloku. Úspora miesta je obzvlášť zreteľná, keď sa sa používa funkcia Cut-Through.

Fungibilita

Fungibilita alebo zameniteľnosť znamená schopnosť jednej jednotky tovaru alebo meny zameniť sa za inú jednotku. Napríklad 1 euro má vysokú fungibilitu, pretože 1 euro môže byť vymenené za iné 1 euro bez straty hodnoty. Naopak, bitcoiny môžu byť sledované prostredníctvom otvoreného a prístupného blockchainu. Ak boli tieto bitcoiny použité na nezákonnú činnosť, alebo boli získané nezákonnou činnosťou, môžu byť označené ako „poškodené“. Obchodníci môžu odmietnuť prijať tieto poškodené bitcoiny a preto sa môžu stať menej hodnotnými v porovnaní s inými bitcoinmi. Výmena bez straty hodnoty už nie je možná, to znamená, že tieto bitcoiny sa označujú ako nezameniteľné, non-fungible. Opäť sa ukázalo, že to nie je problém pre MimbleWimble, pretože tu neexistuje žiadny systém adries, takže je nemožné sledovať, odkiaľ mohla kryptomena pochádzať.

Nedokonalosti MimbleWimble

MimbleWimble ako protokol je stále vo vývoji, no aktuálne v ňom existujú aj určité nedokonalosti. Spomeňme aspoň tie, ktoré sú zrejmé.

  • Pri MW neexistuje systém adries. Vzniká tak potreba vytvoriť nejakú formu komunikácie medzi odosielateľom a príjemcom, aby sa zabezpečilo, že transakciu podpíšu obe strany. To robí odosielanie transakcií trochu komplikovanejším v porovnaní s Bitcoinom. Pre úspešné uskutočnenie transakcie to tiež vyžaduje, aby boli účastníci simultánne online, čo predstavuje zjavné problémy.
  • Spôsob, akým sú MW transakcie vytvárané, sťažuje ich vytváranie medzi viacerými stranami súčasne.
  • Keď sú MW transakcie publikované do transakčného mempoolu, vstupy a výstupy sú stále viditeľné. Od minerov sa vyžaduje, aby vytvorili bloky transakcií spôsobom, ktorý umožňuje skryť ich detaily. Na to sa používa spomínaná funkcia Cut-Through. Takto vytvorený blok bude mať menší počet vstupov a výstupov zmiešaných spôsobom, ktorý sťažuje rozpoznávanie strán konkrétnej transakcie. Je však možné a pravdepodobne aj jednoduché, aby sa zaznamenávali všetky ešte nepotvrdené transakcie z mempoolu. Tieto údaje by sa mohli použiť na vytvorenie podrobných grafov transakcií v sieti.

Implementácie protokolu MimbleWimble

Aby sa nielen vývojári, ale aj bežní používatelia presvedčili, že teória za protokolom funguje, je potrebné vytvoriť jeho implementáciu. MW je experimentálna technológia a nikto by ju nechcel ihneď nasadzovať do Bitcoinu. Namiesto toho vznikli jej dve separátne referenčné implementácie. Možno, keď sa protokol osvedčí bude nasadený aj do Bitcoinovej sieti. Tieto dve implementácie sa nazývajú Grin a Beam.

Grin

Prvá implementácia, ktorá nesie názov Grin, sa stala synonymom pre protokol MimbleWimble. Tá bola vydaná len niekoľko dní po tom, čo Andrew Poelsta publikoval svoju rozšírenú verziu white paperu MW. Následne ďalší anonymný používateľ so pseudonymom Ignotus Peverell, čo je mimochodom pôvodný vlastník neviditeľného plášťa v Harrym Potterovi, vytvoril projekt na Githube ignopeverell/grin. Poskytol tak čiastočnú implementáciu protokolu napísaného v jazyku Rust, popri uverejnení svojej vízie pre celý projekt.

V marci 2017 Peverell uverejnil technický úvod do Grin a MimbleWimble, ktorý slúži ako základný odkaz na špecifikáciu protokolu. K dnešnému dňu je projekt stále udržiavaný skupinou prevažne anonymných vývojárov, z ktorých viacerí prijali pseudonymy z Harryho Pottera v súlade s pôvodným étosom projektu. Prvý testnet Grinu bol spustený v novembri 2017 a projekt v súčasnosti beží na mainnete, ktorý bol spustený 19. januára 2019. To všetko bez ICO, bez predťažených blokov, bez odmeny pre zakladateľov a naďalej figuruje ako komunitný projekt. Na júl tohto roka sa plánuje aj hard fork tejto siete.

Grin ponúka dva typy Proof-of-Work algoritmov. Pomocou nich môžu mineri ťažiť na algoritme: cuckARoo29 alebo cuckAToo31 +. cuckARoo29 je určený pre GPU minerov, zatiaľ čo cuckARoo31 + je určený pre ASIC minery, oba sú odvodené z Cuckoo Cycle algoritmu.

BEAM

Druhá implementácia, BEAM, je projekt, ktorý sa začal v marci 2018 a bol formálne ohlásený pri príležitosti jedného roka od vydania originálneho white paperu MimbleWimble. BEAM bol prezentovaný v samostatnom white paperi, spolu s plne funkčným mining nodom a peňaženkou. Spustený bol len krátko pred implementáciou Grin, 3. januára 2019. Napísaný je v jazyku C++. 

BEAM vzal na seba formálnejšiu štruktúru podobnú Zcash, v ostrom kontraste s anarchickým, open-source étosom projektu Grin. Tím projektu BEAM vedie CEO Alexander Zaidelson, izraelský podnikateľ.

S definovaným manažmentom, inžinierskym tímom, ICO predpredajom, formálnou nadáciou a zakladateľskou daňou spoločnosť BEAM zaujala veľmi odlišný prístup ako konkurenčná alternatíva Grin. Okrem vytvárania formálnej štruktúry okolo projektu, tím BEAM urobil odlišné technické rozhodnutia než Grin, vrátane rozhodnutí týkajúcich sa menovej politiky alebo hash algoritmu (používa algoritmus Equihash, ktorý používa aj mena Zcash).

Na podporu decentralizovanej ťažby v sieti BEAM, protokol plánuje zostať odolný voči ASIC minerom vykonávaním hard forkov v prípade potreby.

Záver

MimbleWimble ako protokol nie je úplná novinka, no je potrebné ho dôkladne otestovať, aby sa zistilo či by bol vhodný aj pre Bitcoin sieť. V kryptografii to tak chodí, niekto publikuje zaujímavý koncept, no trvá to relatívne dlho kým sa dostavia prvé implementácie. V prípade MW sú to implementácie Grin a BEAM. Tie sa na začiatku tohto roka tešili obrovskej popularite, ktorá však postupne upadá. Na projektoch sa však usilovne pracuje. Poskytujú totiž skutočne zaujímavý technologický koncept riešenia problémov jednak anonymity, ale aj škálovania.

Víkendový ฿ulletin: Bitcoinová adresa detailne



Zaujímate sa o dianie okolo kryptomien a chceli by ste sa podieľať na tvorbe obsahu KryptoPortalu? Kontaktujte nás pomocou kontaktného formulára!

Páčia sa Vám naše články a príspevky?
Podporte nás a prispejte tak k rozvoju Vášho obľúbeného informačného média. Ďakujeme!

ETH: 

0xa3B90C2d50B79Eaf466Ca3f2080fD15E0764c5A3

BTC:
15wVejhngqJbGrYhu9fF9ydKaNYSSHwWJd

loading...