Betekent de #daohack het einde van slimme contracten?

| AE 8729 | Innovatie | 22 reacties

Vrijdagochtend bleek via de Ethereum-blockchain dat er ether (een soort bitcoins) weglekte van The DAO, waar mensen geld in stortten tijdens de crowdfundcampagne van deze organisatie. Dat meldde Tweakers dit weekend. The DAO is een systeem van slimme contracten op de blockchain van Ethereum, alleen daarin zat een fout waarmee een derde nu met dik 50 miljoen euro aan de haal dreigt te gaan. The DAO wil dit tegengaan door een fork, zeg maar een grote reset waarbij de betreffende transacties ongedaan gemaakt worden. Velen zijn tegen, want dan had je maar een slimmer contract moeten maken.

Oké, wacht, te veel nieuwe termen. Ik begin (ook voor mezelf, want ik snapte er weinig van) bij het begin. Blockchain is de naam voor technologie om berichten gedecentraliseerd en onvervalsbaar vast te leggen. Deze is populair geworden door de virtuele valuta Bitcoin, maar er kan veel meer mee. Je kunt bijvoorbeeld contractuele afspraken in zo’n bericht stoppen, dan ligt die afspraak ook onbetwistbaar vast. En je kunt zelfs die contracten ‘slim’ maken, zeg maar dat ze zelf nagaan welke bepalingen van kracht worden en dat uitvoeren ook. Bijvoorbeeld constateren dat het 1 juli is en bedrijf X nog steeds niet failliet, dan bedrag X betalen aan bedrijf X. (Wat we vroeger autonomous agents noemden.)

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 staat een foutje, althans een onbedoelde feature, waardoor een hacker een zogeheten child DAO, zeg maar een dochtermaatschappij van DAO, op kon zetten waar hij eigenaar van is en waar hij vervolgens rustig geld heen kon pompen.

Ik zeg “foutje, althans onbedoelde feature” want hoewel het namelijk evident is dat The DAO dit niet heeft gewild, zijn er geen illegale hacks of dergelijke uitgevoerd. De hacker zegt zelf:

I have carefully examined the code of The DAO and decided to participate after finding the feature where splitting is rewarded with additional ether. I have made use of this feature and have rightfully claimed 3,641,694 ether, and would like to thank the DAO for this reward. It is my understanding that the DAO code contains this feature to promote decentralization and encourage the creation of “child DAOs”.I am disappointed by those who are characterizing the use of this intentional feature as “theft”. I am making use of this explicitly coded feature as per the smart contract terms and my law firm has advised me that my action is fully compliant with United States criminal and tort law.

Dit standpunt is niet meteen absurd; The DAO is opgezet als een systeem van slimme contracten waarbij de code van die contracten bepalend is voor wat er kan en mag. DAO zegt zelf:

The terms of The DAO Creation are set forth in the smart contract code existing on the Ethereum blockchain at 0xbb9bc244d798123fde783fcc1c72d3bb8c189413. Nothing in this explanation of terms or in any other document or communication may modify or add any additional obligations or guarantees beyond those set forth in The DAO’s code.

Bijgevolg is dus een clausule uit dat slimme contract kennelijk bindend, ongeacht wat er elders is gezegd of wat de bedoeling zou zijn geweest.

Althans, dat zou je denken want smart contracts, Ethereum en het splitten van gedistribueerde autonome organisaties, dat is wel nieuw maar gaatjes vinden in contracten, daar dealen juristen al zo’n 3000 jaar mee. En voor mij als jurist voelt het als standaardtruc 37 om in een contract te zeggen “alleen wat hier in het contract staat, is bindend en wel ongeacht bedoeling”. Daarmee win je echt niet volautomatisch het pleit.

Standaardclausule 37 in contractenland is namelijk:

This agreement contains the entire understanding of the parties hereto with respect to the transactions and matters contemplated hereby, from and after the effective date, and supersedes all previous agreements between the parties concerning the same.

De Hoge Raad bepaalde in het Lundiform/Mexx arrest (2013) echter dat je er daarmee niet automatisch bent. De rechter kan en mag nog steeds kijken naar “verklaringen die zijn afgelegd dan wel gedragingen die zijn verricht, in het stadium voorafgaand aan het sluiten van de overeenkomst.” In jargon: mogen Haviltexen kan niet worden weggecontracteerd. Wat hadden partijen bedoeld toen ze dit zo opschreven (programmeerden?) in het slimme contract? Wat beoogde deze clausule te bereiken en hoe is deze ingezet? Lag dit voor de hand of is het een zeer vergezochte lezing die eigenlijk gewoon niet had gemoeten?

De clausule is natuurlijk wel een relevante factor. De rechter zal heus niet zomaar het hele contract wegmikken en zelf verzinnen wat partijen ongeveer bedoeld zullen hebben. Maar al te bijdehante lezingen van een contract, zeker als ze leiden tot hele rare conclusies en/of grote schade bij een partij, gaan al snel het raam uit, ongeacht wat er in het contract nu letterlijk stáát.

Maar goed, ondertussen zit die The DAO wel met de gebakken peren want deze transactie is juridisch lastig terug te draaien (vind de hacker maar eens) en binnen het netwerk lijkt men er niet aan te willen. Dan corrumpeer je het hele idee immers van betrouwbare slimme contracten; als één partij kan zeggen, sorry we gaan terug naar vorige week met alles, dan kun je dat netwerk niet meer decentraal noemen. Bovendien zou de hacker dan aangifte kunnen doen van diefstal bedenk ik me nu: zijn waardevolle ethers zijn hem ineens via eigenrichting ontnomen terwijl er een contract lag dat hem er recht op gaf.

Betekent dat nu het einde van slimme contracten in het algemeen? Dat denk ik niet. Voor dit soort zeer geavanceerde constructies zal nu een stuk koudwatervrees ontstaan, maar het idee is niet superspannend en de implicaties zijn gewoon te overzien als je er goed voor gaat zitten met een slimmecontractenschrijver (m/v).

Arnoud