Čo je MimbleWimble?
Čo je MimbleWimble?
Fráza „MimbleWimble“ bola v posledných týždňoch v krypto komunite ostro sledovaná. Ak ste fanúšikovia Harryho Pottera, pravdepodobne ste narazili na toto slovo. MimbleWimble je kliatba na zaviazanie jazyka, ktorá viaže človeku jazyk a zabraňuje mu tak hovoriť o konkrétnej téme alebo predmete.
MimbleWimble je však teraz slávna fráza v krypto svete, pretože je to názov nového protokolu. Protokol MimbleWimble je založený na silných kryptografických základoch. Preto poskytuje vynikajúcu štruktúru pre blockchain, ktorý vďaka tomuto protokolu získa dobrú škálovateľnosť, súkromie a zameniteľnosť mincí.
Dnes tento inovatívny protokol spolu preskúmame. Budeme hovoriť o tom čo to je, ako to funguje, hlavné využitie a spomenieme projekty, ktoré ho už implementovali.
Čo je to MimbleWimble?
MimbleWimble využíva kryptografiu eliptickej krivky, ktorá vyžaduje menšie kľúče než iné typy kryptografie. V sieti, ktorá používa protokol MimbleWimble, nie sú v blockchaine žiadne adresy a ukladanie údajov v sieti je vysoko efektívne.
MimbleWimble potrebuje len približne 10% úložiska v porovnaní s Bitcoin sieťou. To robí MimbleWimble vysoko škálovateľným, výrazne rýchlejším a menej centralizovaným. Okrem toho povaha protokolu umožňuje súkromné transakcie, ktoré sú vysoko anonymné (viac o tomto ďalej v článku).
Zrodenie MimbleWimble
Radujte sa, fanúšikovia Harryho Pottera! Prichádza ďalší odkaz z tohto sveta. MimbleWimble Whitepaper bol prvýkrát publikovaný v júli 2016 autorom pod anonymným menom Tom Elvis Jedusor, čo je francúzske meno pre Voldemorta.
Čoskoro po publikovaní – na konci roku 2016 – ďalší anonymný užívateľ pod pseudonymom „Ignotus Peverell“ (pôvodný majiteľ neviditeľného plášťa z Harryho Pottera) spustil na GitHube projekt, v ktorom aplikoval protokol MimbleWimble. Tento projekt sa nazýva Grin a svoj mainnet spustil 15. januára 2019. K dispozícii je aj zopár ďalších implementácií MimbleWimble, ako Beam, BitGrin, Grimble či WOKE. O Grin a Beam budeme v tomto článku ešte hovoriť.
Ako to funguje?
Aby sme pochopili MimbleWimble, najprv budeme musieť vysvetliť Bitcoin UTXO (unspent transaction output, nevyužitý transakčný výstup).
Ak platíte fiat menou a Alice dá Bobovi 1 USD, bude to vyzerať takto:
Alice: -1 USD
Bob: +1 USD
V sieti Bitcoin to nefunguje rovnako. BTC transakcie sa vykonávajú z viacerých vstupov a výstupov, ktoré idú od odosielateľa k príjemcovi. Ak sa pozriete na svoje nedávne Bitcoin transakcie cez blockchain explorer objavíte tam aj vstupy a výstupy.
Takže Bitcoin funguje nasledovne. Alice chce poslať 1 BTC Bobovi. Namiesto toho, aby sa z peňaženky Alice odpočítaval len jeden Bitcoin, sieť zoskupuje viac vstupov z predchádzajúcich bitcoin transakcií, ktoré boli zaslané Alici tak, aby spolu dali jednu mincu, ktorú Alice posiela Bobovi.
Preto by táto transakcia mohla vyzerať asi takto:
Alice: – (0.1 + 0.25 + 0.35 + 0.3) BTC
kde tieto menšie čiastky predstavujú všetky vstupy, ktoré boli zoskupené
Bob: + 1 BTC
V tomto príklade bol 1 BTC Alice vytvorený zo štyroch vstupov. Existujú však prípady v sieti Bitcoin, keď jedna transakcia má stovky vstupov. Okrem toho, ak súčet vstupov je väčší ako suma transakcie, v transakcii sa vytvorí dodatočný výstup. Týmto spôsobom bude prvý výstup obsahovať presnú sumu, ktorá pôjde príjemcovi a zvyšok bude vrátený odosielateľovi. Keďže každá transakcia musí byť individuálne podpísaná softvérom peňaženky, sieť musí spracovať veľké množstvo dát. Tento proces je vysoko neefektívny.

