Een beginnershandleiding voor Monero (XMR)
Een beginnershandleiding voor Monero (XMR)
StartpaginaArtikelen

Een beginnershandleiding voor Monero (XMR)

Gemiddeld
1w ago
10m

Inleiding

Openbare blockchains zijn van nature transparant. Om blockchains in een gedecentraliseerde omgeving te laten functioneren, moeten alle peers onafhankelijk van elkaar in staat zijn om alle transacties te verifiëren. Je hoeft enkel een blik te werpen op Bitcoin of Ethereum om te zien hoe openbaar de databases van deze cryptocurrencies zijn.
Een dergelijke infrastructuur biedt verschillende voordelen, maar levert vaak in op het gebied van privacy en anonimiteit. Transacties in de blockchain en adressen kunnen aan elkaar worden gekoppeld, waardoor het mogelijk wordt om de identiteit van de eigenaars van de adressen te achterhalen.
Deze zogenoemde pseudonieme cryptocurrencies zijn handig voor veel verschillende toepassingen. Ben je echter op zoek naar complete financiële vertrouwelijkheid, dan kunnen privacy coins de voorkeur genieten. En als het gaat om anonieme cryptocurrencies, zijn er weinig zo bekend als Monero.


Wat is Monero?

Monero (Esperanto voor 'geld') is een cryptocurrency die is gebouwd op de principes van onkoppelbaarheid en onvolgbaarheid. In gewoon Nederlands betekent dit dat twee Monero-transacties niet aan elkaar gekoppeld kunnen worden en het onmogelijk is om de bron of bestemming van transacties te volgen.

Dit is de aantrekkingskracht van Monero. Er wordt nog steeds een blockchain gebruikt om de bewegingen van transacties te volgen, maar dankzij slimme cryptografie is het onmogelijk om de bron, het bedrag of de bestemming van transacties te bepalen. We kunnen dit het beste illustreren door Monero te vergelijken met Bitcoin. Bij Bitcoin ziet een transactie er ongeveer uit als volgt:



Bij Monero ziet een transactie er echter uit als volgt:



We zullen later ingaan op hoe Monero dit voor elkaar krijgt.


Een korte geschiedenis van Monero

Monero is een vork van Bytecoin, een op privacy gerichte cryptocurrency die in 2012 werd gelanceerd. Bytecoin was het eerste protocol dat gebruik maakte van CryptoNote, een open-source protocol dat tot doel had om enkele van de tekortkomingen van Bitcoin op te lossen. Het ging daarbij in het bijzonder om ASIC-mining (het gebruik van gespecialiseerde hardware voor mining) en het gebrek aan privacy in transacties. CryptoNote vormt inmiddels de basis voor veel cryptocurrencies die de nadruk leggen op vertrouwelijkheid.
In 2014 creëerden ontwikkelaars die ongelukkig waren met de initiële distributie van Bytecoin een fork van het project met de naam Bitmonero. De naam werd later gewijzigd, waarbij het 'Bit' werd weggelaten en Monero was geboren.


Hoe werkt Monero?

Als je onderzoek gaat doen naar Monero, dan zul je snel de termen 'ring signature' en 'stealth-adres' tegenkomen. Dit zijn twee van de belangrijkste innovaties die het mogelijk maken om anoniem transacties te versturen met Monero. In dit hoofdstuk beschrijven we beide concepten in het kort.


Rign signatures en Confidential Transactions

Een ring signature is een digitale handtekening die door iemand in een bepaalde groep wordt gecreëerd. Met deze handtekening en de public keys van de groepsleden, kan iedereen controleren dat dit een handtekening van één van de deelnemers is. Men kan alleen niet precies bepalen van welke deelnemer. 
Het in 2001 gepubliceerde onderzoek How to Leak a Secret, waarin deze constructie werd beschreven, gebruikte het voorbeeld van een kabinet. Stel dat een kabinetslid (Bob) belastend bewijsmateriaal heeft over de minister-president. Bob wil bewijzen dat hij inderdaad kabinetslid is, maar wil ook anoniem blijven.

Bob zou dit niet kunnen doen met een gewone digitale handtekening. Door deze te vergelijken met zijn public key, kan iedereen namelijk bevestigen dat alleen de private key van Bob deze handtekening had kunnen genereren. Het kan ernstige gevolgen voor hem hebben als hij naar buiten treedt met het bewijs over de minister-president. Worden er echter ook sleutels van andere kabinetsleden gebruikt in een ring signature-constructie, dan kun je niet bepalen wie het bericht heeft gestuurd. Het enige dat je weet is dat een kabinetslid de informatie heeft gelekt, wat genoeg is om de authenticiteit van de informatie te bevestigen.

