De tekst "Wat is MimbleWimle?" met een digitaal netwerk op de achtergrond

Wat is MimbleWimble?

MimbleWimble is waarschijnlijk het meest bekend bij Harry Potter fans. Wellicht niet helemaal in de context die we vandaag zullen aanstippen, maar dat mag de pret niet drukken. MimbleWimble heeft in ieder geval zijn naam te danken aan de gelijknamige spreuk uit Harry Potter. De pechvogel waarover deze vloek wordt uitgesproken, merkt dat zijn tong gebonden wordt, waardoor hij niet meer over een bepaald onderwerp kan praten. 

Na het lezen van dit artikel snap je wat MimbleWimble is, hoe dit gebruikt kan worden en zul je begrijpen dat de naam van MimbleWimble niet toevallig is gekozen.

Bekijk snel

Voordat we beginnen is het goed om even onderstaande korte video te bekijken, waarin het concept van blockchain wordt uitgelegd. 

Wat is MimbleWimble

MimbleWimble is – kort door de bocht – een nieuwe blockchaintechnologie dat gebruikmaakt van een andere methode om transacties te structureren en op te slaan. Hierin is privacy de belangrijkste drijfveer. Daarnaast helpt MimbleWimble (MW) met de schaalbaarheid van blockchainnetwerken, al jaren een van de grootste uitdagingen waar blockchains tegenaan lopen. Anders gezegd: MimbleWimble is een andere implementatie van een Proof of Work (PoW)-blockchain die zorgt voor meer privacy en betere schaalbaarheid van het netwerk.

Wat is Proof of Work?

Het concept van Proof of Work is bedacht in 1993 als middel om denial of service-aanvallen en andere ongewenste netwerkdiensten zoals spam te voorkomen, door te vereisen dat de gebruiker ‘werkt’ voor de dienst. Meestal komt dit neer op het inzetten van de rekenkracht van de computer.

Bitcoin zette Proof of Work in 2009 op een innovatieve manier in door het te gebruiken als een consensus algoritme waarmee transacties worden gevalideerd en nieuwe blocks naar de blockchain worden verstuurd. Sindsdien is het een van de meest gebruikte consensus algoritmes voor cryptovaluta geworden.

Het is onmogelijk om een nieuw block toe te voegen aan de hoofdchain zonder eerst een geldige nonce (=een getal waarmee miners de juiste hash zoeken) te vinden, die vervolgens de oplossing voor een specifiek block (de zogenaamde block hash) genereert. Ieder gevalideerd block bevat een block hash die het werk van de miner bewijst. Dit is waarom dit concept Proof of Work wordt genoemd.

Proof of Work beschermt het netwerk tegen verschillende soorten aanvallen. Een succesvolle aanval vereist ontzettend veel rekenkracht en tijd voor het uitvoeren van de berekeningen en is daardoor inefficiënt, omdat de kosten van de aanval ver boven de mogelijke beloning van de aanval uitstijgen.

Een probleem van Proof of Work is dat het minen dure hardware vereist en veel energie kost. Daarnaast garanderen de ingewikkelde algoritmische berekeningen weliswaar de veiligheid van het netwerk, maar hebben ze daarbuiten geen toepassing. En dat is waar MimbleWimble om de hoek komt kijken!

De geschiedenis van MimbleWimble

Het oorspronkelijke MimbleWimble-ontwerp dateert van 2016, toen Tom Elvis Jedusor (de Franse naam van Voldemort) het concept wereldkundig maakte. Hoewel de documentatie enkele kernideeën kenbaar maakte, was er nog aardig wat ruimte over voor verdere invulling en discussie. Hier is later blockchain-expert Andrew Poelstra mee verder gegaan. Poelstra werkte het concept verder uit en pastte enkele verbeteringen toe. Hij kwam vervolgens – in oktober 2016 - met de whitepaper over MimbleWimble. 

Sinds de whitepaper werd gepubliceerd, kijken vele onderzoekers en developers naar de mogelijkheden van een toepassing van het MW-concept. Volgens velen is een toepassing op de Bitcoin-blockchain technisch haalbaar, maar enorm complex. Anderen zien juist kansen en zien in MimbleWimble een sidechain-oplossing voor de Bitcoin-blockchain op de langere termijn. 

Image
Zittende man met een toverboek en toverstok

Hoe werkt MimbleWimble?

Hoewel termen als sidechain-oplossing, blockchaintechnologieën en schaalbaarheid je al bekend in de oren kunnen klinken, kan het wellicht geen kwaad om wat meer inzicht te verkrijgen in de MimbleWimble-oplossing en wat dit in de praktijk voor transacties betekent.

