ORDINA BLOGT

Smart contracts binnen de blockchain: contracteren 2.0?

Smart contracts binnen de blockchain: contracteren 2.0?

  • Joost Bokhorst
  • 7 oktober 2016

Hoewel blockchain over het algemeen geassocieerd wordt met de bitcoin, heeft deze nieuwe technologie veel meer te bieden dan het uitwisselen van digitale valuta. Blockchain biedt de mogelijkheid om zonder hulp van tussenpartijen (en daarbij komende kosten) verschillende soorten transacties veilig en automatisch plaats te laten vinden. Deze transacties worden uitgevoerd volgens het in de blockchain opgenomen smart contract. Maar wat is nu precies een smart contract? Gaat dit het papieren contract vervangen? En zal de Legal Counsel omgevormd worden in een Legal Architect?

Laten we beginnen bij het begin: blockchain. Blockchain kan gezien worden als een grootboek. Dit grootboek houdt precies bij wie wat bezit en welke transacties er plaatsvinden. In het geval van de bitcoin, houdt dit grootboek bij wie bitcoins bezit en aan wie welke bitcoins worden overgedragen. Op zichzelf een eeuwenoud gegeven, zo’n grootboek. Maar wat de blockchain zo bijzonder maakt, is dat alle deelnemers binnen de blockchain dit (encrypted) grootboek in handen hebben. Hierdoor wordt iedere transactie gecontroleerd aan de hand van alle grootboeken. Al deze controles worden opgeslagen in zogeheten blocks. Deze blocks worden vervolgens door alle deelnemers bewaard in een chronologische keten, genaamd de blockchain.

Een transactie die niet in lijn is met de blockchain, kan niet plaatsvinden. Indien iemand zichzelf meer bitcoins toebedeelt dan hij volgens de blockchain zou hebben, gaat de transactie dus niet door. De enige manier om inbreuk te maken op de blockchain zonder dat de transactie gecanceld wordt,  is door alle versies van de blockchain gelijktijdig aan te passen. In het geval van de bitcoin betekent dit het tegelijkertijd hacken van alle miljoenen deelnemers. Dit is wat de blockchain zo veilig maakt.

Eén bitcoin is op te delen in honderd miljoen deeltjes. Ieder deeltje is uniek, identificeerbaar en programmeerbaar. Dit biedt de mogelijkheid om allerlei soorten goederen te koppelen aan zo’n deeltje. Zo kan een deeltje bijvoorbeeld een liter olie, een euro, een aandeel in een onderneming of een digitaal eigendomsbewijs vertegenwoordigen. Middels de blockchain kunnen al deze goederen direct en automatisch tussen partijen verhandeld worden. Tussenpartijen, zoals banken en notarissen, zouden daarbij niet meer nodig zijn aangezien de blockchain garandeert dat degene die een goed overdraagt, ook daadwerkelijk de eigenaar is. Anders kan de transactie niet plaatsvinden. Een goedgekeurde transactie wordt vervolgens uitgevoerd op basis van wat doorgaans wordt aangeduid als een smart contract. Maar wat is dat nu precies?

Stel, Cor biedt aan Dina zijn auto aan voor € 10.000. De blockchain is dan zo geprogrammeerd dat wanneer Dina dit accepteert, de transactie uit zichzelf voltrekt. Het digitale eigendomsbewijs wordt overgedragen aan Dina en de € 10.000 wordt overgemaakt naar Cor. De programmeercode die dit alles bewerkstelligt, wordt ook wel aangeduid als een smart contract. Een term die juristen direct doet steigeren. Als het contract wordt vastgelegd middels programmeercode, wat is dan nog de rol van de jurist? Of moet de jurist van morgen zijn contracten in programmeertaal kunnen opstellen?

Zo’n vaart zal het naar mijn mening niet lopen. Met name omdat de term ‘smart contract’ in mijn ogen een enigszins verkeerde indruk wekt. Wanneer gesproken wordt over ‘smart contract’ bedoelt men namelijk de programmeercode die ervoor zorgt dat de gemaakte afspraken zelfstandig door de blockchain worden uitgevoerd. Maar niet alle gemaakte afspraken zijn vatbaar voor zo’n zelfstandige uitvoering. Stel nu dat Cor een autofabrikant is en Dina een autohandelaar die de auto van Cor koopt met de bedoeling deze door te verkopen. Dan is het niet ongebruikelijk dat Cor een vrijwaring afgeeft aan Dina voor eventuele claims van derden veroorzaakt door een defect aan de auto. Afspraken zoals een vrijwaring, maar ook andere regelende afspraken, bijvoorbeeld omtrent aansprakelijkheid en geschilbeslechting, zijn (vooralsnog) niet geschikt voor een zelfstandige uitvoering binnen de blockchain. Wat nu wordt aangeduid met de term ‘smart contract’ is de geautomatiseerde uitvoering van de gemaakte afspraken die daar vatbaar voor zijn. ‘Smart contract execution’ zou daarom mijns inziens een betere beschrijving zijn.

Wel geloof ik dat met de komst van de blockchain de uitvoering van contracten steeds meer geautomatiseerd zal worden. Dit brengt met zich mee dat de contractafspraken vertaald moeten worden naar programmeertaal. Dit zou gerealiseerd kunnen worden door het bouwen van applicaties die traditionele contracten converteren naar programmeercodes voor de blockchain. Voor standaardcontracten die in grote getallen worden gesloten zonder dat zij van elkaar afwijken (denk aan grote ondernemingen die contracten sluiten met consumenten) kan dit een goede oplossing zijn. Voor specifieke contracten tussen ondernemingen die tot in detail uitonderhandeld worden, lijkt mij dit echter minder snel haalbaar.

Ik betwijfel dat de komst van blockchain met zich meebrengt dat alle contractuele afspraken enkel en alleen in de blockchain worden vastgelegd. Meer waarschijnlijk acht ik het dat de gemaakte afspraken voorlopig nog zullen worden vastgelegd op (digitaal) papier. Al is het maar omdat de contracterende partijen zelf ook willen zien en kunnen begrijpen wat zij precies zijn overeengekomen. Mijn inschatting is dan ook dat de juristerij voorlopig niet en masse bijgeschoold hoeft te worden in het programmeren. Wel verwacht ik dat juristen en programmeurs in de toekomst nauwer samen zullen werken bij de geautomatiseerde uitvoering van contracten.