Now that we covered some of the basics in the first article, let’s explore some more interesting topics that we can add to our arsenal of mental models. We can start with where we are now in the computing phases history and then describe some technical innovations that will bring us to the current phase: blockchain computing.
Computing Phases
We have gone so far since the mainframe computing days of yore, so to give context to our journey, let’s visit the big picture history of computing, focusing on what machine does the computation and who is using the computer.
-
Mainframe Computing, circa 1950, where the cost to compute is really expensive and it’s only used by institutions to do bulk data processing such as census, statistics, and large-scale transaction processing . Companies: IBM, HP, Hitachi.
-
Personal Computing, circa 1975, where hobbyist and technicians starts to be able to do simple switch programming and afford these microcomputers. The cheap prices are made possible by major advances in semiconductor technology. Each of these new computers don’t really talk to one another. Companies: Apple and MITS for hardware, Microsoft for software, with IBM and HP as incumbents.
-
Interpersonal Computing, circa 1991, where World Wide Web was just made available to the general public and the PCs are getting so much more powerful, capable of not only text, but graphics and sound. This is also where each of these computers can do a transfer of Information through the Web between them, marking the Web1 era where the information in websites are mainly read-only and static. Companies: Acer, Dell, Amazon with Apple, IBM, Microsoft as incumbents.
-
Internet and Cloud Computing, circa 2005, where the computer is getting smaller and mobile, and Internet starts to become accessible to more people than ever. The heavy computation at this era is done in central powerful servers (the Cloud), with the users’ computers mainly serving as client asking for service. Companies that are able to hone in this model won big. This era is also called as the Web2 era where websites are able to provide service and content that is dynamic and read-write. Companies: Google, Facebook, Twitter and Apple, Microsoft, Amazon as incumbents.
This brings us to now. We can almost see the evolution pattern with our computing phases that the users are getting more connected, computing powers are getting stronger, and the Internet infrastructure are getting better. But at what cost? It looks like both wealth and political power are getting even more centralized due to this and it’s giving a very asymmetric benefit to only a small part of the society.
Smart Contracts
With what we built so far with our Crypto mental model (let’s imagine it as a big stack with all the properties), what solution can we propose? In summary, we currently have the following mental models in our crypto stack:
-
Blockchain is a ledger that is public and decentralized, used to denote transaction of its native assets, complete with information such volume and history.
-
Blockchain combined with consensus protocol enables us to have a method of doing a direct (peer to peer) transaction safely to transfer value without the need of a third party.
-
Cryptocurrency is the reward given to the validators for doing validations on proposed transactions using the consensus protocol. This is highly programmable and is different from one cryptocurrency to the next.
-
Cryptocurrency is simply the native asset that is transacted on a blockchain that has the consensus protocol. So as an example, Bitcoin network has BTC, Ethereum has ETH, and Solana has SOL.
-
Trust is built-in inside a cryptocurrency blockchain due to the consensus protocol.
-
Information in the blockchain can also be used as proof of ownership of the native asset.
What if we can introduce a new feature, where we ask the computers on the blockchain (in addition to validating the transactions) to do a simple computing task, such as “once the date hits Friday the 13th, send Freddie Krueger some money”. Because that’s how we started the Personal Computing Phase explained above to begin with (a switchboard that basically tells yes or no, or in computing terms 0 or 1).
Bitcoin’s transaction system are actually capable of this, but as people start thinking about this feature, they are seeing a lot of limitation on UTXO (Bitcoin’s transaction system). The main one is the Lack of Turing-completeness - that is to say, while there is a large subset of computation that the Bitcoin scripting language supports, it does not nearly support everything.
A programming language is called Turing-complete (from the famous mathematician/computer scientist Alan Turing) if it can be used to find an answer to any computational problem (although with no guarantees regarding runtime or memory). This means it can be used to build up literally any feature that is mathematically describable. We are hitting really close the technical realm here but we shouldn’t need to go deeper than this.
So, in 2013, Ethereum whitepaper was conceived and Ethereum was launched in 2015. The big idea is to have a cryptocurrency that is barebone, but will be able to support programmable features through its Turing-complete programming language called Solidity.
So the programs written in Solidity are called smart contracts, but inside it’s not really that smart nor that it’s always a contract. It’s just a term. Since then, many other cryptocurrencies follow the same idea and include this functionality to enable decentralized applications (dApps for short) where the computation is done by the blockchain nodes themselves.
Blockchain Computing
So with our crypto stack able to do computing as well, what does this bring? Well, knowing that our stack is now also supports a Turing-complete programming language, this means we can build almost anything as a program/code.
The first use-case right away is to program a financial system where people can store their money (cryptocurrency in this case), and gets rewarded when other people want to borrow it. This is one of the basic functions of a bank, but as a user we very rarely gets the reward. Another is to create a marketplace, where people can buy any cryptocurrency they want without the need of a centralized exchange. These applications are called Decentralized Finance (DeFi) applications.
We can even go one step further. Paraphrasing the Nobel prize winner economist Douglass North,
“As humans we find ways to lower uncertainty about one another so that we can exchange value”.
He was one of the first to recognize that humans lower uncertainty by utilizing institutions.
North defines institutions as "humanly devised constraints that structure political, economic and social interactions". Constraints can be devised as formal rules (constitutions, laws, property rights) and informal restraints (sanctions, taboos, customs, traditions, codes of conduct).
Well now that we see institutions that way, it looks like the formal rules here, are able to be built as a structured set of smart contracts because it will stay the same and is enforceable (if only natively, which is digital). People say that in blockchain, the code is law. Bettina Warburg gave the below TED Talk in 2016, on “How the blockchain will radically transform the economy”.
This is exactly what is happening in DeFi, where the functions of a centralized institutions like banks are instead replaced by a very elaborate set of rules that is written. The code is all open-source so people can verify if the code is doing what it’s supposed to be, instead of just trusting the institutions to act in our best interest.
In 2020, Chris Dixon from a16z defined Blockchain in their Crypto Startup School as follows:
Blockchain: A virtual computer that runs on top of a network of physical computers that provides strong, auditable, game-theoretic guarantees that the code it runs will continue to operate as designed.
Because we have all the building blocks needed to understand this definition, I think this is one the best mental model to understand blockchain: as a virtual computer that enables people to construct any institutions they see fit, to enable a frictionless exchange of value.
Internet enables a frictionless exchange of information. If we add cryptocurrency to that stack, we get a frictionless exchange of value and this will bring a big change to how we do things. When a builder sees that they’re able to include money natively in their code, it will bring about a very new sense of liberation.
评论 (0)