Deze techniek wordt gebruikt voor iedere transactie die je verstuurt, waardoor je aannemelijk kunt maken dat de transactie niet van jou afkomstig is. Bij het opzetten van de transactie gebruikt je Monero-wallet de keys van andere blockchain-deelnemers om een ring te vormen. Deze keys dienen effectief als afleiding: voor een buitenstaander lijkt het alsof iedereen in deze ring de transactie had kunnen ondertekenen. Het resultaat is dat niemand kan bepalen of een output is uitgegeven of niet. Hoogstens kan worden gezegd dat één van de acht outputs in onderstaande afbeelding uitgegeven kan zijn. De dummy-outputs in dit voorbeeld worden mixin genoemd.


Een ring met zeven mixins.


In bovenstaande afbeelding is de groene output de output die je daadwerkelijk uitgeeft en dienen de rode outputs die je uit de blockchain hebt getrokken ter afleiding. Voor een buitenstaander ziet het eruit alsof alle acht outputs van jou afkomstig kunnen zijn.

Voorheen was het zo dat outputs in de ring dezelfde grootte moesten hebben. Het zou anders te eenvoudig zijn om te bepalen wat er gebeurde, omdat de transactiebedragen zichtbaar waren. Een ring kon dus bestaan uit outputs van bijvoorbeeld 2 XMR of 0,5 XMR elk.

De upgrade naar RingCT (Ring Confidential Transactions) heeft dat veranderd. Er werd vanaf dat moment gebruik gemaakt van Confidential Transactions, een techniek waarbij transactiebedragen worden verborgen. De integratie daarvan in het Monero was een grote privacyboost voor het protocol, omdat het niet langer noodzakelijk was om te werken met vaste output-groottes. Het is nu mogelijk om een ring te maken met outputs van verschillende groottes, zonder informatie te geven die kan worden gebruikt om de anonimiteit van een transactie teniet te doen.


Stealth-adressen

Ring signatures verbergen de oorsprong van transacties, maar met gewone openbare adressen was het nog steeds mogelijk om de bestemming van transacties te volgen. Dit kan een probleem zijn als je identiteit is gekoppeld aan een van je blockchain-adressen. 

Stel je voor dat je hetzelfde adres gebruikt voor iedere bestelling bij je online winkel. Iedereen die een bestelling bij je doet, kan zien wat het saldo op dit adres is en anderen vertellen dat dit adres bij jouw winkel hoort. Dit kan het adres een aantrekkelijk doelwit maken voor hackers.

Stealth-adressen verbergen de bestemming van transacties. Dit wordt gedaan door de afzender een eenmalig adres te laten genereren op basis van een openbaar adres, dat alleen voor die specifieke transactie wordt gebruikt. Een openbaar adres kan er ongeveer als volgt uitzien:


41mT1gUnYHK6mDAxVsKeB7SP9hVesbESbWcupd7mMYC73GL4nSgsEwTGKHGT7GKoSEdMKvs8Fdu1ufPJbo5BV4d1PfYiEew


Als je dit adres invoert in de block explorer van Monero, zie je dat het niet mogelijk is om er transacties aan te koppelen. Dat is omdat als een afzender je een transactie wilt sturen, er een stealth-adres wordt gebruikt door een aantal wiskundige trucs uit te halen met bovenstaande adres. Er dan XMR gestuurd naar een nieuw adres op de blockchain. Elk nieuwe adres verschilt van het vorige adres en deze adressen kunnen niet aan elkaar worden gekoppeld.
Zelf kun je echter twee stukjes informatie gebruiken: de private view key en de private spend key. Zoals de namen al suggereren, kun je met de view key alle transacties bekijken die aan je adres zijn gekoppeld. Deze key kun je aan anderen geven (bijvoorbeeld je accountant) om de transacties die je hebt ontvangen te controleren. De spend key moet je zien als je private key en wordt gebruikt voor het uitgeven van je coins.
Monero hanteert een beleid van privacy by default, wat betekent dat je enkel stealth-adressen kunt gebruiken. Hoewel de openbare blockchain automatisch wordt geobfusceerd, kun je bepaalde partijen dus nog steeds transparant inzicht bieden in je transacties.



