Blockchain en een weddenschap
Stel je voor dat jij en ik een weddenschap willen aangaan.
We spreken af dat wanneer het volgende week regent (op de afgesproken plek) jij aan mij vijf euro betaalt. En wanneer het niet regent ik jou vijf euro betaal.
Een weddenschap van niks misschien, maar voor dit voorbeeld precies goed.
Hoe gaat we te werk? Omdat het een laag bedrag is zullen we geen notaris gaan inzetten. We vertrouwen elkaar wel. En mocht jij of ik het bedrag niet geven dan is er geen man overboord.
We kijken dus volgende week uit het raam en als het regent dan krijg ik van jou vijf euro of vice versa. Simpel.
Maar stel dat het om een groter bedrag gaat. We gaan niet €5 inzetten, maar €5.000.000,-. In dat geval moeten we toch iets op papier gaan zetten en naar de notaris gaan om dit onafhankelijk te laten bekrachtigen. Afgezien van de extra notariskosten zal dit ook extra werk met zich meebrengen. Misschien moeten we het concract wel laten opstellen door een advocaat. Kortom, een hoop werk.
We kunnen ook een blockchain (Ethereum) erbij betrekken en deze als derde onafhankelijke partij laten fungeren om de transactie voor ons te laten uitvoeren. Dus we pakken onze laptop en we programmeren een klein contract (in een fictieve taal).
contract Weddenschap {
var AfgesprokenBedrag = 5.00; // Euro
var Weerbericht = GetWeatherFromYahoo('Maastricht', '1 november 2017');
if (Weerbericht.RegenvalInMillimeter > 10) {
StuurBedrag(AfgesprokenBedrag, van 'Jack', naar 'Susan');
} else {
StuurBedrag(AfgesprokenBedrag, van 'Susan', naar 'Jack');
}
}
Dit simpele voorbeeld is ter illustratie en werkt niet als zodanig. Contracten kunnen op dit moment ook geen data via een API binnenhalen, of je moet gebruikmaken van Oraclize. En je kunt ook geen euro's overboeken op Ethereum.
We plaatsen dit contract op de blockchain en zorgen dat er minstens vijf euro (in Ether) op onze accounts staat. Op het moment dat we volgende week dit contract uitvoeren dan zal het twee dingen doen:
- kijken wat het weer is op de afgesproken plek, via de Yahoo Weather API
- afhankelijk van de hoeveelheid regenval, 5 euro naar de juiste persoon overmaken.
Belangrijk om op te merken is dat wanneer we de weddenschap verhogen naar 5 miljoen euro, dit contract nog steeds gebruikt kan worden. We hoeven alleen het afgesproken bedrag aan te passen (en zorgen dat er genoeg geld in ons account staat).
Op deze manier kunnen we samen een contract opstellen dat geheel naar onze wens zijn uitwerking zal hebben. Zonder notaris, of andere tussenpersoon.
Een kijkje in de toekomst
Contracten zullen in de toekomst meer en meer worden geprogrammeerd; dit zijn zogenaamde slimme contracten. Misschien staat Solidity Programming dan wel op het curriculum van de bachelor Rechten.
Maar denk niet dat alleen programmeurs dit soort contracten kunnen maken. Gaandeweg zullen er systemen worden gebouwd waarmee je eenvoudig slimme contracten kunt bouwen. Er zal geen programmeur meer aan te pas komen.
Vergelijk het met het bouwen van de eerste websites... dat was een exercitie van heb-ik-jou-daar. Maar tegenwoordig heb je diensten waarmee je binnen tien minuten een website maakt. Kwestie van een paar vaste onderdelen naar de gewenste plek slepen, tekst toevoegen en afbeeldingen plaatsen. Je ziet geen enkele HTML, Javascript of CSS code meer.
Zo zal dat ook gaan voor de slimme contracten... De meeste slimme contracten zullen opgesteld worden met standaard contract-sofware en uitgevoerd door een blockchain. Of we nemen een bestaand en beproefd contract en gaan op basis daarvan ons eigen maatwerk conctract maken. De mogelijkheden zijn eindeloos.
In een volgend artikel bekijken we hoe de blockchain als een soort netwerk van waarde gaat fungeren.