De grootste upgrade voor het Bitcoin protocol sinds Segwit is afgelopen week een stuk dichterbij gekomen. Maar wat gaat er met Taproot precies veranderen? Dat ga ik voor jullie uiteenzetten in dit artikel. Taproot gaat voornamelijk zorgen voor meer privacy, heeft voordelen op het gebied van schaalbaarheid en geeft Bitcoin meer mogelijkheden wat betreft smart contracts. Om Taproot echt goed te begrijpen moeten we eerst een stap terugzetten en even terug naar de fundamenten van Bitcoin.

Hoe werkt het versturen van een bitcoin?

Dat is een goede vraag! In de kern zitten alle bitcoins versleuteld in de blockchain. Iedere bitcoin kan alleen worden verstuurd door degene die kan aantonen dat hij de oplossing heeft voor de versleuteling. De oplossing kan bijvoorbeeld een handtekening met één private key zijn, maar ook een handtekening bestaande uit twee of meer private keys, een zogenaamde multisig. In de versleuteling zou ook kunnen staan dat de versleutelde bitcoins alleen kunnen worden verstuurd nadat blok x aan de blockchain is toegevoegd. Dit noemen we een timelock en daarmee kun je bitcoins in feite voor een bepaalde periode opsluiten.

Je kunt dus allerlei voorwaarden stellen aan het versturen van een bitcoin. De verzameling van voorwaarden die bij één specifieke bitcoin hoort noemen we een script. Het script geeft in principe aan welke sleutels je kunt gebruiken om de bitcoin te versturen, hoeveel sleutels je minimaal nodig hebt, wanneer je de bitcoin kunt versturen etc. Je kunt het zo gek maken als je zelf wilt. Alleen degene die aan alle voorwaarden van het script kan voldoen is in staat om de bitcoin de versturen.

Het interessante is dat de voorwaarden van het script in de meeste gevallen geheim zijn. Alleen de eigenaar van de bitcoins weet hoe ze verstuurd kunnen worden. Op de blockchain is alleen een hash van het script terug te vinden. Op het oog lijkt een hash een hele rits van willekeurige nummers, maar in feite is het de digitale vingerafdruk van het script. Iedere keer dat je het script in de door Bitcoin gebruikte hashfunctie stopt, komt er dezelfde reeks van karakters uit. Als de eigenaar zijn bitcoins wil uitgeven dan moet hij het hele script en de oplossing daarvan onthullen aan het netwerk. Iedereen kan dan het script pakken en deze in de hashfunctie stoppen om te kijken of daar dezelfde hash uit komt rollen. Als dat het geval is, als de digitale vingerafdruk klopt, dan weet iedereen zeker dat de transactie klopt en doorgevoerd mag worden.

Op dit moment is het dus nog steeds zo dat de eigenaar van de bitcoins het hele script moet onthullen om zijn coins te kunnen uitgeven. Dit heeft nadelen voor zowel de privacy van de eigenaar van de coins als voor de schaalbaarheid van Bitcoin. Iedereen kan zien op welke manieren de bitcoins konden worden uitgegeven, wat gevoelige data over de eigenaar kan prijsgeven. Daarnaast is het verplicht moeten onthullen van het gehele script een data-intensief klusje.

Wat gaat Taproot hieraan verbeteren?

Dat is wederom een goede vraag! Met de upgrade zal niet langer het gehele script in de hashfunctie worden gestopt, maar krijgt iedere individuele voorwaarde uit het script een eigen hash of digitale vingerafdruk. Het gaat het doel van dit artikel voorbij om uit te leggen hoe dat precies in zijn werking gaat, maar in essentie komt het erop neer dat de eigenaar van de bitcoins alleen de door hem gekozen voorwaarden hoeft te onthullen.

Heeft de eigenaar de bitcoins uitgegeven met zijn eigen private key? Dan is dat het enige wat het netwerk hoeft te weten. Dat het ook mogelijk was om de bitcoins met de private keys van Piet en Jan uit te geven is niet relevant. Voorheen moest al die data bekendgemaakt worden, nu hoeft dat niet meer. Taproot maakt Bitcoin dus efficiënter en zorgt voor meer privacy. Daarnaast maakt de update het mogelijk om te verhullen dat er überhaupt sprake was van een complex script waarmee de bitcoins konden worden uitgegeven. Je zou nu bijvoorbeeld aan een transactie kunnen zien of het gaat om het openen van een Lightning-kanaal. Na Taproot is het mogelijk om alle transacties eruit te laten zien als normale transacties, terwijl er stiekem een heel script achter schuilgaat. Met andere woorden, meer privacy en efficiëntie! Tof toch? De snelheid van de ontwikkeling van Bitcoin blijft me echt verbazen. Mensen die zeggen dat er weinig gebeurt hebben echt geen flauw idee waar ze het over hebben.