Monero vs. Bitcoin: wat is het verschil?

Als cryptocurrencies hebben Monero en Bitcoin bepaalde overeenkomsten. In werkelijkheid hebben ze allebei veel unieke eigenschappen.


Vervangbaarheid

Vervangbaarheid zorgt voor veel discussie in de Bitcoin-gemeenschap. Dit verwijst naar de verwisselbaarheid van een goed met een ander vergelijkbaar goed. Goud wordt bijvoorbeeld als vervangbaar beschouwd, omdat je een ounce kunt ruilen tegen een ounce van iemand anders en dit geen functioneel effect heeft. Hetzelfde geldt voor cash: je kunt een biljet van tien euro verwisselen voor elk ander biljet van tien euro. Omgekeerd is iets unieks als de Mona Lisa is bijvoorbeeld niet vervangbaar.

Voor veel digitale valuta is het moeilijk om de vervangbaarheid precies te bepalen. Op protocolniveau zijn alle eenheden in Bitcoin vervangbaar, omdat de software geen onderscheid maakt tussen elke eenheid van BTC. Op maatschappelijk en politiek niveau is dit echter niet het geval. Volgens sommigen is Bitcoin niet vervangbaar, omdat iedere output uniek is. Anderen zijn juist weer van mening dat dit niet uitmaakt.

Omdat de Bitcoin-blockchain openbaar is, kunnen transactiegegevens zoals bedragen en bestemmingen door iedereen worden gevolgd. Stel je voor dat je een briefje van vijf euro hebt gekregen als wisselgeld bij de groenteboer. Dat briefje kan al tien keer eerder zijn gebruikt, maar dat heeft geen enkele invloed op de bruikbaarheid van het biljet op dit moment. Bij Bitcoin zijn er incidenten geweest waarbij bepaalde coins zijn geweigerd of in beslag werden genomen op basis van hun 'foute' transactiegeschiedenis. Zelfs als gebruikers niet op de hoogte zijn van eerdere transacties, kan surveillance van de blockchain ertoe leiden dat bepaalde coins niet meer gebruikt kunnen worden in transacties. Dit is waarom Bitcoin volgens sommigen niet vervangbaar is.

In sommige kringen is men van mening dat dit ervoor kan zorgen dat de eigenschappen van openbare cryptocurrency-blockchains niet langer aantrekkelijk zijn voor brede adoptie. 'Schone' coins die kortgeleden zijn gemined (en dus geen geschiedenis hebben) kunnen als waardevoller worden gezien dan oudere, 'vervuilde' coins.

Tegenstanders van het profileren van coins geloven dat de analysemethodes die hiervoor worden gebruikt, onbetrouwbaar en subjectief zijn. Bepaalde tools voor coin mixing en CoinJoining worden steeds toegankelijker voor eindgebruikers, waardoor de herkomst van transacties verborgen kan worden.

Monero is ontworpen om deze tekortkomingen te vermijden. Omdat niemand kan bepalen waar een transactie vandaan komt of wat de bestemming ervan is, lijkt het in bepaalde opzichten meer op contant geld dan andere cryptocurrencies. Zelfs de meest stringente bedrijven accepteren probleemloos XMR van twijfelachtige transacties.

De privacy van Monero heeft echter een prijs. Transacties zijn veel groter, wat betekent dat er een aantal aanzienlijke obstakels moet worden overwonnen voordat het systeem kan opschalen en geschikt is voor massaal gebruik.
Interessant genoeg heeft de grote mate van vervangbaarheid de cryptocurrency een zekere mate van bekendheid gegeven. Monero wordt inmiddels meer gebruikt dan Bitcoin door cybercriminelen die zich bezighouden met cryptojacking, ransomware en voor transacties op het darkweb.


Blocks en mining

