Technologie
Anders durven zijn
Dagelijks worden er honderden zo niet duizenden YouTube video’s volgepraat met koersinformatie en technische analyses van vele tokens en bitcoin alternatieven. Het gaat echter zelden om de techniek en wat die voor gebruikers kan betekenen. Het relatief kleine Munt pakt de zaken anders aan en durft keuzes te maken die niet mainstream zijn, maar wel heel hard nodig zijn om op basis van blockchain een bruikbaar, veilig en onafhankelijk betaalsysteem te maken.
Het streven van Munt -naast dat het een blockchain is die ook voor andere toepassingen inzetbaar is-, is een gebruiksvriendelijke betaaloplossing creëren die, ondanks dat het op krachtige technologieën stoelt, voor de gebruiker in het dagelijkse leven net zo gemakkelijk werkt als een pinpas, maar dan zonder de pas, tussenpersonen, restricties en kosten.
We leven in een digitale speeltuin. Internet verbindt alles. Er zijn geen grenzen. Waarom zou je geld dat wel hebben?!
Munt gebruikt daarvoor een innovatieve tweede generatie blockchain. Om een beetje wegwijs te worden in alle toegepaste technieken hebben we ze hieronder bij elkaar gebracht met een korte uitleg over het ‘hoe en waarom’.
De Munt Basis
Munt is begonnen met als basis de code van Litecoin. Destijds is er voor Litecoin gekozen, omdat deze cryptocurrency in het dagelijks gebruik sneller was dan Bitcoin. Op 4 april 2014 is Munt gelanceerd en werden de eerste blocks gemined. Op 8 april 2014 is de eerste Munt verhandeld voor 0,0003 eurocent. Die waarde kwam op een exchange middels vraag en aanbod tot stand.
In de jaren daarna is er veel veranderd. Dat ook de Litecoin blockchain niet voldeed was al snel evident. Munt is dan ook geheel overgestapt naar een eigen blockchain ontwerp, waarvan we hier in dit artikel de technische aspecten stap voor stap zullen behandelen. Daarnaast is er rondom Munt een gehele community ontstaan met ontwikkelaars, bedrijven die Munt accepteren, beurzen, handelaren, spaarders en miners.
De koers wordt echter nog steeds bepaald door de vrije handel. Deze kun je o.a. vinden op Stex.com en Bittrex.com.
De Techniek
Wat de Munt blockchain zo uniek maakt is het slim inzetten van een hele reeks aan geavanceerde en zelf ontwikkelde technologieën. Hierdoor verzet het bakens en is het de benchmark voor professionele blockchains.
De blockchain vertrouwt niet alleen op het miners model, ook wel PoW (proof of work) genoemd, maar voegt daar witness (een soort PoS on steroids) en technieken als Sonic, Delta en SegSig aan toe.
Dit resulteert in een blockchain die robuust, veilig en snel is. Daarbovenop zijn er door verschillende bedrijven wallets en services gebouwd die zeer gebruiksvriendelijk en nagenoeg kosteloos zijn.
Gemiddeld wordt 1 keer in de 150 seconden een blok toegevoegd aan de blockchain. Er komen dus 576 blokken per dag op de markt. Deze blokken worden door de miners gevonden en aan het netwerk toegevoegd. De miners krijgen hier een vergoeding voor. De miners worden vervolgens gecontroleerd door de witnessers. Ook zij krijgen hiervoor een vergoeding.
Als laatste krijgt ook de GAB (Gulden Advies Raad) een vergoeding per blok. Deze wordt besteed aan de ontwikkelingskosten, marketing en hulp aan derden die ook toepassingen voor Munt willen ontwikkelen.
SIGMA
Laten we met de miners beginnen:
Veel blockchains gebruiken het Scrypt algoritme om te minen. Munt daarentegen gebruikt het modernere SIGMA. Dit heeft een aantal voordelen: Aan de ene kant maakt dit algorithme het voor veel mensen mogelijk om thuis op een desktopcomputer te minen. Dit versterkt daarmee het decentrale karakter van Munt, immers iedereen kan meedoen doordat SIGMA geen specialistische zware apparatuur vereist.
SIGMA staat voor Semi Iterated Global Memory Argon. Waarbij Argon een algorithme is dat de eerste prijs in de wacht sleepte op de in Luxemburg georganiseerde Password Hashing competitie. Het principe van Argon2 is door Malcolm – Munt’s Lead Developer – verder doorontwikkeld en een geheel eigen algorithme op gebied van ontwerp en implementatie geworden.
Op het moment van schrijven (okt 2019) zijn er ongeveer 300–400 miners actief, waarvan de grootste miner ongeveer 4% marktaandeel heeft ten opzichte van de totale hashrate op het Munt netwerk.
De grote hoeveelheid “kleine” miners zorgt voor een stabiel werkend netwerk.
DELTA
Inherent aan het minen is dat het verkrijgen van een block een combinatie is van de snelheid van de miner, de moeilijkheid van de som, de hoeveelheid miners en een portie geluk. Daardoor varieert de tijd die benodigd is om de som op te lossen. Soms lukt het binnen 20 seconden en soms duurt het 10 minuten. Gemiddeld wil Munt echter uitkomen op 150 seconden per gevonden blok. Om dit te bewerkstelligen kan het Munt netwerk autonoom beslissen om de som moeilijker of makkelijker te maken. Als er veel miners met snelle apparatuur aan het minen zijn en de som dus snel opgelost wordt besluit het netwerk dat de som bij het volgende blok moeilijker wordt gemaakt en andersom als veel miners er het bijltje bij neergooien zal het gemiddeld te lang duren voordat de som opgelost wordt en besluit het netwerk dat de sommen eenvoudiger kunnen worden gemaakt. In de formule om de som te genereren zit een parameter die “difficulty” heet en die parameter kan hoger of lager gezet worden. Dit autonome proces wordt gestuurd door het DELTA protocol. Dat is een continu proces. Dactual.com geeft hier een mooi plaatje van:
Difficulty
De snelheid van een miner wordt uitgedrukt in Hashes per seconde. Als we het hebben over een miner met een snelheid van 1 Megahashes per seconde (1Mh/s), betekent het dat de miner per seconde 1 miljoen gokjes en sommen berekent om de juist oplossing te vinden.
De rekenkracht die alle miners opgeteld totaal inzetten geeft de totale Hashrate weer die op het Munt netwerk losgelaten wordt. Op het moment van schrijven (april 2020) is de Munt hashrate ongeveer 3000MH/s, kortom 3.000.000.000 hashes per seconde.
Nonce
SIGMA gaat nog een stapje verder: In cryptografie is een nonce een willekeurig getal dat slechts één keer gebruikt kan worden in een cryptografische communicatie.
Dus als je een blok probeert te ontginnen creëer je het blok maar één keer, in eerste instantie met een nonce van 0. Daarna ‘hash’ je het om te zien of het geldig is, als dat niet het geval is verplaats je de nonce naar 1 en probeer het opnieuw, enzovoort.
In het geval van de meeste blockchains wordt de nonce op deze manier verhoogd tussen “0 en 4294967296”. In het geval van SIGMA hebben we in plaats daarvan een pre-nonce en een post-nonce die variëren tussen 0-65536.
Dit dient ervoor om ‘valsspelen’ tegen te gaan en het minen ASIC/GPU resistent te maken, waardoor minen alleen echt rendabel is op een desktop computer. Een diepere uitleg hoe dit werkt staat in de SIGMA release notes.
Minen kan in een paar stappen in de desktop wallet aangezet worden en biedt iedereen de kans om op een laagdrempelige manier met crypto minen in aanraking te komen. Lees hier meer over SIGMA.
Unity
Met de SIGMA update werd tegelijkertijd ook het Unity project volledig geïmplementeerd en afgerond.
Meer dan 50 procent van de Munt-gemeenschap koos tijdens een stemmingsronde in maart 2018 ervoor om Unity als het volgende project te omarmen.
Unity migreert al portemonnees (mobiel en desktop) naar een enkele uniforme back-end, in plaats van aparte code voor elk. Voordelen zijn onder andere: snellere uitrol van nieuwe functies, wijzigingen en bugfixes die in één keer in plaats van meerdere keren zijn gemaakt; prestatieverbeteringen en lager batterijverbruik (mobiel); eenvoudigere uitrol van speciale Munt builds voor nieuwe platforms.
Witness
Naast SIGMA beschikt Munt over een technologie die een controlerende extra stap toevoegt aan het mining process: Witness. Hiermee verkrijgt Munt zijn ongekend hoge veiligheidsniveau.
Normaliter vertrouwd een blockchain erop dat miners het onderling eens worden of een blok als valide beschouwd mag worden en vervolgens aan de blockchain toegevoegd kan worden. Probleem hierbij is dat men dit kan manipuleren. Ook wel bekend als het 51% probleem.
Munt heeft hiervoor een oplossing geïmplementeerd die een extra laag toevoegt. Hierbij wordt de block die de miner aanbiedt eerst nog gecontroleerd door een witness voordat hij aan de blockchain wordt toegevoegd. Dit heeft een hele reeks aan voordelen.
Een daarvan is dat er is nu minimaal 71% van de miningkracht nodig is, met daarbovenop 71% van de witness accounts, om een kans te hebben de blockchain te manipuleren.
In de praktijk betekent het dat een aanvaller zodanig veel geld in de aanval moet steken dat hij zijn ‘eigen’ bank berooft.
Lees hier meer informatie over de beveiliging van het netwerk.
Omdat de beveiliging op zo’n hoog niveau ligt kan Munt af met een confirmatietijd van slechts 1 blok, waar bijna alle andere crypto munten werken met 6 blokken confirmatietijd (dus 6 x een bloktijd moeten wachten tot je zeker bent van de transactie). Dit levert enorme snelheidswinsten op. Er liggen echter al plannen op tafel om zelfs dit nog te versnellen.
Een ander voordeel van de combinatie miner/witness is dat er geen zogenaamd ‘selfisch’ mining voordeel behaald kan worden. Dit effect treedt op als een miner een blok mined, en in de tijd dat het over het netwerk verspreid wordt een voorsprong op kan bouwen door alvast het volgende blok te minen. Witness gaat dit tegen, daar de miner eerst op goedkeuring van het geminde blok moet wachten alvorens verder te kunnen.
Omdat Witness essentieel anders is dan PoS (Proof of Stake) worden ook typische PoS onvolkomenheden bestreden:
• PoS onbeveiligde private keys: Private keys zijn in Munt altijd beveiligd in witness.
• “Nothing at stake issue”: Omdat er altijd voldoende PoW hash power aanwezig is op de Munt blockchain kan deze “Nothing at stake issue” niet ontstaan.
• PoS “Stake buildup”: De leeftijd van de munt is niet gebruikt in Witness. Daarom is het Witness systeem immuun voor deze fout.
• PoS “Stake grinding”: Dit effect kan alleen optreden als er geen PoW activiteit zou zijn op de Munt blockchain. Witness en PoW zijn onlosmakelijk met elkaar verbonden etc..
Aangezien iedereen een witness account kan openen in de desktop wallet draagt ook dit systeem bij aan een verdere decentralisatie van het netwerk.
De Witness worden beloont voor zijn/haar werk. Momenteel kan dit oplopen tot rentepercentages boven de 10% en is daarmee een prima alternatief voor een aloude spaarrekening.
Disclaimer: Beloningen en jaarlijkse opbrengsten kunnen variëren en zijn afhankelijk van het aantal deelnemers, immers er zijn maar een beperkt aantal blokken per dag beschikbaar.
Witnesskey
We hadden het al eerder aangestipt dat Munt gebouwd is op ontzettend krachtige en doordachte technologie. De witnesskey is daar onderdeel van. De meeste cryptovaluta kennen een tweetal sleutels. De private key en de public key. Je zult omwille van gebruiksgemak deze twee termen niet vaak voorbij zien komen bij Munt, maar voor de tech nerds misschien wel leuk om te weten: Munt gebruikt namelijk nog een derde sleutel, de witnesskey. Deze kun je exporteren, zodat je ook met cloud services of op een Raspberry Pi kunt werken zonder dat iemand bij je deposito kan. Het enige waar de key toegang tot geeft is de rewards. Lees hier meer over Witnessen.
SegSig
Op 4 april 2020 is de langverwachte Fase4 van Munt’s PoW2 uitroll geactiveert. Samen met een sterk verbeterde efficiëntie en nieuwe functies verhoogde de update ook de beloningen voor de lopende witnessdeposito’s. Met Fase4 implementeerde men een compleet nieuwe blockchain welke daarmee niet meer compatible met de oude chain was. Deze is nu volledig losgelaten, vandaar ook dat alle wallets en apps een update nodig hadden. Uiteraard is de volledige betaalhistorie wel mee overgenomen.
Deze nieuwe chain heeft naast alle bovengenoemde technologieën nu ook een volledige SegSig intergratie. Dit is een doorontwikkelde variant van het SegWit idee.
Voordelen van SegSig – De 58% factor:
- 58% ruimtebesparing op alle transacties.
- 58% verhoogde transactiedoorvoer. Geen blokgrootte of frequentiewijzigingen nodig.
- In combinatie met het geplande project Epoch zullen gebruikers Munt nodes tot ver in de toekomst op de meest bescheiden hardware kunnen draaien.
- Nieuw transactiescriptsysteem, zie hieronder, waardoor PoW² en SegSig zo schoon mogelijk konden worden geïmplementeerd, samen met andere voordelen.
Transactiescript
Naast bovengenoemde optimalisatie van de chain middels SegSig is het transactieformaat ook onder handen genomen. Deze is nu uitbreidbaar. Dit is uitermate belangrijk om de chain ook voor andere toepassing naast Munt te kunnen gebruiken. Daarbij is letterlijk fantasie de enige limitatie! Laten we daar eens doorheen spitten:
De nieuwe chain heeft momenteel 3 soorten transactietypen in gebruik:
1. Scripttransacties (wat men altijd gebruikt heeft en wat Bitcoin ook gebruikt).
2. Simpele ‘Keyhash’ – dit maakt de meest efficiënte manier mogelijk om naar een adres te sturen zonder alle onnodige script-overhead die Bitcoin en dergelijke meestal hebben.
3. Witnesstransactie – dit bevat alles wat een witness-adres moet bevatten. Vroeger (in fase3/oude chain) werd alle informatie van een witness-adres in een ‘script’ gestopt, wat inefficiënt was. Nu wordt het ondersteunt als een eigen transactietype.
Er is ruimte voor toekomstige transactietypen, nog 29 in totaal. Hoewel elk type daarbovenop subtypes zou kunnen hebben, dus nog meer in theorie…
- Deze toekomstige types kunnen echt van alles zijn. Als het zinvol is, of nodig is voor een toepassing die iemand bedenkt, zou men een transactietype kunnen maken dat een meer ‘fancy’ scripttaal ondersteunt dan de momenteel ondersteunde Bitcoin-taal (zoals bij Ethereum).
- Er zou een transactietype ontwikkelt kunnen worden die vergelijkbaar is met een standaard transactie, maar die speciale beperkingen toestaat (zoals het alleen betalen aan een lijst van vooraf goedgekeurde adressen in plaats van het overal uit te kunnen geven).
- Er zou een transactie gemaakt kunnen worden die, als ze niet voor een bepaalde tijd wordt uitgevoerd, de waarde ervan terugkeert naar de afzender (beide voorbeelden kunnen handig zijn voor verschillende soorten promoties, of autoverhuur).
- Er zouden transacties gebouwd kunnen worden die het mogelijk maken om iets anders dan Munt (zoals grondstoffen of iets dergelijks) op de chain te vertegenwoordigen of wie wel of niet veilig aan het werk kan ivm Corona. Al heeft dat weer privacyimplicaties (Al zou je dat weer met een hash/versleuteling kunnen oplossen).
Sonic
Sonic is een in 2018 geïntroduceerde technologie die de initiële synchronisatietijd bij het installeren van de desktop wallet verkort. Voorheen duurde het ophalen van de gehele blockchain tot soms wel vier uur. Dit is met Sonic tot onder het uur gebracht. Een enorme vooruitgang dus, welk de gebruiksvriendelijkheid een stuk groter maakt. Daarnaast hebben ook de mobile wallets een snelheidsupgrade gehad. Als je de app opent is ie nu binnen een paar seconden weer helemaal bij.
Energieverbruik
Crypto, en Bitcoin in het bijzonder, wordt er vaak van beschuldigd dat het grote hoeveelheiden energie verbruikt. Bij Munt ligt dat anders. We kunnen eenvoudigweg berekenen hoeveel energie het Munt netwerk momenteel verbruikt. Gemiddeld wordt een rendement van 42 Watt/Mh/s (zie bovenstaande tabel) bereikt. Bij een totale hashrate van 3000Mh/s betekent dat het elektrisch vermogen van alle mininghardware samen 126kW bedraagt. Op jaarbasis verbruikt Munt dus 126kW * 8760 uur = 1103MWh. Dit staat in schril contrast met Bitcoin’s 73,12 TWh (een factor 66.000x hoger).
Dat bovenstaande berekening geen statisch gegeven is moge duidelijk zijn. Er komen continue miners bij – het netwerk groeit -, en daarmee ook het energieverbruik. Echter blijft Munt veruit de meest ecologisch verantwoorde oplossing. Daarnaast is het verschil in efficiëntie in de praktijk nog vele malen groter als je ook het aantal transacties dat per block op de chain verwerkt kan worden in de beschouwing meeneemt.
Vooruitblik
Zoals uit bovenstaande blijkt is er de afgelopen jaren keihard doorgewerkt en is er veel moois ontwikkelt. Blijft er dan niets te wensen over? Uiteraard wel! Er staat nog genoeg op het lijstje van zowel de community als ontwikkelaars.
Project Nomad bijvoorbeeld. Dat is een project om Munt ook op een dichtgetimmerd bedrijfs-wifi netwerk te kunnen gebruiken. Maar ook Alias is nog een idee. Dat is de mogelijkheid om makkelijk te onthouden betaaladressen te gebruiken i.p.v. de nu lange tekenreeksen. De meest omvangrijke is echter de zogenaamde zero confirmatie transactie. Nu is immers nog minimaal 1 of twee confirmaties nodig om een betaling als veilig te beschouwen. Als dat al bij nul confirmatie kan zou dat natuurlijk ongekend zijn.
Vanaf 1 juli 2021 zullen de beloningen voor miners, witness, marketing en ontwikkeling aanzienlijk veranderen. Het totale bedrag per blok zal worden verlaagd -van het huidige 160 NLG naar slechts 90 NLG- en vierjaarlijkse halveringen zullen worden ingevoerd. Ook wordt de Total Supply verlaagd van 1680 miljoen naar slechts 700 miljoen Munt. Munt zal daardoor nog schaarser worden, in lijn met de ‘store of value’ doelstellingen.
Tot Slot
Om deze uitleg niet te lang te maken hebben we een aantal dingen niet besproken, waaronder de koppeling van de wallets tussen desktop en mobiel, hoe het betalen met de wallets werkt, welke voordelen het voor bedrijven heeft -immers Munt betalingen accepteren is vele malen goedkoper dan pinpas of iDeal betalingen-, en ook mogelijk als internet bankieren er weer eens uit ligt…
Mochten er vragen zijn en/of wil je je meer verdiepen en meehelpen aan Munt dan is de Munt Community op Slack een goede start. Daarnaast kun je het project volgen op Github.
Er worden continue nieuwe toepassingen en verbeteringen doorgevoerd. De community beslist in samenspraak met de Gulden Advies Raad welke als eerste gebouwd worden. Hierdoor is Munt met recht een betaalsysteem voor en door mensen.
We hebben Kerk en Staat gescheiden. We hebben nu eindelijk de tools om ook Staat en geld te scheiden.
Dit is zeker in de huidige monetaire crisis waarbij duizenden miljarden dollars en euros worden bijgedrukt en onze welvaart en koopkracht onder druk staan van dringend belang.
Munt: Blockchain was nog nooit zo serieus!