De redelijkheid is ver te zoeken in die smart contracts #legaltechtuesday

Smart contracts: zelfdenkende software die buiten de greep van één partij automatisch voorwaarden checkt en afgesproken handelingen uitvoert. Daarover schreef ik een paar columns geleden. Het onderwerp blijft tot de verbeelding spreken, want zeg nou zelf wie wil er geen slim contract dat zonder tussenkomst van een advocaat of rechter netjes nagekomen wordt? En het klinkt ook zo logisch, dat je contractuele afspraken niet opschrijft in juridische woordenwolken maar als duidelijke, stap-voor-stap instructies waar een computer gewoon mee aan de gang gaat.

Een smart contract heet ‘smart’ omdat de verbintenissen en de wijze van nakoming niet in gewone taal zijn opgeschreven maar in uitvoerbare instructies. In principe komt dat neer op een heleboel beslisregels. Is de leverdatum bereikt, zet het vermogensrecht dan op naam van ontvanger. Is er een betaling ontvangen, verreken dan eerst de nog verschuldigde rente op oude vorderingen en pas daarna boek je op de openstaande vorderingen zelf. Staat er in het faillissementsregister de naam van de leverancier, zet dan de betaling stop.

Dit klinkt redelijk basaal en dat is het ook. Maar praktisch is het wel, want veel van dit soort afspraken zijn dingen die gewoon automatisch bijgehouden en gecheckt kunnen worden. En het kan bijdragen aan vertrouwen wanneer partijen elkaar niet kennen en elkaar niet voor de rechter kunnen slepen. Als dan het contract, pardon het computerprogramma gewoon doet wat er is afgesproken en niemand kan dat halverwege beïnvloeden of omkopen, dan is zo’n risicovolle transactie misschien toch het ondernemen waard.

Maar zodra je dergelijke basale afspraken overstijgt, wordt het erg ingewikkeld. Je krijgt dan te maken met subjectieve toetsen, en hoe kan een computerprogramma – hoe slim ook – daarop verifiëren? Dat een website opgeleverd is, kun je automatisch nog wel nagaan. Maar of ‘ie mooi is, schrijf daar maar eens een statement voor. Daar kom je niet uit, vrees ik. Dan moet je ‘mooi’ kwantificeren tot objectieve technische eisen en ik weet niet hoe gelukkig je daarvan wordt (kleur A en kleur B verschillen minstens 30 tinten in de Pantone waaier, zoiets?)

Verder is er nog een vrij fundamenteel probleem: de redelijkheid (en billijkheid) is ver te zoeken in smart contracts. Het zijn immers computerprogramma’s, en die staan erom bekend rechtlijnig en compromisloos te opereren. Staat er een fout in, dan wordt die fout netjes uitgevoerd. Dit terwijl een fout in een ‘dom’ contract – stel, een nul vergeten in de verkoopprijs – altijd nog rechtgezet kan worden bij de rechtbank.

Punt is natuurlijk hoe je aantoont dat iets een foutje is. Die vergeten nul krijg je waarschijnlijk nog wel erbij gepraat met de eerdere contractconcepten of het spreekwoordelijke bierviltje. Een verkeerde rechtskeuze die niemand opviel in het proces is alweer wat lastiger recht te trekken. Maar een goed pleidooi kan alsnog de redding bieden.

Een belangrijke factor daarbij voor mij is dat een traditioneel contract (dat klinkt toch mooier dan ‘dom’) opgezet is met uitspraken over de gewenste uitkomst. “A verkoopt aan B het goed C”. Bij smart contracts wordt met programmeertaal gewerkt, en dat betekent instructies die de uitkomst moeten opleveren. Maar daar zit een subtiel verschil tussen. Hoe weet je of een verkeerde instructie fout is, als je niet weet wat de gewenste uitkomst is? Als je zegt, het smart contract is de afspraak, dan is die instructie dus niet fout. Misschien ongewenst, achteraf gezien, maar er staat dat het goed naar X moet dus gaat het naar X.

