Het schrijven van Bitcoin Smart Contracten wordt eenvoudiger met de nieuwe coderingstaal

Bitcoin slimme contracten zijn een lastig beest om te temmen, maar een nieuwe taal maakt ze makkelijker om te schrijven en democratiseert ze in zekere zin.

Slimme contracten kunnen (onder andere) gebruikers in staat stellen om extra regels in te stellen op hun bitcoin, waarbij aan deze regels moet worden voldaan voordat het geld kan worden ontgrendeld. Minsc, gemaakt door Bitcoin-ontwikkelaar Nadav Ivgi, is een nieuwe programmeertaal die het makkelijker maakt voor ontwikkelaars om dit soort contracten te maken, zodat ze ze soepeler kunnen inbouwen in bitcoin-portemonnees en andere apps.

Een van de doelen van Minsc is om slimme contracten „toegankelijker te maken voor meer mensen“, vertelde Ivgi aan CoinDesk. Dat betekent dat zowel ontwikkelaars als gebruikers gebruik kunnen maken van tools die door ontwikkelaars zijn gebouwd.

Niveau één: ‚Script‘ slimme contracten

Slimme contracten werden voor het eerst beschreven door Nick Szabo in de jaren negentig van de vorige eeuw. Hij theoretiseerde een manier om wettelijk bindende contracten tussen mensen te automatiseren.

Typische voorbeelden van slimme contracten op Bitcoin zijn het niet toestaan van 0,1 BTC te besteden tot 2021, of het verplichten van meer dan één persoon om een transactie af te tekenen voordat het geld daadwerkelijk kan worden verplaatst. Slimme contracten zorgen ook voor tweede lagen op het Bitcoin-protocol, zoals het Lightning Network, waardoor de Bitcoin kan worden uitgebreid om meer gebruikers te bereiken.

Tot nu toe is Bitcoin Script de taal die deze contracten mogelijk maakt.

Het probleem is dat het lastig is om met Bitcoin Future Script te werken. Het is in tegenstelling tot andere, meer populaire programmeertaalontwikkelaars gewend, waardoor het moeilijker is om hun hoofden in te wikkelen en te componeren. Dit gebrek aan begrip maakt het ook makkelijker om een fout te maken, waardoor Bitcoin mogelijk in gevaar komt.

De lompheid van Bitcoin Script was een van de factoren die Vitalik Buterin er in de eerste plaats toe bracht het Ethereum-platform te ontwerpen. Soliditeit, Ethereum’s eerste slimme contracttaal, is ontworpen om veel gemakkelijker te kunnen lezen en dus te gebruiken door ontwikkelaars. En het heeft zijn vruchten afgeworpen: Ethereum is uitgegroeid tot het go-to platform voor slimme contractontwikkelaars.

Niveau twee: Miniscript

Miniscript, in 2019 uitgebracht door Pieter Wuille, Andrew Poelstra en Sanket Kanjalkar bij Blockstream Research, frituurt dit nummer af voor bitcoin.

„Een van de redenen dat we het volledige potentieel van Script nog lang niet hebben benut, is dat het bouwen van scripts voor niet-triviale taken omslachtig is. Het is moeilijk te controleren of ze correct en veilig zijn, en nog moeilijker om de meest economische manier te vinden om dingen te schrijven“, schreven Wuille en Poelstra in een blogpost waarin ze Miniscript introduceerden in september vorig jaar.

Miniscript biedt een taal die gemakkelijker te begrijpen is dan Script, met ingebouwde veiligheidsgaranties.

Bovendien, als er twee verschillende manieren zijn om hetzelfde contract in Script te schrijven, is Miniscript in staat om te beoordelen welke „zuiniger“ is.

De computer compileert (of converteert) Miniscript uiteindelijk naar Bitcoin Script, waar de code uiteindelijk in geschreven moet worden om echte bitcoin met deze extra beperkingen succesvol op te sluiten.

Niveau drie: Minsc

Minsc is het derde niveau van de taart. Het bouwt voort op Miniscript en maakt gebruik van de beveiligingseigenschappen, maar creëert een taal die voor ontwikkelaars nog makkelijker te lezen en na te denken is dan Miniscript.

„De focus van Minsc ligt op gebruiksvriendelijkheid en maakt het makkelijker om scripts uit te drukken, te begrijpen en te redeneren, met behulp van een eenvoudige en vertrouwde syntaxis. Het voegt extra gemakskenmerken en ’syntactische suiker‘ toe,“ vertelde Ivgi aan CoinDesk.

„Syntactisch suiker“ is een programmeerterm voor het toevoegen in een taal van een andere gemakkelijkere, snellere manier om een taak uit te voeren die meestal moeilijker te schrijven is.

Dus Minsc voegt niets nieuws toe aan Script, het maakt het gewoon makkelijker te gebruiken.

„Het laat je niets doen wat Miniscript niet al doet, net als Miniscript zelf in relatie tot Bitcoin Script,“ zei Ivgi.

Bitcoin-slimme contracten en Minsc: Waar gaan ze nu naartoe?
Minsc zou het makkelijker kunnen maken voor ontwikkelaars om ondersteuning toe te voegen voor verschillende slimme contracten. „De belangrijkste beoogde doelgroep zijn ontwikkelaars die op zoek zijn naar apps die Bitcoin Script op interessante, geavanceerde manieren gebruiken“, voegde Ivgi eraan toe.

Als meer ontwikkelaars uiteindelijk ondersteuning voor deze slimme contracten kunnen toevoegen, zullen meer gebruikers (misschien zelfs onbewust) ook gebruik kunnen maken van deze meer complexe contracten.

„In eerste instantie verwacht ik echter dat het gebruik vooral experimenteel en educatief zal zijn. Minsc kan een geweldig hulpmiddel zijn voor mensen die het Bitcoin-script beter willen begrijpen, maar ook voor opvoeders die de technische aspecten van Bitcoin leren“, aldus Ivgi.

Ivgi is nog steeds bezig met het toevoegen van andere functies aan de taal. De slimme contractmogelijkheden van Bitcoin zullen waarschijnlijk nog verder worden uitgebreid, zoals met Taproot, een waarschijnlijke upgrade aan de horizon van Bitcoin. Minsc zal er zijn om deze contracten gemakkelijker te maken.