Last week my kids wanted to attend a blockchain presentation of a Singapore team with me to see what our industry is about. During the presentation a slide came up about smart contracts and my 10 year old asked “Dad, what’s a smart contract?” So I quickly thought of a way to explain and grabbed a pen and paper to draw it out. Knowing they like the NBA and it’s playoff time, I used that as my example. Here is what I did.
Aris wants the Golden State Warriors (GSW) to beat the Cleveland Cavaliers (CLE) in an NBA game. Dante wants CLE to win. So both put $10 into a digital wallet.
Now we code a digital contract with the following:
If GSW > CLE, then the wallet must send Aris $20.
If CLE > GSW, the wallet must send Dante $20.
(this works as they easily understand greater than, less than symbols)
Now the smart contract goes and checks NBA.com over and over again until the final score is displayed. It says, CLE > GSW.
At that point we might not trust NBA.com, so the contract also checks ESPN.com, Bleacherreport.com and 5 more.
Not only that, we also have 10 more computers check all that work to make sure they all concur that CLE definitely beat GSW. This means we reached consensus.
At this point, the smart contract tells the wallet to send Dante $20.
Now I asked my kids why is this important? To which they said “because it makes sure that no one is lying.”
“Correct. But also, it makes sure you don’t cheat someone. If we didn’t have that smart contract, you may never pay Dante your $10. So this makes sure there is trust and that there won’t be any arguments between you both”.
The real test was when we met up with the team presenting afterwards. My kid was able to explain to them what a smart contract is, including reaching consensus. They were impressed and gave her some company swag, which of course she shows off now.
Funny thing is, I told this story to some people after and they all said “I’m going to use that when I need to explain it to adults”.