This module provides an overview of web3, including a straightforward explanation of blockchain, and how web3 differs from crypto.
We’ll also discuss the advantages of web3 systems which differentiate them from traditional systems, both digital and analog.
Finally, we discuss the use cases where blockchain technology and web3 in particular excel.
If you’ve ever heard the term “web3,” you’ve probably heard it alongside terms like “blockchain” and “crypto.” All are related, as both web3 and crypto rely on blockchain technology. But before we can define web3, let’s take a look at what blockchain itself is.
For most applications, data is stored in a single location: a database. That database is controlled by a single entity, namely the firm who created the application. That entity also retains the ability to choose who can read and write to the database.
Such databases will store any relevant information, and in some applications, the database will store every interaction that each user has with the application. Because every user-interaction with an application entails some interchange of data, these interactions are often referred to as transactions and this term is used almost exclusively in the blockchain space. In many cases, “transaction” will refer to a financial transaction, but less often so in the context of blockchain.
To reiterate, a database is often just a list of transactions. Such a list of transactions is known as a ledger, and in many digital systems, the ledger is the ultimate source of truth for transaction data, as it is accounts for the entire history of events in the system. If an entity wants to send a transaction, they must record it to the ledger for it to be settled.
An issue arises if, for whatever reason, an entity that wishes to settle a transaction cannot access the ledger, or in other words, they cannot write to that database of transactions. Perhaps access to the database is lost due to some technical failure; critical systems like these should be redundant to avoid going offline. Alternatively, access may be lost due to the owner of the database changing the transactor’s permissions.
In either case, the issue is a single point of failure. If the database were duplicated and distributed across multiple devices, you eliminate the risk of loosing access if a single device goes offline. Similarly, if permissions are not granted by a single entity which controls the ledger, but rather, access to the database is granted in such a way that entities can write transactions to the ledger on their own behalf (a reflection of their natural permissions, as in the real world you choose both how and with whom you transact / interact), you eliminate these last single points of failure in the ledger system. So ideally, the ledger is distributed and access is permissionless.
Distributed Ledger Technology (DLT) is the term describing just that type of technology. A distributed ledger allows any participant to act on their own behalf without permission from a third party, and send a variety of different transaction types, from simple monetary transfers to complex application interactions, without ever having to worry about the reliability of the underlying system. DLT may be ideal in theory, but it has proven to be difficult to implement.
Blockchain technology is how DLT is implemented in practice.
Instead of adding new transactions to a ledger one by one, it’s more efficient in practice if we chunk several transactions together and add that chunk to the ledger. We call this chunk of transactions a block.
Order matters when adding these blocks of transactions to the ledger. To make sure that we’re keeping track of the order in which we add blocks, we simply state what the latest block we’ve added is when we add a new one. Blocks are numbered, so when we add this new block, we effectively add a note to it saying what the most recent block number is, and then give the block we’re adding the following number, and we repeat this process for every new block.
Hence, we are creating a chain of blocks of transactions, where each block references the block that came before it, creating a block-chain.
Of course, the devil of this system is in its details. What’s important about blockchains (distributed ledgers) is the following: because they can’t be debased by any single party and because their transactions are immutable (unalterable) once validated, they make possible a plethora of new applications that were previously unrealistic or outright impossible to implement.
Crypto and web3 are terms often used interchangeably. While the definitions aren’t hard-set, the blockchain community has deduced a useful, separated model for these terms.
<aside> 📍 Crypto is the movement surrounding the set of protocols and applications using blockchain to build digital-native finance.
</aside>
<aside> 📍 Web3 is the movement surrounding the set of protocols and applications using blockchain to build digital infrastructure.
</aside>