Dôverné transakcie (Confidential Transactions)
V tejto oblasti prichádza na scénu MimbleWimble. Ako už bolo uvedené, protokol navrhuje oveľa účinnejší systém, ktorý eliminuje vstupy a výstupy. Model UTXO je nahradený jedným multi-podpisom (multisignature) pre všetky vstupy a výstupy, ktoré sa nazývajú dôverné transakcie. Ak chce Alice poslať Bobovi mincu, tak Alice aj Bob vytvoria multisignature kľúč, ktorý sa používa na overenie transakcie.
Dôverné transakcie využívajú tzv. Pedersen Commitment a v sieti neexistujú žiadne adresy. Namiesto toho obe strany zdieľajú „faktor zaslepenia (blinding factor)“. Faktor zaslepenia šifruje vstupy a výstupy transakcie spolu s verejnými a súkromnými kľúčmi oboch strán. Tento faktor oslepenia je zdieľaný ako tajomstvo medzi oboma stranami, ktoré boli do transakcie zapojené. V dôsledku nahradenia adries týmto faktorom o zapojení do transakcie vedia len tieto dve strany . To udržuje súkromie siete na vysokej úrovni.
Schéma Pedersen Commitment funguje nasledovne. Uzly v sieti (full nodes) spočítajú zakódované sumy vstupov a výstupov, čím dokážu, že počas transakcie neboli vyrobené žiadne nové mince. Počas celého procesu však ani uzol nepozná skutočnú sumu transakcie.
Jediné overenie potrebné v protokole MimbleWimble je kontrola, či neboli vytvorené žiadne nové mince a či strany zúčastňujúce sa na transakcii skutočne vlastnia kľúče. Oba verifikačné procesy používajú faktor zaslepenia, ktorý slúži na udržanie hodnoty transakcie v súkromí.
Zjednodušený príklad tohto procesu:
5 + 5 = 10 – (5 + 5)-10 = 0
Vyššie uvedený jednoduchý príklad ukazuje, že neboli vytvorené žiadne nové mince, a teda konečný zostatok je nulový.
5(10) + 5(10) = 10(10)
K tomuto výpočtu pridáme tajné číslo (10) – faktor zaslepenia, ktorýmm sa vynásobia všetky premenné. Používa sa na zakrytie pôvodných hodnôt.
50 + 50 = 100
V tejto rovnici faktor zaslepenia (o ktorom my vieme, že bol v druhej rovnici 10) aj hodnoty zostali súkromné, no ajtak ostatní môžu overiť, že v transakcii neboli vytvorené žiadne nové mince.

