Taproot is momenteel de meest waarschijnlijke volgende upgrade voor Bitcoin. Het is een van de weinige upgrades waaraan momenteel gewerkt wordt en waarvan gebruikers en ontwikkelaars hopen dat ze uiteindelijk geactiveerd worden op het netwerk.
Al deze upgrades hebben een algemeen thema dat waarschijnlijk ook het thema van veel toekomstige upgrades zal zijn. Dit thema is het maken van contracten unicast, of simpeler gezegd, het verplaatsen van contractlogica van de keten, en het aan de gebruiker overlaten, in plaats van het netwerk, om hun contract te valideren en af te dwingen. Het verplaatsen naar een meer unicast-systeem maakt Bitcoin veel meer privé en schaalbaar, terwijl de belangrijkste eigenschappen van Bitcoin nog steeds intact blijven.
Dit soort upgrades en systemen zijn perfect voor Bitcoin. Bitcoin is gewoon een monetair netwerk, geen computernetwerk. Omdat het een monetair netwerk is, zou de primaire functie ervan moeten zijn om te valideren dat het monetaire systeem correct wordt afgedwongen. In Bitcoin-termen zou het controleren of gebruikers de transactie correct hebben ondertekend en of ze het monetaire beleid niet hebben geschonden, de primaire functie van het systeem moeten zijn, en alles wat meer is zou moeten worden verplaatst naar hogere lagen en alleen worden gedaan tussen de gebruikers die Bitcoin gebruiken voor meer dan financiële vereffening.
MuSig en Unicast-contracten
MuSig is een van de best begrepen toepassingen van het verplaatsen van contract logica om unicast te zijn. MuSig stelt gebruikers in staat om een multisig output te laten lijken op de single sig output van een standaard gebruiker. Dit wordt gedaan door gebruikers sleutels en handtekeningen buiten de keten te laten bouwen en ze enkele cryptografische bewerkingen te laten uitvoeren die resulteren in een enkele publieke sleutel en handtekening. Dit is een enorme verbetering ten opzichte van een normale multisig, waarbij de gebruikers al hun publieke sleutels en handtekeningen moeten uitzenden. Door een normale multisig te doen, lossen de gebruikers hun contractvalidatie af op het netwerk, waardoor deze voor onbepaalde tijd moet worden gevalideerd en opgeslagen. In plaats daarvan doen de gebruikers met een MuSig zelf de handhaving door onderling handtekeningen op te bouwen, wat resulteert in één enkele definitieve handtekening die alleen geldig kan zijn als het juiste aantal partijen eerlijk is, waardoor het netwerk slechts één handtekening hoeft te valideren en op te slaan.
Het verplaatsen van de contractlogica op een eenduidige manier maakt Bitcoin meer privé. Tegenwoordig hebben de meeste contracten hun bestedingslogica expliciet in de uitvoerscripts van de transactie. Dit betekent dat een externe waarnemer kan zien wat de exacte uitgavenvoorwaarden van de gebruiker zijn. Het feit dat de gebruiker zijn exacte uitgavencondities onthult, schaadt niet alleen de individuele gebruiker, maar heeft ook invloed op de rest van de gebruikers op het netwerk. Door alle beschikbare bestedingspaden te onthullen, laat een gebruiker niet alleen zien dat hij ze gebruikt, maar ook dat hij geen andere bestedingscondities gebruikt. Dit lijkt voor de hand te liggen, maar heeft belangrijke implicaties. Omdat een gebruiker onthult dat hij bepaalde uitgavenvoorwaarden niet heeft, sluit het hem uit van het delen van een anonimiteitsset van gebruikers die de andere uitgavenvoorwaarden gebruiken. Dit betekent dat de andere gebruikers onze gebruiker niet in hun anonimiteitsset hebben, waardoor ze zich minder vaak hoeven te verstoppen. Als de gebruiker zijn contractafdwinging buiten de keten plaatst, dan kan de gebruiker zijn transacties en outputs er hetzelfde uit laten zien als die van een standaard gebruiker en zo een anonimiteitsset delen met een grotere set gebruikers, wat zowel zichzelf als de andere gebruikers ten goede komt.
Het unicast maken van contractuitvoering maakt Bitcoin niet alleen privé, het maakt het ook meer schaalbaar. Het verplaatsen van validatie- en uitvoeringslogica buiten de keten, die door de individuele gebruikers in het contract moet worden gedaan, zorgt ervoor dat ze niet langer hun hele contract naar het hele netwerk hoeven uit te zenden. Hierdoor hoeft het netwerk niet langer de eigenlijke verificatie te doen van wat een complex contract zou kunnen zijn, maar slechts de minimale verificatie, die waarschijnlijk slechts een enkele handtekeningcontrole is. Aangezien het contract niet langer wordt uitgezonden naar het netwerk, zal het netwerk ook niet de vereiste gegevens voor dit contract opslaan. Vanwege de blokgewichtgrens van Bitcoin is het verminderen van de gegevens die nodig zijn voor een transactie een zegen voor het netwerk, omdat het de doorvoersnelheid van transacties direct zal verhogen, waardoor er meer gedaan kan worden met dezelfde hoeveelheid middelen.
Afwegingen
Het verwijderen van de noodzaak om contractgegevens te controleren en op te slaan kan een aanzienlijke invloed hebben op de manier waarop gebruikers Bitcoin gebruiken. Bij elke Bitcoin-transactie zal de gebruiker een mijnwerkersvergoeding moeten betalen om in een blok te worden opgenomen. Deze mijnwerkersvergoeding is direct gerelateerd aan de middelen die nodig zijn om de transactie te verifiëren en op te slaan. Als we dit weten, kunnen we concluderen dat gebruikers worden ontmoedigd om complexe scripts en uitgavenvoorwaarden te gebruiken. Dit kan slechte gevolgen hebben – bijvoorbeeld, een gebruiker die probeert zijn beveiliging te verbeteren door iets als multisigs te gebruiken om zijn sleutels te verspreiden wordt nu door het netwerk gestraft voor het feit dat hij hogere kosten moet betalen. Alle verbeteringen die hierin kunnen worden aangebracht, moeten vooruitstrevend zijn voor Bitcoin-gebruikers en -ontwikkelaars.
Het gebruik van unicast-achtige contracten omvat ook enkele andere afwegingen. Omdat de gebruiker zijn contractvalidatie en -uitvoering niet meer naar het netwerk overbrengt, zal hij dit zelf moeten doen, of beter gezegd, de software die hij gebruikt zal dat zijn. Dit betekent over het algemeen dat de gebruiker meer gegevens zal moeten verzenden en opslaan tussen zijn tegenpartijen. Hiervoor is complexere software en protocollen voor de gebruiker nodig. Het kan back-ups kritischer en moeilijker maken; als de gebruiker deze gegevens verliest, kan zijn tegenpartij zijn contract schenden of kan de gebruiker zijn contract op zijn minst niet uitvoeren zonder de medewerking van zijn tegenpartij. Dit zijn echter goed begrepen problemen en er worden slimme oplossingen voorgesteld om het verlies van gegevens veiliger te maken en zelfs manieren te creëren om voor een tegenpartij te verbergen dat er gegevens verloren zijn gegaan.
Concluderend, vandaag de dag bestaan Bitcoin-contracten voornamelijk als een broadcastsysteem, waarbij het netwerk de contractuitvoeringslogica van iedereen moet valideren en opslaan. Upgrades die waarschijnlijk naar Bitcoin komen, kunnen ons een vooruitzicht geven dat contracten in plaats daarvan afgedwongen worden tussen individuele gebruikers, aangezien Bitcoin eerst een monetair netwerk is en vooral de monetaire eigenschappen ervan moet afdwingen. Dingen zoals Taproot, Lightning, DLC’s en PTLC’s zijn hier een perfect voorbeeld van en laten zien dat Bitcoiners het ecosysteem opbouwen om de privacy en schaalbaarheid van Bitcoin te verbeteren.