Een berucht voorbeeld is de zogeheten DAO-hack uit 2016. The DAO is een gedecentraliseerd investeringsvehikel dat opgezet is middels een berg van die slimme contracten, gebruik makend van de Ethereum-blockchainimplementatie. In een van die contracten stond een foutje, althans een onbedoelde feature, waardoor een bijdehantje in staat was om gratis geld te krijgen. Legaal. Hoewel het namelijk evident is dat The DAO dit niet heeft gewild, zijn er geen illegale hacks of dergelijke uitgevoerd. Het stelsel van smart contracts had namelijk een gaatje: iemand die een bepaalde onvoorziene aanvraag indiende en daarna introk, kreeg als een soort afrondingsfoutje meer geld terug dan hij betaald had bij die aanvraag.

Wie dit zou doen bij een papieren contract, zou meteen weten dat dit niet gaat werken. De stap naar de rechter zou waarschijnlijk niet eens nodig zijn. Maar in dit smart contract geval is dat lang zo evident niet. Als je namelijk zegt, de afspraak is wat het smart contract doet, en het smart contract doet iets anders dan jij had beoogd, wat is dan de legale uitkomst? Precies. Ook als dat in strijd met de redelijkheid is.

Het wordt dus tijd die redelijkheid in te gaan bouwen in software. Maar daar moet eerst een nieuwe programmeertaal voor komen vermoed ik.

Arnoud

7 reacties

  1. Het wordt dus tijd die redelijkheid in te gaan bouwen in software. Maar daar moet eerst een nieuwe programmeertaal voor komen vermoed ik.

    Dat wordt dus een programmeertaal waarin het resultaat van het draaien van het programma afhankelijk kan zijn van de persoon die het programma laat draaien (en/of de plaats waar die persoon zich op dat moment bevindt).

    Argumentatie: redelijkheid is subjectief en mede bepaald door cultuur, jurisdictie (wetten) en jurisprudentie.

  2. Het probleem van redelijkheid is natuurlijk dat alles daar een rol in kan spelen en dat het daarom volgens mij nooit te programmeren is.

    Het enige wat je denk ik kan doen is een overmacht ‘knop’ inbouwen die door beide partijen ingedrukt zou moeten worden. Een rechter kan dan bepalen dat een partij die knop in moet drukken.

    Je kan dan alleen niet meer zaken doen met totaal onbekende partijen of met heel veel kleine partijen en dat lijkt me juist het grote voordeel van de smart contracts….

  3. Hoewel het namelijk evident is dat The DAO dit niet heeft gewild, zijn er geen illegale hacks of dergelijke uitgevoerd.

    Is dat zo? Illegale hacks bestaan ook uit het doen van bepaalde onvoorziene aanvragen die slim inspelen op gaatjes in de gevalsafhandelinglogica van een stuk software. Waarom is het een illegale hack als ik onbedoeld (maar wel opgeschreven) gedrag uit een webserver weet te persen en daarmee data krijg waarvan het niet de intentie was dat het bij mij terecht komt, maar is het geen illegale hack als ik onbedoeld maar wel opgeschreven gedrag uit een smart contract weet te persen en daarmee onbedoeld geld krijg?

  4. Het probleem is dat conflictresolutie toch wel erg belangrijk is. Dat betekent dat er een mogelijkheid moet zijn om dingen ongedaan te maken (meestal correctieve transacties, niet geschiedenis herschrijven). Voor correctie is het nodig dat er een autoriteit is om misbruik te voorkomen (de oplichter die geen geld wil terugbetalen na rechtelijke uitspraak). Het hele idee van blockchains is echter dat er geen centrale autoriteit is. Technisch valt dat best te doen, maar het ondermijnt het hele idee.

    Een alternatief is dat een digitaal contract ook een mediator aanwijst die (onder voorwaarden) transacties kan terugdraaien.

Geef een reactie

Handige HTML: <a href=""> voor hyperlinks, <blockquote> om te citeren, <UL>/<OL> voor lijsten, en <em> en <strong> voor italics en vet.