V MimbleWimble je faktorom zaslepenia kombinácia verejných a súkromných kľúčov. Takto okrem preukázania, že neboli vytvorené žiadne nové mince, môžu strany preukázať aj to, že sú vlastníkmi ich kľúčov.
Cut-Through
Dôležitou vlastnosťou Mimblewimble z pohľadu škálovateľnosti je „Cut Through“. Každý blok sa môže skladať zo stoviek transakcií, ako aj z množstva informácií, ktoré je potrebné uložiť do blockchainu. Tieto bloky však možno skomprimovať pomocou „Cut-Through“ funkcie MimbleWimble, pretože veľkú časť informácií možno z blokov odstrániť bez toho, aby ste ohrozili bezpečnosť blokchainu.
Tu je jednoduchý príklad:
Alica pošle 1 BTC Bobovi.
Bob pošle 1 BTC Charlesovi.
V tomto prípade má typický blok dva UTXO:
- Prvý UTXO bude mať vstupy pre tento 1 BTC, ktoré dokazujú, ako sa tento 1 BTC dostal k Alice. Výstup pre prvé UTXO je výsledkom transakcie a dokazuje, že Bitcoin je teraz vo vlastníctve Boba.
- Druhý UTXO pozostáva z výstupu prvého UTXO, ktorý sa teraz stáva vstupom druhého UTXO, ako aj výstupom druhej transakcie k Charlesovi.
To znamená, že MimbleWimble môže eliminovať výstup prvej transakcie a vstup druhej transakcie. Takže budeme mať len jeden vstup a jeden výstup – ktorý bezpečne overí, ako Alice dostala tento 1 Bitcoin a ako sa tento bitcoin dostal k Charlesovi – namiesto toho, aby sme mali dva z každého.
Toto komprimuje veľkosť blockchainu, čo robí z hľadiska ukladania dát MimbleWimble oveľa ľahším.
Implementácie
Doteraz implementovalo MimbleWimble protokol mnoho projektov. Najznámejšie z nich sú Grin a Beam, ktoré oba vychádzali z pôvodného whitepaperu.
Grin je vo vývoji od konca roku 2016, no vývojári spustili mainnet až 15. januára 2019. Z týchto projektov už vzniklo viacero forkov ako BitGrin, Grimble či Litebeam.
Aj keď obe mince používajú rovnaký protokol – MimbleWimble – sú medzi nimi veľké rozdiely. Beam má firemnú štruktúru; spoločnosť zozbierala financovanie od VC (venture capital) a najala tím vývojárov, ktorý im umožnil získať časový náskok oproti Grinu. Nadácia Beam’s Foundation získava časť blokových odmien, ktoré využíva na podporu rozvoja siete. Beam sa zmení zo súčasnej podnikovej štruktúry na skutočnú neziskovú nadáciu v roku 2019, a spoločnosť sa bude zameriavať na budovanie aplikácií pre podniky na Beam sieti. Grin má naopak štruktúru, ktorá je podobná cyberpunkovej ideológii, a ktorá posilňuje komunitnú decentralizáciu. Nemali žiadne ICO ani pre-mine a vývojári sú dobrovoľníci, závislí od darov.

Obe mince sa líšia aj použiteľnosťou a publikom. Beam má profesionálnejší postoj, pokiaľ ide o prípady použitia tejto kryptomeny. Tím Beamu vybudoval jednoduché rozhranie peňaženky, ktoré je zamerané na to, aby bolo užívateľsky príjemné, s implementáciami pre rôzne operačné systémy, vrátane Mac, Windows a Linux. Takto môže každý nadšenec kryptomien jednoducho získať prístup k Beam blockchainu. Grin bohužiaľ nie je tak užívateľsky príjemný, pretože táto mena zatiaľ ponúka len peňaženku vo forme „príkazového riadka“, ktorá je prístupná pre viac technicky založených užívateľov.
Grin používa programovací jazyk Rust, zatiaľ čo Beam bol programovaný v C ++.
Tento rozdiel nie je až taký významný, ako rozdiel v ekonomických modeloch. Zatiaľ čo cieľom Beamu je, aby sa používal ako anonymný prostriedok na uchovanie hodnoty, vývojári Grinu chcú, aby sa Grin používal ako „mena“. Podporovatelia Grina teda nechcú „nespravodlivo odmeňovať“ tých, ktorí sa k projektu dostanú skôr, ale namiesto toho chcú zvýšiť prijatie.
Pokiaľ ide o ťažbu, obe kryptomeny používajú upravené verzie algoritmu Equihash, Cuckoo Cycle.
Zdroj: 1, 2

INSTAGRAM #