Computing technology has not changed much since the invention of the computer. Computers have advanced, becoming more powerful, faster and cheaper. New algorithms, implemented both in silicon and code, have allowed for the evolution of what these computers can do. New applications are delivered on a daily basis leveraging this enhanced computing power. Connecting these computers together became the next major leap in the evolution of computing. This allows, as a good friend of mine puts it, bits to flow from one computer to each other, as they process the bits and store them (read/write). Networked computers allowed us to have distributed computing, and eventually the internet. But – at the core level, that is all we are doing – reading bits from an input device or storage, moving bits from one connected to the computer to another, processing the bits, and outputting the results to an output device, and/or to storage. Compute, Storage and Network are the atomic components, the core building blocks of Computing. What they respectively do are the first principles of computing. If we look at any new technology in the space of computing from the prospective that the new tech is built with these core building blocks, one can better grasp the tech when broken down to these first principles. These building bocks themselves have their own building blocks and First Principles – transistors; logic gates; disc storage; TCP stack, etc. Everything in modern computing technology is built using higher level abstraction layers on top of a lower layer of building blocks, all the way down to the core physics of electrons and photons and light waves. But I digress…
In this post I will attempt to do is express my understanding of what web3 is from computing first principles. Enough posts have been written on web3, including one I wrote recently on the value proposition web3 promises for digital assets. I am not regurgitating them here. I am capturing what I grasped from my attempts to grok web3, staying away from the hype, or even the gory implementation details of various technologies that make up what is broadly referred to as web3. At its core, web3 is also just bits moving between computers, being processed, and getting output and stored, all leveraging a blockchain, which in turn runs on computers, which are made up of – you got it – compute, storage and network. Simple… really. Let’s start from the beginning.
A sidebar before we get going — Quantum computing is a whole new ball game. Its first principles ARE different. Those bits don’t always end up where you expect them to. Quantum physics replaces classical physics as the underlying building blocks. I will attempt a take on Quantum Computing in a later post. Way later. Much I have to learn before I can do that <looks longingly at the partially read copy of ‘QED’ by Dr. Feynman on the bookshelf/>.
The First Principle Building Block of web3 – ‘Distributed Ledgers’
At the core of web3 is distributed ledger technology. Distributed ledgers are nothing new. They have been around almost as long as distributed computing has been. The moment the consensus problem was solved, that allowed us to work with databases that were geographically distributed and had transactions that occurred at any location and then could be synchronized and reconciled, we had distributed ledgers. The paper introducing Bitcoin, a new implementation of Distributed Ledger technology, was published in 2008 under the pseudonym of Satoshi Nakamoto, bringing the concept of a immutable, public distributed Ledger – the Blockchain to the world. As a side note, the only thing that has been proven about Satoshi’s real identity with 100% certainty is that I am not Satoshi. The Bitcoin paper added concepts of public-private-key cryptography to distributed ledgers to make them immutable, and to make consensus building in highly distributed ledgers possible. It also created the concept of a scarce digital asset that could hold value by limiting the number of bitcoins that could be minted. Introducing the concept of minting itself, that involves solving complex math problems to create a coin (or Token) revolutionized digital assets and created whole new industries from cryptocurrencies to non-fungible tokens (NFTs) to Smart Contracts and Decentralized Autonomous Organizations (DAO) – all the building blocks of what is now referred to as web3. If Satoshi’s real identity is ever revealed, they are a shoo-in for the Nobel prize in economics.
Like most technologies, web3 has a stack, with layers, each of which adds a layer of abstraction upon the layers below it. This stack is still evolving and the focus on solutions is distracting from the underlying problems each layer addresses. The core building blocks of each layer need to be understood without worrying about the implementations. The implementations will evolve over time. The first principles and the building blocks of each layer will not. In the rest of this post I will focus on the primary layer – Layer 1 – the Blockchain. I am trying my best to stay away from naming specific implementations of all technologies in this space where possible. Most of them may not be recognization three years from today, or even exist for that matter. Lets focus on of what they do, from a first principles perspective.
Layer 1 or protocol layer of web3
A Blockchain, which is a core building block of web3 – in fact web3 cannot exist without Blockchains – is a special case of a distributed ledger that is immutable. Immutable, as in it is a ledger in which once a transaction is recorded, it cannot be modified. Blockchains are also (usually) public, that is all transactions are available for anyone to view. Without the immutability requirement, a Blockchain is just another distributed database. Blockchains are also Permissionless, Trustless, and of course, as Distributed . The Permissionless feature was one of the key features that makes web3 unique compared to web2. Lets delve into all three of these.
The First Principle of being Permissionless
Web2, the web as we know it brought us permissionless posting of content. Blogs – long form and micro-blogs such as Twitter, Social Networks, Forums, they all brought to us permissionless content posting. If you stay within the code of conduct of said platform (more on that soon) you could post anything you wanted. You did not need anyones permission to so. What you could not do is post data. Transactions associated with data which was not public domain remained permissioned. We could not transact with anyone else in public and post that transaction publicly without the permission of the central controlling body which was executing the transaction or recording the associated data for us. The middleman or facilitator of the transaction had to give permission for said data to be shared. If I send someone money using a bank, the bank processed the transaction. It controlled who had access to the data. It alone had permission to store and/or post that data. Yes, I can share my Venmo transaction with the world of all Venmo users, but Venmo still has final say. They decided to make all transactions public (to Venmo users). I as a user have no control except to say I do not want to share my transactions.
On a Blockchain, all transactions are permissionless. Anyone with an account gets to execute a transaction and hence post data to the blockchain. Everyone gets to see them, irrespective of whether they were one of the parties to the transaction. In tandem, all users of the blockchain can remain anonymous. They have permission to transact and post data on the blockchain. No one has the authority to know who they are. Cryptocurrencies can be transacted across borders and without disclosing identities leveraging this very capability of the blockchains the cryptocurrencies live on.
A special case of Blockchains are those with Controlled Access. These are Private Blockchains used by a central authority which is leveraging the blockchain to make the records immutable, but they control who has permission to post. A good example would be a Blockchain used by a government to manage citizen data. They want every citizens data to by immutable, but they want to control who can post it in the first place. They control the Trust behind the transactions. And decide who can be trusted to post. Much more on the Trust aspect of Blockchains in the next section. Another example of such a blockchain would be one used by a company or entity to track chain of custody or authenticity of an artifact. Say a farm-to-table tracking blockchain for a secure food supply chain. Or a blockchain that track medical specimen. The controlling entity of these blockchains decides who they trust, and hence who can post to the blockchain. All transactions remain immutable, ensuring the data can be trusted to be always accurate.
The First Principle of being Trustless
Trustless does not mean that you blindly trust everyone and every transaction. It means that the onus of establishing trust does not lie with a central agency which can be gamed, or can deny trust for reasons of their choosing (think Twitter’s apparently arbitrary approach to ‘verified’ accounts). Trustless systems build in incentives and guardrails inherently into the system that minimize the need for trust itself. Instead of repeating myself, I refer you to the Trustless Transactions section of my last post on web3 and the democratization of digital assets.
The First Principle of being Decentralized
Last but certainly not the least, Blockchains are decentralized. This decentralization results in there being no central agency that runs the blockchain (except for private blockchains) and the authority of decision making, rule making, and supervision does not being to a single entity or group, but is decentralized across the network of participants in the Blockchain. In the web3 world this is a critical value proposition. The result of how the current web (web2) has evolved has led to the centralization of control and trust in a few entity’s who get to control what happens on the web, and also more importantly get to ‘own’ the content on the web and monetize it for their gain and benefit. Think companies like Reddit, Facebook, Snap and Twitter who allow permissionless posting of content and Media, but then ‘own’ the content posted and monetize it. The famous ‘we sell ads’ statement from Mark Zuckerberg during congressional hearings summed up the thesis of web2 in in three words. They own the platform. They own the graph of the social network. They own the content. They own the data. They get to share the data with whom they choose (think Cambridge Analytica). And they alone can monetize the data. In a decentralized web3 world, the ownership lies with nobody. The trust lies with the network. And the ability to monetize the public data (it is public and available to anyone) is available to anyone on the network who can find a way to harvest and monetize it. But as identities are not public, they cannot misuse the data nor use it for personalized targeting for monetization. People can remain anonymous if they choose to.
Decision making is also, as stated above, decentralized. Every participant has a say. This has led to the creation of DAOs – Decentralized Autonomous Organizations, which are the next generation web3 co-ops (cue the criticism for using that term) that exist on a blockchain which allow participants with skin in the game to be decision makers in the DAO’s mission and purpose. I will discuss DAOs in my next post where I will go into the ability to execute code on a Blockchain, something that came to be with the creation of the Ethereum Blockchain.
I will conclude this blog post here. In the next post I will discuss the next Layer in the web3 stack. This includes bridges which allow us to traverse between the value chains created from one layer 1 blockchain to another. Stay tuned.