"Bitcoin is ouderwets en traag", "Bitcoin is te langzaam!" of "de techniek van Bitcoin is allang verouderd". Als je al wat langer in de crypto-markt rondloopt dan is de kans groot dat je deze kreten al vaker hebt zien langskomen.
Tegenstanders van Bitcoin hebben een aantal argumenten die ze maar al te graag gebruiken. Eén daarvan is dat Bitcoin een "energieslurper" is. Het tweede tegenargument is dat Bitcoin geen waarde heeft en dat het een bubbel, tulpenmanie of een piramidespelletje is. En het derde tegenargument is dat de Bitcoin-techniek verouderd is.
Het voorlaatste argument van dat Bitcoin een bubbel is, wordt tegenwoordig niet meer zo veel gebruikt. Dat argument werd namelijk veel genoemd in de bullrun van 2017 en een bubbel kan geen twee keer klappen, toch?
In het laatste tegenargument zit tot op zekere hoogte nog wel een kern van waarheid. Bitcoin is op dit moment niet snel genoeg om als globale wereldmunt gebruikt te worden. Daarbij moet wel gezegd worden dat er op de achtergrond hard gewerkt wordt aan upgrades voor het Bitcoin-netwerk. Zo wordt het Bitcoin Lightning Network, een layer 2 solution voor schaalbaarheid, alsmaar groter.
In dit artikel gaat het echter niet over het Lightning Network, maar over een andere upgrade van het Bitcoin-netwerk: Taproot. Deze langverwachte upgrade lijkt nu toch echt binnenkort live te gaan. Maar wat is de Bitcoin Taproot upgrade? En welke gevolgen heeft deze update van het netwerk voor jou als Bitcoin-HODL'er?
By the way: maak je borst maar nat, want sommigen onderwerpen zijn redelijk technisch. We leggen je ze zo eenvoudig mogelijk uit.
Bekijk snel:
De achtergrond van Taproot
Als je goed in Engels bent dan dacht je bij 'taproot' waarschijnlijk gelijk aan een wortel. En zo gek is dat nog niet.
Een taproot, in het Nederlands een penwortel, is een grote, centrale en dominante wortel waaruit andere wortels zijdelings ontspruiten. Kenmerkend voor een penwortel is dat hij enigszins recht en zeer dik is, en rechtstreeks naar beneden groeit. Bij sommige planten, zoals de wortel, is de penwortel een opslagorgaan dat zo goed ontwikkeld is dat het als groente wordt geteeld.
Het penwortelsysteem is praktisch het tegenovergestelde van het vezelige wortelsysteem van planten met veel vertakte wortels..
Leuk, zo'n stukje biologie, maar wat heeft het met Bitcoin te maken?
De Bitcoin Taproot upgrade is een softfork die de scripttaal verandert met als doel de schaalbaarheid, beveiliging en privacy van het netwerk te verbeteren.
Dit doet de Taproot upgrade door ingewikkeldere Bitcoin transacties, zoals transacties met timelock releases of multi-sig vereisten, te camoufleren als een "normale" Bitcoin transactie. Transacties met zulke voorwaarden kun je trouwens ook smart contracts noemen, wat vooral bekend is van Ethereum (ETH).
Hierbij wordt de penwortel vergelijking gemaakt:
Een smart contract transactie, met bijvoorbeeld een multi-sig functie, kun je zien als het vezelige wortelsysteem, met veel verschillende codes.
Dankzij Taproot worden deze complexere smart contract transacties gecamoufleerd en zijn deze transacties niet meer te onderscheiden van "normale" Bitcoin transacties. Ze zijn, net als een penwortel, één geheel en bestaan niet langere uit tientallen verschillende codes.
Nu hoor ik je denken: "multi-sig, timelocks en codes?". Geen zorgen, we gaan terug naar de basis en leggen stap voor stap uit wat dit precies inhoudt.
Zoals je misschien wel weet draait het Bitcoin-netwerk op de blockchain van Bitcoin. Alle Bitcoins zijn als het ware "opgesloten" in scripttaal. Die scripttaal kun je zien als een paar regels aan code verwerkt in een transactie die is opgenomen in de publieke database van Bitcoin; de blockchain. Die scripttaal bepaalt hoe de munten kunnen worden uitgegeven in de volgende transactie.
Eén van de voorwaarden voor het uitgeven van Bitcoins is bijvoorbeeld dat er een digitale handtekening gezet moet worden om het eigendom van de munt te bewijzen. Die voorwaarden noemen we "functies". Minder bekende functies zijn bijvoorbeeld timelocks of multi-sig transacties.
In dit artikel ga ik niet heel diep in op wat timelocks en multi-sig transacties zijn, maar in het kort zijn het complexere functies van crypto transacties. Bij timelocks kunnen cryptomunten alleen uitgegeven worden na een bepaalde tijd (block height). Bij multi-sig, wat staat voor multi-signature, kunnen Bitcoin of andere cryptomunten alleen worden uitgegeven als meerdere private keys een digitale handtekening zetten. Bij reguliere transacties kan dat al bij een digitale handtekening door één private key.
Pay-2-Script-Hash (P2SH)
In het kort kun je scripttaal dus zien als de voorwaarden van een Bitcoin transactie. Die voorwaarden kunnen redelijk complex worden. De scriptttaal van een Bitcoin is al sinds 2012 niet zichtbaar voor het publiek; alleen de nieuwe eigenaar van de Bitcoin weet aan welke voorwaarden de Bitcoin transactie moet voldoen om ze te kunnen uitgeven.
Het verbergen van de scripttaal zodat het publiek het niet kan zien, wordt gedaan aan de hand van een trucje genaamd Pay-2 -Script-Hash (P2SH). Hierbij wordt alleen een hash van het script in de blockchain opgenomen.
Een hash is in het kort een functie in de informatica die veel data omzet in een een klein beetje data in de vorm van een reeks willekeurige getallen van een vaste lengte. Zo kun je bijvoorbeeld normale zinnen hashen:
Invoer | Hash uitkomst |
---|---|
Hallo | 753692ec36adb4c794c973945eb2a99c1649703ea6f76bf259abb4fb838e013e |
Hoe gaat het met jou? | 815cbea3d1a07b54f7eb75ad237234bf1e2996c23d94b60c50663ede13374e26 |
Met mij gaat het goed. | c5c96770ac7745c653d73bf03e42ef1b5babfc3d58839d33dbe80d20340286e5 |
Bij het Pay-2-Script-Hash trucje wordt dus alleen de hash van de scripttaal opgenomen in de blockchain-database. In deze hash zijn ook de Bitcoins opgesloten. Pas wanneer de eigenaar de Bitcoins uitgeeft, onthult hij tegelijkertijd de hele scripttaal en de "oplossing" voor het weergeven van de scripttaal.
Iedereen kan dan de initiële hash gebruiken om te controleren of het geleverde script inderdaad het originele script was dat de Bitcoins vergrendelde en kan gelijk concluderen dat aan de vereisten van het script werd voldaan.
Uiteindelijk moeten alle mogelijke voorwaarden voor het uitgeven van de Bitcoin dus worden onthuld zodra deze cryptomunten worden uitgegeven. Dit heeft twee grote nadelen voor het Bitcoin-netwerk:
- Het vereist veel gegevens, vooral als er veel voorwaarden in het scripttaal staan.
- Het is slecht voor de privacy. Iedereen komt namelijk alle verschillende manieren te weten waarop de Bitcoins hadden kunnen worden uitgegeven. Hierdoor kan via een blockexplorer uiteindelijk onthult worden welke digitale wallet gebruikt werd.
Merkelized Abstract Syntax Tree
Een voorgestelde oplossing voor bovengenoemde twee problemen is een MAST, kort voor Merkelized Abstract Syntax Tree. Deze oplossing maakt gebruik van Merkle trees. Merkle trees is een al jarenoude manier van data compact structureren in de vorm van een boom. Belangrijk om te weten is dat deze oplossing nog niet is ingevoerd in het Bitcoin-protocol.
Bij een MAST worden worden alle verschillende voorwaarden of scripts waaronder een cryptomunt kan worden uitgegeven, afzonderlijk gehasht. Dus in plaats van één hash te hebben die al deze voorwaarden omvat, worden de verschillende voorwaarden individueel gehasht en opgenomen in de Merkle Tree.
Om je hiervan een beter beeld te geven, hebben we hieronder een afbeelding gezet die de Merkle Tree van een transactie weergeeft.
Een Merkle Tree wordt gemaakt door elk script afzonderlijk te hashen om een reeks van cijfers te krijgen: de identifier. Elk van die identifiers wordt dan gekoppeld aan een andere identifier en opnieuw gehasht, wat weer een korte unieke identifier oplevert voor dat paar.
Iedere functie binnen een transactie wordt dus gehasht met elkaar tot er één identifier overblijft: de Merkle Root. Deze Merkle Root kunnen we zien als de sleutel voor de kluis, waarin de kluis de rest van de Merkle Tree is.
Het voordeel aan MAST, in tegenstelling tot P2SH, is dat bij MAST alleen de voorwaarden van de scripts waar daadwerkelijk aan voldaan is, worden onthuld.
Als we bijvoorbeeld een smart contract script hebben dat zegt dat een partij haar munten pas na een maand kan uitgeven (een timelock script) of dat ze kunnen worden uitgegeven met een 3-of-5 multi-sig transactie, dan zullen, zoals het nu in bitcoin is, beide voorwaarden worden onthuld zodra de munten zijn uitgegeven.
Met MAST zouden niet beide voorwaarden onthuld worden voor het publiek, maar alleen degene waaraan voldaan is, dus één van de twee.
Nou denk je misschien dat dat niet zo'n groot verschil maakt, maar bij nog complexere smart contract transacties met meerdere voorwaarden moeten op dit moment alle scripts meegenomen worden in de blockchain. Al die scripts zijn als het ware nutteloze data die de blockchain opvult en trager maakt.
MAST maakt het mogelijk om veel meer voorwaarden aan een transactie mee te geven in vergelijking met het gebruik van enig ander huidig mechanisme. Dit biedt ondersteuning voor meer geavanceerde smart contracts zonder extra kosten voor Bitcoin-nodes.
MAST is tot nu toe nog niet in het Bitcoin-protocol geïmplementeerd, omdat de benodigde veranderingen van het netwerk ingewikkeld en bovendien ingrijpend zijn.
Hierbij komt Taproot kijken: als een middenweg tussen de eenvoud van het Bitcoin-protocol zoals we het nu kennen, en een ingewikkeld, maar tegelijkertijd ook extra functionaliteit dragend netwerk.
Wat is de Bitcoin Taproot upgrade?
Een stukje geschiedenis: op 21 januari 2020 diende Bitcoin Core-ontwikkelaar Pieter Wuille een pull-verzoek in voor de volgende soft fork-upgrade van Bitcoin. Een pull-verzoek betekent dat meer ontwikkelaars de code zullen onderzoeken - wat belangrijk is voor Bitcoin omdat de upgrade weer een stap dichter bij opname in het protocol is.
Het voorgestelde Bitcoin-protocol upgrade is onder ontwikkelaars bekend als BIP 340, 341 en 342. Voorstellen van Bitcoin worden BIP's genoemd. Wat staat voor Bitcoin Improvement Proposals. In het specifiek is BIP340: Schnorr, is BIP341: Taproot en is BIP 342: Tapscript.
Dit driedelige Bitcoin-protocol voorstel is de grootste upgrade voor Bitcoin tot nu toe, en de eerste sinds de activering van SegWit van meer dan twee jaar geleden.
De Taproot upgrade waar je van gehoord hebt, is waarschijnlijk dus niet alleen de Taproot upgrade, maar dit driedelige Bitcoin-protocol voorstel. Als geheel hebben deze voorstellen aanzienlijke voordelen voor de functionaliteit, schaalbaarheid en privacy van Bitcoin. In dit artikel behandelen we de belangrijkste twee BIP's: Schnorr en Taproot.
BIP 340: Schnorr Signatures
Voordat we aan Taproot kunnen beginnen is het belangrijk om te weten wat Schnorr is. Nee, niet dat ding tussen je mond en neus. Schnorr is, net als Taproot en MAST, een voorstel om Bitcoin te verbeteren: een BIP.
Kort samengevat is het Schnorr Bitcoin-protocol voorstel een efficiënter systeem om digitale handtekeningen (signatures) te zetten. Dit systeem voor het zetten van digitale handtekeningen werd in 1991 gepatenteerd door Claus Schnorr. Zijn patent liep tot 2008, waardoor Satoshi Nakamoto het zelf niet kon gebruiken.
Digitale handtekeningen worden in Bitcoin gebruikt om te bewijzen dat je de eigenaar bent van de private key zonder deze onthullen. Bovendien bewijst de digitale handtekening ook dat een transactie na ondertekening ervan niet meer gewijzigd kan worden, vanwege de hash-functie.
Schnorr signatures zijn in het kort een efficiëntere manier van digitale handtekeningen zetten dan het huidige protocol. In het specifiek is het efficiënter voor multi-sig transacties waarbij meerdere private keys en digitale handtekeningen moeten worden gezet voordat er een transactie gedaan kan worden.
Dit doet Schnorr signature door de verschillende handtekeningen en private keys te bundelen:
Hierdoor is er uiteindelijk minder ruimte nodig op de blockchain, vooral bij complexe smart contract transacties waarbij de multi-sig functie wordt gebruikt. Dankzij de Schnorr upgrade zijn complexere multi-sig transacties niet meer te onderscheiden van "normale" transacties: niemand kan zien hoeveel handtekeningen er zijn gezet voor de transactie. Dit verbetert de privacy van deze transacties en zorgt bovendien voor een sneller Bitcoin-netwerk.
BIP 341: Taproot
Taproot is, net als MAST en Schnorr, een voorstel om Bitcoin te verbeteren. Het Taproot voorstel is van origine ontwikkeld door Bitcoin Core-ontwikkelaar Greg Maxwell in januari 2018.
Taproot (BIP 341) gaat in combinatie met Schnorr en MAST nog een stap verder. Hierdoor wordt de groep van transactietypen die op normale transacties lijken nog groter. Zo breidt Taproot deze groep uit met:
- Transacties uit het Lightning Network
- Alle andere complexe smart contract transacties
Taproot gebruikt een MAST structuur om de voorwaarden achter de Merkle Root te verbergen. Hierdoor kan iemand een transactie doen met alleen de Merkle Root. Slechts één enkele sleutel gaat naar de blockchain en niemand ziet dat er bijkomende voorwaarden bestaan. Hierdoor lijken alle complexere transacties op normale transacties.
Taproot is dus vergelijkbaar met MAST, maar voegt daar een extra functie/voorwaarde aan toe: corporate close.
De corporate close voorwaarden zorgt ervoor dat transacties ook gedaan kunnen worden als alle participanten, bijvoorbeeld verzender en ontvanger, het over de uitkomst van een transactie eens zijn. De private keys van de participanten worden dan samengevoegd tot een nieuwe unieke private key: de Taproot internal key.
Kortom, Taproot maakt het mogelijk om de informatie dat een Bitcoin-script überhaupt liep te verbergen. Bitcoin uitgeven met Taproot zou er bijvoorbeeld voor kunnen zorgen dat een transactie in een Lightning Netwerk kanaal, een peer-to-peer transactie, of een geavanceerd smart contract niet meer te onderscheiden is van elkaar. Het monitoren van een van deze transacties zou niets anders onthullen dan een peer-to-peer transactie.
Conclusie
Bitcoin staat tegenwoordig meer bekend als digitaal goud en een store-of-value, dan als een manier van betalen. Een van de redenen daarvoor is omdat Bitcoin transacties redelijk traag en duur zijn als het netwerk veel wordt gebruikt.
Om dit te verbeteren zijn Bitcoin-ontwikkelaars al jaren bezig met Taproot. Taproot is het "pakket" waaronder Taproot en ook twee andere BIP's vallen: Schnorr en Tapscript.
Taproot, in combinatie met MAST en Schnorr, zorgt ervoor dat alle smart contract transacties, hetzij multi-sig transacties, hetzij Lightning Network-transacties, gecamoufleerd worden, waardoor ze niet te onderscheiden zijn van eenvoudige, normale transacties. Dit heeft de volgende voordelen:
- Schaalbaarheid van het netwerk verbeteren met snellere en goedkopere transacties.
Doordat er een verminderde hoeveelheid gegevens moet worden overgedragen en opgeslagen op de blockchain. Hierdoor gaat het aantal transacties per seconden omhoog en gaan de transactiekosten omlaag.
- Drastische verbetering van de privacy door complexe transacties te camoufleren als normale transacties.
Momenteel worden alle voorwaarden die nodig zijn om een transactie in gang te zetten, openbaar gemaakt. Dit maakt de transactie niet alleen data-intensief, het is ook slecht voor de privacy omdat iedereen toegang heeft tot de informatie over de fondsen op de publieke blockchain en bijvoorbeeld kan zien wat voor wallet wordt gebruikt.
Met de Taproot upgrade is dit verleden tijd en wordt niet langer deze informatie publiekelijk opgeslagen.
Zoals van tevoren al aangegeven, is Taproot een redelijk ingewikkeld onderwerp. Hopelijk is het duidelijk en eenvoudig genoeg uitgelegd zodat je het kunt begrijpen. Als je toch nog vragen hebt, nodigen we je graag uit om in onze AllesOverCrypto Facebook groep een balletje op te gooien. Daar zijn AOC’ers en leden van de groep altijd bereid om je vragen te beantwoorden. Zie je daar dan!
Bannerafbeelding door Yuri Shebalius/Shutterstock