Blockchainmodellen zijn traditiegetrouw op een bepaalde manier opgebouwd en dit is waar MW het verschil in maakt. De technologie maakt het voor een blockchain mogelijk om data compacter op te slaan, waardoor de transactiegeschiedenis sneller geraadpleegd, gedownload of gearchiveerd kan worden. 

Dit klinkt niet zo ontzettend spannend, maar dit komt de schaalbaarheid van blockchains enorm ten goede. Wanneer data gecomprimeerd en compacter wordt bijgehouden, kan er veel meer data worden opgeslagen voordat dit een probleem oplevert. Hierdoor kan er veel langer van een netwerk gebruik worden gemaakt, voordat het ‘volstroomt’ en voor problemen zorgt.

Ook niet geheel onbelangrijk – of misschien wel het belangrijkste element aan MW – is de focus op privacy. In een blok van MW zijn geen adressen af te leiden, waardoor voor een controleur van het netwerk of voor een buitenstaander alle transacties eruit zien als willekeurig. De details van de transactie zijn dus alleen bekend bij de deelnemers, over het algemeen de verzender en ontvanger van een transactie. Hierdoor is privacy in absolute zin gewaarborgd.

Het concept van een MW-blok ziet er vooral uit als één grote transactie, in plaats van alle losstaande transacties naast elkaar. Dit betekent dat blocks wel gecontroleerd en akkoord kunnen worden bevonden, maar dat de inhoudelijke details over een block niet na te gaan is. Je kunt namelijk de individuele inputs niet koppelen aan individuele outputs.

MimbleWimble in de praktijk

Het is wellicht het gemakkelijkst te vergelijken met een lege doos kleurpotloden en 20 mensen die allemaal een kleurpotlood erin leggen. Wanneer je uiteindelijk de doos met kleurpotloden in je handen hebt, zie je de 20 potloden liggen en weet je dat elk kleurpotlood door iemand in de doos is gelegd. Tegelijkertijd heb je geen flauw idee wie nou precies welke kleurpotlood erin heeft gelegd. Wel weet je dat elke kleur anders is en dat het in totaal 20 kleurpotloden zijn, waardoor je het block kunt goedkeuren. Maar meer informatie dan dit, kun je er door de MW-methode ook niet uit halen.

Dan een praktijkvoorbeeld van een MW-transactie. Stefan en Karin komen een transactie overeen van 10 MW-coins. Karin heeft er op dat moment nul en Stefan ook. Karin ontvangt vervolgens 5 MW-coins van haar vader en 5 MW-coins van haar moeder en kan vervolgens de transactie van 10 MW-coins naar Stefan overmaken. Stefan kan wel terug zien dat hij 10 MW-coins van Karin heeft ontvangen, maar kan op zijn beurt niet zien van wie Karin de coins in kwestie heeft gekregen.

Om de gegevens op een MW-blockchain te plaatsen moeten zowel de zender als ontvanger bepaalde details met elkaar delen om de transactie mogelijk te maken. In dit geval moeten Stefan en Karin dus contact hebben met elkaar, zonder dat ze hiervoor tegelijkertijd online hoeven te zijn. 

MimbleWimble maakt gebruik van een ‘cut-through-functionaliteit’. In het kort vermindert deze functionaliteit het aantal gegevens wat er op de blockchain wordt opgeslagen tot één input naar output. In dit geval logt de blockchain dus uitsluitend de transactie van de ouders van Karin naar Stefan en wordt alle tussenliggende data niet opgeslagen, om de overbodige data verder niet op te slaan.

MimbleWimble en Bitcoin

De blockchain van Bitcoin legt praktisch alle transacties vast sinds het genesis block. Elke transactie en sub-transactie zijn hier vanaf het genesis block vastgelegd en kunnen teruggevonden worden. Transactie voor transactie, Bitcoin voor Bitcoin. Een fiat-transactie ziet er over het algemeen anders uit dan een Bitcoin-transactie. Stel even dat Stefan en Karin een transactie van een euro voorstellen. Dat ziet er in de praktijk dan vaak zo uit: 

Karin: - €1
Stefan: + €1

Bij Bitcoin werkt dit wat anders, namelijk:

Karin: - (0.25 + 0.15 + 0.3 + 0.1 + 0.2) BTC, waar A+B+C+D+E samengevoegde transacties zijn.
Stefan: + 1 BTC

Het Bitcoin-netwerk zal dus alle sub-transacties van Karin opslaan om uiteindelijk de volledige transactie tussen Karin en Stefan vast te kunnen leggen. In het gegeven voorbeeld staan 5 samengevoegde transacties, maar op de Bitcoin blockchain zijn ook transacties terug te vinden met ruim 100 verschillende componenten in één enkele transactie. 

