Het idee dat er wijzigingen moeten worden doorgevoerd in het bitcoinnetwerk en het protocol om schaalbaarheid op mondiaal niveau te bereiken, is niets nieuws. Bitcoin is traag, onhandig, middelmatig en soms kostbaar om transacties uit te voeren. Zoals we hier vaak bespreken bij CoinSpot, hebben de introductie van zowel SegWit als Lightning Network (LN) veel gedaan om dit te verhelpen – maar wat als er een betere oplossing was die niet alleen de informatie kon reduceren die nodig was om de blockchain te blijven gebruiken , maar eigenlijk de omvang van de blockchain afnemen naarmate de tijd vorderde? Beter nog: wat als het dit zou kunnen doen terwijl tegelijkertijd elke transactie die werd vastgelegd, werd geanonimiseerd?
Dat is wat Grin en MimbleWimble proberen te bereiken, en tot nu toe zijn ze vrij goed begonnen. In dit artikel bespreken we beide onderwerpen één voor één om crypto-gebruikers een beter idee te geven van wat er gebeurt en hen te helpen begrijpen waarom ze zo belangrijk zijn. Het was geen gemakkelijke taak en om echt te begrijpen hoe deze concepten werken, heb je een geavanceerde kennis nodig van cryptografie zoals toegepast op cryptocurrencies en de blockchain. We behandelen als eerste MimbleWimble.
Wat is MimbleWimble?
In essentie is MimbleWimble een ontwerp voor een blockchain die nogal verschilt van de bitcoin-blockchain en alle andere, wat dat betreft. Wat betekent het woord ‘MimbleWimble’ en waar komt het vandaan? Uit de Harry Potter-serie is “Mimblewimble” een spreuk die de tong van een persoon bindt om te voorkomen dat ze over een specifiek onderwerp praten; meer specifiek, om te voorkomen dat ze een andere spreuk uitbrengen. Dit verwijst naar het feit dat door ontwerp alle afzender-, ontvanger- en transactie-informatie geanonimiseerd is en niet kan worden afgeleid uit het kijken naar de blockchain. Deze functies maken MimbleWimble uiterst uniek in termen van blockchain-architecturen en maken dat dit waarschijnlijk het meest op privacy gerichte grootboek is voor een ooit ontwikkelde cryptocurrency.
Een van de andere interessante dingen over MimbleWimble is dat het kan worden geïmplementeerd als een zogeheten sidechain of ‘soft fork’ (een achterwaarts compatibele fork) in bitcoin zelf, wat betekent dat het niet noodzakelijkerwijs een concurrent van bitcoin hoeft te zijn, maar eerder een oplossing voor het bitcoin scaling probleem.
"Segwit, Schnorr signatures, MAST, MimbleWimble, Bulletproofs, Confidential Transactions, Sidechains, Drivechains, Lightning Network, and moar that hasn't been thought of yet. Tell me again how Bitcoin isn't going to scale or have privacy?" – Reddit
— Dennis Parker⚡️ (@Xentagz) November 11, 2018
MimbleWimble blockchains zijn ook behoorlijk kleiner dan traditionele blockchains, wat wordt bereikt door het reorganiseren en stroomlijnen van gegevens die essentieel worden geacht voor de functie van de blockchain. In plaats van bijvoorbeeld openbare handtekeningsgegevens voor elke invoer en uitvoer in een transactie op te nemen, worden deze gegevens allemaal weergegeven als één enkele waarde die bekend staat als een ‘elliptisch curvepunt’. Deze waarde kan niet worden gegenereerd op een andere manier dan door de directe combinatie van alle openbare sleutels die bij een transactie betrokken zijn.
Bovendien worden alle verbruikte uitgangen (outputs) uit de blockchain verwijderd, waardoor het lean en beheersbaar blijft. Dit idee werd voor het eerst uitgebreid door Bitcoin Core-ontwikkelaar Gregory Maxwell, bekend als CoinJoin. Hoewel het nooit echt in bitcoin is geïmplementeerd, was het basisidee dit:
Afzender A stuurt 1 BTC naar ontvanger B en vervolgens stuurt B 1 BTC naar ontvanger C voordat de eerste transactie wordt bevestigd. Moet de blockchain echt weten dat B ooit 1 BTC heeft gehouden om te blijven functioneren? Het antwoord is: nee. Dit idee kan worden verspreid naar een reeks afzenders en ontvangers die gerelateerde inputs en outputs hebben die nog moeten worden bevestigd door de blockchain. Zoals uitgelegd door Maxwell in een Bitcointalk-forumpost:
‘This transformation is lossless with respect to the final coin ownership, but the intermediate transactions were cut-through. This works even if the original coin ending up in the final outputs came from multiple parties, as they can coinjoin to preserve the final outcome. Because the replacements are atomic and consume the original inputs this transformation is safe, assuming people in the middle can handle any accounting complications that arise. (E.g. figuring out that their payment really was completed). So you’d want to have a way of signaling ‘I permit you to conflict this transaction with one that pays its children, if you can figure out how’.
Dus, zoals toegepast op MimbleWimble, betekent dit dat gegevens met betrekking tot verbruikte uitgangen volledig uit de blockchain kunnen worden gewist, niet alleen om de blokkering van de blockchain laag te houden, maar deze ook daadwerkelijk in omvang te laten verkleinen als meerdere uitgeputte outputs tegelijk worden verwijderd. Slechts een klein stukje gegevens (bekend als een kernel, die ongeveer 100 bytes groot is) van elke transactie moet worden bewaard om een MimbleWimble-blockchain te laten functioneren en nauwkeurige records bij te houden van wie wat bezit.
MimbleWimble in < a tweet: People agree to create a tx exchanging a certain amount. Some add inputs equalling the amount, others create outputs claiming it. Individual in/output amounts hidden. Chain can't know amounts, but can still validate In+Out=0 & No new money created. Fin.
— Yeastplume (@yeastplume) September 17, 2018
Om MimbleWimble succesvol te laten werken als een grootboek, hoeft de exacte volgorde van transacties niet publiekelijk te worden geverifieerd omdat de totale som van in- en outputs altijd gelijk moet zijn aan nul, plus het aantal nieuwe munten dat in elk blok wordt gemined. Net als bij bitcoin kunnen munten niet kunstmatig worden gemaakt door blokken en transacties te manipuleren – tenzij het netwerk voor 51% wordt aangevallen en de meerderheid van de nodes de juiste blockchain door een gewijzigde versie vervangt.
De auteur van de originele MimbleWimble white paper noemde zichzelf ‘Tom Elvis Jedusor’ (wat de naam is van Harry Potter-personage Voldemort in de Franse editie van de romanreeks). De anonieme auteur plaatste de white paper met behulp van een Tor (“.onion”) website die lang geleden werd verwijderd, waardoor het onmogelijk was om uit te vinden waar de site zich bevond of wie de site had gemaakt. Het idee was echter zo overtuigend dat het direct interesse wekte bij verschillende Bitcoin Core-ontwikkelaars die de validiteit en haalbaarheid als blockchain voor een cryptocurrency begonnen te testen.
Mimblewimble: when you take Confidential Transactions (CT), strip it of scripting behavior, & use the 'blinding keys' as signing keys, you get a more private, more efficient scheme. It has the magical properties of CTs w/o the performance hit & w/o compromising security.
~magic~ https://t.co/PpBZZ9uWiA
— Chjango Unchained ⛓ (@chjango) January 18, 2019
Wat is Grin?
Grin is een cryptocurrency die een implementatie van het MimbleWimble-protocol gebruikt. Een paar maanden na het optreden van Tom Elvis Jedusor verscheen op hetzelfde IRC-kanaal een ander Harry Potter-gerelateerd pseudoniem om aan te kondigen dat zij de eerste open source-implementatie van MimbleWimble hadden ontwikkeld, namelijk Grin. Een repository die op GitHub werd gepubliceerd door ‘Ignotus Peverell’ bevatte de software die nodig was om een beta-net-versie van Grin te testen, en daarmee werd Grin geboren.
First block found! https://t.co/KCmVHTYoWu
— ? (@grinMW) January 15, 2019
Iets meer dan twee jaar en twee maanden later, na een zeer grondige periode van bètatesten en ontwikkelen, werd het Grin-hoofdnet op 15 januari gelanceerd met het originele MimbleWimble white paper zoals geschreven door Jedusor uitgebreid door Andrew Polestra van WPS Software. Hoewel Jedusor en Peverell geaccrediteerd zijn met de uitvinding van MimbleWimble en Grin, was het Polestra’s begeleiding en doorzettingsvermogen bij het realiseren van het idee dat Grin tot bloei had gebracht. In zijn bijgewerkte versie van de white paper introduceert Polestra MimbleWimble en Grin als volgt:
Mimblewimble is a design for a cryptocurrency whose history can be compacted and quickly verified with trivial computing hardware even after many years of chain operation. As a secondary goal, it should support strong user privacy by means of confidential transactions and an obfuscated trans30 action graph. This precludes such functionality as zero-knowledge contingent payments, cross-chain atomic swaps and micropayment channels. Further research is needed to emulate these functionalities on top of Mimblewimble.
In een notendop
Kortom, Grin en MimbleWimble zijn revolutionaire nieuwe ontwikkelingen op het gebied van cryptocurrency die het meeste uit de cryptografische principes halen die aanvankelijk door bitcoin werden gebruikt. Grin is een drastische afwijking van reeds bestaande Proof of Work-munten en lost enkele belangrijke problemen op die Bitcoin oploopt: schaalbaarheid, snelheid en privacy. Dat gezegd hebbende, het bevindt zich nog in de kinderschoenen en heeft nog een lange weg te gaan voordat het zich kan bewijzen als een technisch gezond, betrouwbaar en wijdverspreid model voor een cryptocurrency.