Net als Bitcoin maakt Monero gebruik van Proof of Work voor het toevoegen van blocks met transacties aan de blockchain. Zoals alle op CryptoNote-gebaseerde protocollen, is Monero ook ASIC-resistent. Het doel hiervan is om te voorkomen dat mining pools met gespecialiseerde, hoogwaardige mining-hardware het protocol domineren.
Het Proof of Work-algoritme van Monero (onlangs gewijzigd van CryptoNight naar RandomX) heeft tot doel het systeem eerlijker te maken door CPU-mining te stimuleren en de effectiviteit van minen met GPU's minder effectief te maken. De logica hierachter is dat mining beter kan worden gedistribueerd omdat consumentencomputers concurrerend blijven. Desondanks is de rekenkracht op het netwerk relatief geconcentreerd in een handjevol mining pools.
Als het gaat om de grootte van blocks heeft Monero geen vaste limiet, in tegenstelling tot Bitcoin's block weight van vier miljoen. In plaats daarvan wordt er gebruik gemaakt van dynamic block size, wat betekent dat blocks vergroot kunnen worden om te voldoen aan hogere vraag. Daalt de vraag, dan neemt de grootte van de blocks juist af. De grootte wordt berekend door te kijken naar de gemiddelde grootte van de vorige honderd blocks (die gemiddeld elke twee minuten worden gemined). Miners kunnen blocks produceren die groter zijn dan deze limiet, maar ontvangen daarvoor een kleinere beloning.
Hierbij moet worden opgemerkt dat in tegenstelling tot Bitcoin het aanbod van Monero niet eindig is. Monero maakt eveneens gebruik van een afnemende block reward, al neemt deze niet af tot nul. In plaats daarvan blijft de block subsidy altijd uit een bepaald minimum bedrag bestaan, om netwerkdeelnemers aan te moedigen om blocks te blijven minen.


Hard forks

Een ander interessant verschil tussen Bitcoin en Monero kan worden geobserveerd op governance-niveau. Bitcoin is wars van forks en zelfs over de kleinste upgrades wordt bijna tot in het oneindige gediscussieerd voordat deze worden geïmplementeerd. Maar daar is een reden voor. Bitcoin-ontwikkelaars moeten soms conservatief zijn om de stabiliteit, veiligheid en decentralisatie van het systeem te garanderen.

Forks zijn natuurlijk slechts mechanismes voor het upgraden van protocollen. Vaak zijn ze nodig om kritieke bugs op te lossen of nieuwe functies toe te voegen. Bij Bitcoin vermijden gebruikers ze liever, omdat ze verdeeldheid kunnen veroorzaken en een bedreiging kunnen vormen voor de decentralisatie van het netwerk. In het algemeen ontstaan hard forks van Bitcoin als een groep ontwikkelaars een nieuwe cryptocurrency wil creëren op basis van het bestaande netwerk. Buiten dat worden ze meestal alleen gebruikt voor het patchen van grote kwetsbaarheden.

In Monero maken hard forks juist deel uit van de roadmap. Hierdoor kan de software snel worden aangepast aan veranderende omstandigheden en kunnen beveiligingsupgrades snel worden doorgevoerd. Volgens sommigen zijn deze 'verplichte' updates van het protocol een zwak punt van het systeem, al hebben hard forks van Monero niet dezelfde negatieve reputatie als hard forks van andere cryptocurrencies. Dat betekent niet dat ze waterdicht zijn: hoe meer hard forks er zijn, hoe groter de kans is dat kwetsbaarheden niet worden opgemerkt en gebruikers die de update niet hebben doorgevoerd uit het netwerk worden verwijderd.


Ontwikkeling van Monero

Net als bij Bitcoin is de ontwikkeling van Monero openbaar. Iedereen kan bijdragen aan de broncode en documentatie. De community beslist welke functies er worden toegevoegd, verwijderd of aangepast. Op het moment van schrijven werken meer dan 500 mensen aan de ontwikkeling van Monero. Het Core-ontwikkelingsteam bestaat uit ontwikkelaars zoals Riccardo Spagni (FluffyPony), Francisco Caba (ArticMine) en de pseudonieme ontwikkelaars NoodleDoodle, othe en binaryFate.

Naast sponsors wordt het Community Crowdfunding System (CCS) gebruikt om de ontwikkeling van Monero te financieren. Gebruikers kunnen ideeën voorstellen die, als deze worden geselecteerd door de community, een periode van crowdfunding ingaan. Wanneer er bepaalde mijlpalen zijn bereikt in de ontwikkeling van het idee, wordt het gecrowdfunde bedrag uitbetaald aan de ontwikkelaars.


Tot slot

Al jarenlang is Monero (XMR) de cryptocurrency van keuze voor iedereen die op zoek is naar sterke privacygaranties. Monero heeft een toegewijde community van ontwikkelaars die zich inzet voor het vergroten van de vertrouwelijkheid van transacties. Nieuwe upgrades (zoals de integratie van Kovri) hebben tot doel om de missie van het bieden van onkoppelbaarheid en onvolgbaarheid voor cryptocurrencies verder te bespoedigen.