In een eerder artikel over slimme contracten hebben we in detail uitgelegd wat slimme contracten zijn en hebben we enkele voorbeelden gegeven. In het artikel van vandaag zullen we het hebben over enkele van de uitdagingen m.b.t. slimme contracten, en op recente evoluties die deze uitdagingen hebben aangepakt.

Laten we eerst even kort herhalen wat slimme contracten zijn. Michael Matthews definieert een slim contract als “een softwareprogramma dat de uitvoering van contractvoorwaarden automatiseert. Het is alleen van toepassing op de uitvoering van uitvoerbare voorwaarden van een contract. Slimme contracten vervangen geen contracten in natuurlijke taal, maar functioneren als een programma dat zich verbindt met een contract in natuurlijke taal door middel van een addendum dat een onbreekbare band legt tussen het programma en een contract in natuurlijke taal”. Daar komt nog bij dat slimme contracten weliswaar geautomatiseerde contracten zijn, maar wat ze onderscheidt van andere geautomatiseerde contracten is het gebruik van Blockchain-technologie, die het contract en de transacties in het gedistribueerde grootboek registreert.

Traditionele contracten hebben bepaalde nadelen die ertoe kunnen leiden dat ze voor de rechter worden aangevochten. Ze staan open voor interpretatie. Ze zijn niet machine-leesbaar en hebben bijvoorbeeld geen metagegevens die ondubbelzinnige, duidelijke gegevens kunnen opleveren. Ze zijn ook niet zelf-uitvoerbaar, wat de zaken vaak efficiënter zou maken. De oplossing lijkt dus eenvoudig: maak machine-leesbare contracten die zelf-uitvoerbaar zijn. Het hele proces kan worden geautomatiseerd, de transacties zijn betrouwbaar en worden nauwgezet geregistreerd. Het resultaat is een hogere efficiëntie en minder geschillen.

Slimme contracten brengen echter hun eigen uitdagingen met zich mee. Een eerste uitdaging is dat er niet met onnauwkeurige gegevens kan worden gewerkt. Meestal bevatten slimme contracten voorwaarden waaraan moet worden voldaan vooraleer bepaalde acties automatisch worden uitgevoerd. Die voorwaarden moeten voldoende specifiek en controleerbaar zijn om het programma toe te laten om te beoordelen of er aan de voorwaarden wordt voldaan.

Een verwante uitdaging ligt in tegenstrijdige taal. Net zoals de gegevens specifiek genoeg moeten zijn, zo moet ook de taal die de voorwaarden en handelingen specificeert duidelijken ondubbelzinnig zijn. “Wanneer de voorraden laag zijn”, is niet duidelijk genoeg. En het kan ook niet tegelijk worden gedefinieerd als “minder dan 20%” en als “minder dan 15%” in het contract.

Een derde uitdaging heeft te maken met het creëren van logische parameters. Bij gebruik van een Blockchain grootboek worden de transacties meestal in real-time geregistreerd. Het probleem is dat de verwerking van de gegevens door de betrokken partijen niet altijd in real time gebeurt. De gegevens kunnen bijvoorbeeld één keer per dag, of één keer per uur worden verwerkt… Hier moet rekening mee worden gehouden. Er moeten parameters worden bepaald over hoe en wanneer de gegevens moeten worden verwerkt ten einde incongruente datasets te voorkomen. Die zouden er immers toe leiden dat geen consensus kunnen bereikt worden voor een contractuele voorwaarde.

Een vierde uitdaging bestaat uit het anticiperen van gegevensfouten en -leemten. Programma’s bevatten bugs, en ze kunnen ook niet alle omstandigheden anticiperen die zich kunnen voordoen. (Een lockdown vanwege het Coronavirus kan bijvoorbeeld verhinderen dat bepaalde taken worden uitgevoerd, zelfs als aan alle vooraf-gedefinieerde noodzakelijke voorwaarden is voldaan).