Het vastleggen van al deze details kost enorm veel ruimte, tijd en rekenkracht. Daarnaast moeten ook al deze sub-transacties gevalideerd worden, voordat ze op de blockchain kunnen worden geplaatst.
Dit voorbeeld is dus totaal anders via een MW-transactie. Daarmee lijkt de transactie veel meer op een transactie van fiat geld, namelijk: 

Karin: - 1 BTC
Stefan: + 1 BTC

Deze manier van registreren lijkt veel logischer, maar is tot op de dag van vandaag op het Bitcoin blockchain-netwerk dus niet mogelijk. Dit komt voornamelijk voort uit de ‘regels’ die gebouwd zijn waaraan een Bitcoin-transactie allemaal moet voldoen. Dit scripting-systeem wordt verwijderd door MimbleWimble op een MW-netwerk. Hierdoor wordt een MW-netwerk veel schaalbaarder en is er meer privacy.

Meer privacy omdat adressen en transacties niet aan elkaar gekoppeld en getraceerd kunnen worden en meer schaalbaar omdat de blockchain veel kleiner is en blijft en daardoor veel langer meegaat. 

Een ander groot verschil tussen Bitcoin en MimbleWimble is dus de relatieve datagrootte van de blockchains, als gevolg van de besproken en ingezette cut-through-functionaliteit. Door het niet opslaan van onnodige transactiegegevens vereist MimbleWimble substantieel minder rekenkracht dan dat voor Bitcoin-blockchain het geval is. 

De voor- en nadelen van MimbleWimble

Ondanks dat er voornamelijk veel voordelen lijken te zitten aan het gebruik van MimbleWimble, kleven er toch ook wel een paar nadelen aan. In deze opsomming nemen we je even door de belangrijkste voors en tegens.

De voordelen

  • De blockchain grootte van MimbleWimble is aanzienlijk kleiner dan die van Bitcoin.
  • De schaalbaarheid neemt significant toe als eigen model of als sidechain-oplossing.
  • De privacy door het verbergen van transactiedetails neemt enorm toe.

De nadelen

  • Het aantal transacties per seconde nemen af door de privacyregels in MW.
  • MW-systemen zijn niet bestand tegen aanvallen van kwantumcomputers.
  • Extra privacy maakt de oplossing gewild bij criminelen en terroristische organisaties.

Vooruitzicht

Er zijn inmiddels al een aantal toepassingen bekend voor het MW-protocol. Zo wordt de technologie gebruikt in Grin en in het Litecoin-team. Ook Beam is voorzien van MimbleWimble. 

Image
Vergelijkingstabel tussen de cryptomunten Beam en Grin

Ook al lijken Grin en Beam op elkaar vanuit het MimbleWimble-protocol, in de praktijk zijn er vele verschillen. Deze gaan we echter in deze blog niet allemaal behandelen. Beide zijn in ieder geval open-source implementaties van het MimbleWimble-protocol en bestaan al enige jaren. Inmiddels zijn ook van beide toepassingen een mainnet in gebruik genomen, al is die van Grin meer recentelijk uitgekomen dan het mainnet van Beam.

De grote vraag is voornamelijk in welke mate het MW-protocol geadopteerd wordt door de massa en in welke mate er een aanzienlijk niveau van betrouwbaarheid ontstaat. Voor nu is het voornamelijk een interessant, spannend en veelbelovend concept, maar is de toepasbaarheid nog gering. In de weinige jaren dat het protocol bestaat worden voornamelijk de mogelijke toepasbaarheden onderzocht en blijft de toekomst van MimbleWimble vooralsnog onzeker maar interessant.

Conclusie

Het mag gezegd worden: MimbleWimble is eigenlijk een klein stukje magie op de blockchain.

Inmiddels ben je in ieder geval helemaal op de hoogte wat het MimbleWimble-protocol inhoudt en in wat voor soort transacties het protocol toegepast kan worden. Ook heb je kunnen genieten van de heerlijke Harry Potter-referenties, die het protocol nét nog een beetje extra magie meegeven. 

Enerzijds is de huidige blockchain-technologie nog prima in staat om aan de huidige mate van vraag en aanbod te voldoen en lijkt een toepassing als MimbleWimble vooralsnog overbodig. Tegelijkertijd hoopt de hele industrie op een massa-adoptie van crypto en blockchain, waardoor er stevig gespijkerd zal moeten worden aan de hele opzet van de huidige blockchain-modellen.

Wellicht komt MimbleWimble dan ook een paar jaar te vroeg. Maar wanneer de rest van de wereld zich vol op crypto en blockchain zal storten, kan het geen enkele kwaad als er alvast een oplossing op ons allen ligt te wachten!

Mocht je nog niet uitgeleerd zijn over blockchain technologie en MimbleWimble, kijk dan ook onderstaande expert video even door! Ga er wel even goed voor zitten, want hij duurt even, maar daar leer je dan ook een hoop van!