Smart contracts komen naar Bitcoin

Smart contracts

Rootstock (RSK) is een platform dat smart contracts, zoals we die kennen van Ethereum, naar Bitcoin moet brengen. RSK breidt de functionaliteit van Bitcoin uit door smart contracts mogelijk te maken in de vorm van een sidechain. De manier waarop RSK de smart contracts sidechain implementeert kent echter nog wel een aantal nadelen.

De simpele programmeertaal waarin bitcointransacties geschreven zijn, het zogenaamde script, is met opzet gelimiteerd. Een beperktere functionaliteit zorgt ervoor dat transacties veilig zijn tegen hackers, er minder mis kan gaan en er geen onverwachte dingen kunnen gebeuren als gevolg van niet goed geschreven code. Dit is een belangrijke eigenschap voor financiële transacties: je wil immers zekerheid dat het doen van een bitcointransactie veilig is.

Voor het schrijven van uitgebreide smart contracts is een programmeertaal nodig die expressiever is zodat alle operaties die nodig zijn om het contract uit te voeren beschikbaar zijn. Het idee achter Ethereum was om een dergelijke, uitgebreide, programmeertaal rechtstreeks in het protocol te integreren. Niet iedereen is voorstander van het ontwerp dat Ethereum gekozen heeft, vanwege de veiligheidsrisico's die het met zich mee brengt. RSK benadert dit probleem op een andere manier.

 rskintext

Smart contracts in een sidechain

RSK implementeert smart contracts in de vorm van een sidechain, welke gekoppeld is aan de Bitcoin blockchain. Om deze koppeling mogelijk te maken is het nodig om een two-way-peg op te zetten. Een two-way-peg zorgt ervoor dat bitcoins van de Bitcoin blockchain 'verplaatst' kunnen worden naar de sidechain. In feite worden de bitcoins niet echt verplaatst naar de sidechain, maar tijdelijk vastgezet op de Bitcoin blockchain waarna de 'bitcoins' op de sidechain worden vrijgegeven. Wanneer de bitcoins op de sidechain weer vastgezet worden, komen de bitcoins op de Bitcoin blockchain weer in omloop.

De bitcoins die naar de sidechain verplaatst zijn kunnen vervolgens gebruikt worden voor het uitvoeren van smart contracts en de betalingen die daarbij horen. De sidechain kan dan een uitgebreide programmeertaal gebruiken om de smart contracts in te schrijven, zonder dat Bitcoin zelf aangepast moet worden én zonder risico voor de Bitcoin blockchain. De sidechain heeft dus geheel andere functies dan de Bitcoin blockchain, met uitgebreidere functionaliteit, maar maakt wel gebruik van de waarde en veiligheid die de Bitcoin blockchain biedt. Zo wordt de functionaliteit van Bitcoin uitgebreid. Door bovenop Bitcoin te bouwen breng je de mogelijkheden die Ethereum biedt naar Bitcoin, zonder de eventuele gevaren. De risico's en de gevolgen als er iets mis gaat zijn beperkt tot de sidechain zelf.

Implementatie niet optimaal

Bitcoin, in zijn huidige staat, is nog niet helemaal klaar om geheel vertrouwensloos een sidechain op te zetten. Er zijn nieuwe opcodes nodig om het vertrouwensloos aan elkaar 'koppelen' van de twee chains mogelijk te maken. Het uitbreiden van Bitcoin met nieuwe opcodes kan niet zomaar, omdat er consensus nodig is over of de uitbreiding aan de programmeertaal van Bitcoin wel veilig is. Segregated Witness zal het makkelijker maken om de nodige opcodes toe te voegen aan Bitcoin. Een van de voordelen van Segregated Witness is dan ook het faciliteren van extra innovatie bovenop Bitcoin, zoals Sidechains.

Als het nog niet vertrouwensloos kan, hoe doet RSK de koppeling dan? Naast de two-way-peg is het ook mogelijk twee chains te koppelen middels een zogenaamde federated peg. In plaats van een vertrouwensloze koppeling door middel van cryptografisch bewijs, wordt de koppeling dan gemaakt door een aantal partijen aan te wijzen die samen een multisignature transactie tekenen om het vrijgeven van de bitcoins op beide chains goed te keuren. De partijen, die elkaar niet hoeven te vertrouwen, voeren de nodige transacties uit wanneer de meerderheid van hen het eens is. Het vertrouwen ligt bij deze aanpak verdeeld over de deelnemers. Het liefst zien we de implementatie van de RSK sidechain volledig vertrouwensloos, maar dat is helaas nog niet mogelijk. RSK en de ontwikkelaars die daarop applicaties willen bouwen kunnen door het gebruik van een federated peg te gebruiken in ieder geval van start, zodat de koppeling op een later moment volledig vertrouwensloos gemaakt kan worden.

Naast het vertrouwen dat nodig is in de federated peg is er nog een nadeel: het verdienmodel van RSK Labs (het bedrijf achter RSK). RSK labs heeft aangegeven dat 20% van de fee die betaald wordt voor het draaien van een smart contract naar RSK Labs zelf gaat, en de andere 80% naar de miners. Enerzijds is dit logisch, want de ontwikkeling van een dergelijk platform kost nou eenmaal geld. Anderzijds is de open-source code makkelijk te kopiëren zonder de ingebakken fee voor RSK Labs.

Bijna 'af'

RSK zou later dit jaar voor iedereen beschikbaar moeten zijn. Een van de oprichters van Rootstock, Gabriel Kurman, heeft in een interview laten weten dat het gesloten testnet van RSK eind mei publiek gaat met ongeveer een maand later de officiële livegang op de Bitcoin blockchain.

Wanneer het platform klaar is, begint het eigenlijk pas. Het platform biedt de tools om allerlei gave applicaties te maken, het is dan aan de zelfstandige ontwikkelaars om aan de slag te gaan en de potentie van smart contracts te benutten.


Belangrijke thema’s in dit artikel. Klik op een thema en ontdek meer.