Does it kind of annoy you when people use phrases for things that don’t actually describe what they mean? Like ‘with all due respect…’ … then proceed to slag off your mother and tell you why you won’t make it in life.
And so we begin on smart contracts. To use an all too often - and now somewhat annoying - phrase that is much loved by the folks at Bankless and their motley crew, let’s ““ unpack ““ this one.
The term Smart Contract was coined by a super smart computer dude called Nick Szabo in 1994. Here is a picture of Nick showing his response to being asked the question ‘why did you call something by a name that doesn’t actually describe what it does?’
Nick was mucking around with blockchains back in those days, and realised that with a few tweaks, it was possible to not only have data on blockchains (like Bitcoin transactions for example), but it was also possible to have processes too. In other words, sets of rules that would determine what would happen if two parties on the blockchain wanted to interact with one another.
Let’s ““unpack”” that a little further:
Take how a vending machine works. You go to the vending machine, put in the right amount of money, and get a drink. If you put in too much money, you get your drink and some change. If you put in too little money, you don’t get anything - just your money back.
(I think that’s Nick as a boy with his favourite vending machine).
How the vending machine works is basically the same as a smart contract on a blockchain: two parties come together and they transact with one another under a set of pre determined rules that define an outcome based on the inputs.
So basically a smart contract is a set of rules (it’s not smart) that two or more entities can use to transact with one another if they want to, having assessed the content of the process (it’s not a contract). It’s more like an automatic execution module. Maybe that’s not as catchy. Anyway…. hopefully that clears that up.
Not only are the results from the interaction stored on the blockchain via a distributed ledger, the actual process - the smart contract itself - is also distributed between the nodes that are securing the blockchain. So every member of the blockchain that is securing the network will also hold a copy of the code that determines how a smart contract will work. This means that once smart contracts are created, they are very difficult to change (not always the case, but mostly).
You can imagine that this might require quite a complicated blockchain itself, and this is how Ethereum was born. Bitcoin was a blockchain that would allow transfer of value between two individuals. Ethereum was the next stage, as it was a blockchain that allowed for the development, storing and execution of smart contracts. That’s why it’s so big as a blockchain and a cryptocurrency.
Smart contracts are VERY important. In fact, I would go as far to say that once all the apes have been sold, the beer has been drunk at crypto conferences in exotic cities, the VC money has been exhausted and everyone is sitting there wondering what the heck happened to the ‘crypto revolution’, the one thing that will remain supreme with its trunks firmly on looking like Dan Bilzerian as the tide goes out will be smart contracts.
So what’s so swell about smart contracts? Well they are the very foundation of the whole blockchain idea… without getting too heavy on you, you’ll remember that blockchains allow a rapid, trustless, seamless, secure, transparent transfer of value between two parties, that can be stored in an immutable way. That’s great…. and sounds very neoliberal. Lovely. But it doesn’t amount to much if the things that are done between the two parties are limited to just transfer of data. It needs to be applicable to different people in different scenarios wanting to do different things. You have to be able to build real world use cases - or applications - in order for this whole blockchain project to actually be worth something. And smart contracts allow that to happen. They are crucial for the scalability of blockchain application use cases…
They remove the need for a (costly) intermediary when transacting with someone. It’s just you and the person you’re dealing with (and some computer code). That’s it. No counterparty risk
They remove human error - everything is written in code. So it’s all there in front of you. There’s no debate
They carry automatic execution speed - they are Linford Christie fast
You can use them anytime. It doesn’t have to be during market hours
Fees are much much lower
They reduce the likelihood and cost of fraud
There is a totally predictable outcome - anything that can be coded has to be pretty binary
There’s a public record, so they’re totally transparent
Privacy Protection - you can remain anonymous when using them. No need for your name on a contract
All the terms of the contract are visible at the outset
It’s a top 10 of smash hits for the new world order… that might just have one few less lawyers in it. Nothing against lawyers… but they’re SPEN!
Next time out we’ll discuss oracles… that make smart contracts reliable and useable.