A few years ago, I remember trying to explain what blockchain is to a friend. We went over it again and again, and finally, he got it. Back then my understanding was good, but still a little under-educated, it took me a lot of time and reading to solidify what it can and can’t do in my mind.
Today I can confidently explain that blockchain is just a next-generation of database that uses cryptography to write and store data in a way that is immutable. Bitcoin is just a software package that interacts with a blockchain. That software can do essentially do two things: 1. You can write data and 2. you can read data on the Bitcoin blockchain. And, yes–Bitcoin is a smart contract. It’s a software package in a class of packages that interact with a blockchain. Someone started calling that class, smart, and then others started to think smart in that context meant wise and intelligent. That’s where we went wrong.
Software is only as good as the programmers that wrote the code. Bad software is bad, calling programs that interact with blockchains “smart” is just marketing.
There are lots of things that I’ve come across working with computers that seem much more complicated than they actually are, and I’ve struggled to understand why we as a people do this. The initial thought that I have is there are people–marketing and salespeople, technophiles, politicians, pundits, who are all looking for ways to create polarity in the discussion of technology. That “interference” can obscure the actual technology behind the concepts that are being dramatized and sold to the mainstream.
Remember when people started calling computer servers, “the cloud?” The cloud became a term that people would use whenever they wanted to say that we were storing something on a remote server on the internet someplace. Before the cloud, we called them networks or clusters of servers. People in technology started to use the word, cloud, as simple jargon, an easy way to refer to the vast network of computers that everyone was building–and we are still building them–computer servers, and lots of them.
Terminology, such as, “the cloud,” is just a marketing term. If you understand computer networks, hypertext transfer protocol (HTTP), internet protocol (IP), domain name systems (DNS), then guess what, you got it! Because that’s all the cloud is–a collection of servers that are connected with HTTP, IP, and DNS. As simple as all these things are to me today, I suspect that there are a large number of people who use each of these tools for most of their workday who still have no idea what goes into “the cloud.”
Using that discussion as our appetizer, let’s move onto the main course of our discussion, the “smart contract.” If you jump on social media and try to find an objective definition for a smart contract there, you might be hard-pressed to find it. In fact, I don’t believe that’s where you should look in the first place–mainly it’s because there are hundreds, thousands, or millions of people out there who don’t really understand the basic fundamentals of a software program. Those folks are trying to make something that is just a few lines of code into a social movement or an all-powerful AI system that will take over the world. I’m seeing that there is a big misunderstanding being created with the term smart contract. People don’t get it, just like the cloud.
Google: “what is a contract” and see what you get.
- noun: a written or spoken agreement, especially one concerning employment, sales, or tenancy, that is intended to be enforceable by law.”both parties must sign employment contracts”
- verb: enter into a formal and legally binding agreement.”the local authority will contract with a wide range of agencies to provide services”
These definitions are just two of the many that the word, contract, means. There are lots of meanings for the word in other contexts. In medicine, your muscles contract. In linguistics, it can mean to shorten a word or phrase by combination or elision: “quasistellar object” was contracted to “quasar.” Like many other words, the word contract needs context to be understood.
I think that this is the main reason why we are getting it wrong with the term, “smart contract.” Well, at least some people believe we are getting it wrong. Smart doesn’t mean intelligent to programmers, it means capable. It means digital capability. Smart Phones, Smart Cars, Smart Refrigerators, Smart Bulbs–all smart means is that something, a device, is digitally connected and capable. It doesn’t mean sentient, it doesn’t mean intelligent, it means connected and digital. That’s it.
Contract in the smart contract context is a programmed agreement to give and take. It’s not a legally enforceable agreement protected by law. It’s an agreement between machines. If you give me this input, I’ll give you this output. Our browser takes a website name, or URL–connects your computer to another computer that is associated with that URL, and returns the content from that server. You enter a URL, you get content. That’s the agreement there, that’s the contract. The only reason that people call it smart is that it’s simple and purpose-driven–it’s cause and effect–it’s not smart at all. It’s just smart to use such simple systems when you’re trying to get something done. After all, we really don’t want a truly smart and/or intelligent browser, do we? What would happen if you put a URL in your browser and your browser was really smart and instead sent you a message that said, “Hey Dan, it’s not time for you to watch Netflix now, you should be working.” Mass hysteria would follow. Cats and dogs would start living together and people would run amuck in the streets!
Let’s all just take a minute and a deep breath here. The term smart contract is just a marketing term being used by techies to define a program that interacts with a blockchain, it’s the software that we run on a computerized platform. The smart contract is the software and the blockchain is the computerized platform. They are as smart as the programmers who wrote them and the integrity is only as good as the platform it runs on. We should keep it that way–and understand it that way.
It’s not the smart contracts that we have to worry about because they just do what they are told, it’s the smart people that are creating them that we need to watch.