Een vijfde uitdaging had te maken met schaalbaarheid. De verwerking van Blockchaintransacties vereist een aanzienlijke rekenkracht en voldoende netwerksnelheid. Complexere transacties vereisen meer rekenkracht en een veel hogere netwerksnelheid, en die zijn niet voor iedereen weggelegd.

Een inherent risico bij alle op Blockchain gebaseerde technologieën is het centralisatierisico. De kracht van de Blockchain-technologie ligt in de decentraliseerde grootboeken. Tsui S. Ng wijst er in een artikel voor de Amerikaanse Orde van Advocaten terecht op dat er een risico bestaat “wanneer de macht in een klein aantal handen wordt geconcentreerd. Een dergelijke concentratie betekent dat een groep slechte actoren kan samenspannen om kwaadaardige transacties goed te keuren.”

Een laatste uitdaging heeft te maken met de gebruiksvriendelijkheid. Net zoals traditionele contracten in natuurlijke taal worden geschreven die door machines moeilijk te interpreteren is, zijn slimme contracten vooral in code geschreven en daarom niet gemakkelijk leesbaar voor de gemiddelde advocaat. Er zijn tools nodig om de bruikbaarheidskloof te overbruggen.

Sinds we ons vorige artikel publiceerden, bijna twee jaar geleden, is er veel vooruitgang geboekt bij het aanpakken van deze uitdagingen. Als gevolg daarvan neemt het gebruik van slimme contracten voortdurend en snel toe. Eduard Kotysh wijst er in zijn artikel op dat de technologie volwassen wordt, dat er nieuwe en verbeterde tools beschikbaar worden en dat door de systematische aanpak van de problemen het vertrouwen toeneemt. Hij concludeert dat “het ecosysteem met de media en de gebeurtenissen wereldwijd genoeg dynamiek heeft vergaard om een kritische massa te bereiken om viraal te gaan”. Een andere belangrijke evolutie is dat de technologie toegankelijker is geworden.

Deze evoluties zijn grotendeels te danken aan de oprichting van verschillende consortia die samenwerken aan het opzetten van internationale platforms, protocollen en kaders voor slimme contracten en door Blockchain gesteunde transacties. Een dergelijk platform is bijvoorbeeld OpenLaw (www.openlaw.io) dat is gestart als een gezamenlijk Amerikaans en Zwitsers open source project dat advocaten in staat stelt om juridisch bindende en zelfuitvoerende contracten te maken over de Ethereum-Blockchain.

Ethereum is een van de toonaangevende platforms voor slimme contracten en is speciaal voor dat doel ontworpen. Tsui S. Ng: ” Hoewel traditionele cryptocurrency’s, zoals Bitcoin, waarde kunnen opslaan en overdragen, is Ethereum ook in staat om gegevens te bevatten in de vorm van argumenten, wat betekent dat het platform kan worden geprogrammeerd om een specifieke actie te ondernemen zodra aan bepaalde voorwaarden is voldaan. Zo kunnen contracten geprogrammeerd worden om zichzelf uit te voeren, omdat het platform geld kan sturen zodra aan de gespecificeerde voorwaarden is voldaan. Theoretisch gezien zal het platform, met voldoende tijd, uiteindelijk in staat zijn om elk berekenbaar probleem op te lossen. In de praktijk is hoe goed het platform draait echter afhankelijk van de netwerksnelheid en het geheugen.”

Slimme contracten zijn zo populair geworden dat ze zelfs hun eigen programmeertalen hebben, waarvan Solidity het meest populair is. Een ander teken van hoezeer de technologie is gerijpt, is dat er platforms worden gecreëerd, zoals Solidified, die zich richten op het auditen van slimme contracten.

Kortom, slimme contracten veranderen de manier waarop contracten worden opgesteld. Michael Matthews wijst erop dat dit ertoe leidt dat we nieuwe manieren van werken vinden: in plaats van ons te richten op risico en aansprakelijkheid, zoals bij traditionele contracten het geval is, richten we ons met slimme contracten op de uitkomst die partijen wensen. Hij voorspelt dat slimme contracten in de toekomst een nieuwe methodiek zullen afdwingen, nl. die van het resultaatgericht denken.

Bronnen: