- 0 – Introduction
- 1 – Web3 User Journey
- 1.1 – Onboard to Exchange & Purchase Crypto
- 1.2 – Create Web3 Wallet & Receive Crypto
- 1.3 – Manage Crypto from Wallet
- 1.4 – Connect wallet & access Web3 ecosystem
- 1.5 – Web3 wallets and cryptographic keys
- 1.6 – Introduction to decentralized, P2P blockchain networks
- 1.7 – Sending transactions to the blockchain
- 1.8 – Interacting with dApps on the blockchain
- 2 – Evolution of Blockchain Ecosystems
- 3 – Web3 Tokens as Incentive Mechanisms
- 4 – Decentralized Finance (DeFi)
- 4.1 – Swap tokens with Uniswap
- 4.2 – Mint stablecoins with MakerDAO
- 4.3 – Lend crypto with Compound Finance
- 4.4 – Liquidity mining to boost yield
- 4.5 – Yield farming with Curve Finance
- 4.6 – Automated investing with Yearn Finance
- 4.7 – DeFi dashboard with Zerion
- 4.8 – DeFi 2.0 & Stablecoin Wars
- 4.9 – Deep liquidity with OlympusDAO
- 5 – Cryptomedia and NFTs for Web3 Creatives
- 6 – Decentralized Web Infrastructure
- 7 – Self-Sovereign Identity
- 8 – Decentralized Social Media and DAOs
- 9 – Decentralized Gaming and the Open Metaverse
0 – Introduction
Web3 extends human rights into the digital realm. Web3 users are empowered with the Right to Digital Privacy, Property and Inclusion. Digital privacy is about users controlling their own application data, digital property about the ability to own and custody scarce digital assets, and digital inclusion about guaranteed access to the digital economy and society with permisionless internet services.
And this is all without the trust in, or permission from, central authorities like governments, institutions, and companies. Right now we only have the appearance of these digital rights; and, in actuality, must trust these central authorities to act in our best interests, and preserve our rights for us. But our digital rights are infringed on constantly.
Our lives are moving more and more into the digital realm. Billions of people interact with digital technologies on a daily basis, but we still rely on central authorities to give us access to these internet services and our application data. Web3 secures our rights in these digital worlds, and puts more power into the hands of the individual.
1 – Web3 User Journey
This chapter is structured as a user journey for onboarding to Web3. Going step-by-step through this journey will show you the UX of decentralized applications (dApps), and help in building empathy for Web3 users in general.
It starts when users connect their bank account to a crypto exchange, and purchase cryptocurrency. A large emphasis is placed on this step – it’s known as the “on-ramp” to cryptocurrencies. Users exchange their fiat currencies (e.g. USD) for cryptocurrencies (e.g. ETH). The UX for purchasing crypto differs between exchanges, but significant friction points are present on all of them.
The cryptocurrency that users purchase on an exchange is being custodied by that exchange. Users must self-custody their crypto in order to take full advantage of the Web3 ecosystem, and its decentralized applications. Users first create a Web3 wallet then send crypto from the exchange to the wallet. This marks an important transition from using centralized products (i.e. banks and exchanges) to using decentralized, blockchain-based products (i.e. wallets and dApps).
Web3 wallets can be thought of as anonymous bank vaults. Anyone can create one, and users don’t need to reveal their identity (unlike banks and exchanges) in order to do so. Within Web3 wallets, users manage their crypto assets like checking token balances, and sending crypto to other wallets.
Finally, wallets are connected to decentralized applications (i.e. dApps). This is how users access the Web3 ecosystem. Web3 dApps are distinctly different from the Web2 applications we’re accustomed to using (e.g. Facebook and Twitter). Decentralized applications are built on top of blockchains, rather than centrally-managed servers and databases. The dApp ecosystem is experiencing rapid growth, and new categories of Web3 products are being built out, like decentralized social media, data, identity, gaming, and much more.
So that’s an overview of the Web3 user journey. In the sections that follow, we’ll go more in-depth on each one of the four phases. After discussing the phases, we will touch on more advanced concepts like what a Web3 wallet is on the backend, what is a blockchain and P2P network, and how Web2 apps differ from Web3 dApps in terms of software architecture. By the end, you’ll have a solid understanding of Web3 concepts, design patterns, and the underlying blockchain technologies.
1.1 – Onboard to Exchange & Purchase Crypto
Crypto is the currency of the Web3 ecosystem, and is required to access decentralized applications. So how do users first get cryptocurrency? This is where crypto exchanges come in.
Exchanges are known as the “on-ramp” to cryptocurrency, because it’s where users convert their fiat currencies into cryptocurrencies. Let’s talk about the user journey for onboarding to crypto exchanges, and purchasing cryptocurrency on them. Product designers put a large emphasis on crypto exchange onboarding, because the UX has been bad in the past and user friction still exists today.
Before writing this, I onboarded to four crypto exchanges (Coinbase, Kraken, Crypto.com, and Gemini), and tested the user experience of each. Coinbase by far had the best UX of all crypto exchanges I looked at. It’s one of the most mature Web3 companies as it has been running since 2012, it went public in 2021, and it continues to build a robust team of UX designers and researchers. In my opinion, Coinbase is the gold standard of crypto exchange UX at this time.
Before we get into the specifics, understand that the user flow is broken into four phases on all exchanges: sign-up to the exchange, verify your identity to meet government KYC/AML requirements, transfer funds from your bank account to the exchange, and, finally, purchase crypto.
Sign-up is similar to other web services. The user creates an account with an email username, and sets a password. They receive email verification, and text verification for 2FA. Nothing abnormal yet.
The UX starts to degrade in the next step where the user must verify their account. In other words, the user must prove their identity using government issued documents (i.e. passports, drivers licenses) in order to use the exchange. This account verification has to do with the exchange complying with KYC (Know-Your-Customer) and AML (Anti-Money Laundering) regulation. Basically, the exchange is considered a bank, and governments want to control who has access to these banking services.
Most would agree that we shouldn’t let terrorists, criminals, and other sanctioned individuals use banking services; however, for the average user, this account verification step poses a couple problems. First, account verification requires the collection of sensitive information like residential address, social security number, and government-issued documents (e.g. passports and driver’s licenses). I think we all know privacy-conscious people who wouldn’t feel comfortable providing this information to a crypto exchange, and submitting it over the internet for that matter. Looking at you mom and dad.
Also, users are not told how long the account verification process will take. Admittedly, it only took one minute for me to receive a confirmation email from Coinbase, but this could still prevent people from setting up an account and purchasing crypto all in one sitting. Kraken and Crypto.com took 5-10 minutes for account verification. My account verification on Gemini is still pending, over 6 months later.
Now, the next step in this journey is for users to connect their traditional bank account to the crypto exchange. This has to do with landing fiat currency into the crypto exchange so that it is available to purchase the cryptocurrency with. Exchanges provide a variety of transfer methods, such as ACH transfer, Bank Wires, PayPal, and Debit cards. These methods differ in terms of transfer limits, transfer fees, and how long it takes to land fiat in the account.
Coinbase integrates with a third-party service called Plaid to make the ACH transfer process more user-friendly. Connecting my bank to Coinbase via Plaid took only 30 seconds, and I was ready to purchase cryptocurrency from there. This is where Coinbase really starts to set itself apart from the others. When using the other exchanges, I was forced to open a new browser tab, log into my bank account and manually initiate bank wire transfers into the exchange. I was not charged any fees; however, the funds took 24-48 hours to land in the exchange. You can imagine how much more this disrupts the user flow compared to Coinbase’s seamless ACH transfer.
Finally, once fiat has landed in the exchange, the user is able to purchase cryptocurrency. It’s a simple process on all exchanges. The user selects which cryptocurrency they want to purchase and how much of it, denominated in their fiat currency.
That’s a summary of what happens on a crypto exchange, and we highlighted some major friction points along the way. Next, we’re going to talk about Web3 wallets, look at the process of creating one, and sending crypto from the exchange into the wallet. This is where we bridge the gap between Web2 and Web3, this is where we go from centralized custody to decentralized, self-custody.
1.2 – Create Web3 Wallet & Receive Crypto
Now that we have crypto in our exchange account, we’ll want to create a Web3 wallet so that we can move our crypto from the exchange into the wallet. This is where the world of Web3 decentralization begins, and there’s a lot that will be new here for first-time Web3 users. Let’s start by creating a wallet with the most popular crypto wallet app, MetaMask.
MetaMask is a Chrome browser extension that can be downloaded through the Google extension store. There are other types of wallets like desktop and mobile apps, but browser extensions are the most popular form factor for Web3 wallets. Let’s now look at the process for creating a Web3 wallet.
First, users need to install the MetaMask extension on their Chrome browser. Clicking on the MetaMask extension will launch an onboarding screen for MetaMask, and there are two user flows from here: create new wallet and import existing wallet. The ladder has to do with recovering a wallet, which we’ll look at later. For now, we will create a new wallet.
MetaMask generates a new wallet, and displays something called a “secret recovery phrase” for the user to copy. The secret recovery phrase is a series of 12 to 24 everyday words, and is the master password for the Web3 wallet. Anyone with this phrase can import the wallet into their MetaMask application, and access the crypto associated with the wallet. Users usually write this down on a physical piece of paper, and store it somewhere safe (like a safety deposit box) for security reasons. On the next screen, MetaMask requires the user to retype the secret recovery phrase to ensure the user copied it down correctly in the first place.
Users can access the wallet’s main UI once the secret recovery phrase has been backed-up. The next section goes in-depth on the features and design patterns of a Web3 wallet, but for now we will just look at the wallet’s address in the top center of the UI. The address is a unique, public identifier for the wallet, and we copy it to our clipboard in order to send crypto from the exchange into the wallet. You can think of the wallet address like an email address. Remember, sending crypto from the exchange to the wallet is an important transitory step to go from centralized apps to decentralized apps.
Now, let’s say you change computers, and need to redownload MetaMask. Or your MetaMask extension gets deleted from Chrome. In order to regain access to your wallet, you’ll need to recover your wallet using your secret backup phrase. Let’s see how this works by going back to the initial MetaMask onboarding screen, and importing an existing wallet. The user simply enters the secret recovery phrase, and their Web3 wallet gets imported into the fresh MetaMask app.
Now that we’ve seen how to create a wallet, send crypto to it, and recover the wallet – let’s talk about some common pain points related to Web3 wallets, and why they are intimidating, especially for first-time users. When signing up to your traditional bank, you set your username and password. This username and password exists in your bank’s private database so, if you lose your password, you can initiate a password reset process to regain access to your account. On the other hand, Web3 wallets represent decentralized, self-custody bank accounts. This means no centralized entity custodies your crypto, or manages your account information.
The main implication here is that, if you lose your secret recovery phrase, you lose access to your crypto funds forever, without recourse. There is no centralized service that will help you recover your funds. Imagine you are in custody of gold bars – you are the sole person responsible for remembering where you buried the gold. Losing your secret recovery phrase is the equivalent of forgetting where you buried your gold bars. Self-custody demands a significant amount of responsibility from Web3 users, but some wallets are working to improve this pain point with something called social recovery.
Also, Web3 wallet transactions are irreversible. If you type in your friend’s address wrong, or accidentally send crypto to the wrong person, then the transaction cannot be reversed. Also, if your wallet gets hacked, and the crypto gets drained from it, there’s no recovery process for getting your funds back.
Web3 wallets are a permanent fixture in the Web3 ecosystem. The user will continuously return back to their wallet’s UI to manage their crypto assets, and connect their wallet to decentralized apps. Also, we go in-depth on one of the most common user flows within a Web3 wallet: sending crypto to other wallets.
1.3 – Manage Crypto from Wallet
Wallets are central to using the Web3 ecosystem – users continuously return back to wallets in order to view their account balances, and send crypto to other wallets. Before we get into these features, let’s talk about the properties of Web3 wallets.
First, Web3 wallet’s are “permissionless” bank accounts. They are permissionless because anyone can download, create, and use a wallet without the permission of an authority like a government or bank. Also, Web3 wallets are “anonymous” bank accounts. Unlike traditional bank accounts, Web3 wallets do not require identity verification. Finally, Web3 wallets are “censorship-resistant”. Recently, we’ve seen governments freeze the bank funds of its citizens. This cannot be done with cryptocurrency managed by Web3 wallets.
As a side note, Web3 wallets are actually much more than a bank account. Their most obvious function is to custody cryptocurrency, but Web3 wallets also hold other digital items like artwork (i.e. NFTs), and will eventually be used to manage user data, identity, and more.
Now let’s briefly talk about the features within a Web3 wallet. Of course users can check their account balance at the top, which shows how much ETH is in the wallet. Wallets can hold other tokens in the “Assets” tab. The “Activity” tab on the right shows a history of the incoming and outgoing transactions associated with the wallet. At the top middle is the “Account”, which users click in order to copy the wallet address to their clipboard. Just above “Account” is the “Network” where users can change blockchain networks. MetaMask is connected to “Ropsten”, an Ethereum testnet blockchain, in the image above. Developers use testnets to debug their apps before deploying to “Ethereum Mainnet”. Finally, to the left of “Account” there is a “Not connected” button. This UI element turns green when the wallet is connected to a dApp.
One of the most commonly used features in a Web3 wallet is “Send” – a user flow for, you guessed it, sending crypto from one wallet to another. This user flow contains two new concepts for first-time users: network fees and confirmation delays. Let’s walk through a send flow step-by-step to understand how network fees and confirmation delays impact the UX of Web3. First, users start by copying the address of the wallet they want to send ETH to, and paste it into the first field. They then enter the amount of ETH to send in the bottom field.
The next confirmation screen shows a summary of the transaction, along with the “Estimated gas fee” and a time estimate underneath that (i.e. “Likely in <30 seconds”). This gets back to the network fee and confirmation delay we talked about before. Blockchains are decentralized databases that Web3 modify with their wallets. When someone sends crypto from one wallet to another, we are essentially updating two account balances stored on the blockchain. In other words, the send transaction results in one account being decreased by some amount of ETH, and the second account increased by some amount of ETH.
Remember, the blockchain is a decentralized database. Thousands of nodes store a copy of the blockchain, and must coordinate to update their local blockchains and stay in sync with one another. All this is to say that writing to a blockchain database is much more complex, and expensive, than writing to a centralized database run by one entity. Web3 users pay network fees to these nodes to incentivize them to continue running the blockchain network. I know I just threw a lot at you. Don’t worry if you don’t understand all of this, we’ll talk about blockchains, and how transactions flow through them in later sections.
After pressing “Confirm”, users can go to the “Activity” tab to view the status of the outgoing send transaction. The status starts as “Pending”, and after a bit of time, changes to “Confirmed”. Think back to what I said before – thousands of nodes are coordinating to update the blockchain. This takes time to do. It’s much faster to update VISA’s central database than to update the decentralized blockchain.
Block confirmations, and network fees are the two important takeaways from this section as they directly impact the UX of all Web3 products. Users must pay the nodes that maintain the underlying blockchain in order to use Web3 products, and users also experience a delay in transaction confirmation. Note that blockchains are actively trying to solve UX pain points related to high network fees and long confirmation times. Look into Ethereum Layer 2 scaling and the Solana blockchain to see how UX is moving in the right direction.
Send is one of the main user flows within Web3 wallets, but admittedly not very interesting. There are already many apps out there for sending fiat like PayPal and Venmo. In the next section we will venture all the way into the Web3 ecosystem and connect our wallet to a decentralized application called Uniswap.
1.4 – Connect wallet & access Web3 ecosystem
Decentralized applications, or dApps, are typically web applications that utilize the blockchain as their backend. This is what makes a dApp decentralized. We’ll cover the specifics of dApp software architecture, but for now, we’ll only focus on what the end-user sees when using Uniswap.
Uniswap was one of the first dApps to gain product-market fit in the Web3 ecosystem. It’s a decentralized exchange (i.e. “DEX”) that allows users to swap one token for another. Of course, you can buy and sell tokens on crypto exchanges; however, Uniswap is different in that there are no intermediaries facilitating the trade, or custodying the tokens along the way. Instead, Uniswap, and other decentralized exchanges, run on software deployed to a blockchain that facilitates this token swap in a “trustless” way.
When I say, “trustless” I mean that neither I, nor the strangers I’m swapping with, have to trust each other, or any other centralized entity, to make this swap. All we need to trust in is the objectivity, and deterministic nature of the blockchain. Also, Uniswap’s code is open-source, and can be audited by anyone to ensure that it will execute in the way it’s expected to. “Trustlessness” is a fundamental property of Web3. Let’s walk through swapping tokens on Uniswap.
It starts with a fundamental Web3 design pattern: connecting a wallet to the dApp.
A MetaMask popup requires users to confirm this connection request, and allow Uniswap to access their wallet address, account balance, activity, and suggest transactions. Connecting the wallet does not give dApps access to user private keys (i.e. the secret recovery phrase we’ve discussed prior).
Users know the wallet has been connected once their wallet address, and ETH balance, displays in place of the “Connect Wallet” button.
On the Uniswap UI, users select the token they want, and how much of Token A they want to swap.
MetaMask then displays a transaction confirmation screen. This screen should look familiar, because it’s the same confirmation screen that displays during the send flow. Note that the two concepts we talked about in the previous section, network fees and confirmation delays, apply when using Uniswap, and all other dApps for that matter.
Once the Uniswap transaction has been confirmed, users can check that the new token has landed in their wallet.
You may be surprised just how similar this Web3 dApp looks compared to all the Web2 applications that we use on a daily basis. The tech stack used to implement the UI is the same between Web3 and Web2. Both use programming languages like HTML, CSS, and Javascript to build out the frontend UI. The difference comes in when talking about the backend. Web3 backends are built using decentralized blockchains as opposed to the centralized servers of Web2. This is what makes the dApp “decentralized”, and is the source of the unique Web3 properties like “trustless”, “permissionless”, and “censorship-resistant”.
That concludes the user-journey of onboarding into the Web3 ecosystem. We went from fiat money, purchased crypto with it on an exchange, created a Web3 wallet, and transferred the crypto from the exchange into the wallet. We sent crypto to another wallet, and finally connected the wallet to a decentralized application.
1.5 – Web3 wallets and cryptographic keys
You may be wondering where “crypto” comes into play when talking about Web3. Cryptography pervades everything we’ve talked about thus far. It’s the basis for how the average user can self-custody their cryptocurrency, and other digital assets; however, it’s not experienced directly by users. And thank god for that.
We’d be in trouble if users needed an understanding of cryptography in order to use Web3 products. I do think it’s helpful for Web3 product designers to get a base-level understanding of what a Web3 wallet is on a technical-level, and what exactly happens when a Web3 wallet gets created.
Let’s start off slow, with a concept that is highly counter-intuitive, and will take you weeks to wrap your head around. Not bad for cryptography. To create an Ethereum wallet, you essentially choose a number between 1 and 2^256. The number that you choose is the private key, essentially the password for your Web3 wallet. Let’s talk numbers for a second. 2^256 is a very large number. It’s 78-digits and looks like this…
This is counter-intuitive – that we create our wallet password by randomly picking a number within a set range. Couldn’t someone else randomly guess our wallet’s password by guessing passwords all day? Couldn’t an evil developer code a bot that guesses thousands of private keys per second, checks if the private keys control crypto and, if any do, transfer the crypto to the developer’s wallet? The answer is yes, and yes.
It’s possible for someone to randomly guess your private key and steal your crypto. But the range of private keys is so large (as we just saw above) that it’s practically impossible for anyone guessing in this range to collide with a number that someone else has already guessed. In fact, there are almost as many Ethereum private keys as there are atoms in the Universe (~10^80). The most important thing is that the application creating your wallet randomly selects a number in the range. It’s not advised to choose the number 1, 100, or 1M as a private key.
Now that you understand what a private key is – a random 78-digit number – let’s talk about public keys, and wallet addresses. There is a set process for deriving a public key and address from the private key. Elliptic Curve Cryptography is used to derive the public key from the private key, and the public key is hashed to derive the address from this public key. An explanation of these cryptographic functions is beyond scope, but just understand that the public key, private key, and address are connected to one another. The private-public keys are called “key-pairs”. And this is essentially what an Ethereum wallet is, a private-public key pair. Wallet applications, like MetaMask, manage your key pairs, search the blockchain to see what the balance of your wallet address is, and sign transactions with your private key in order to send crypto, or use dApps.
You may wonder why we’re talking about numeric private keys when, in fact, MetaMask generated a 12-word secret recovery phrase when we created a wallet in the previous section. These 12-words are called mnemonic phrases, and were one of the first major UX improvements in crypto. Rather than making someone write-out a 78-digit number, which could easily be copied incorrectly, users just have to copy a series of 12 everyday words. Wallet apps implement a process for randomly generating this mnemonic phrase, and from the mnemonic phrase, multiple sets of private-public key pairs are derived. This, in itself, is a major UX improvement, because now users can create multiple crypto wallets, each with their own account balances, that can all be recovered using the same secret recovery phrase. You can play around with creating wallets, and seeing how the keys get derived on the backend here.
Okay, so we’ve just learned what happens when you create a Web3 wallet. Wallet apps equip Web3 users with high-grade cryptography that enables them self-custody their digital assets. This is revolutionary, and its importance cannot be understated. Crypto wallets, and blockchain technologies, will fundamentally change how we interact with most software products moving forward.
At this point we understand that the wallet communicates with decentralized applications, and the blockchain, but your understanding of what exactly a blockchain is may still be murky. This is what we’ll tackle in the next section – an explanation of decentralized, peer-to-peer networks.
1.6 – Introduction to decentralized, P2P blockchain networks
Blockchains are decentralized, peer-to-peer networks. That’s a lot to take in at first, so let’s start with concepts that are familiar to us. Let’s look at how Web2 applications function on the backend.
In Web2, computers, smartphones, and tablets talk to servers, and data stores, that are hosted on centralized servers owned by companies like Facebook, Twitter, and Google. These devices, also known as “clients”, use internet protocols like HTTP and TCP/IP to communicate with the centralized servers, and access the web apps. This is what the Web2 internet looks like, and what people have been accustomed to for the past 20 years.
Web3 changes this paradigm. Instead of applications hosted on centralized servers, applications in Web3 are distributed across nodes on a peer-to-peer network. Nodes connect to one another, and no single node “owns” the network, or gets special privileges on the network. In other words, unlike Web2, no single person or company controls access to the network, and has the unilateral right to update the database. Instead, nodes in Web3 must come to consensus with one another, and agree on how to update the blockchain database based on a common rule set. If a node decides to not follow the rule set then it will be unable to participate in the network in the first place.
In general, nodes are made up of clients and validators. As we’ve seen in previous sections, Web3 users run wallet software (e.g. MetaMask) on their devices, and send transactions from their wallet in order to transfer crypto, or use dApps. These transactions are sent to, and received by, the validators. Validators are the nodes that do all the work to keep the blockchain running. They all have a local copy of the blockchain, and update the blockchain, by creating new blocks, with the incoming transactions from clients. Remember, no single validator has control over the blockchain, the decision-making is distributed across many validators.
Validators are simply computers running Ethereum node software. In fact, if you wanted to, you could download Ethereum node software to your personal computer, and join the network as a validator. To put it simply, validators do all the work necessary to run the Ethereum blockchain. If you look up real-time stats of Ethereum validators you’ll see that there are thousands of validators on the network, globally distributed across the world. Decentralization results in special properties for the blockchain, and the dApps running on it: resilience and fault-tolerance. Let’s say that the entire UX power grid shut down, and all US nodes went offline. The network would lose 37% of its nodes, but the remaining nodes would continue uninterrupted. This means that the blockchain data (i.e. the history of all transactions) would persist, and decentralized services would continue running.
Now that we know more about what validators are, you may wonder what they actually do to run the network. Essentially, validators are responsible for maintaining the blockchain database locally on their computer. This ensures that the database is distributed and not owned by any single entity. Also, they are responsible for updating the blockchain. In other words, validators create new blocks, adding it to the tip of the current blockchain. Validators propagate new blocks to the rest of the network, so that other validators can check the block, and add it to their local blockchain. Don’t get hung up on the details – this probably won’t make a lot of sense at this point. We’re going to look at this process step by step in the next section. Just understand that validators dedicate their time and resources to maintain the Ethereum network. A reasonable next question might be: why do validators endure these costs to continue running the network?
The incentive is clear, and this is the genius of blockchain networks. Blockchains reward the nodes that run, secure, and support the network with the blockchain’s native coin. On Ethereum, it’s ETH. On Bitcoin, it’s BTC. And so on. As many of you will know, these coins have real monetary value, so there’s financial incentive to not only run the network, but abide by the network’s rule set to ensure maximum return. This token incentive mechanism just described is at the heart of blockchain networks, and decentralized applications. It will be a theme you will continue to see throughout the Web3 ecosystem. We’ll talk more about tokens in later Web3 Design Courses.
In summary, blockchains are made up of a network of distributed nodes that communicate directly with one another. Validators do the work to maintain, and update the blockchain, and they do this to earn rewards paid in that blockchain’s native coin. In the next Section, we’re going to go more in-depth on how the blockchain gets updated, from a client sending a transaction, to a validator including it in a block, to that block getting propagated out to, and accepted by, the rest of validators on the network.
1.7 – Sending transactions to the blockchain
In this section we’re going to talk about what happens on the Ethereum when a crypto wallet sends ETH to another wallet. We’re going to follow this transaction from beginning to end, from the time it’s sent from the crypto wallet, to when it is added to a block, and when the block gets propagated to the rest of the network. This will give us a good idea of the role that nodes play on the blockchain network.
It starts when Web3 users initiate a send transaction from their wallet app. Think of a transaction as a packet of data that contains all the pertinent information, like “from”, “to”, and “amount”. Of course this is an oversimplification, but this has been an adequate mental model of a transaction’s structure for me as a product designer. Next, the wallet signs the transaction with the wallet’s private key. This is called a digital signature and, again, the details are more of a computer science topic than a design topic. The signed transaction is sent to an Ethereum validator who checks that the signature matches the wallet’s public key. Remember from that the private key and public key are intimately related to each other – they are called a key pair. If the signature matches, the transaction is considered valid, and the validator accepts the transaction into its mempool for temporary storage. This process of signing transactions and checking that the signature matches is what secures the user’s crypto, and ensures that only someone with the private key can spend that wallet’s crypto.
Let’s pause for a moment, and talk about blockchains and their constituent blocks. Validators assemble new blocks with the transactions in their mempool. Again, this is an oversimplification, but a block is a larger data packet made up of transactions and some unique information that connects it to the last block. Every block connects back to the previous block, and this goes all the way back to the genesis block. The genesis block is the first block on the blockchain, and initiated the Ethereum blockchain on June 30th, 2015. Since then, the blockchain has been built up, block by block. So the blockchain is simply a record of all the confirmed transactions from the genesis block onward. A validator creates a new block, roughly every 12 seconds on Ethereum, with the confirmed transactions that have been received since the last block.
Now that a validator has created a new block, the validator sends the block out to the rest of the network. This is called block propagation, and goes back to the fact that the network is decentralized, and no single validator has the authority to update the blockchain. The validator essentially proposes the new block to other validators, who check that the new block meets certain criteria, and if it does, the other validators add it to their local blockchain. This is how the blockchain gets updated.
When all the validators have the same blockchain, updated with the newest block, then the transactions within the newest block go from pending to confirmed. Thus, Web3 users must wait for their transactions to be included in a block, which has to do with the block confirmation delay we discussed in section X.
Also, remember how Web3 users must pay a network fee with every transaction they send. And blocks are made up of these transactions. Every time a new block is created, the network fees get distributed to the validators participating in the network at that time.
To bring this back to our original example of sending crypto to a friend, my send transaction was included in a block, and the validators added the block to their blockchain. This is when my transaction went from pending to confirmed. My wallet’s account balance was decreased by X + F ether, my friend’s account balance was increased by X ether, and F ether was distributed to the validators.
Last thing to discuss – Ethereum is a public blockchain meaning that the data is open for anyone to see. There are tools called block explorers that are great for looking at the status of the network in terms of what was the most recent block, when it was created, and by which validator. Also, you can see all the transactions that were included in a block. Further, you can look into transactions and see the wallet address from which it originated, which address it was sent to, and the amount that was sent.
In summary, we looked at what happens behind the scenes when one wallet sends ETH to another. And we now understand the roles of each node on the Ethereum network. Clients running crypto wallet software are responsible for assembling raw transactions, signing raw transactions with the wallet’s private key to legitimize them, and sending these signed transactions to validators on the blockchain. Also, the wallet software queries the blockchain to get the status of the transaction, whether it’s pending, or if it’s been confirmed. Also, the wallet app queries the wallet’s address to return information like token balance, which then gets displayed on the UI for the user to see.
Finally, validators are responsible for receiving incoming transactions, and checking their legitimacy. They create new blocks to update the current state of the blockchain by bundling these confirmed transactions, and send the new block on to other validators so that it propagates across the network. The other validators check that the block is valid, and then accept it and add it to their blockchain. This is how the blockchain gets updated, and all validators end with the same copy of the blockchain, stored locally on their computers.
1.8 – Interacting with dApps on the blockchain
Now that we’ve learned what a blockchain is, and understand how transactions flow through the network, let’s return back to decentralized applications, or dApps. We already looked at Uniswap, a dApp that facilitates token swaps. In this section, we will break down what exactly a dApp is. We’ll start by quickly reviewing the software architecture of Web2 applications then compare it to that of Web3 dApps.
Web2 applications are hosted on a company’s centralized server. At a high level, the web app has a frontend, backend and database associated with it. A user’s computer communicates with the company’s server using internet protocols, and frontend code (e.g. HTML, CSS, and Javascript) is sent to the user’s computer where it is then rendered into a UI within an internet browser. Because of this centralized software architecture, the company has unilateral rights to update the application’s code and modify its database. And for good reason as this is how new versions of web apps get deployed to user communities; however, companies can do a number of things like censor user content, and even outright ban users from their web apps. What’s more, Web2 companies often monetize user content and data via advertising. In other words, the companies earn massive profits while the users who generate content, and make up the site traffic, capture little of the value they create. This is counterintuitive, but has become normalized as it’s been the dominant internet business model over the past 20 years. We’ve never known of anything different until now.
Web3 disrupts this paradigm with decentralization. Like Web2, frontend code is still rendered into a UI with internet browsers, but the dApp’s backend is where things start to differ. Instead of a centralized server, Web3 dApps deploy backend code to the blockchain with smart contracts, and also utilize the blockchain as a decentralized database. No company owns the dApp, or the blockchain that the dApp leverages. As we saw before, dApps are permissionless so anyone can use them, and the blockchain database can only be updated by a user with their private key.
Now think back to our example of swapping tokens on Uniswap. We connected our wallet to Uniswap, and initiated the swap from ETH to DAI on Uniswap’s UI. On the backend, Uniswap assembles the raw transaction necessary to make this swap. We can imagine the raw transaction contains data like wallet address, how much Ether I want to swap, and how much DAI I expect in return. The transaction also points to the swap function within one of Uniswap’s smart contracts, which is stored on the Ethereum blockchain. But more on this later. We learned from the previous section that the validators will not accept unsigned transactions; therefore, Uniswap sends the raw transaction to a user’s wallet, the wallet app signs the transaction (after the user accepts a MetaMask confirmation popup) with the private key, the signed transaction is sent back to Uniswap, and Uniswap sends the signed transaction to an Ethereum validator.
Now we’re back to what we discussed in the previous section about what happens once a transaction has been sent to an Ethereum node. A validator checks the validity of the signed transaction, includes it in a new block, propagates the new block through the network, and so on. Once this block gets accepted by the other validators then the user’s Uniswap transaction goes from pending to confirmed, his/her account’s ETH balance is decreased by X plus a network fee, and increased by Y DAI. The swap is complete.
Remember dApps deploy their backend code to the blockchain in the form of smart contracts. One of the main features of Uniswap is, of course, its swap functionality, so, somewhere, in one of its smart contracts, we’d expect a swap function. When smart contracts get deployed to the blockchain, a contract address is created that looks identical to a Web3 wallet address. This is where the smart contract code lives. Once a smart contract has been deployed to the blockchain it cannot be modified or deleted – it is “immutable”. The smart contract is also permissionless in that anyone can use it, like a public utility. Also, anyone can audit the code, line by line, to ensure that it will execute in an expected manner.
You can think of smart contracts like a vending machine. You put money into a vending machine along with which snack you want, and the vending machine outputs the snack. As we saw before dApps assemble raw transactions that point to smart contract addresses, and the functions within them, to carry out whatever the user requested. ETH is also attached to this transaction to pay the validators for processing the transaction. The transaction passes in parameters to the swap function like wallet address, amount Token A, amount Token B. Finally, the smart contract updates the state of the blockchain accordingly (i.e. user’s ETH and DAI token balance).
2 – Evolution of Blockchain Ecosystems
Blockchains enable Web3. Without blockchains, we wouldn’t have crypto tokens and most of the decentralized applications that are running today. This chapter will give Web3 product designers an understanding of where blockchains came from, what the current blockchain landscape looks like, and where blockchains are headed in the future.
Bitcoin was created by an anonymous figure, named Satoshi Nakamoto, and released as open source software in 2009. Looking at the Bitcoin Whitepaper, Satoshi intended Bitcoin to be a digital currency that could be exchanged without any intermediaries like banks. Bitcoin is simple compared to later blockchains. It’s essentially a ledger that tracks the transfer of bitcoin cryptocurrency between wallet addresses. This ledger is decentralized in that it is distributed across thousands of nodes worldwide. Now, 13 years later, Bitcoin has a market capitalization hovering around $1 trillion.
Ethereum, initiated in 2015, was the next phase in blockchain development. The fundamental innovation of Ethereum is that it generalized blockchains from a simple currency ledger to a virtual machine that can run decentralized applications. Thousands of third-party developers have built up an ecosystem of dApps on Ethereum ranging from decentralized finance (e.g. Compound & Uniswap) to NFT trading platforms (e.g. OpenSea & SuperRare). These new use-cases onboarded millions of users to Web3, which brings us to the present day.
With this increase in demand, Ethereum is now maxed out in terms of processing user transactions. Thus, network fees have skyrocketed. Some transactions can cost over $100, which has made using Ethereum prohibitively expensive for the average user. Ethereum has plans to scale with its transition to Ethereum 2.0; however, other smart contract blockchains with novel design philosophies and software architectures are currently emerging. Indeed, the blockchain landscape is developing rapidly, and each Layer 1 blockchain has its own Web3 ecosystem growing on top of it. Some honorable mentions include Polkadot, Solana, Cosmos, Algorand, Luna, Avalanche, and more.
2.1 – Bitcoin, the World’s First Blockchain
In the introduction, we talked about how Bitcoin was the first blockchain ever, and it powers a peer-to-peer digital currency that can be exchanged without intermediaries like banks, or payment processors. But this is all sort of abstract. What is Bitcoin exactly?
There are several layers to Bitcoin – let’s talk about each. First, Bitcoin is a piece of open-source software that is referred to as the Bitcoin Protocol. Open-source means that anyone can download it, and any developer can suggest improvements to the protocol or build applications on top of it. Satoshi released the first implementation of the Bitcoin Protocol, called Bitcoin Core on Github in 2009.
When someone installs, and runs, Bitcoin Core their computer becomes a node on the Bitcoin network, which brings us to the second layer. Bitcoin is a decentralized, peer-to-peer network of Bitcoin nodes, or computers running the Bitcoin Protocol. The protocol defines the rule set for how these nodes interact with one another in order to keep Bitcoin up and running.
For example, when I first run Bitcoin Core, my computer connects to other Bitcoin nodes and downloads the Bitcoin blockchain from them, which is a file of around 400GB. This brings us to the third, and final, layer of Bitcoin. Bitcoin is a blockchain that tracks the movement of a decentralized digital cryptocurrency called bitcoin (BTC).
Remember the blockchain is simply a ledger that is distributed across all the Bitcoin nodes. In other words, each Bitcoin node stores its own copy of the Bitcoin blockchain – this is what makes blockchains decentralized. But how does the blockchain get updated in a decentralized way? If one Bitcoin node had unilateral rights to update the blockchain with new transactions then this would defeat the purpose of decentralization. Nodes take turns updating the blockchain, and coordinate with each other based on a predefined rule set specified in the Bitcoin Protocol.
When a node creates a new block, and adds it to the blockchain, and the other nodes accept the new block, and add it to their blockchains – this is called “consensus”. Bitcoin uses something called “Proof of Work” as its consensus mechanism. This is a highly technical topic, so just understand that, with Proof of Work, nodes must spend large amounts of electricity and computing resources to win the right to create a block and update the blockchain. This high energy expenditure is by design, and is what prevents the blockchain from attackers; however, it’s also a criticism of Bitcoin. The Bitcoin Network consumes a comparable amount of power to Thailand, which critics argue is bad for the environment.
Consensus mechanisms are important when it comes to the technical design of blockchains. They have a great impact on the security and performance of blockchains. We’ll see in later sections the innovations that are taking place around consensus mechanisms within emerging blockchains.
Bitcoin Protocol is open-source software that establishes the Bitcoin node network, which maintains the Bitcoin blockchain, which tracks the movement of bitcoin cryptocurrency. I know this is confusing – bitcoin (lower-case “b”) is the native cryptocurrency of the Bitcoin protocol (upper-case “B”). Nodes are rewarded with bitcoin when they create a block – this is what incentivizes them to spend electricity to win the right to do so. This reward is also called “bitcoin issuance”.
You may wonder how a digital currency can be valuable. Most of the digital content we’re used to, like images, can be replicated millions of times for free. This brings us to the concept of “tokenomics”, or token economics, which has to do with the monetary policy of cryptocurrencies. A limit on the total bitcoin that will ever be issued is encoded directly in the Bitcoin protocol. Once 21M bitcoin have been issued, estimated to happen sometime in the year 2140, then no more bitcoin will be issued. This limit of 21M is called a “hard cap”, and is the most important thing to understand about bitcoin’s monetary policy. It’s fundamental to why people believe bitcoin has real value.
Juxtapose this 21M bitcoin hard cap to the US dollar. $3.38 trillion were issued just in the year 2020, largely in response to the COVID outbreak. This increased the supply of US dollars by about 20%. There is no hard cap to the US dollar. The Federal Reserve (FED) has total control over the national currency, and can issue as much currency as they see fit. When you create more of something it becomes less scarce and, assuming constant demand, less valuable. This is why you may have heard people say that the currencies are being devalued.
So how can bitcoin, a digital currency currently trading at ~$40,000, demand this real world value? There is a fixed supply of bitcoin, so if demand increases then the price of bitcoin will increase. And there is always demand to own assets that hold value or, better yet, increase in value over time. Bitcoin hasn’t seen a great amount of adoption in terms of a currency – something that people use to pay for goods and services (although this could change with the mainstream rollout of Bitcoin’s lightning network). Instead, bitcoin has seen adoption from retail investors, and increasingly institutions, under the premise of “bitcoin as a store of value”.
Scarce resources have been the backbone of currencies for thousands of years. Gold is a good example. One of the reasons it’s valuable is because it’s naturally scarce and difficult to extract from the Earth. Gold is the original store of value asset; however, there’s still a problem with gold. The global supply of gold is estimated to increase by around 2% per year.
Michael Saylor, a prominent Bitcoin evangelist, talks about how bitcoin is the only solution for transferring your money over 100 years – everything else loses its value entirely due to asset inflation. Let’s follow his line of reasoning. He estimates fiat currency (like the USD) is currently inflating at 15% per year, which means you lose all the purchasing power of your money in less than 5 years. Going back to gold with its 2% annual inflation – you lose all your purchasing power in 36 years. Saylor reasons through other assets like real-estate, but it’ll be much more entertaining to hear it from him. Gotta love his delivery.
So now you can start to see why bitcoin is thought of as a store of value by an increasing number of investors. The Bitcoin community seems to be content with this limited use-case as evidenced by slow and conservative upgrades to the Bitcoin protocol. Interestingly, bitcoin has not seen much adoption as a currency to pay for everyday goods and services, but this could change soon with the rollout of Bitcoin’s lightning network in mainstream products like Cash App.
That’s Bitcoin in a nutshell. We talked about how Bitcoin is open-source software, a network of nodes, and a blockchain ledger that tracks the bitcoin cryptocurrency. Also, the 21M hard cap grants bitcoin the never-before-seen property of digital scarcity. An increasing number of investors consider bitcoin a store of value asset, similar to gold. The next section covers the second evolutionary phase of blockchains, which enables the growth of a Web3 ecosystem of dApps.
2.2 – Ethereum & the Advent of Smart Contract Blockchains
Ethereum, launched in 2015, marks the second evolutionary phase of blockchains. Vitalik Buterin, the founder of Ethereum, was an early-adopter of Bitcoin, but saw the potential for blockchains to power additional use-cases beyond just decentralized digital currencies. Let’s compare Bitcoin and Ethereum by way of analogy.
If Bitcoin is like the calculator app on a smartphone then Ethereum is like a smartphone in itself. Bitcoin is designed to serve one, specific purpose. Ethereum, on the other hand, can run any number of applications. Third-party developers deploy applications to Ethereum like they do with the Apple App Store on the iPhone.
Bitcoin and Ethereum are actually similar in many regards. Both are open-source software, anyone can become a node on the network, and nodes are responsible for accepting transactions and creating blocks; however, Ethereum has an extra layer of complexity built into it, allowing developers to deploy decentralized applications via smart contracts.
Bitcoin is a more conservative blockchain protocol than Ethereum with regards to protocol upgrades. Ethereum has an aggressive roadmap for improving its protocol as we’ll discuss later on. The development ethos of Ethereum is to move fast and break things – and explore what is possible when it comes to building Web3 ecosystems.
Ethereum was the first smart contract blockchain, and is the most dominant smart contract blockchain to date, coming in as the second most valuable cryptocurrency behind Bitcoin. Just as Bitcoin’s native crypto is bitcoin, Ethereum’s is ether; however, ether has a utility aspect to it that bitcoin does not.
Ethereum is general purpose in that it will run any smart contract code that developers deploy to the blockchain. The problem with general purpose coding is that programs are not guaranteed to reach an end state – they can continue to loop forever. This is a problem because looping programs would tie up Ethereum nodes indefinitely, disallowing them from processing other incoming transactions. Thus, an incompetent, or malicious developer could write a program that halts Ethereum. This is referred to as denial of service (DDOS) and is one attack vector that blockchains need to defend against.
Ethereum solves this problem by making users pay for the amount of computation their transaction consumes. To send ether from one address to another is a simple transaction, and requires relatively little computation. Still, users pay nodes to process this transaction with a network fee, let’s say around $5. Now, when someone uses a dApp, which might call multiple smart contracts on the backend, this added computation is accounted for with a higher network fee (e.g. $20). Thus, it gets prohibitively expensive to tie up the Ethereum blockchain for any significant amount of time.
Ether is a digital currency as well. You can send ether between wallets, and Ethereum wallets have ether balances, just like Bitcoin wallets have bitcoin balances. But ether has added utility over bitcoin in that it powers decentralized applications. This is why ether has a different investment narrative than bitcoin’s store-of-value narrative. Ethereum is a platform similar to an app store. Ethereum’s value as a platform increases as developers continue to deploy useful dApps to it, and Web3 users access these decentralized services by paying ether. Ether as a cryptocurrency has a totally different tokenomics to that of bitcoin, but that’s out of scope for now.
Let’s return to the idea of network fees. Ethereum nodes create new blocks roughly every 12 to 14 seconds, and only a certain number of transactions can be included in each block. This means there is a limit to the number of transactions per second (TPS) that Ethereum can process. In fact, Ethereum can handle roughly 30 TPS. With demand for dApps increasing, demand for Ethereum’s finite blockspace increases, thus driving up network fees.
This especially became a problem with a recent wave of DeFi and NFT-related traffic to Ethereum. The average network fee was as high as $49 per transaction at one point in 2021. Personally, I saw several hundred dollar network fees when using dApps like Uniswap and Aave. And since I was transacting with relatively small amounts of crypto, these high network fees made the transaction not worth submitting. Layer 1 Ethereum has become prohibitively expensive for the average user. In other words, Ethereum needs to somehow process more transactions per second if it wants to retain current users, and onboard the next 100M users to Web3.
You may wonder what I mean by “Layer 1” (L1). Bitcoin, Ethereum, and the other emerging blockchains are considered L1s, because they are the core/foundational blockchain. Layers 2s (L2s) have helped Ethereum scale recently. These are other blockchains built on top of Ethereum that process a bunch of transactions, and send only one transaction to Ethereum L1 for confirmation. L2s reduce the load on L1s, thus helping blockchains scale to more transactions per second.
Ethereum is also in the middle of a major update to its L1 chain as it transitions to Ethereum 2.0. Its new software architecture will feature 64 sharded chains that connect to a main beacon chain. The sharded chains will process transactions in parallel to one another, thus ramping up the transaction per second that Ethereum 2.0 can handle. Also, Ethereum 2.0 will transition its consensus mechanism from Proof of Work to a new mechanism called Proof of Stake (PoS), which we’ll talk more about in the next section. Developers estimate Ethereum 2.0 will handle 100,000 TPS thanks to its sharded chain architecture plus PoS consensus mechanism.
Ethereum launched in 2015 as the first smart contract blockchain and, despite competitive Layer 1s, has remained the second largest cryptocurrency by market cap to this day. Ethereum’s dominance can be measured in more than market cap – tens of billions of dollars worth of crypto is transacted on it every day, and Ethereum attracts over 4000 active monthly developers, which is the most of any layer 1 blockchain.
Having said all that, other competitive layer 1 smart contract blockchains are sprouting up, and building up significant developer and end-user communities. This landscape of emerging layer 1 blockchains brings us to the present moment. If Bitcoin is blockchain 1.0, and Ethereum blockchain 2.0, then we are now in the era of blockchain 3.0. These emerging layer 1s seek to solve problems in blockchain scalability and interoperability, each with a unique design philosophy and cultural ethos.
2.3 – Other Emerging Layer 1s & the Blockchain Wars
Right now we are witnessing rapid growth in the emerging layer 1 blockchain landscape. Ethereum is undergoing major reconstruction in its transition to Ethereum 2.0, and competitive layer 1 blockchains intend to steal market dominance from Ethereum, as well as support the next wave of Web3 adoption with scalable and interoperable technologies.
Layer 1 blockchains are like nationstates. They all have their own economies powered by their native cryptocurrency. Each blockchain attracts its own developer community, who then build out a Web3 ecosystem on top of the blockchain, thus attracting end-users. These are the “blockchain wars” that you may have heard people talk of. The emerging Layer 1s are sometimes referred to as “Ethereum-killers”.
At the end of the day, blockchains are competing for more end-users. Metcalfe’s law stipulates that the more users in a network, the more valuable the network is. This is also known as “network effect”, and we can look at a familiar example as to why this is. Users sign-up to Facebook because there are already billions of users with Facebook accounts. They want to go where their friends and family already have accounts. In other words, they are attracted to Facebook’s existing network effect. It wouldn’t be hard to copy Facebook’s code, and deploy TravisBook, but it would be extremely difficult to get any user adoption, because Facebook is already the dominant social network.
This relationship appears to be true for blockchain networks. Macro investor Raoul Pal has shown the market cap of a crypto network is proportional to the square of active wallet addresses. This phenomena of winner-take-all exists everywhere in the tech landscape – think of Facebook, Amazon, Google, Apple, and Netflix. How many people do you know use a search engine alternative to Google? This proliferation of layer 1 blockchains, and their Web3 ecosystems, looks a lot like the internet tech boom in the 90’s. The lesson we learned from that is that 99% fail, and 1% take all.
All of this leads to something unfortunate about Web3 culture, “chain maximalism”. People want the blockchain they are invested in to be the winner. This explains why crypto Twitter, and the culture in general, can feel toxic and divisive. It’s just something to understand as a product designer, that blockchain developers and end-users have financial incentives to oppose other blockchains, and Web3 ecosystems.
But, it likely won’t be as cut and dry as one single winning blockchain. As we’ve already seen Bitcoin and Ethereum both serve two different use-cases. Bitcoin’s design is optimized for decentralized digital currency, and Ethereum is a platform that runs decentralized applications. We will likely live in a multi-chain future as blockchain design does not appear to be a one-size fits all. Maybe people will have their preferences like PC versus Mac, but more likely blockchains will be designed with specific use-cases in mind.
For example, a blockchain built for decentralized social media doesn’t need the greatest security guarantees, but needs to process hundreds of millions of transactions per second. Whereas, another blockchain might be responsible for trillions of dollars locked in decentralized finance protocols, and need to be trusted by large public institutions. This blockchain would presumably need better security guarantees than the social media blockchain.
The Layer 1 blockchain landscape is quite varied in terms of design philosophy and software architecture; however, all Blockchain 3.0 Layer 1s have several things in common.
- Proof of Stake consensus for energy-efficiency
- Increase transaction throughput to scale blockchain to more users
- Improve blockchain interoperability and avoid siloed ecosystems
Let’s pause on Proof of Stake for a minute. Proof of Stake is the consensus mechanism of all emerging Layer 1s, and is an innovation on Bitcoin’s Proof of Work consensus. In PoW, nodes spend electrical energy in order to create blocks; whereas, in PoS, nodes stake the Layer 1s native cryptocurrency in order to create, and vote on, blocks. This is like posting a security deposit in order to participate as a validator node. The more crypto a node stakes, the greater chance that node will have to participate as a validator node, and earn block rewards. That’s the carrot – to earn block rewards – but there’s a stick as well. Staking crypto makes it so that nodes have skin in the game. Nodes can have their stake slashed if they do something that undermines the blockchain. Nodes with the most at stake will be chosen as the validator nodes, and work to maintain the blockchain.
PoW and PoS are not intuitive and the reader still may have confusion about how consensus mechanisms work, but don’t worry about understanding these concepts fully. Consensus mechanisms are highly technical topics that play on multiple fields like game theory and computer science. We discuss Proof of Stake here because it unlocks a brand new investment vehicle for Web3 end-users. Users can delegate their crypto to validator nodes, and share in the block rewards these nodes earn for maintaining the blockchain. Users earn dividend payments proportional to the amount they delegate, and this is similar to traditional passive income assets like bonds. Staking has the potential to disrupt the financial sector as Proof of Stake Layer 1 blockchains grow in prominence.
So now we’ve discussed the brief, 13-year history of blockchains starting with Bitcoin, moving to Ethereum, and ending with the emerging Layer 1s currently vying for position in the Blockchain 3.0 era. Interestingly, the vast majority of end-users will not care which blockchain their dApps are running on. Currently, users don’t care which database technology (MongoDB, MySQL, etc.) their Web 2 application uses, and it won’t be any different for Web 3. That’s assuming that the underlying blockchains don’t impose UX limitations on them like high network fees, slow transactions, low staking yield, or a siloed ecosystem with no cross-chain communication.
2.4 – Comparing Layer 1 Blockchains
As Web3 product designers it’s important for us to understand the blockchain landscape in order to decide which ecosystems to build products in. Let’s finish by discussing a framework for comparing Layer 1 Smart Contract Blockchains developed by The BLOCK Research. The research compares Layer 1s across 4-dimensions:
- Technical Design & Performance
- On-Chain and Ecosystem Data
- Tokenomics and Monetary Policy
- Team and Fundraising
Technical design and performance can be broken into network architecture, consensus mechanisms (e.g. PoW vs PoS), and performance metrics like transactions per second and time to finality. Blockchain design is still highly experimental. Of course, founding teams are in search of the design that results in the most favorable performance metrics. Many will fail, some will succeed.
On-chain and ecosystem data is good for assessing the health, and/or growth of a Layer 1 blockchain. For example, we can objectively say that Ethereum is still the most dominant smart contract blockchain because it has the greatest daily transacted value, largest developer network, and most value locked in its DeFi protocols. Number of active wallet addresses is another important metric. Remember, wallet addresses can be used to predict the value of a blockchain’s cryptocurrency.
Each Layer 1 has its own native cryptocurrency, controlled by its own tokenomic model. Some are fixed-supply (like Bitcoin), and others are inflationary, although there is more nuance here. For example, Ethereum is implementing a policy where a portion of ether network fees are burned. Some believe this will actually make ether a deflationary asset. Also, native cryptos have utility value as well. Users can delegate their crypto to earn staking rewards, and often token-voting is used to participate in a Layer 1’s governance process.
Finally, Layer 1s are being built out by teams of people who influence the ethos and design philosophy of the blockchain. And these teams need to be funded. This brings up a controversial point. Blockchain projects will often hold fundraising token sales, which VCs are increasingly participating in. This calls into question decentralization and the idea of fair launches when VCs own a significant portion of a blockchain’s native token.
There was a lot of mention about native Layer 1 tokens in this article; however, you probably know there are tens of thousands of crypto tokens in existence today, and wonder where they all come from. These other Web3 tokens belong to dApps and secondary protocols that build on top of the blockchain. Indeed, smart contract Layer 1 blockchains give developers the ability to deploy their own tokens with application-specific utility. Also, these bleeds into the topic of crypto art and NFTs, which are a specific type of token on the blockchain.
3 – Web3 Tokens as Incentive Mechanisms
Software protocols define the rule set for how a software system will operate. In the case of blockchain, the blockchain protocol defines how the nodes communicate, and come to consensus, with each other in order to form a functioning cryptonetwork.
Software protocols have been crucial in the development of information technologies. Billions of users everyday rely on internet protocols to access the web. These internet protocols dictate how networked computers request and share information with each other. Let’s take a look back at how these protocols developed, and where we are currently in terms of the development of the internet as a whole.
The internet is simply a network of connected computers. Once computers are physically connected in a network, software protocols standardize how these computers share data with one another. This includes rule sets for locating other computers on the network, sending data packets to a desired location, and checking that messages were received and correctly interpreted. These internet protocols can be broken into four layers.
- Hardware protocols
- Internet Protocol (i.e. IP)
- Transmission Control Protocol (i.e. TCP)
- Application Protocols (e.g. HTTP)
Hypertext Transmission Protocol (HTTP) is an important application protocol. HTTP defines how a computer requests data from, and serves data to, another computer. A common example is for a computer to request an HTML file from a web server (using an HTTP GET request) in order to view a web page on its internet browser.
This HTTP GET request then gets passed down one layer to the Transmission Control Protocol (TCP), which tells the computer how to break the message into smaller data packets that will be sent one by one to the web server. TCP is also used by the web server receiving the data packets in order to assemble the data packets back into the original message.
The Internet Protocol (IP) ensures that the data packets reach their intended destination. Before sending the HTTP GET message via TCP, the IP wraps data packets with an IP address corresponding to the web server. This is like the “To:” field on a mail envelope. Finally, hardware protocols convert the data packets into electrical signals that get transmitted through the internet’s physical infrastructure (e.g. cables, modems, routers).
On the other end, the web server will send back an HTML file using the same HTTP and TCP/IP process described above. Now you have a rough idea of how the web functions with a set of open-source internet protocols. These protocols were developed by independent researchers and non-profit organizations, and haven’t been modified much since the mid-1990’s. All of the web products we enjoy today would not exist without these internet protocols.
3.1 – Internet History from Web1 to Web3
This is a good point to talk about the evolution of the internet. We can break the internet’s development into three phases: Web1, Web2, and Web3.
Web1 is characterized as “read-only” because only a few entities published content for consumption by many. The internet was thought of at this time as a digital encyclopedia. Users accessed static web pages containing text, images, and hyperlinks; however, there was little interactivity for end-users other than consumption.
This brings us to Web2, which is also referred to as the “social web”. Online communities and identities began to emerge at this time. Web2 is especially characterized by social media platforms, and the idea of user-generated content. Now everyone had the ability to create content, build a social network, and react to the posts of others (e.g. like and share buttons). The web went from a few content creators to billions. If Web1 is considered “read-only” then Web2 can be considered “read-write” for the average user. Centralized web platforms attracted users with large networks and simple user experiences.
This has ended in a winner-take-all dynamic. There are several monopoly-like companies, such as Google, Amazon, Apple, and Facebook, that largely control how the internet is experienced by end-users. For example, users must agree to the terms and conditions of these centralized companies if they want to participate in the dominant social network. Also, Web2 companies have the rights to all the user data generated on these platforms, which they mine and sell to advertisers. Roughly 98% of Facebook’s revenue is generated in this way. It’s a strange idea that we’ve become accustomed to – that users who join a network, and increase the value of that network with their presence and activity, capture little, if any, of the value they create.
Additionally, large user bases act as an economic moat that protect Web2 companies from competition, making these platforms cautious of third-party development, and product integrations. This incentivizes Web2 companies to close-off their ecosystems, which stifles innovation. For example, Apple is able to reject applications from launching on its app store for any number of reasons, one of which being competitive risk. And, even when it accepts applications, Apple takes a hefty 30% cut from the application’s revenues. Of course, third-party developers are paying for the privilege to launch on a platform with a reach of over 1 billion iOS users. Still, one wishes for something better than a system that extracts value from its end-users, and regards third-party development coolly, if not with open-hostility.
To recap, going from Web1 to Web2, we went from open-source internet protocols, intended to decentralize information sharing, to monopoly-like, centralized social networks that limit end-user choice, and third-party integrations. Web3 can remedy the current issues with Web2. Web3 users can literally self-custody their data, identity, and other digital assets with cryptographic wallets. And, developers can now choose to build applications on neutral, open-source Web3 platforms (i.e. blockchains). Web3 removes rent-seeking middlemen and connects users directly to the applications they want to use. If things change, they can pick up, and move to another ecosystem that better suits their needs, without the loss of data or other digital assets.
One of the major innovation’s of Web3, and something important to wrap your head around as a Web3 product designer, is that Web3 aligns incentives better than the current system. Developers, end-users, and cryptonetwork service providers (i.e. nodes) are all incentivized to work towards the same goal – the growth of the cryptonetwork. This is all made possible by Web3 tokens.
3.2 – Design Principles of Web3 Tokens
Tokens native to a cryptonetwork incentivize nodes to secure, and maintain, that cryptonetwork. These nodes can be thought of as network service providers. They dedicate their resources to provide a decentralized blockchain database for dApps to build on top of, and are rewarded with that cryptonetwork’s native token.
Additionally, native tokens are staked by these nodes to ensure that they act according to the best interest of the cryptonetwork. This secures the cryptonetwork from attack because stakes can be slashed. The cryptonetwork is also protected from denial of service attacks by requiring users to pay for their usage of the cryptonetwork with its native token. This makes spamming the network with unnecessary transactions prohibitively expensive.
In other words, the native token coordinates, and incentivizes, globally distributed, independently-acting nodes to maintain the blockchain, while at the same time protecting it from attack. This is all kind of complicated. You may notice this is unnecessary in the world of Web2 because companies cover the cost of the centralized databases their applications run on. But, as we already talked about in the previous section, there are hidden costs with centralized gatekeepers who have unilateral control over the platform, and its data. Simply put, tokens make possible the decentralized, open, and neutral properties of Web3.
Think back to what we learned about internet protocols. They were developed over 30 years ago by independent researchers and non-profit organizations, and haven’t changed much since. In the beginning, before the enormous commercial value of the internet was realized, it was difficult to get funding to build out the protocols. Now, protocol developers can create a cryptonetwork and hold on to a portion of the native token. If the protocol provides value, and is adopted, then the token price will increase in value, because the token is required to use the cryptonetwork in the first place (see above). Also, the founding team can sell off some of the tokens to fund initial, or ongoing, development. Thus, Web3 tokens provide a direct value capture, and funding, mechanism for open-source protocols.
This brings us to the next point – Web3 tokens help bootstrap cryptonetwork adoption. Remember, networks are proportional in value to the number of users in the network. Facebook is much less compelling with only 100 users, and AirBnB just isn’t that useful with only 100 hosts. So it’s difficult to get things off the ground; however, cryptonetworks can reward its early-adopters – whether that be developers or end-users – with its native token. If the network succeeds then the early-adopters profit greatly, rewarding them for the value they provided to the network early on. Also, now that they are token holders, and have a financial stake in the network, early-adopters are incentivized to help grow the network through word of mouth, or social media promotion.
Think about the internet as divided into two layers: the protocol layer (e.g. HTTP, TCP/IP, etc.) and the application layer (e.g. Facebook, Instagram, etc.). In Web2, all of the value accrues to the application layer, which has led to some of the most valuable companies in the world today. Remember there was no effective way to capture value from open-source protocols until Web3 tokens came along.
The fat protocol thesis posits that value will consolidate at the protocol layer in the Web3 era. As dApps, built on these Web3 protocols, go mainstream and attract hundreds of millions of users, the protocol’s native token will increase in value. This is because the native token is required to use the dApps – a classic example of utility tokens, discussed in the next section. An increase in token price signals a growing ecosystem, which will attract more developers to build out additional functionality on the blockchain, which will attract more end-users. Web3 tokens are responsible for positive feedback loops like this.
As mentioned before, internet protocols have not changed much since their initial release back in the 90’s. There were efforts to make modifications, but it was too difficult as there was no clear ownership over the protocols. Now, cryptonetworks are beginning to build governance, and upgradeability directly into the protocol. Token holders can vote on protocol improvement proposals. The more tokens they have the more their vote counts. Some believe this is unfair, especially when individual users hold a disproportionately large share of the protocol’s token; however, it is important to point out that the more tokens you hold, the more financial stake you have in the protocol. All token holders are incentivized to vote for the good of the protocol because the token value can appreciate or depreciate depending on the outcome.
In this section we talked about many of the dynamics brought about by Web3 tokens. To summarize, Web3 tokens get distributed to all cryptonetwork stakeholders: protocol developers, third-party dApp developers, end-users, and network service providers. This is why cryptonetworks are sometimes referred to as “community owned and operated” networks. Everyone in the cryptonetwork is aligned to the same goal – for the cryptonetwork to grow and prosper so that the value of the token increases. This is vastly different from the misalignment characteristic of the current Web2 system.
3.3 – Design Thinking with Web3 Tokens
In the previous section we talked about the role played by tokens native to cryptonetworks. As you may have heard there are literally thousands of Web3 tokens in existence today – some native to cryptonetworks, and some launched on top of these cryptonetworks. This vast token landscape can be broken into two high-level categories: utility tokens and security tokens.
Utility tokens are by far the most common Web3 token. These tokens are used to access cryptonetwork services. Ether is a good example of a utility token, because it is used to pay for using the Ethereum blockchain. In other words, users pay ether to Ethereum nodes for processing their transactions. All smart contract blockchains have a native utility token like this. Ethereum is a general purpose cryptonetwork that can run all sorts of dApps; however, there are other specialized cryptonetworks. Just as an example, Sia and Golem are cryptonetworks that provide decentralized cloud storage and cloud compute, respectively. Users of these cryptonetworks redeem SiaCoin (SC) and Golem Network Tokens (GNT) to utilize these decentralized services.
The other major category is security tokens. Securities in the traditional finance world include things like stocks and bonds. Organizations issue securities in order to raise capital, whereas investors purchase securities with an expectation of some return over a period of time. These investment vehicles are regulated by the SEC in order to protect investors from fraud and ensure fair, efficient markets. Security tokens are registered securities that are transacted on the blockchain for faster and cheaper settlement, and more transparency compared to traditional markets. Organizations have already begun issuing stocks and bonds on Ethereum. Other security tokens are backed by real-world assets like precious metals (PAXG), commodities (XPD), and real-estate (IHT).
Notice the difference between utility tokens and security tokens when it comes to regulation. Security tokens play by the rules of traditional capital markets and willingly undergo government regulation during their launch; whereas, issuers of utility tokens claim that their tokens are not securities and, therefore, do not need to comply with securities regulations. The SEC, led by Gary Gensler, largely disagrees with this claim – he says the vast majority of “utility tokens” appear to him as unregistered securities. This is one of the great tensions between the US government and Web3 at the moment.
It’s difficult to place stablecoins in either of these token categories, but they deserve an honorable mention as they grow more and more popular. These tokens are designed to maintain a stable value over time. This makes stablecoins more attractive as a medium of exchange compared to other Web3 tokens that experience high price volatility. Usually, stablecoins are pegged in value to a fiat currency like the US Dollar. For example, the two most popular stablecoins – USDC and USDT – are fully-backed by US dollar reserves held in traditional financial institutions. These are called fiat-collateralized stablecoins; however, there are other emerging stablecoin categories such as crypto-collateralized (e.g. DAI), and algorithmic stablecoins (e.g. OHM).
Now, let’s go back to utility tokens. There are many sub-categories of utility tokens, and it’s difficult to fit any one token into a single category – they usually belong to multiple categories at once. Below I list some other use-cases of utility tokens, not as an exhaustive list, but to give you a flavor of the experimentation that is being done on token design.
- Governance: Allows users to submit, and vote on, improvement proposals for protocol upgrades. They first came onto the scene with some of Ethereum’s popular DeFi protocols (i.e. Compound, MakerDAO, and Uniswap). These DeFi protocols distributed their governance tokens to their users, effectively decentralizing the governance of the protocols. Now token holders have significant influence over the evolution of the protocol, not just the core development team.
- Cashflow: Earn a portion of the protocol’s revenues – this is often called “staking”. For example, most smart contract blockchains allow users to stake the cryptonetwork’s native token, and earn block rewards for doing so. Also, UNI token holders receive a portion of the swap fee that Uniswap charges for facilitating token swaps.
- Discounts: This is a common use-case on crypto trading platforms. For example, holding CEL token gives users preferential interest rates when lending/borrowing on Celsius Network, and BNB and FTT get users discounted trading fees on Binance and FTX, respectively.
- Gaming: Most Web3 games have in-game currencies that can be redeemed for in-game items. For example, virtual animals can be bred with one another using SLP token in Axie Infinity. Also, MANA is consumed in order to generate land plots in Decentraland’s metaverse.
- Social/Community: The most obvious use-case here is with social media influencers who launch a token backed by their own reputation (see Rally). Social tokens give patrons a direct way to support celebrities, influencers, and artists while enjoying additional benefits like access to exclusive content, entrance into in-person events, access to private online communities, and more.
So these are the Web3 token categories, and some of their use-cases. Let’s now talk about token launches, and some of the problems associated with token launches. We’ll eventually get into the regulatory issues surrounding Web3 tokens.
3.4 – Tokenomics & Crowdsales
All Web3 tokens have a pre-defined monetary policy controlled by the blockchain. For example, is it an inflationary or fixed-supply token? And if it’s inflationary, what’s the token’s issuance schedule? This monetary policy is fixed, and cannot be changed once the token has been launched.
As we’ve seen, most cryptonetworks have their own native utility token, which powers the network; however, smart contract blockchains give anyone the ability to launch their own token, defined by its own monetary policy and programmed with arbitrary utility. This led to an explosion of new Web3 tokens on Ethereum starting in 2017. Now tens of thousands of Web3 tokens exist across various cryptonetwork ecosystems.
Web3 projects often publish a website and a whitepaper that explains the team’s motivation and approach. This inevitably leads to a discussion about the Web3 project’s token, specifically its monetary policy and token distribution plans. Let’s say a blockchain launches with a fixed supply of 1 billion tokens. Pie charts often illustrate how these tokens will get distributed to project stakeholders. For example, a portion of the tokens are sold to public, and/or private investors, to fund the development of the project. This crowdsale is called an ICO, or initial coin offering. Other tokens are usually distributed to the founding team, the project’s treasury, or adjacent foundations.
Web3 tokens also democratize venture capital investing. Up until now, investing in early-stage startups has only been available to accredited investors through Series A, B, and C funding rounds. The 1000x gains already have been realized by the time retail investors have the opportunity to invest. Also, typically, VC investments are illiquid – after the funding round, it often takes years for the startup to find product market fit so that seed investors can realize a profit. Web3 tokens change the game. They are like highly liquid venture capital investments, with real-time price feeds, sometimes before the project launches.
So far, Web3 tokens have been successful at funding the development of Web3 ecosystems, but let’s now talk about some concerns, starting with the obvious one: scams. Anyone can launch a token and sell it on the open market. In the past, people have launched tokens without a legitimate project backing it. Scammers create intriguing marketing content and hype it on social media to create demand for their token, without any intent on building a product in the first place. When others start buying the token, the token price goes up, and the scammers dump their token supply on the open market. The token price then crashes, and the original investors are left holding a worthless scam token with no legitimate project backing it. This is called a “rug pull”.
Token launches themselves present their own problems. Who has access to the token’s crowdsale? Does the token get distributed to many individual retail investors? Or, are the crowdsales just available to big-money, private investors like VCs. If VCs, or the founding team, hold a large portion of the cryptonetwork’s token supply, then this calls into question the true decentralization of that cryptonetwork. Some argue that this is no longer a neutral, decentralized network, but one that is controlled by a large minority.
There is an alternative to crowdsales – something known as a “fair launch”. Satoshi launched the Bitcoin protocol in 2009. There was no crowdsale of pre-allocated bitcoin. Bitcoin nodes just started mining bitcoin, and the circulating supply of bitcoin grew from there. Yearn Finance, a popular DeFi protocol, is another example of a fair launch. It distributed 30,000 YFI tokens to early-adopters of the Yearn Finance protocol in what is called a “token airdrop”. Juxtapose these fair launches to other Web3 projects with token pre-allocations and crowdsales. The diagram above shows how Layer 1 smart contract blockchains distributed their initial token supply.
Perhaps from the perspective of Web3’s ethos – that of decentralized inclusivity – fair launches are preferred to public crowdsales, which are preferred to large token pre-allocations to private investors, founding teams, and adjacent foundations. I’m not trying to pass judgment here – it’s a complex issue that founding teams are experimenting with. Token launch is one thing, but the sustainability of the project over decades is another. The SEC definitely takes a stance on this. Anything other than a fair launch appears to the SEC as the sale of unregistered securities, which they intend on regulating over the next several years.
3.5 – SEC Regulation of Web3 Tokens
The SEC determines whether or not something is a security with the Howey Test, a precedent set by the Supreme Court lawsuit between Howey Company and the SEC circa 1946. Howey Company operated a hotel with an adjacent orange grove. The company started selling plots of the orange grove to its hotel guests. The owners of these plots would have rights to a portion of the revenues generated from the orange grove. Howey argued this was the sale of real-estate; however, the SEC argued this was the sale of a security and won the Supreme court case, thus establishing the definition of a security. Something is considered a security if it is:
- An investment of money
- In a common enterprise
- With the expectation of profit
- To be derived from the efforts of others
Clearly, according to the Howey Test, the crowdsale of Web3 tokens constitute a securities offering that requires SEC regulations in order for US investors to participate. But what is the purpose of SEC regulations, and what does it mean for Web3 tokens moving forward? The SEC cares about protecting US investors from fraudulent activity, and wants securities markets to operate fairly and efficiently. Security token issuers must make disclosures to reduce information asymmetries between the issuer and the investor. Also, the SEC would be able to hold fraudulent token issuers accountable, like the scam tokens discussed above.
The downside is that there will be much more friction when it comes to launching security tokens. Launches will take longer while waiting for SEC review, and will cost more due to the increase in legal overhead. Also, this token regulation will likely make it more difficult for retail investors to get the same exposure to early-stage Web3 investments as they currently enjoy in the wild-west of ICOs. Some security token frameworks have been established to simplify the process of regulated token issuance – see SAFT to learn more.
However, the Howey Test was established back in the 1940’s, and many Web3 evangelists believe that securities laws are too outdated to handle Web3 tokens. They argue that the regulatory framework needs modification to effectively handle emerging digital assets. An example of this is Hester Peirce’s Safe Harbor proposal, which allows for unregulated token issuance as long as the Web3 project decentralizes ownership and governance of the protocol within three years from launch.
The proposal takes advantage of the fact that an asset can change from a security to non-security over time. In other words, an asset that starts off as a security offering, may eventually change so that the Howey Test no longer classifies the asset as a security. On several occasions, the SEC has alluded that this is their view on Ethereum. Ether started as a security offering with its public crowdsale; however, the token has been distributed across so many independent actors that Ethereum can no longer be considered a “common enterprise”.
Last thing to say, there are regulatory bodies, other than the SEC, that have a stake in Web3 technologies. These include the Fed, Treasury, CFTC, OCC, CFPB, and FDIC. As Ryan Selkis points out in his annual crypto report, currently these entities range from neutral to openly opposed to Web3. There is still much to be determined in terms of regulation. Regulatory outcomes are sure to affect the growth and evolution of Web3 around the world. It’s unclear at this point how it will all play out; however, some jurisdictions are trying to attract Web3 entrepreneurs and businesses with more welcoming dialogue and regulation. Foreign countries like Switzerland, Germany, and Portugal, as well as US states like Wyoming, Texas, and Florida are among some of these Web3-friendly havens.
All the Web3 tokens mentioned thus far are “fungible” tokens. Fungibility exists in the real-world, with fiat currency being a good example. One paper dollar bill is equivalent in value to another paper dollar bill. Fungible tokens are the same way: one bitcoin is equivalent in value to another bitcoin; however, non-fungible tokens serve vastly different purposes. In the next section, we’ll give a background on non-fungible tokens and discuss their varied use-cases.
3.6 – Principles of NFTs & Cryptomedia
Again, let’s start with the concept of fungibility. Fungibility means that an item can be replaced by another equivalent item. Currency is a good example of something that is fungible. One ten dollar bill is the same as another ten dollar bill. Even though the bills were printed at different times, in different locations, on different pieces of paper, we still consider them equivalent to one another, because they are fungible. Fungibility just means that an item can be replaced by an equivalent item.
Most things in the real-world, however, are non-fungible. People are non-fungible. The family heirloom, passed down to you by your grandparents, is non-fungible. The Mona Lisa, hanging in the Louvre in Paris, is non-fungible. And your life memories are non-fungible.
Now, let’s take this concept of “fungibility” back into the digital, Web3 world. Bitcoin is fungible because one bitcoin is equivalent to all other bitcoins. Currently, most digital content is fungible. Think of image, video, and audio files – we can infinitely replicate them, and share with thousands of people, effectively for free, with the click of a button; however, thanks to non-fungible tokens (NFTs) we can now make digital files rare, or “scarce”, for the first time ever. And just like fungible tokens, anyone is free to launch NFTs on public blockchains. This is known as “minting” NFTs. Whereas fungible tokens have a token supply, all NFTs are unique, and distinct from one another. They are 1 of 1.
One of the first major use-cases for NFTs has been one-of-a-kind digital art. Now, patrons can purchase digital art as NFTs, and custody the NFT in their Web3 wallets. 2021 was a big year for NFTs with over $17B worth of NFTs transacted. And some of these NFTs have demanded seemingly outrageous prices for digital art. A collage by a well-known artist Beeple, sold for $69 million dollars – this was the most expensive NFT ever sold, and the third highest price ever paid for work by a living artist. Check out these other popular artists making millions of dollars from their NFT sales.
When first learning about NFTs, most people don’t understand why someone would spend millions of dollars, or any money for that matter, to purchase a jpeg that is publicly accessible. Indeed, the Beeple NFT can be viewed, downloaded, and shared by anyone. This is known as the “right-click save” misconception. The true game-changing power of NFTs is that ownership of the original Beeple NFT can be proven. Whoever purchased this NFT now custodies it in his/her Web3 wallet, and anyone can verify this ownership because it is a public record on the Ethereum blockchain.
Another NFT-related phenomenon is PFP, or profile-picture NFTs. These are collections of NFTs, usually depicting avatars that vary based on attributes like background, jewelry, clothing, and other accessories. The two most popular PFP collections are Crypto Punks and Bored Ape Yacht Club (BAYC). Passionate communities have sprung up around these NFT collections, and membership isn’t cheap. For both collections, a total of 10,000 unique avatars were minted, and the cheapest BAYC NFT is currently selling for 132 ETH (~$370k).
NFT marketplaces are important infrastructure for NFTs, and they will continue to grow in importance as demand for NFTs increases. These marketplaces are like eBay for NFTs. Owners can list their NFTs for sale, either as an auction or buy-it-now. Purchasers come in to bid on NFTs, and the marketplace’s smart contracts send the NFT to the winner’s wallet address. OpenSea is the most popular NFT marketplace for the secondary sale of NFTs. Other marketplaces curate special kinds of NFTs (e.g. Artblocks & AsyncArt), and host the NFT drops of popular artists (e.g. SuperRare & Nifty Gateway).
NFTs are much more than visual art. As I said before, any digital file can be made unique with NFTs, including audio, video, text, code, and more. Web3 music is up-and-coming where patrons can purchase one-of-a-kind, or limited edition songs on platforms like Catalog. Also, you can mint an NFT of your blog post on Mirror, which has been used for fundraising creative projects like documentaries among other things. Finally, some of the internet’s original source code was sold for $5.4 million dollars as an NFT. The list goes on.
Even digital media in general is just scratching the surface of NFT use-cases. NFTs can be programmed with arbitrary functionality. For example, NFTs can be used to give access to online communities like private Discord servers, or be used to access in-person events. Also, NFTs allow artists to capture royalties on secondary sales of their artwork without any legal contracts. The NFTs can be programmed in such a way that a percentage of secondary sales are automatically sent to the artist’s wallet address. We are just in the beginning stages of NFT experimentation – it’s not hard to imagine future use-cases where NFTs serve as our digital identities, or digital belongings that we carry with us through the Metaverse.
4 – Decentralized Finance (DeFi)
DeFi, or decentralized finance, refers to a complex ecosystem of dapps that offer financial services without the centralized intermediaries of traditional finance like banks, stock/bond brokers, and fintech companies. It offers foundational services – somewhat infrastructural – that the greater Web3 ecosystem can build on. These services include:
- token swaps (Uniswap and Curve)
- stablecoins for payments (MakerDAO and DAI)
- lending/borrowing crypto (Compound)
- automated fund managers (Yearn Finance)
- dashboards (Zerion)
Just like in traditional finance, DeFi users want to earn yield on their crypto to grow their assets. DeFi is the cutting-edge of fintech. In this course module we review the flagship protocols that have laid the foundations for a thriving DeFi ecosystem. These are some of the most mature and battle-tested dapps in the entire Web3 ecosystem. After discussing them, we move on and talk about the next wave of innovative protocols, called DeFi 2.0.
4.1 – Swap tokens with Uniswap
Decentralized exchanges (DEXs) allow users to swap between different tokens. It’s a simple use-case, but one of the most foundational dapps in the Web3 ecosystem. Before, users had to temporarily give up custody of their tokens to a centralized exchange to make swaps. DEXs, on the other hand, facilitate token swaps with open-source smart contracts and no intermediaries. Uniswap is one of the most well-known DEXs – let’s see how it works.
After connecting their wallets, users select which token they want to swap from (Token A), and which token they want to swap to (Token B). Uniswap then calculates the exchange rate between this token pair. This tells users how many of Token B they should expect to receive. In the case above, I’m swapping .02 ETH for about 40 DAI, with an estimated network fee of $7.32. I will need to have extra ETH in my wallet to pay this network fee.
Now let’s talk about what is happening under the hood. For example, where did the DAI come from that I swapped into? Decentralized exchanges use a different method than centralized exchanges for making these trades. Centralized exchanges (CEXs) use something called a central limit order book, or CLOB, to match buyers and sellers. Basically, buyers place bids for how much they are willing to pay for an asset, and sellers place bids for how much they are willing to sell an asset. The transaction is executed when there is overlap between the buy and sell bids. An order book for Bitcoin is shown above, where the green area represents buy orders, and the red sell orders.
CLOBs are costly to run on-chain because they are transaction heavy and benefit from fast transaction processing. Thus, DEXs implement a different approach to token swaps. Every token pair you can swap on a DEX has a liquidity pool. So, in the example above, I made my swap using Uniswap’s ETH-DAI liquidity pool. We see $54.82M of tokens are locked in the ETH-DAI liquidity pool, made up of 23.81M DAI and 15.52k ETH. As users make swaps on these liquidity pools by depositing Token A and withdrawing Token B, an algorithm automatically recalculates the exchange rate for the token pair. These algorithms are known as “automated market makers”, or AMMs, and are responsible for updating token prices on DEXs based on supply and demand dynamics.
Now, where do the tokens in the liquidity pools initially come from? Liquidity providers (LPs) are other Web3 users who want to earn yield on their tokens. Uniswap charges a trading fee (0.3%) on each swap, and this trading fee is distributed to the liquidity providers for that pool. LPs deposit Token A and Token B into a liquidity pool, and receive LP tokens in return. At any point, users can burn their LP tokens for their initial liquidity plus whatever trading fees have accrued to them.
So, those are the basics of DEXs. Liquidity providers deposit tokens into liquidity pools to earn trading fees. Traders use these liquidity pools to make token swaps. And, AMM algorithms reprice tokens within liquidity pools based on market conditions. Uniswap is not the only DEX out there. Other DEXs have been created that excel for different use-cases. For example, Balancer allows liquidity pools containing up to 8 different tokens, whereas Uniswap liquidity pools always contain only 2. And, Curve is a DEX focused on stablecoin swaps, resulting in less slippage and reduced risk of impermanent loss.
Speaking of stablecoins… The vast majority of Web3 tokens have volatile prices, but a subset of them, called stablecoins, are designed to maintain a stable price over time. This makes them more attractive as a medium of exchange compared to volatile tokens. As Ryan Selkis puts it, “no one wants to spend currency they believe will be worth 10% more tomorrow, and no one wants to accept currency they think could be worth 10% less tomorrow.” This leads into another foundational DeFi protocol, MakerDAO, which allows users to deposit their volatile tokens (e.g. ETH), and mint stablecoins for tax-free spending.
4.2 – Mint stablecoins with MakerDAO
In the previous section, we swapped ETH for DAI stablecoins on Uniswap, but this is a secondary market for DAI. DAI is quite unique in how it is minted. DAI comes from a DeFi protocol called MakerDAO, where users deposit volatile assets into a Maker vault and then mint DAI stablecoins.
This is known as a collateralized-debt position (CDP), because the user borrows DAI against their collateral, and pays interest (i.e. “stability fee”) on the loan. In the picture above, users open a vault, deposit ETH into the vault, and then take out a DAI loan. The ETH is locked in the vault until users pay back the DAI loan, which is the principal amount plus whatever interest is owed.
MakerDAO requires that the collateral deposit is worth more than the stablecoin loan. This is known as “over-collateralization”, and is necessary when using volatile assets as collateral. For example, let’s say you deposit 1 ETH (worth $3000), and take out $2000-worth of DAI – this makes for a collateralization ratio of 150% (i.e. over-collateralized). If the price of ETH drops by 20% the collateral is now worth $2400, changing the collateralization ratio to 120%. The vault would still be over-collateralized, but could soon be under-collateralized if the price of ETH continues to drop. In fact, in the ETH-B vault pictured above, MakerDAO automatically liquidates the collateral to pay back the DAI loan, and closes out the vault, when the collateralization ratio drops below 130% (i.e. “min collateralization ratio”).
You may wonder what the point of this is. If these vaults need to be over-collateralized, then you’re essentially borrowing with money you already have. Aren’t loans about spending money you don’t have? We may eventually see under-collateralized crypto loans as Web3 matures. At a minimum we would need verified Web3 identities in order to track who has defaulted on their loans and assign credit scores accordingly. But still, for now, there are beneficial use-cases for crypto-collateralized stablecoins.
These stablecoin loans allow users to go long their collateral asset, while unlocking a portion of its value, in the form of DAI stablecoins, which can be used for payment throughout the rest of the Web3 ecosystem.
For example, if I’m bullish on ETH, and believe it will 2x within a year, then I want to continue holding ETH. In fact, I want to accumulate as much ETH as possible, and certainly do not want to swap my ETH for a stablecoin. Swapping ETH for a stablecoin hurts me in two ways. First, it triggers a tax event, and I will have to pay capital gains on my ETH. Second, I lose exposure to ETH’s upside potential during a bull run. Instead, borrowing DAI against my ETH with a Maker vault does not trigger a tax event, allows me to keep ownership of my ETH, while also freeing up liquidity so I can make payments in the meantime.
MakerDAO’s stablecoin, DAI, is decentralized and maintains its peg to the US dollar without reliance on reserves held by centralized entities, like USDT’s Tether and USDC’s Circle. Stable, decentralized assets are an important DeFi building block, and an open area of experimentation, which we’ll see later on.
You can think of MakerDAO as a protocol for self-loans; however, another class of lending protocols exist, like AAVE and Compound, that support peer-to-peer token lending. Lending protocols like these are foundational to DeFi because they establish lending/borrowing interest rates for a variety of tokens. Now, Web3 tokens have a time-value aspect to them, just like risk-free interest rates for fiat currencies in traditional money markets.
4.3 – Lend crypto with Compound Finance
Compound creates a peer-to-peer lending marketplace for a variety of Web3 tokens. Suppliers are paid interest for depositing their tokens into lending pools. This has become a popular passive income strategy for Web3 users in DeFi.
Similar to how Uniswap liquidity providers receive LP tokens, Compound suppliers receive cTokens for depositing tokens into lending pools. At any point, users can burn their cTokens for their initial deposit, plus the interest that has accrued. For example, cETH represents ETH that is actively earning interest in Compound.
On the other end of things, borrowers take loans out on these lending pools. Borrowers first must supply tokens to a lending pool, and select to use the token as collateral for a loan.
Just like with MakerDAO, all Compound loans must be over-collateralized based on a collateral factor (similar to collateralization ratio). The collateral factor varies by token, but let’s say it’s 75%. It means I can only borrow up to 75% of the collateral I have deposited. So with $100-worth of Token A collateral, I can borrow at most $75-worth of Token B. This borrow limit is indicated to the user at the bottom of the modal (“Borrow Limit Used”) in the picture above. If the value of a borrower’s collateral drops then he is at risk of liquidation.
To close the position, borrowers repay the token loan back into the lending pool plus the interest payment they owe. Note that interest, for suppliers and borrowers, is paid in the token that is being lent/borrowed. Since I borrowed DAI in the example above, I made a small interest payment of DAI.
Compound is powered by smart contracts that automatically set interest rates based on the liquidity of tokens in the lending pools. Tokens with lower liquidity will have higher interest rates, as supply and demand dictate. These are “floating” interest rates meaning they change over time. Compound calculates an interest rate for each lending pool at every Ethereum block.
You can see why liquidity is important here. The lower the token liquidity, the more it will cost to borrow the token. This issue of liquidity is a challenge for all DeFi protocols – token liquidity is required to get the protocol off the ground, and to continue offering a usable service. Generally, the more liquidity the better, so DeFi protocols compete to attract liquidity to their platform.
So how do DeFi protocols attract liquidity in the first place? Compound was the first to try out liquidity mining. Compound distributes COMP – its native governance token – to its current suppliers and borrowers. This strategy worked well for Compound, and other DeFi protocols followed suit, leading to an explosion in liquidity in summer of 2020 (i.e. DeFi Summer).
4.4 – Liquidity mining to boost yield
Notice that suppliers on Compound are actually paid two interest rates. In the example above, where I’ve supplied ETH, one interest rate pays me back in ETH. This is from the interest paid by borrowers on their ETH loan. The other interest rate is paid in COMP. This is Compound’s liquidity mining reward, which is meant to incentivize me to keep my ETH liquidity locked in the protocol.
Back in 2020, Compound minted its COMP governance token with a fixed supply of 10M COMP. 4.2M COMP were allocated to its liquidity mining program, which distributes 1139 COMP tokens across its suppliers and borrowers on a daily basis. This will run for around four years until the allocated COMP runs out.
Compound was the first to implement liquidity mining, but many other DeFi protocols followed suit, using their own governance tokens as reward. These tokens give holders the ability to vote on governance proposals that could be anything from technical improvements to adjusting protocol parameters like interest rates and the list of assets approved for collateral (e.g. MakerDAO). Discussing protocol governance leads to the concept of Decentralized Autonomous Organizations (DAOs). DeFi governance tokens have real-world value as they are traded on secondary markets, seen in the picture above.
Compound launched its liquidity mining program in June 2020. Other liquidity mining programs cascaded from there, leading to a boom known as “DeFi Summer”. Liquidity flooded into DeFi protocols as yields increased across the entire ecosystem. Look at the increase in Total Value Locked (TVL) in the chart above. The TVL chart shows all the token liquidity “locked” in all of the DeFi protocols on Ethereum. This could be tokens in DEX liquidity pools, Maker vaults, lending pools, and more. TVL is a great metric for comparing the health of DeFi protocols (e.g. AAVE versus Compound), as well as entire DeFi ecosystems (e.g. Ethereum DeFi versus Solana DeFi).
So far we’ve talked about several ways of earning yield on Web3 tokens, such as becoming a liquidity provider on a DEX, supplying tokens to lending pools, and participating in liquidity mining programs. In the next section we discuss another DeFi yield activity – staking – and show how DeFi users stack multiple yield activities on top of one another to maximize yield. This is known as yield farming.
4.5 – Yield farming with Curve Finance
Staking is the idea of locking tokens to receive other additional token rewards, paid out over time. This is an odd idea at first, but locking tokens in stake pools can be beneficial to DeFi protocols – let’s look at why this might be.
Remember back to the first section how users receive LP tokens for depositing their tokens in a DEX liquidity pool. Not only is it important for DEXs to initially attract liquidity, but they also must retain liquidity to maintain good UX for its users. Some DEXs encourage users to stake their LP tokens in order to receive additional incentives.
Curve is a DEX for stablecoin swaps that offers this kind of LP token staking. Liquidity providers deposit tokens into a Curve liquidity pool, and receive Curve LP tokens. These LP tokens can be staked in Curve Gauge Pools where the user receives regular payouts of CRV tokens. Users are unable to remove their liquidity so long as their LP tokens are staked, and they are receiving CRV rewards. Do you see how this incentivizes users to keep their liquidity on Curve?
Staking increases yield for Curve liquidity providers. For example, in the first Curve liquidity pool above (“tricrypto2”), the yield is 1.89% from the pool’s trading fees; however, users receive additional yield – anywhere from 4.23% to 10.59% – paid in CRV tokens. This means, if I deposit $100-worth of liquidity in the pool, I’d expect to earn $1.89-worth of trading fees, plus $4.23-worth of CRV, annually.
Things do not end here on Curve. It has additional staking opportunities. Users can stake CRV in the Curve DAO for veCRV in return. veCRV is the governance token, so it allows users to make Curve governance decisions; however, it also boosts CRV rewards by up to 2.5x, which is veCRVs main draw. That’s why the CRV APYs – shown two images above – are displayed as a range (e.g. +4.23% – 10.59% CRV). Looking at the image above, CRV is time-locked anywhere from one week to four years. This takes CRV off the market, making it a deflationary asset, which some believe has led to its favorable price performance compared to other DeFi tokens.
Are you starting to see how yields can be stacked on top of each other? On Curve, users can deposit tokens into a liquidity pool to earn trading fees. They can then stake their LP tokens to earn CRV rewards. And then stake their CRV tokens to boost their CRV rewards. This is what “yield farming” is all about – stacking yield to maximize return on investment.
But all this makes my head spin. The yield farming I’ve described here is complex, manual, and costly. For example, CRV rewards accumulate over time and users must manually claim CRV on Curve’s UI (image above), which requires a transaction and costs a network fee. Yield aggregators – another class of DeFi dapps – solve these problems by automating yield farming for users. Users’ funds are pooled together in vaults that follow pre-programmed yield farming strategies designed for efficiency and maximal return.
4.6 – Automated investing with Yearn Finance
Yearn Finance was one of the first yield aggregators. On Yearn, DeFi experts propose yield farming strategies and implement them as Yearn vaults that Web3 users can deposit tokens into. Essentially, these vaults aggregate a lot of tokens, and deploy them to various DeFi protocols, sharing the yield with its depositors (i.e. yToken holders).
Yearn vaults generally accept Curve LP tokens, and automate the yield farming process from here, such as moving tokens into different lending protocols in pursuit of the highest interest rate. Or, stake the LP tokens in other protocols, and automatically recycle the rewards back into the vault for a compounding effect.
This brings us to a concept called “token composability”, which is at the heart of yield farming. Essentially, Web3 tokens are interoperable with other protocols. DeFi tokens can be used throughout the DeFi ecosystem in order to stack rewards.
Let’s look at Yearn’s “Curve USDN” vault strategy. Users deposit crvUSDN tokens into this Yearn vault. Yearn then stakes these LP tokens in another DeFi protocol, Convex Finance, to earn CRV and CVX. As the vault earns tokens, Yearn automatically harvests them and converts them into more crvUSDN, which it cycles back into Convex Finance. This automation simplifies yield farming for users, and reduces their network fees. They only need to send two transactions: one to deposit tokens into a vault, and the other to withdraw tokens from the vault.
At this point, we’ve discussed all the major DeFi building blocks: tokens swaps, minting stablecoins, lending/borrowing, staking, and yield farming. This all takes place across different protocols, often requiring the user to visit multiple web apps. This can make the DeFi ecosystem feel scattered. DeFi dashboards bring everything together for a more seamless UX. Let’s look at how dashboards take advantage of the open-source nature of Web3 to stitch DeFi protocols together into one dApp.
4.7 – DeFi dashboard with Zerion
DeFi dashboards provide the user access to multiple DeFi protocols all from one UI. The first way to think of these dashboards is that they extend wallet functionality. Popular browser extension wallets like MetaMask have small UIs with limited feature sets like viewing token balances and sending tokens to other wallets.
However, users can connect their wallet to a dashboard like Zerion to view their wallet as an asset portfolio, not just simple token balances. These portfolio views help users see how their wallet’s value changes over time. Also, Zapper allows users to bundle multiple wallets together so they can track the combined value of multiple wallets.
Dashboards also directly integrate multiple DeFi protocols into one UI. This is an example of open-source software composability. Web3 protocols are open-source so other projects can use them as building blocks in their own dApp. This is juxtaposed to the proprietary APIs of Web2 applications. Users can search for the best yields across the entire DeFi ecosystem, and directly deposit tokens into lending protocols (AAVE and Compound), liquidity pools (Curve, Sushi Swap, Uniswap), staking pools (Curve and Convex), and yield aggregator vaults (Yearn and Harvest). All accessed from Zapper’s “invest” tab.
These dashboards are packed full of other useful features. For example, the Zerion dashboard has “swap” functionality that searches across multiple DEXs to find the best exchange rate to execute a token swap. This is called a DEX aggregator, and is a convenience utility for Web3 users.
The thesis that we will live in a multi-chain world continues to be proven correct. More and more, people will use multiple blockchain networks, and will increasingly want to transact tokens between these cryptonetworks. Blockchain interoperability has a long way to go and Web3 ecosystems feel siloed; however, dashboards are well positioned to improve the UX here.
Zapper tracks the value of a user’s portfolio across 11 different cryptonetworks (all EVM-compatible). And, Zerion aggregates blockchain bridges so that users can transfer tokens to other Layer 1 cryptonetworks (BSC, Avalanche, Fantom), Ethereum Layer 2s (Optimism, Arbitrum), and sidechains (Polygon), all from one UI.
So that wraps up the first wave of DeFi from token swaps to dashboards. There are other protocols I consider slightly less foundational than what we’ve covered, but the curious reader may be interested to look into some of them. DeFi Derivatives platforms allow users to trade advanced financial instruments like options (Opyn), perpetuals (DyDx & Perp), and synthetic assets (Synthetix). Also, there are token index funds that diversify a single investment across multiple tokens (see Index CoOp). This is the same idea as ETF’s and mutual funds in traditional markets. Finally, there are insurance protocols that protect users from things like impermanent loss, and DeFi smart contract exploits (see Nexus Mutual).
4.8 – DeFi 2.0 & Stablecoin Wars
Interest rates have been at all time lows in traditional markets over the past several years as the U.S. 10 Year Treasury Bond hit 0.60% APY in 2020. At the same time, DeFi was on the rise, giving investors alternative markets to earn much higher (albeit riskier) yields. All the DeFi products we’ve talked about were some of the first to find product-market fit in Web3, evidenced by the fact that they onboarded millions of users onto Ethereum; however, like any first iteration of technology, there exist some problems in the current DeFi ecosystem. Let’s discuss some of the problems facing DeFi 1.0, and peer into the emerging DeFi 2.0 landscape, which seeks to address them – starting with stablecoins.
Demand for stablecoins is rapidly increasing as the Web3 ecosystem is more and more in need of non-volatile assets for things like payment. There are many types of stablecoins each with their pros and cons. And it’s also an active area of experimentation as entrepreneurs search for optimal stablecoin designs. Let’s take a look at the different stablecoin categories.
The first category is fiat-collateralized stablecoins. These are, by far, the most popular right now based on market cap. Here, regulated companies, like Tether and Circle, issue stablecoins that are fully-backed by their fiat reserves. USDC and USDT are pegged to the US-dollar, but some stablecoins track other currencies (e.g. EURS). Historically, fiat-collateralized stablecoins have maintained their peg better than others; however, their fiat reserves are custodied within the traditional financial system. Governments have the ability to seize these reserves and undermine fiat-collateralized stablecoins, which many consider unacceptable for a means of payment in the world of Web3.
Enter crypto-collateralized stablecoins. This brings us back to MakerDAO where users can deposit crypto into Maker vaults and mint DAI – a stablecoin also pegged to the US-dollar. This is a big deal, because the crypto collateral backing the stablecoins cannot be seized by centralized entities. Thus, crypto-collateralized stablecoins are truly decentralized; however, the problem is that crypto is volatile, and using it as collateral is risky because the value of collateral can quickly fall below the loan’s value. Therefore, crypto-collateralized stablecoins must be over-collateralized, which isn’t an efficient use of capital.
MakerDAO was the first crypto-collateralized stablecoin protocol. Since then, other DeFi protocols have iterated on, and improved the original MakerDAO concept. For example, the crypto locked in Maker vaults is just sitting there, not earning yield. On Alchemix, users deposit crypto collateral to generate alUSD – Alchemix’s stablecoin. But here, Alchemix deposits collateral into Yearn Vaults that earn interest, which is used to automatically repay the user’s alUSD loan. It’s a self-repaying loan. Similarly, Abracadabra.Money supports yield-bearing tokens as collateral, like Yearn (e.g. yvDAI) and Convex (e.g. cvx3pool) tokens. But I digress – let’s move onto the third stablecoin category – algorithmic stablecoins.
The first two stablecoin categories are asset-backed. Either fiat reserves, or crypto collateral in vaults, support the price of the aforementioned stablecoins. A lot of recent experimentation has been done on algorithmic stablecoins, which have no assets backing them. An algorithm automatically maintains the peg of a stablecoin based on real-time market conditions for that stablecoin. This is usually done through mint and burn mechanics. Let’s pause and talk about the most popular algorithmic stablecoin – UST.
UST is built on the Terra blockchain, and is pegged to the US-dollar. UST is paired with Terra’s native token – LUNA, which is a volatile crypto asset. UST and LUNA can be exchanged in a 1:1 ratio with each other. At any point, 1 UST can be minted by burning $1-worth of LUNA. Alternatively, 1 UST can be burned in exchange for $1-worth of LUNA. Arbitrageurs utilize this mint-burn mechanism when UST is trading on centralized exchanges for a premium, or at a discount. For example, let’s say UST breaks its peg, and trades at $1.02 on a CEX. Arbitrageurs can burn $1-worth of LUNA, and mint UST in order to realize a 2% gain. On the other hand, if UST is trading at $.98, then it can be exchanged for $1-worth of LUNA. This is how UST maintains its peg.
However, it’s ironic that I’m writing this now. Just last week UST failed massively. There was a major sell-off in UST as investors lost faith, reflexivity kicked in, and caused an even greater sell-off. Billions of dollars of UST were liquidated over several days, and UST is sitting at around $.09 at the time of writing. This points to the immaturity of algorithmic stablecoins, and puts into question the feasibility of algorithmic stablecoins in general.
There is another category of stablecoin – fractional reserve stablecoins – that is a middle ground between algorithmic and crypto-collateralized. These stablecoins are partially crypto-collateralized hence the term “fractional reserve”, and partially rely on an algorithm to maintain their peg. FRAX is the most popular example of fractional reserve stablecoins.
All the stablecoins we’ve discussed so far are pegged to fiat currencies. The issue with this is that pegged stablecoins are beholden to central banks that control the monetary policies of fiat currencies. Some argue it’s unacceptable to have any reliance on central institutions in the decentralized Web3 ecosystem. The final category of stablecoins we talk about is non-pegged stablecoins. OlympusDAO is the most popular project in this space with its non-pegged OHM stablecoin.
“Stablecoin” is a bit of a misnomer for OHM. Currently, its price is around $17 – and it’s been as high as $1,300+. So OHM can be highly volatile, but one of the main features of OHM is its floor price, or risk-free value. Users exchange crypto with OlympusDAO for discounted OHM in a process called bonding. All bonded crypto is held in OlympusDAO’s treasury, which ensures a floor price of at least $1 OHM. Thus, the value of OHM is free-floating, but users can always have faith in the floor price, backed by Olmypus’ war chest.
This leads into the next problem that DeFi 2.0 is attempting to solve – that of deep, permanent token liquidity. OlympusDAO controls a massive treasury, which is a great example of an upcoming concept – “protocol controlled value” (PCV). The protocol can deploy liquidity as it sees fit to ensure liquidity for its native token, or to earn yield and grow the treasury larger. Also, their protocols can rent out their liquidity to help other protocols bootstrap token trading, or bolster their liquidity pools.
4.9 – Deep liquidity with OlympusDAO
We know that liquidity is important in all aspects of DeFi. Without tokens in liquidity pools you can’t make swaps on DEXs, borrow tokens in lending protocols, and enact automated yield farming strategies. Without liquidity DeFi grinds to a halt. And the more liquidity the better. For example, the more liquidity in a DEXs liquidity pool, the less slippage users are subjected to when making token swaps. That’s why DeFi protocols compete with one another to attract liquidity, and increase the TVL of their protocol.
Liquidity mining, first seen with Compound in 2020, attempted to overcome the liquidity bootstrapping challenge. Protocols mint their governance token, and distribute it incrementally as a reward to its liquidity providers. Unfortunately, this only solves the liquidity problem in the short-term. Liquidity mining programs attract mercenary capital. Without loyalty to any single protocol, users switch their liquidity between protocols whenever higher interest rates popup elsewhere. It’s difficult for protocols to maintain this liquidity, and they have to continue inflating their governance token in order to do so. But more and more, liquidity is managed at the protocol-level, called “protocol controlled liquidity” or “protocol owned liquidity”.
DeFi 1.0 protocols do not own user liquidity. Users own their LP tokens, and can redeem them for the underlying liquidity at any time. This is changing in DeFi 2.0. Let’s go back to OlympusDAO, and users bonding their crypto in the treasury. Here, user crypto is exchange for discounted OHM. In this case, the users no longer own their liquidity – the liquidity is now permanently held in OlympusDAO treasury. In fact, OlympusDAO controls over 99% of its liquidity in DEXs (e.g. OHM-FRAX LP & OHM-DAI LP).
This ensures that the liquidity remains in place so that users can trade in and out of OHM, with low slippage. Also, the protocol earns almost all of the liquidity pool trading fees, and is becoming a large holder of SUSHI, which all work to further grow the protocol.
Frax Protocol is another good example of PCV. Users mint FRAX stablecoin by depositing their crypto assets into Frax protocol’s reserves. Frax Protocol applies automated market operations (AOMs) on its reserves for a variety of reasons. For example, its collateral investor AMO moves USDC reserves into lending protocols like Compound and Yearn, which earns interest. Another AMO provides FRAX liquidity on exchanges like Curve and Uniswap to ensure deep liquidity pools for FRAX-stablecoin pairs. Fei Protocol is similar – the protocol controls reserves for yield farming strategies to grow its reserves, as well as to provide FEI liquidity on Uniswap.
These protocols can also rent out their liquidity to other DeFi protocols, known as liquidity-as-a-service (LaaS). Tokemak is a great example of this. Essentially, individual liquidity providers deposit tokens into reactors, and liquidity directors (LDs) rent out this liquidity to various DEXs. LD’s create liquidity on-demand – they vote on which token reactors get paired together, and which DEXs to send these token pairs to. Of course, Tokemak earns DEX trading fees, which its building up a treasury with. This treasury, controlled by TOKE governance, will be utilized for additional LaaS operations in the future. Tokemak is like a liquidity aggregator, supplying liquidity to other specific areas in the DeFi ecosystem.
Finally, LaaS is being used to help other up-and-coming protocols launch their native token. Before, to start sellings a token on a DEX you either needed to seed the liquidity pool with a lot of up front capital, or attract users to bring their own liquidity. This brings us back to liquidity mining, which we’ve already established is ineffective in the long run. However, now, OlympusDAO launched a product called Olympus Pro, which generalizes its token bonding mechanism for other protocols. For example, users can bond their LP tokens in exchange for the protocol’s discounted governance token. Now that protocol owns the LP tokens, so the liquidity will remain in place without continuous liquidity mining. This is known as “protocol pwned liquidity” (POL).
Also, FEI and FRAX have partnered with Ondo Finance, which provides liquidity pools to protocols looking to list their governance token in an IDO – initial DEX offering. The protocol deposits its governance token in a pool, which is matched by either FRAX or FEI stablecoins. The Frax and Fei protocols earn 5% APR on the liquidity it provides. This is like renting out stablecoin liquidity so that other protocols can quickly get up and running selling their governance tokens.
5 – Cryptomedia and NFTs for Web3 Creatives
Digital files are not scarce. We can duplicate digital files on our computer any number of times, or send them to thousands of friends, all with the click of a button, at no cost. There is great utility in this. Information transfer is instant and free, and the worldwide web acts as a public repository for all human knowledge.
However, this poses a problem for digital creatives. Humans value scarcity making it difficult to earn a living by selling digital media unless you’re a well-known artist. Blockchains change this and, for the first time ever, make it possible to create scarce, limited, or rare digital media that others can “own”. We’ll call this “cryptomedia” from now on. Cryptomedia opens up new monetization channels for artists, and fundamentally changes the creator-fan relationship.
Cryptomedia is simply a record on the blockchain that points to a media file. Some powerful properties follow. First, the record is public so anyone can view its contents. Second, the record cannot be changed – it is immutable. Finally, it cannot be deleted, and will exist on the blockchain forever.
Going back to the first point – anyone can verify who created the cryptomedia, when it was created, and who currently owns it. Also, anyone can verify the cryptomedia’s full ownership history, and how much it was purchased for each time it changed hands.
This is called “provenance” and is necessary for assessing any given cryptomedia’s authenticity and rarity. For example, you can prove that your cryptomedia was minted, by the artist, before any imposters were minted down the line. Cryptomedia provenance is superior to that of the traditional art world in terms of accuracy and openness.
Finally, there is a live, 24/7 marketplace embedded in each cryptomedia. Potential buyers place bids on cryptomedia. Owners can set reserve prices for the minimum they are willing to sell the cryptomedia for. At anytime, owners can accept a buy offer, and the cryptomedia and cryptocurrency is automatically swapped via a decentralized exchange. Okay, this last part hasn’t been fully realized yet, but Zora Protocol is close to making it a reality.
Let’s talk about a common criticism of cryptomedia. The media itself exists on the internet and can be accessed by anyone. For example, the cryptomedia shown above, a digital collage by an artist named Beeple, sold for $69M. Anyone can view, download, and share the collage on the internet. Some argue this makes it worthless, but they miss the point. Is the Mona Lisa worthless because anyone can visit the Louvre, view the painting, and take pictures of it? No.
Everyone inherently understands that the original Mona Lisa should be worth more than any reprint, or rendition. And, actually, the demand to see the Mona Lisa increases its notoriety, driving up its economic value in a positive feedback loop.
The same goes for cryptomedia. The more people who view and share it, the more it will be worth. Valuing cryptomedia, like any other work of art, is cultural and subjective. Cryptomedia simply makes it possible for people to own digital media. And this is a very deep idea. It means that individuals can literally own digital culture.
Still not impressed? Let me take one more stab. Why do we value blue check marks on Twitter? The blue check mark indicates that the person behind a Twitter profile has some sort of social status. Twitter has verified this person’s profile for one reason or another, and distinguishes that person’s profile with a blue check. But this simple visual element has real-world value, or significance attached to it.
Right now Instagram is testing similar UI elements that verify the authenticity and ownership of cryptomedia. So, one day, you will be scrolling through your feed, and a post will display a “digital collectible” button on the bottom left, signifying that the Instagram account owns the cryptomedia that was posted.
Now imagine that cryptomedia was created by a famous artist, and several hundred people have placed $1M+ offers on it. This post, the account, and the person behind the account would catch your attention like a blue check mark does now. Of course, not all cryptomedia will be this valuable, but still, most users will want to signal their ownership of digital collectibles on social media.
I believe that cryptomedia will go mainstream when “cryptomedia verification” UI is launched on popular social media platforms. People will get curious when they see this pop up in their feed, and it will be easy to onboard them by offering them a free, and unique cryptomedia that they can post on their account. Twitter, Facebook, and Reddit are all clearly heading in this direction as well.
Cryptomedia is actually part of a larger technology called NFTs, or non-fungible tokens. Cryptomedia is just a specific use-case of NFTs, and what NFTs are most well-known for at this time. You will see NFTs and cryptomedia used interchangeably; however, just know that NFTs are highly general, and being experimented with to represent a variety of digital things like identity, data, in-game items, and land in the metaverse.
5.1 – One-of-a-Kind Cryptomedia and NFT Marketplaces
Perhaps the most obvious use-case for cryptomedia is one-of-a-kind digital art. Some cryptomedia artists have made millions selling their cryptomedia creations with top mentions including Beeple, Pak, TYLERXHOBBS, XCOPY, and others.
Remember, cryptomedia encompasses all types of media and can range from static images, gifs, videos, 3D models, and blog posts.
I personally like the audio + video combos by artists like Grimes and Fvckrender. Check it out with the link above.
Some of the original open-source code that made the internet possible was sold as an NFT for $5.4M.
And viral memes that have graced the internet for over a decade have sold for millions as well, like one of the most viewed YouTube videos: Charlie bit my finger. Turning the video into cryptomedia made this piece of internet history sellable and ownable
One of the most important product categories in Web3 is NFT marketplaces. This is where people buy and sell cryptomedia, and NFTs of other sorts.
There are generally two types of NFT marketplaces: curated and open. Curated marketplaces only sell NFTs by pre-approved artists in an effort to control quality. These marketplaces tend to have “NFT drops” where an artist’s collection is promoted ahead of time and a public countdown signals when bidding starts on their cryptomedia collection. It’s the first time the cryptomedia is available for purchase, and there are a variety of drop styles that artists can chose from. Curated exchanges include Nifty Gateway, SuperRare, Foundation, and KnownOrigin.
Other NFT marketplaces are open for any artist to list their cryptomedia. Open marketplaces are popular because they facilitate the secondary sale of cryptomedia. These marketplaces are similar to eBay in that cryptomedia can be listed in an auction with live bidding, or as a buy-it-now offer.
OpenSea is by far the most popular NFT marketplace. They charge a 2.5% fee on all purchases, and their revenue soared with the explosion in NFT popularity starting in 2020. OpenSea is a hybrid between a Web2 and Web3 app. OpenSea matches buyers and sellers with its off-chain orderbook, and facilitates the actual swap of currency for cryptomedia via smart contracts. It is criticized for it’s closed, and centralized order book, which limits liquidity and allows for censoring trades.
Rival marketplace Rarible takes one step closer to fulfilling the ethos of openness and censorship resistance with its governance token ($RARI), and by opening its orderbook up to third-party developers as an open-source API.
NFT aggregators like Genie and Gem improve UX for NFT buyers. Instead of having to manually search through multiple marketplaces for the NFTs they want, NFT aggreagators show all listed NFTs across all NFT marketplaces from one UI. It also allows users to buy multiple NFTs with one transaction, which saves the user network fees.
Zora Protocol enables a fully open NFT market. Zora builds an orderbook into each NFT, so buyers can place bids directly on the NFT without it needing to be listed on a marketplace. At any time the NFT owner can accept an offer, and initiate a decentralized swap. Also, owners can set ask prices, which is the minimum price they are willing to accept. Zora provides developer tooling for querying this NFT data, and standing up NFT marketplaces.
As you’d expect, marketplaces allow users to explore trending NFTs, as well as search for specific NFTs with filtering options. Once you land on a particular piece you can see that NFT’s ownership and bid history.
Finally, marketplaces allow users to mint their own NFTs. This provides creatives a simple UI for minting cryptomedia, as opposed to requiring them to manually deploy smart contracts to the blockchain.
The marketplaces we’ve discussed sell all sorts of cryptomedia. Specialty NFT marketplaces include:
- Video – Glass Protocol
- Music – Catalog, Sound
- Photography – Sloika
- Generative Art – Async Art, Art Blocks, Archipelago
DEXs like Sushi Swap and Uniswap, used for swapping fungible tokens, are starting to get involved in NFT trading. Sushi Swap plans on launching an NFT exchange called Shoyu, and Uniswap recently acquired Genie NFT and plans on integrating the NFT aggregator into its web app. Also, projects are experimenting with new ways of swapping NFTs without an orderbook. Once such project is sudoAMM.
Last thing, minting NFTs cost a network fee, which is high on Ethereum right now. Currently, it costs $70-$300 to mint an NFT on Ethereum’s mainnet. For this reason we are starting to see the emergence of Layer 2 NFTs and marketplaces. Minting and transferring NFTs is significantly cheaper on L2s. This is also why OpenSea is beginning to support other chains like Polygon, Solana, and Katlyn. Here are some other L2 NFT marketplaces:
- Quixotic (Optimism)
- Treasure (Arbitrum)
- Aspect and Immutable X (StarkNet/ZKRollups)
5.2 – Cryptomedia as Community and Identity (PFP NFTs)
If one-of-a-kind cryptomedia enables digital art, then collections enable digital community. PFP (“profile picture”) collections are the most popular, and are composed of similarly-themed cartoon avatars. All the avatars together represent an internet collective, yet each avatar is unique in appearance from all others in the collection.
Users signal their membership to the overall collective by owning an avatar, often setting the avatar as their social media profile picture (hence “PFP”). So the avatar is their individual identity within an internet collective. Some of the most popular PFP collections are shown above.
By far, CryptoPunks and Bored Ape Yacht Club (BAYC) are the two most popular collections. This can be seen by filtering OpenSea for top NFTs based on trading volume and floor price. Floor price is a common metric in this space – it’s the lowest price to purchase an avatar in the collection. Yes, the avatars are priced differently from one another – this has to do with their rarity in the collection, which we’ll come to in a bit.
CryptoPunks was the first ever PFP collection. It was created by a company called Larva Labs, and features pixelated avatars with stylistic inspiration coming from London’s 1980’s cypherpunk scene. The collection is made up of 10,000 individual Punks, each made unique by different combinations of attributes.
CryptoPunks can be one of 5 types: male, female, ape, zombie, and alien. Other attributes include things like hair and accessories like hats, sunglasses, and pipes. Each attribute has a certain rarity within the collection. In other words, what percentage of Punks exhibit that attribute? For example, there are only 9 of 10,000 Alien Punks in existence. This is the most rare attribute, making Alien Punks highly coveted and some of the most expensive to buy.
CryptoPunks were free to mint when they first launched in 2017. Users just had to pay an Ethereum network fee to mint the NFT from the CryptoPunk smart contract. Since then, CryptoPunks have been available for resale on secondary marketplaces like OpenSea.
OpenSea provides users with filtering options so they can narrow their search to Punks with specific attributes. Also, OpenSea displays the attribute present in each Punk and shows the rarity of the attribute. For example, 3% of all Punks are smoking a pipe.
At their height, Punk #5822 – an alien wearing a bandana – sold for almost $24M. Currently the floor price is 77 ETH, so it costs around $80k to purchase one of the cheapest Punks on the market. You may start to see how owning a Punk grants you membership to an elite group.
Now let’s talk about another highly successful PFP collection, this time created by Yuga Labs: Bored Ape Yacht Club (BAYC). It’s highly similar in concept to CryptoPunks. A collection of 10,000 Ape avatars, each exhibiting a unique combination of attributes.
Yuga Labs has been active in building out the BAYC community. Holding an Ape NFT gives you access to exclusive Telegram and Discord servers with other Ape holders, as well as exclusive merchandise stores and IRL events (e.g. Ape Fest). This is called “token-gated access” where users connect their wallet to an application to prove ownership of an NFT and gain access to exclusive content/services. It exemplifies the “programmability” of cryptomedia, and NFTs in general.
Ownership of these PFPs, or any cryptomedia for that matter, says something about the individual. And all this ownership information exists on the public blockchain. The right query will output every wallet address that currently owns, or has previously owned, an Ape, for example. This is an open-source contact list that could be used for marketing or product onboarding. Once we can send email-like messages to wallet addresses, we will see the advent of NFT-targeted advertising.
Yuga Labs sends Ape holders additional items and characters, expanding the scope of the project. For example, Ape holders have received a companion dog NFT (i.e. Bored Ape Yacht Kennel), and a serum that creates a mutant ape NFT from their original Ape NFT. Receiving tokens like this is called an “airdrop”, and is used by other Web3 projects to rewards their users. Also, Yuga Labs has airdropped BAYC and MAYC holders ApeCoin, a cryptocurrency intended for use in BAYC’s Otherside metaverse.
I’m writing about BAYC at a special time. Yuga Labs recently acquired CryptoPunks IP from Larva Labs, and distributed these IP rights to the Punk holders. This had already been done for the Yuga Labs’ other PFP projects. The holders of any of these projects own commercial licensing rights for their individual avatars.
Holders can do things like create media or sell swag related to their avatars. For example, two Bored Ape holders created a music video featuring their apes as DJs in an animated video, which, by the way, could be purchased as limited edition NFTs on Glass Protocol.
Yuga Labs has plans to create a metaverse game around these assets, called Otherside. Ape holders can claim land to own in the Metaverse and their avatars will become in-game characters. ApeCoin will be used in-game, and land plots were also sold in a public sale to onboard others into the BAYC ecosystem.
Let’s take a step back and talk about intellectual property (IP). IP embeds itself in global culture when it becomes popular enough. Think of the universal familiarity of the following cartoons. When you see Buzz Lightyear, you think “Disney”. When you see Batman or Superman, you think “DC Comics”. When you see Iron Man, you think “Marvel”. This IP is worth billions because movies and other products can be spun off of it, and attract fans into perpetuity. Soon, when you see an Ape, you may think “BAYC”.
The unique thing this time is that Web3 gives individuals the ability to directly own this IP. Holding an Ape gives someone partial ownership of the BAYC “brand” as a whole. Not only do they get to leverage the recognizability of the BAYC brand when commercializing their individual avatars, but it’s likely that BAYC revenues (from movies, metaverses, and video games) will get streamed to Ape holders. This is groundbreaking stuff.
Most collections will not reach mainstream, ultra-famous status, but decentralized brand ownership can be used by communities of any size. This gets into the idea of micro-economies, which Web3 uniquely enables with its mechanisms for decentralized governance and alignment of member incentives.
So far we’ve talked about one-of-a-kind, or limited edition cryptomedia, and decentralized brands centered around cryptomedia IP. Now, let’s talk about a niche of cryptomedia: generative art.
5.3 – Generative Art
The cryptomedia discussed so far is first produced by an artist, and then minted into an NFT. Thus, the media exists before the NFT is minted, and the NFT simply points to that media. Generative art is different in that the artist builds a computer script that generates art. The generative script itself exists as an NFT on the blockchain.
Like PFPs, generative art typically exists as a collection. The script outputs similarly-themed cryptomedia; however, no two pieces are the same in a collection. The script passes in random numbers that modify its output, and ensure unique cryptomedia. This means there is an element of surprise every time a piece is generated – the minter is not exactly sure what he will get.
Generative art has been called “art on-demand” because anyone can call the script to generate a new piece. In other words, an autonomous script can produce an infinite number of similarly-themed pieces. You may wonder why anyone would ever be willing to pay for something like this. Value capture is made possible by limiting the number of NFTs a script is able to mint.
Chromie Squiggles is a good example of a successful generative art collection. The collection consists of 9175 animated, unique squiggles that were all generated by the same on-chain script. Back when it was released in November 2020 it cost 0.035 ETH (~$18) for users to mint. Now, the script has reached its limit of mints (i.e. 9175), so the only way to obtain a squiggle is by purchasing it on the secondary market.
Now the floor price for a squiggle is around $8000; however, some squiggles are more rare than others. A rare hyper-pipe squiggle (Chromie Squiggle #3784) was purchased for $2.44M at its high. Other highly popular generative cryptomedia collections include Cherniak’s Ringers, Autoglyphs, ge1doot’s Ignition, Zeblock’s Unigrids, and Tyler Hobbs’ Fidenza. EulerBeats is an example of generative audio-visual art.
Art Blocks curates generative art collections, and hosts drops on the platform. Like other curated NFT marketplaces (e.g. Nifty Gateways) collections are announced ahead of time, and there is a countdown to when users can mint an NFT within a collection.
5.4 – Programmable Art
While on the topic of innovative new art forms, let’s talk about “programmable art”. This is cryptomedia that is dynamic in appearance and can change over time. Changes can occur either autonomously based on factors like time of day, weather, and market prices, or from deliberate changes made by the owner of the programmable art.
For example, a cryptomedia piece called Block 21 changes twice per day to reflect day and night. It consists of two states – day and night – and there is a “master” that displays the cryptomedia’s current state. The master cycles through the various states, and this is how the cryptomedia “changes” over time. Another example is EthBoy that displays differently based on the price movement of ETH cryptocurrency.
Also, programmable art is sometimes made up of layers. The layers, when added together, make up the master. Whenever a change is made to one of the layers, the master updates with that change. The catch is that each layer, and the master, is an individually-ownable NFT. Layer owners get to decide if, when, and how to update their layer, thus affecting the master. Async Art is a marketplace for purchasing these layers.
First Supper was one of the first successful pieces like this. It’s a master NFT that is composed of 22 layers that are each themselves NFTs. These layers can be updated by state changes, scaling, rotation, and opacity to name a few.
Async Art gives users the ability to preview a cryptomedia’s various states. For example, this Elise art changes each hour of the day so users can click through and see each of the 24 states.
Async Art also offers free apps for digital art display on AppleTV or Netgear’s Meural that supports these dynamic NFTs.
Music can also be made into programmable art. Songs are composed of stems like vocal, bass, and treble. Async Art turns these stems into individually-ownable NFTs. Stem owners get to decide to toggle their stem on or off, or switch the stem to a different variation. This, of course, alters the master track. For example, the “Ride or Die” master track shown above is composed of 4 stems: Piano, Drums, Vocal, and Synths. And the Synths stem has 3 variants, which the owner (currently PLS&TY) can switch at any time.
OG:Crystals is another cryptomedia project that evolves over time. It consists of 10,301 3D-crystals that start out as a seed, and evolve into a new crystal everytime the crystal is transferred to another Web3 wallet. A generative script adds new structure to the existing crystal. Three months after the initial drop, the crystals were frozen, and could never be changed again.
Kanaria is another interactive cryptomedia project. It’s a unique PFP collection because all the avatars start as eggs that eventually hatch into birds. Leading up to the hatch, users can send emojis, via Web3 wallets, to eggs (i.e. Kanaria NFT) in order to influence the characteristics of the resulting birds.
The number, and types, of emojis an egg receives influences the probability of the resulting bird exhibiting certain attributes, and levels of rarity. For example, emojis can affect the bird’s physical appearance like color, body, eyes, and background. Also, birds are hatched with accessories.
The unique thing here is that the accessories themselves are NFTs, and the bird (parent NFT) can technically own the accessory (child NFT). This is called “nesting”. Accessories can be transferred to other birds, and when equipped, alter that bird’s appearance and utility.
Kanaria uses a new NFT standard called RMRK (pronounced “remark”) that enables this new functionality. The Kanaria project can be thought of as a proof-of-concept for RMRK. It all goes much deeper than what has been described here, so take a look at how RMRK expands the NFT design space with new use-cases, particularly in gaming.
RMRK is a new standard for NFTs in the Substrate ecosystem. New functionality is being developed for Ethereum NFTs as well. Charged Particles supports nested NFTs, ReNFT and EIP4907 support NFT rentals, and, as stated several times before, Zora is building orderbooks directly into NFTs.
5.5 – Music NFTs
Cryptomedia presents a new, and better way, for artists to monetize their works. NFTs make digital files “collectible”, thus acting as a value-capture mechanism for digital art. This has enabled some digital creatives to earn a living from their work for the first time. Many believe cryptomedia has the power to revolutionize the music industry in particular.
Music streaming is king these days, and large platforms like Spotify and Apple Music dominate. Artists are somewhat forced to list on these platforms in order to be discovered and grow their audiences; however, these platforms extract most of the value from the fan-artist relationship, and offer artists low commissions on their work. For example, Spotify pays only $.0037 per stream. This means that only the top artists with large audiences can make a living on streaming platforms.
This is starting to change with Web3. As Li Jin argues, now creators only need “100 true fans” to earn a living. It only takes each fan buying $1,000-worth of content per year for that creator to earn 6-figures. This has already begun to happen with music cryptomedia.
Now true fans can verifiably own limited edition, or 1-of-1, songs by their favorite artists. This opens a new revenue channel for artists, and is additive in that artists can still earn money on streaming platforms. Also, Web3 makes it easy for artists to set royalties on their music, and any other kind of cryptomedia. This is actually another revenue channel for artists. Setting royalties ensures that artists receive a cut of all secondary sales of their cryptomedia. The artist specifies their Web3 wallet address, and royalty payments are automatically routed to this address, into perpetuity.
Catalog is a popular marketplace for purchasing music NFTs, and as @Coopahtroopa has pointed out, top artists on Catalog have already begun to eclipse their streaming earnings. Artists mint their songs as NFTs, and list them either as a reserve auction or buy-it-now offer. This is the first time that artists have been able to make their MP3s scarce, and fans have been willing to spend thousands of dollars to own one of these audio collectibles.
Sound is another music NFT marketplace with a unique twist. Artists list their music as limited edition songs, so there are multiple owners. There is a listening party when a song drops on Sound, and the owners get to write a comment at whatever timestamp they chose.
Artists sometimes add in other benefits for owners of their song cryptomedia. For example, one of the song owners above will win two free tickets to Kacy Hill’s upcoming, live performances.
Arpeggi is another notable Web3 music project. They have uploaded music onto the blockchain for artists to sample and create their own on-chain music with.
Audius is a Web3 music streaming platform aiming to be less extractive than the current Web2 streaming platforms already discussed. Audius promises 90% of its revenues to the artists who upload their music to it. For example, Audius rewards artists with $AUDIO tokens if their song or album starts trending. The creators of trending playlists also get rewarded, so there is now financial incentive to curate music.
Cryptomedia redefines the relationship between artist and fan. Ownership of an artist’s cryptomedia aligns you with the success of that artist. As an artist’s popularity grows, his cyptomedia, purchased back when he was less known, will rise in value. This leads to a “buy-and-retweet” phenomenon where cryptomedia owners promote their artists, at least partially, because there is financial incentive to grow that artist’s success. a16z venture capitalist Jesse Walden terms this “Patronage+”.
This segues into another music NFT-related project called Royal Music. Artists sell a portion of their songs’ royalty rights. This is an extension of everything we’ve talked about before. Fans can now directly own a portion of the revenue that a specific song or album generates.
5.6 – Bootstrap Creative Projects
Mirror is a Web3 project revolutionizing the publishing space with “writing NFTs”. It’s perhaps best described as a blogging platform that allows creatives to mint their posts as cryptomedia (1 of 1 or limited edition) that can be sold in auctions or at a flat price. Additional functionality is built into Mirror, like “splits”. The publisher can specify other wallet addresses so that contributors automatically receive a cut of the cryptomedia’s sales.
Mirror also supports crowdfunding. Creatives make a Mirror post about their project, and embed a crowdfunding block in the post. This allows users to fund the project with ETH, and receive $PROJECT tokens in return. The project’s fungible token tracks the user’s contribution to the project, and the creative decides how these funders are rewarded in the end. Creatives can set funding tiers, so if a user contributes more than 1 ETH, for example, he belongs to Tier 2, which entitles him to a hardcover copy of a book once it has been published.
Mirror crowdfunding is an efficient mechanism for bootstrapping creative projects. It has already been used to fund an Ethereum video documentary, fictional novel, and Ukrainian relief program.
Creatives can quickly raise crypto for funding their project, and the $PROJECT token organizes a community around the project. For example, the $PROJECT token can give holders access to exclusive, project-related Discord channels, or be used to make project decisions by voting on Snapshot.
Owning an NFT does not necessarily mean you own the IP to that NFT. In fact, you do not own the IP unless it has been explicitly stated otherwise. You can own a painting, but that doesn’t mean that you own the IP so that you can sell reprints, for example. The artist still owns that IP.
IP-NFTs are already in use today. A DAO funded a biomedical research study by purchasing the study’s IP-NFT. This transferred full legal IP rights to the DAO, gave the DAO access control to the resulting scientific data, and entitled the DAO to any downstream patents resulting from the study. This crowdfunding approach could disrupt the current fundraising environment for scientific research.
Molecule is an IP-NFT marketplace for funding such biomedical studies. In general, clear differentiation between ownership NFTs and IP-NFTs will become more commonplace, especially on marketplaces that need to make clear exactly what rights an NFT confers to its owner.
5.7 – Future of NFTs
NFT fractionalization and financialization is another emerging trend right now. Let’s start with the first term.
NFTs, by design, are single tokens that only one person owns at a time; however, emerging tooling make it so that NFTs can be broken into fungible tokens that represent fractional ownership of the underlying NFT.
One problem NFTs suffer from is lack of liquidity, especially on higher-priced cryptomedia like BAYC Apes. There are few people who can afford to purchase an entire Ape, but fractionalizing that ape into 1B tokens makes it affordable for small investors to get exposure. These fungible tokens represent partial ownership of the NFT, so they increase in price when the underlying NFT increases in price.
Users can lock their NFTs in a vault, and withdraw fungible tokens in return. This can be done on Fractional and Unicly.
NFTX is another protocol that pools multiple NFTs together for people to invest in like an index fund. Checkout the PUNK vault that contains 141 floor CryptoPunks.
PartyBid allows users to collectively bid on NFTs. Groups of users, or “parties” target a specific NFT, and pool their funds together to place bids on that NFT. If the NFT is won, the NFT is fractionalized, and distributed pro-rata to the party’s contributors. Fun fact – PartyBid uses Fractional as part of its backend to fractionalize the NFTs.
Now holders of the fractional NFT tokens can vote on the minimum price they are willing to resell the NFT for, if at all. This token voting gives users a direct say in what is done with the NFT that they partially own, which brings us to the topic of DAOs, or decentralized autonomous organizations. PleasrDAO and PartyDAO are popular examples of collector DAOs. These communities collectively invest and manage popular NFT assets.
Fractionalization allows for NFTs to be used throughout the DeFi ecosystem. For example, fractional NFT tokens can be swapped on decentralized exchanges. This leads to better price discovery and liquidity, especially for high-priced NFTs. Also, these fractional NFT tokens can be used in other DeFi protocols, like as collateral in Aave. Highly popular cryptomedia has been used as collateral in the traditional finance world as well. Autoglyph #488 was used as collateral for a $1.4M loan. PawnFi and NFTFi are platforms related to the NFT collateral space.
6 – Decentralized Web Infrastructure
Storage is costly on blockchains, which makes it economically infeasible to store most NFT media on the blockchain itself. Instead, NFTs typically point to a media file that is hosted somewhere else; however, problems arise if the NFT’s media file is hosted on centralized storage like a web server or cloud drive. This defeats the purpose of a decentralized digital asset because whoever controls the server can alter the media that the NFT points to.
Most are familiar with the concept of a URL, or unique resource location. This is fundamentally how we navigate the internet today. We use URLs that point to websites and files that are stored, and served, by a centralized server. In fact, URLs specify the location of a file on the server. For example, look at the file path of the designWeb3 logo. The file resides in several nested folders such as “wp-content”, “uploads”, “2022”, and more. The link below would no longer work if I changed the name, or destination, of the file.
Now let’s apply this to NFTs. Say you purchased a rare dog NFT for several thousand dollars on OpenSea. And this NFT is simply a URL that points to the dog media file hosted on the creator’s web server. Not only can the creator delete the image entirely, resulting in a blank NFT, but he can also swap the dog image for a cat image. This calls the value of your NFT into question, doesn’t it? Luckily, emerging decentralized storage solutions remedy this.
6.1 – Decentralized Storage
It isn’t possible to have permissionless, censorship-resistant digital assets whose media and metadata are hosted on centralized cloud services offered by the likes of Amazon and Google. IPFS is a decentralized, peer-to-peer storage protocol where data can be replicated across multiple, globally distributed nodes. Companies, and their services, come and go but IPFS provides a more robust way to persist data over time due to its decentralized architecture.
IPFS also solves the problem of data authenticity with something called content-addressing. Whereas location-addressing specifies the path of a file, which can change, content-addressing assigns a unique ID to every file. Going back to the NFT example above, the dog image receives a unique content identifier (CID) when uploaded to IPFS. No other file in the world has the same CID. Even if we changed 1 pixel of the dog image, the CID of the altered image would be completely different from that of the original image. This is important for verifying NFT authenticity.
Decentralized storage sounds great, but how do we ensure that globally-distributed, independently-acting IPFS nodes continue to store our files? Storage comes at a cost, and although it’s free to upload data to an IPFS node, and distribute it to other nodes, there’s no guarantee that any of them will continue to retain our data, especially over long time periods.
The first solution is a centralized IPFS pinning service like Pinata and Infura. These are centralized companies that run IPFS nodes and ensure user data remains “pinned” on the nodes. The user experience is much like that of centralized cloud services from Amazon or Google. You start with some amount of free storage, and can opt for paid plans to expand your storage limits.
Next, there are decentralized networks like Filecoin, Crust Network, and Shift, that incentivize IPFS nodes to store data. Filecoin is by far the most popular decentralized storage protocol. Filecoin miners are essentially IPFS nodes; however, Filecoin adds an incentivization layer on top of IPFS.
Filecoin miners and users enter into storage deals, where the miner agrees to store a file for a certain period of time, paid for by the user with $FIL. Thus, Filecoin creates an open marketplace for storage. These protocols also ensure that nodes store files for the specified duration. The protocol challenges miners with random data checks, and miners are penalized if they fail these checks (i.e. Proof of Storage and Proof of Spacetime).
There are a suite of options for programmatically interacting with Filecoin. Lotus is the reference implementation of the Filecoin node that can be spun up locally. Alternatively, Glif and Infura offer hosted Filecoin nodes. Nodes are required to become a Filecoin miner and supply unused hard disk space to the Filecoin network. Filecoin nodes also give application developers fine-grained control of storage deals such as duration, maximum file size and cost; however, simpler APIs exist that make it easier for developers to integrate Filecoin storage into their dApp:
- Estuary – for larger-scale applications and migrating data from IPFS hot storage
- NFT.Storage – for NFT data
- Web3.Storage – for general application data
NFT.Storage and ChainSafe give end-users access to Filecoin storage with dropbox-like UIs. Storage is totally free at this time because of Protocol Labs’ subsidy program. All media types can be uploaded, and uploads are only limited to 32GiB per upload. Checkout some of the other exciting projects built on Filecoin.
Filecoin is by no means the only decentralized storage protocol although it has the most data stored on it by far. Other decentralized storage protocols include Sia/Skynet, Storj, Swarm, and DatDot (powered by Hypercore). They each have their own architectures but are similar in that they are contract-based meaning that storage deals eventually expire, and must be renewed to ensure data persists.
Arweave is a decentralized storage protocol with a completely different approach. Its main selling point is permanent storage, or “pay once, store forever”. Users pay an upfront amount that acts as an endowment for whatever they upload. Interest is generated on their principal, and used to pay Arweave miners for retaining the data. These incentives enable perpetual storage.
Also, data is continuously lost on the web as websites are taken down, companies go out of business, and services are discontinued. This refers to the problem of link rot where hyperlinks stop working and return 404-errors. Researchers estimate 43% of links no longer work from 2008, and 72% no longer work from 1998. Arweave combats this kind of data loss and seeks to archive all web data. Arweave calls this the “permaweb”.
And Arweave’s permanent, decentralized storage is particularly attractive for NFTs. Imagine purchasing an expensive NFT whose metadata and media are lost over the course of several decades. That is why popular NFT products like OpenSea, Glass Protocol, Mirror, Solana’s Metaplex, and Singular store NFTs on Arweave during minting.
Arweave won’t be the only player in perpetual storage for long. Filecoin has announced upcoming support for smart contracts, and one of the conceivable use-cases is smart contracts that automatically renew storage deals.
6.1.1 – Commonalities Amongst Decentralized Storage Protocols
Decentralized storage protocols all have some features in common. First, all of the data stored on these protocols can be referenced by their CID, or unique content identifiers. We already discussed the benefits of content-addressing versus location-addressing in terms of data authenticity.
Second, protocols have checks in place to ensure nodes correctly store data and abide by their lease terms so that data is retrievable throughout the duration of the lease term. Nodes are penalized when they fail these checks.
Third, data uploaded to these protocols are replicated across multiple nodes. This redundancy ensures that data can always be retrieved even if a portion of the nodes go offline. Also, nodes are penalized when they go offline, and their data is replicated on other nodes in order to maintain an adequate level of redundancy.
Finally, application ecosystems are forming around all these protocols. The main use-case is indeed decentralized storage, but offerings are expanding with smart contract capabilities, and more. Check out their ecosystems to learn more about how these decentralized protocols are being used.
- IPFS Application Ecosystem
- Arweave’s PermaWeb
- Dfinity Project Showcase
- Ethereum’s Swarm Ecosystem
- Filecoin Ecosystem
- Sia/Skynet
- Hypercore Protocol/Dat
Storage aggregators make it easy for end-users to access multiple decentralized protocols at once, which adds an additional layer of redundancy. Filebase is a centralized service where users start with 5GB of free storage, and can upgrade this limit with paid plans. Each upload distributes user files across IPFS, Storj, and Sia. Pinata does the same by pinning data to IPFS and Filecoin. And, NFT.Storage deploys NFTs to IPFS pinning services, Arweave, Storj, and even centralized cloud storage like AWS.
6.2 – Decentralized Compute
There are also P2P compute protocols where suppliers lease their unused CPU/GPU cycles, providing compute to consumers. Blockchain mining is one immediate use-case for this. Currently, the majority of blockchain miners and validators are hosted on centralized cloud platforms, which undermines the security and decentralization of blockchains. Migrating blockchain nodes over to decentralized compute platforms solves this problem.
Also, high-performance computing is needed for video transcoding, graphics rendering, AI/ML, and computer simulations in fields like aerodynamics, materials research, semiconductors, and pharmaceuticals. Some general, decentralized compute protocols include:
- Akash (a Cosmos blockchain)
- Phala (a Polkadot parachain)
- Golem (it’s own blockchain)
- CUDOS (Ethereum smart contracts and L2 compute nodes)
There are also a couple specialized compute protocols. Render Network is focused on providing GPU compute for graphics rendering. Render has been integrated into 21 digital creation tools including the likes of Blender, Autocad, Unity, and Unreal Engine. Creators are able to submit their render jobs directly to Render Network. Beeple, perhaps the world’s most famous NFT artist, is using Render Network for rendering, and archiving, his art.
LivePeer is another decentralized compute network specialized for transcoding video streams into viewable formats. This enables video on-demand and live streaming for applications like decentralized social media or decentralized YouTube.
A related topic is data privacy during computation. Compute nodes can employ a variety of solutions to ensure data privacy such as AMDs SEV (virtualization) and Intel SGX (hardware execution in TEEs).
We’ve talked about decentralized storage and decentralized compute. Adding them together gives us a decentralized cloud on which to host websites and web apps. This brings us to a decentralized internet, which can be argued is at the heart of Web3.
As a quick note, Dfinity’s Internet Computer (IC) is a major Web3 project with the goal of decentralizing the internet as a whole. Dfinity plans to do this by decentralizing pre-existing data centers, and using a blockchain for the trustless execution of smart contracts.
It’s difficult to categorize Dfinity and other previously mentioned protocols as either storage or compute because they blend together. For example, Filecoin is adding GPU computation markets to its decentralized storage offering.
6.3 – Decentralized Cloud
Let’s review why it might be advantageous to use the decentralized cloud (compute + storage) for hosting websites or web apps.
First, decentralized storage and compute, even in these early stages, are showing massive cost reduction compared to that of centralized services. Akash’s compute is 3x cheaper than centralized compute, and Filecoin offers 90% cost reduction compared to centralized storage. These decentralized services create open markets where suppliers compete for storage and compute deals. This drives down the cost for resource consumers.
Second, an application that is only partially decentralized will be as weak as its centralized components as these components always represent potential censorship vectors. Take Uniswap for example. Uniswap has a fully decentralized backend with smart contracts deployed to Ethereum; however, its frontend was hosted on centralized servers. Consequently, Uniswap was pressured by the US government to delist tokens from its frontend. This means the government was able to censor Uniswap for end-users who rely on its UI.
Finally, new business models are made possible when websites and web apps are hosted on decentralized protocols. Application developers can receive crypto micropayments for every website visit. This functionality is native on Sia’s Skynet. Also, when a dApp launches on Arweave, developers can mint profit sharing tokens, or PSTs. PST holders get streamed crypto every time someone accesses the app. Koi, an application building on top of Arweave, allows for the monetization of NFT views, streamed to the NFT owner.
6.4 – Decentralized Web App Stack
Akash and Fleek bundle multiple Web3 technologies that fully decentralize the web stack. Fleek is more focused on streamlining webapp deployment for developers. Spheron Protocol is an alternative to Fleek. These services are still being built out, but roadmaps are clear and features include:
- Decentralized hosting and content delivery (IPFS)
Utilizes the P2P content delivery of IPFS as opposed to HTTP requests sent to centralized servers; however, users are still able to access content from internet browsers through IPFS gateways and browser plugins. Also see Sia’s Homescreen, which allows users to download, and version-control frontends.
- Decentralized storage of application & user data (Filecoin/IPFS, Sia/Skynet, Storj, Filebase)
This relies on Web3 database technologies like Textile’s ThreadsDB, GunsDB, and OrbitDB, which abstract IPFS and make it similar to using Web2 databases like MySQL. There is an emphasis placed on user-controlled data, enabled by client-side encryption that ensures only the user has access to read/write his data by default. This obfuscates user data from the application, and is different from how it’s currently done in Web2 with server-side encryption and centrally-managed encryption keys. Also, see Sia’s SkyDB and Ceramic protocol.
- Decentralized compute for application frontends & middleware (Akash)
Provide the compute necessary to host middleware like RPC endpoints and application APIs. Also, compute is needed for dynamic web apps and server-side script execution to update frontends based on user interaction.
- Decentralized naming services (HNS, ENS)
The current domain naming service (DNS) is centrally managed. Decentralized options like Ethereum Naming Service (ENS) and Skynet’s Handshake (HNS) have the potential to replace DNS.
It’s worth mentioning several other decentralized middleware technologies that enable fully decentralized web apps.
Decentralized applications must be able to read and write to the blockchain. Messages are sent to the blockchain through RPC endpoints, and client-side SDKs (e.g. Web3.js and Ether.js) are used to make calls to these endpoints. There are a variety of ways to access RPC endpoints:
- Run local nodes
- Centralized node as a service (e.g. Infura, Cloudflare)
- Decentralized node as a service (e.g. Pocket, Ankr)
Running a local node complicates a dApp’s architecture and makes downtime more likely with reliance on a single node. Hosted nodes add in centralization risk as service providers can censor incoming transactions and manipulate outbound data. Pocket and Ankr seek to solve these problems by providing a decentralized network of RPC endpoints.
Next, blockchain and smart contract data are natively stored in a way that is inconvenient to query. For example, a futuristic dApp may want a list of all the wallet addresses that own a CryptoPunk NFT to target them with advertising. This query, “return all the wallet addresses that own a Punk”, would be extremely cumbersome to make on native Ethereum data. In fact, some queries would require that we search through the entire Ethereum blockchain (~1TB and growing), which is much too slow. Data indexing solves this by providing a more efficient means of reading blockchain data.
Indexing CryptoPunk’s smart contract would result in something like a table with 10,000 rows representing each of the NFTs, and columns representing NFT metadata like token ID, owner address, tokenURI, and more. Anyone could index the smart contract, and host the resulting table as an API on their server, but this adds centralization back in.
The Graph protocol provides a means for decentralized data indexing. Indexers are nodes on the Graph network that index smart contracts, resulting in subgraphs. Now data consumers can query these subgraphs, which are basically smart contract APIs, and pay query fees to the indexers for doing so. There are also mechanisms in place that penalize indexers if they serve incorrect data to consumers. This incentivizes data integrity.
Some believe Graph is the “Google of Web3”, because it indexes many blockchain ecosystems as well as decentralized storage protocols like IPFS and Arweave. This is getting into the territory of a project called Origin Trail, which is creating a decentralized knowledge graph (DKG) for linking physical assets with digital Web3 assets. Tableland is another innovative project when it comes to Web3 data middleware. It gives developers the ability to build relational tables directly into NFTs, enabling SQL read/write operations.
Lastly, some dApps want the ability to communicate with centralized services, and the real-world. For example, there are Web3 betting platforms where people bet on the price of a cryptocurrency in the future, or the result of a presidential election. The smart contract needs an external data feed in order to determine the outcome, and distribute funds accordingly.
Oracles provide this service. Smart contracts read real-world data feeds from an oracle and, on the other hand, oracles can export blockchain events to the real-world. Use-cases include asset prices for finance, weather/accident information for insurance, randomness for gaming, IoT device data for supply chain, ID verification for government, and more.
However, there are two problems with single oracles. First, there’s a reliability problem. If the oracle goes down then the smart contract won’t have the data needed to function. Second, it adds in centralization risk, and the oracle owner can tamper with the data feed and thus manipulate the smart contract.
This implies that we need a decentralized oracle network like Chainlink that aggregates data from multiple nodes. Also, there’s a concept of node reputation based on the node’s previous performance in terms of data accuracy and availability. This incentivizes honest behavior amongst oracle nodes.
6.5 – Decentralized Connectivity
Okay, let’s take a step back. We’ve talked about the decentralized cloud, and decentralized web app stack. But what about the oligopolies that control telecommunications networks, and are responsible for building and maintaining the internet’s physical infrastructure (e.g. cellular towers or cables)?
It’s difficult to compete with legacy telecom companies like AT&T and Verizon, because telecommunications networks are expensive to set up. The commercial rights to broadcast on a portion of the electromagnetic spectrum (i.e. frequency range) must be purchased from the government. And custom hardware and software must be developed for broadcasting data at these specific frequencies.
Because of this we must accept the business models and quality of service imposed on us by current telecom companies. As an example, IoT use-cases suffer under the current regime. It costs about $8/month to provide cellular connectivity to a single IoT device. This makes large IoT networks prohibitively expensive to deploy. Other network protocols like LoRaWAN exist that are better suited for IoT use-cases; however, this represents another major capital expense for telecom companies to deploy the infrastructure necessary for such networks.
Several Web3 protocols have proven an alternative to network building by bootstrapping the supply-side of a network with crypto incentives.
Helium is a Web3 protocol that has already bootstrapped a LoRaWAN network for IoT devices; although, Helium is expanding into other network protocols including 5G, WiFi, CDN, and VPN. It wants to be the “AirBnb of telecommunications networks”.
Anyone can purchase, and set up, a network hotspot that increases coverage and supplies the network with bandwidth. Suppliers are rewarded crypto for doing so. Data consumers are incentivized to join the network as coverage increases and the cost of connectivity is shown to be cheaper than that of legacy providers.
Pollen Network is competing with Helium to bootstrap a decentralized cellular network with 5G hotspots. Andrena and Althea enable neighbors to supply internet access through a decentralized WiFi network.
Just to recap, these protocols are all similar in that crypto rewards incentivize people to set up antennas at their place of business or residence. This is effective for bootstrapping the physical infrastructure of a telecommunications network, creating a mesh network of hotspots that compete with legacy networks on coverage and cost.
6.6 – Location-Based Services
So far we’ve discussed decentralized storage, computation, and connectivity. Web3 protocols are also being used to support a medley of location-based services, which include:
- Foam Protocol – a decentralized network of radio beacons that can verify someone’s physical location on-chain. This supports several use-cases like mobility and transportation, location-based gaming, and supply-chains.
- Hivemapper – a decentralized network of 4K dash cams that provide imagery to an for an up-to-date Google Street View service. Developers can access this open API to request images, directions, and more.
- DIMO Network – a decentralized network of devices that connect to cars and transmit mobility data. Developers can build new mobility applications on this real-time dataset for car maintenance and insurance purposes.
- WeatherXM – a decentralized network of weather stations that improve local weather forecasting to support applications in agriculture, energy, outdoor sports, maritime, and more.
- Planet Watch – a decentralized network of air-quality sensors for detecting pollution hotspots and trends.
7 – Self-Sovereign Identity
Think of all the internet applications you use. You might use several messaging apps like Telegram and Discord, several work apps like Notion and Google Docs, several social apps like Twitter and Instagram, and several media apps like YouTube and Netflix.
And you have a separate identity for each of these applications. You must sign-in to each in order to access your profile and application data like message history, work documents, social connections, and video recommendations based on your viewing history.
We have become used to this notion of fragmented identity across the internet. Users manage many different usernames and passwords, and application data often is not shared between applications. Signing up to Twitter, Instagram, and LinkedIn requires that users build their connections up from scratch three separate times.
Companies are incentivized to not share data with other applications in order to lock users in and capture more value with proprietary datasets. Not only that but user datasets are often sold to advertisers looking for better ways to target customers with their messaging. Thus, applications are free for users on the surface, but user data and attention are mined to generate massive profits for Web2 companies. Users are forced to abide by these exploitative data sharing policies if they want to continue using the service.
Let’s start with the base case where a user is prompted to sign-in to a new app with a custom username (usually email) and password. This is the centralized identity of Web1. Sign-in credentials are specific to this one application, and user data accumulates on the application’s servers, which is not shared with third-party applications.
This still exists in some places, but most web apps have moved to federated sign-in, also known as “single-sign on” (SSO). Rather than creating a new username and password for each application, users are able to sign-in to a third-party application by reusing credentials from another application (e.g. Google account). This is an improvement on Web1 login because it reduces the number of unique usernames and passwords that users manage, but it comes at the price of privacy. SSO providers can see all the third-party services a user signs into.
Users do not control their identities in the above two examples. Their sign-in credentials and application data are stored, controlled and owned by centralized companies; therefore, companies have the ability to sell user data, censor user content, and deny service to users altogether. The fundamental problem is that a user cannot create and manage his own digital identity separate from any single application.
Web3 is ushering in a new paradigm of decentralized identity, or self-sovereign identity (SSI). In the same way that Web3 allows users to custody digital assets like cryptocurrencies and NFTs, so too will users custody their digital identities. The user will be in full control of his digital identity, allowing him to access his private data, communicate with other identities, and establish visible reputation and credibility – all without reliance on a third-party. The user will also own his application data like never before. By default, application data will be portable between dApps, and dApps will have to request data access from the user. This empowers the user with data privacy guarantees and opt-in data monetization opportunities.
7.1 – Decentralized Identifiers (DIDs)
DIDs, or decentralized identifiers, are fundamental in the self-sovereign identity movement. They can be used to identify a number of different entities such as people, institutions/companies, and IoT devices. In fact, entities will likely have multiple DIDs for use in different contexts. A person might have a separate DID for personal, professional, and financial use-cases. The DID itself takes the form above.
And DIDs are resolved, or point to, DID Documents, which are JSON files that contain the DID’s public key, verification method, and service end-points. Users express control of their identities by creating and modifying these DID Documents. Keys that control the DID can be added or removed from the DID document, and service end-points can be modified as well.
Let’s take a step back and discuss where these keys come from. DID-enabled wallets utilize the same public-key infrastructure (PKI) that crypto wallets do. A public-private key pair is generated on a user’s device. The public key is recorded on the user’s DID Document, and the private key remains secured on the device.
This private key is what is used to prove control over the DID and the credentials associated with the DID. A user signs a message with his private key, and this signature is checked against the public key. Such cryptographic verification can be done by anyone, which frees the individual from relying on third-parties, like a certificate authority, to vouch for him.
7.1.1 – DID Methods
DID Documents must be accessible so that third-parties can get the information needed (public key & verification method) to verify a given DID. Thus, DID Documents cannot only be stored locally. Also, DID Documents must be stored so that users can create and modify them in a permissionless and decentralized way. In other words, there needs to be a verifiable data registry for DID Documents so that verifiers can resolve DID Documents and users can perform CRUD operations on their DID Documents. This is where blockchains and decentralized storage (IPFS) come in.
The Sidetree protocol solves the problem of a verifiable data registry by storing CRUD operations on IPFS, and anchoring the IPFS commits on a blockchain. There are a variety of Sidetree implementations that anchor to different blockchains including Bitcoin (did:ion), Ethereum (did:ethr / did:elem / did:3), Kilt (did:kilt), and many more. This allows users to perform CRUD operations on DID Documents such as key rotation and service end-point modification. Just as an example, if a user loses his device, and the private key stored on it, he would want to update his DID Document with a new public key that matches the key pair on this new device.
Sidetree nodes first upload DID operations to IPFS and then anchor the IPFS CID on a blockchain. Thus, IPFS persists data and the blockchain anchors act as timestamps for DID operations. This allows Sidetree nodes to time-order operations and replay them to reconstruct the up-to-date state of a given DID Document. Also, nodes only accept DID operations from the DID owner by checking digital signatures. This is what fundamentally enables a user to “control” his identity.
DID networks inherit the trust assumptions of their underlying blockchain. Bitcoin and Ethereum are public and permissionless. ION and Ceramic are two DID networks that utilize Bitcoin and Ethereum, respectively. There are other DID networks that use public and permissioned blockchains (Sovrin and HyperLedger Indy), and private and permissioned blockchains (Corda and Hyperledger Fabric).
There are other DID methods that do not rely on Sidetree implementations to manage. Some DID methods (did:pkh and did:key) do not have mutable DID Documents, and are said to be self-referencing. Obviously these are simpler to implement, but the downside is that DID keys cannot be rotated and service end-points cannot be specified in the first place. Some other notable DID methods include did:web, did:ens, and did:nft.
DID wallets are not only responsible for generating and managing DIDs, but also for managing verifiable credentials (VCs).
7.1.2. – Verifiable Credentials (VCs)
Aside from cash, physical wallets hold a person’s credentials like his driver’s license, library card, medical insurance, and more. And these physical credentials represent claims about the person, and what services he has access to. A valid driver’s license permits a person to legally drive, and a library card gives a person access to checkout books at a public library.
Verifiable credentials are the same in principle to physical credentials – they are claims about the holder; however, they are digital and make claims about a specific DID. VCs have several unique properties.
- VCs are issued/revoked immediately as they are digital
- VCs follow a schema that make them machine-readable, verifiable by anyone, and portable across applications
- Issuers digitally sign verifiable credentials which proves authenticity of authorship. This is what makes a VC “verifiable”. A verifier can check the issuer’s digital signature against the issuer’s public key (listed in the issuer’s DID Document)
- The signature also makes the VC tamper-proof, so any change to the VC’s content would invalidate the VC.
- Finally, VCs are privacy protecting compared to normal credentials. A VC might have multiple claims about a user (e.g. age, nationality, SSN), and the user can decide which claims to selectively disclose to a verifier, without disclosing all claims at once.
- Also, VCs and zero-knowledge proofs (ZKPs) are being integrated so that a user can prove something about himself without revealing the data that supports the proof. For example, someone can verify that I am over 21 years olds (true/false) without receiving my actual age. This reduces the amount of data given up by users to access services, and has the net effect of privacy preservation.
On a technical level, verifiable credentials are JSON files made up of:
- Metadata (Issuer DID, issuance data, expiration date, etc.)
- Claims (Subject DID + Claim 1 + Claim 2 + Claim 3 + …)
- Proofs (cryptographic signature and keys for verification)
There are three entities involved when it comes to verifiable credentials: an entity that issues VCs, an entity that verifies VCs, and the holder of a VC. At a high-level, an issuer issues a VC to a holder, and signs the VC with its private key. This signed VC is sent to the holder and stored in the holder’s DID wallet. When the time comes, the holder signs the VC, and presents it to a verifier. The verifier is able to check both the signature of the user and the signature of the issuer by resolving both of their DID Documents.
In the example above, Alice needs to prove that she has a bank account (left) with Acme Bank to access a service from some other financial institution (right). Acme Bank issues Alice’s DID a VC with two claims, Alice’s name and account number. Finally, Acme Bank signs this VC, and sends it over to Alice’s DID wallet. On top of this Alice signs the VC with her wallet and presents it to the other financial institution. The financial institution queries ION with both Acme Bank’s and Alice’s DID in order to resolve their DID Documents. Now that the financial institution knows their public keys, it can check their digital signatures and verify that the original VC was indeed issued by Acme, and presented by Alice.
Now we have a good understanding of the decentralized identity ecosystem composed of DIDs, DID Documents housed in verifiable data registries (e.g. ION), and VCs held in wallets that make claims about a given DID. Similar to how crypto wallets are the main interface for interacting with blockchain, DID wallets are the main interface for interacting with decentralized identities. Eventually, crypto wallets and DID wallets will be combined. A private key, public key, blockchain address, and DID will all be generated when onboarding to a wallet.
For now, DID wallets are a category of their own. Nomios is a good example of a DID wallet. It is a cross-method DID wallet that aggregates multiple identities into one UI. Some other wallets include SpruceID’s Credible, Dock (iOS), and Bloom (iOS).
There are also many DID clients available that allow developers to integrate VC verification, issuance, and signing into their application. Some notable DID SDKs include SpruceID’s cross-method DIDKit, Nomios’ IDM SDKs (Wallet, Client, Bridge), Bloom’s SSI SDK, and tbd’s Web3 SSI SDK/Service. Crucible’s Emergence SDK brings DID functionality to game developers so that gamers will have DIDs that control their avatars, and data like achievements and in-game items.
Soon, wallets and Web3 dApps will be equipped to handle decentralized identity with the following functionality:
- Manage identity – create identities using a preferred DID-method
- Manage verifiable credentials – view, add and remove VCs to and from a wallet
- Digital signatures – with session private key or device private key
- Verify signatures – verify an artifact signed by a session private key or device private key
- Authenticate users – a sign-in mechanism so that dApps can persist sessions and provide a custom experience to returning users (more on this below)
- Authenticate dApps – applications will pass the wallet its DID and signature, so that the wallet can verify the authenticity of the site
Enterprises like colleges, governments, or certificate programs often need to mass issue credentials to those they serve. Many organizations today still mail physical credentials, which means issuance is not instant and fraud exists because physical credentials are subject to fraud with counterfeit documents. Issuance platforms make it so that organizations can instantly send out cryptographically secure VCs en masse. Some specific examples include Transmute’s Verifiable Data Platform, Dock’s Certs Platform, and Affinidi Console.
There also exists VC issuance as a service. Civic, Fractal, and BrightID are three such examples and issue credentials related to know-your-customer (KYC) and proof-of-personhood. Specific VC offerings include:
- Know-Your-Customer (KYC) – Connect identity documentation to DID (passports, drivers licenses, etc.)
- Liveness – Is this DID a human?
- Uniqueness – Is this DID a unique person?
- Location – Where is the user located?
- Sanction screen – Is the user a sanctioned person?
Civic offers a UI called Civic.Me where you can lookup a user’s wallet address, and see the credentials Civic has issued to that wallet. Civic is actually not DID-based, but on-chain and smart contract based. More on this later.
VCs are most applicable in the DeFi sector right now. These VCs are sent to a user’s crypto wallet, which gives access to permissioned token launchpads and exchanges that are required to KYC their users. Verite and Violet are two projects that specialize in this. Also, VCs can be used as a credit score mechanism. Tracking credit score in this way can give crypto users access to under-collateralized loans, as opposed to the capital inefficient, over-collateralized loans that currently plague DeFi (ArcX and Bloom). Also, proof-of-uniqueness, liveness, and personhood can be used to limit bots from accessing NFT mints and token airdrops
7.2 – Decentralized Web Node
Verifiable credentials are stored in a DID wallet on the user’s local device. This is okay for ad hoc verification where the user wants to provision a service and must manually present a VC to a verifier in order to do so; however, we need an easy way of discovering and interacting with other DIDs and VCs, and local storage doesn’t provide this. Also, what if we want to use a DID wallet across multiple devices so that our VCs automatically sync between a smartphone and computer, for instance? This brings us to the concept of a decentralized web node (DWN), which is the final component in the DID ecosystem.
DWNs serve as a message relay and data storage mechanism controlled by a given DID. Data related to a DID, such as VCs and application data, will be stored on the cloud. This allows the user to access his identity data from any device. All data will be private and encrypted by default, but users can choose to publicly expose VCs. Other entities can locate this public data by navigating to the user’s DWN, referenced as a service end-point in the user’s DID Document. This unlocks many P2P use-cases.
Let’s look at the most simple example of a DWN in action. Alice has the DID of a bank she is interested in using, but first wants to verify the bank’s charter. This charter is represented as a public VC exposed on the bank’s DWN. Alice finds the bank’s DWN from its DID Document, queries the endpoint for the charter VC, and verifies the charter.
DIDs and DWNs also enable P2P, encrypted messaging. A sender can encrypt a message with a recipient’s public key, and send this encrypted message to the recipient’s DWN. The recipient’s DWN could then decrypt the message using the recipient’s private key, and relay this decrypted message to the recipient on his device. The recipient would go through the same process in order to respond to the original sender.
Finally, we can imagine hosting user-controlled application data on DWNs. This enables users to store their own application data as opposed to data being locked in the application’s server. Application data is private by default on a user’s DWN, but the user can selectively give applications read/write permissions. This is a complete reimagination of current web app architecture, and is termed by tbd as “decentralized web apps”.
Data is made interoperable between applications. Music playlists, listen history, and song likes can be recorded on one application, and ported over to another application that might apply different algorithms for song recommendations. The same can be done for your connections and group memberships across multiple social media apps.
Planning trips requires multiple apps. You book your flight, hotel, car rental, and dinner reservations all on different web apps. We can give all these service providers access to our trip data so, if we change our flight date, then our travel and rental car dates can automatically update accordingly.
Finally, I would be remiss not to talk about tbd’s Web5 initiative. Tbd is a subsidiary of Twitter, and they have envisioned an entire Web5 ecosystem built around decentralized identifiers and decentralized web nodes. They are building out SSI-related SDKs, but the first major consumer product will be tbdDEX, a decentralized on-ramp into crypto.
This decentralized exchange is built on top of DIDs, VCs, ION, and DWNs. Users can buy and sell crypto to participating financial institutions (PFIs) with message exchange facilitated by DWNs. PFIs will likely require KYC VCs in order to engage with users, but this depends on jurisdictions and is not an explicit requirement made by the tbDEX protocol.
7.2.1 – Ceramic and User-Controlled Data
Ceramic is an important project to highlight in this space. It’s an early implementation of a decentralized web node, because it facilitates DID-controlled, decentralized data storage. Ceramic is a decentralized network of data storage nodes built on top of IPFS. User-controlled data including DID Documents and application-specific data reside in Ceramic data streams, which are persisted on Ceramic nodes. Only the user who created the stream is able to write to the data in that stream, and write operations must conform to the stream’s schema, or data model.
A stream is essentially an append-only list of write commits. Ceramic anchors these commits to the Ethereum blockchain, which gives Ceramic nodes a time-ordering of the stream’s commits. This allows Ceramic nodes to individually come to consensus on the current state of a stream.
As I said before, Ceramic is all based around a user’s DID. This brings us to Ceramic’s Identity Hub, which is essentially a table of all data streams associated with a given DID. Instead of applications writing to their centralized databases, applications can instead write to a user’s Ceramic stream.
Beforehand the application developers create a schema, which is a data model for a given data set within an application. A good example of this is profile data like a user’s name, profile picture, bio, and more. The schema and definition are both their own Ceramic streams, and are thus mutable. And users fill in their data, which creates a Ceramic stream on the backend that conforms to this specific schema.
Self.ID, disco.xyz, and dns.xyz are all implementations that use Ceramic on the backend. Orbis offers developers an SDK for integrating Ceramic-powered social media (graph, posts, comments, messaging) into their applications. This brings user-controlled social media to Web3 dApps. Other Ceramic projects include Ceramic Network explorers, reputation apps (e.g. Gitcoin Passport), user-generated content apps (social, blogs, messaging), and dynamic NFTs.
Ceramic is not the only player in the user-controlled data category. Fleek’s Space Daemon, which utilizes ThreadsDB, allows developers to integrate user-controlled storage capabilities into their dApps. Such storage capabilities revolve around the idea of client-side encryption, which necessitates that users encrypt their data with their public keys before storing it on IPFS. Contrast this to the current model of server-side encryption, where a central company holds the private keys, and can decrypt user application data whenever needed. Other user-controlled storage projects include Skynet’s SkyDB, SpruceID’s Kepler, Verida, and Privy.
7. 3 – Web3 Authentication featuring passwordless-login and dApp Sessions
Web apps must confirm that we are the person we say we are (authentication) so that it can give us read/write access to our application data (i.e. authorization).
7.3.1 – Web2 Sign-In
There are two popular sign-in methods on the web today: custom usernames and passwords for each web app (centralized), or single-sign-on (federated). Starting with centralized login, each application stores a table of a username and password (actually a hashed password). When the user enters his credentials the web app checks the password in this lookup table in order to authenticate the user. This is a nuisance because the user must manage many different usernames and passwords.
Federated sign-in allows us to reuse credentials across multiple applications. There are several common identity providers like Google and Facebook that provide authentication services for logging into third-party applications. This is an improvement over centralized login, because federated login likely reduces the number of credentials a user must manage; however, it comes at the cost of privacy because the identity provider can track all the third-party applications the user signs into.
Open ID Connect (OIDC) and OAuth, provide the authentication and authorization protocols, respectively, that power single-sign-on. When a user clicks “Sign in with Google”, he is redirected to Google’s authentication server where he then enters his Google credentials. Google’s authentication server then sends an access token to the third-party app’s server. This access token has scoped credentials like what Google data the third-party app is authorized to access, and for how long (i.e. expiration). For example, an online photo editing software may request access to a user’s Google photos.
7.3.2 – Web2 Sessions
Web app servers need a way to persist state across multiple screens. If I sign-in and navigate to another application tab, I still expect to be signed in once I land on that new tab. Once the user signs in, the server stores information about that user’s session. The user’s session is referenced by a sessionID, which exists on the server but is also sent to the user as an HTTP cookie. This sessionID is stored locally on the user’s browser.
The browser includes this cookie in every subsequent request it sends to the server. This automatically re-authenticates the user and prevents the user from having to reenter credentials for every action he takes. The cookie, like the authentication access token described in the section above, expires or is deleted after closing the browser. This means that sessions are temporary. For example, banks automatically sign me out of my mobile app after 15 minutes for security reasons.
7.3.3 – Web3 Sign-In
At this time, most dApps do not support sign-in and web sessions. Users connect wallets and use their private key for signing on-chain transactions, but this doesn’t support the web sessions we are accustomed to. There are a few dApps that have implemented sign-in for improved UX. For example, OpenSea and Mirror authenticate users with message signing in order to load user metadata like profile information and preferences like light/dark mode.
Initiatives are underway to push Web3 sign-in forward. EIP-4361 standardizes the sign-in message format so that wallets can provide users with friendlier signing experiences that more clearly communicate to the user what permissions are being given to the dApp.
Also, Web3 sign-in is being integrated into OAuth infrastructure so users can now sign into Web2 applications using their Web3 wallet. Sign-In With Ethereum (SIWE) is the most well-known initiative in this space. SpruceID led an initiative to deploy a Cloudflare-hosted identity provider at https://oidc.login.xyz/, which has been integrated into OAuth and SSO. Docks Web3ID works in much the same way.
SpruceID plans to extend Sign-In With Ethereum functionality by adding dApp sessions so users don’t have to sign a message every time they want to perform an off-chain action. An ephemeral key will be generated on the backend and the user will delegate down-scoped permissions to this ephemeral key by signing a message.
7.3.4 – Decentralized Key Management as Authentication
DID and crypto wallets are challenging from a user onboarding perspective, because users are responsible for backing up and managing their private keys. Decentralized key management (DKMS) comes in to save the day.
Magic.Link and Web3Auth are non-custodial Web3 wallets that do not require the user writing down their seed phrase. The two products have different architectures but both allow users to seamlessly create a wallet by signing in with OAuth/SSO, or entering in their email. A private key is created for them on the backend, and securely managed in a non-custodial way, either in an AWS HMS instance (Magic.Link) or in a threshold cryptography network (Web3Auth).
When a user wants to access his crypto wallet, he uses Web2 SSO and his private key is fetched or reconstructed on the backend. This improves Web3 UX because users can continue signing in with familiar Web2 SSO in order to access their wallet, and initiate dApp sessions.
7.3.5 – On-Chain Identity
The DIDs and VCs we’ve talked about are considered off-chain identity, because they do not exist on the blockchain. DID Document operations are anchored on Layer 1 blockchains, per Sidetree protocol implementations, but this is besides the point. There is another school of thought that decentralized identity should exist on-chain.
Some have suggested identity-style NFTs called Soulbound Tokens (EIP-5114) that are non-transferrable. They could be used to represent things like identity, attendance, and potentially governance rights. Non-transferability is essential because it defeats the purpose of identity if users can simply transfer credentials, like participation in a protocol’s governance or in-game achievements.
Some smart contract standards have emerged that support identity use-cases like ERC-725 that represents DIDs, and ERC-735 used for adding or revoking VCs from DIDs. It should be noted that there are pros and cons to off-chain versus on-chain identity. Credentials are thought to be more available with on-chain identity, and easier to compose in smart contracts; but, also there’s a cost in creating and updating DIDs/VCs with on-chain transactions, and privacy concerns abound.
Blockchain naming services represent another category related to decentralized identity. Ethereum Naming Service (ENS), Handshake (HNS), and others seek to provide decentralized alternatives to the Domain Naming Service (DNS) that is centrally managed by an organization called ICANN.
ENS is by far the most popular. It essentially maps a user’s machine readable Ethereum address (e.g. 0xb50065FE8a921ab97F97cb580029efAc183f1209) to a human-readable username like travis.eth. This is similar to how DNS resolves human readable domain names (google.com) to machine-readable IP addresses (2001:4860:4860::8888); although, ENS is managed by a series of smart contracts, whereas DNS is managed by a central organization, and domains are registered on DNS servers by central registrars (e.g. GoDaddy).
Users pay for a yearly subscription to maintain control of their ENS subdomain, and also have the ability to fill out a text record, so that ENS can resolve other metadata like IPFS hashes for profile pictures, or static websites. Handshake is an entire blockchain in itself that is trying to replace DNS root servers, and control all top-level domains (TLDs) like com, edu, org, and io. Its architecture is very similar to Bitcoin’s UTXO model, and TLD’s are bid on and won forever, unless transferred to others.
8 – Decentralized Social Media and DAOs
Let’s analyze what social media is based on first principles. Users choose a username. Then they start following other social media accounts to populate their feed with the posts of friends, family, and creators. Overtime, users interact with these posts by liking, commenting, and resharing. And, finally, users make posts of their own that might just be plain text, but could also contain rich media like photos, videos, and other documents.
The key thing to understand about Web2 social media is that all of this user-generated content is stored on the social media company’s centralized database. And feeds are controlled by the company’s proprietary algorithms, and moderated by the company’s terms of service. Let’s dig deeper into why this might be a problem.
8.1 – Web2 Social Media Problems
First, there is a problem of authoritarian control over who gets to use a social media platform, what content is allowed on the platform, and what content is able to be discovered and/or monetized.
Social media companies have the power to refuse service to any user, and delete or demonetize any type of content. Think of the implications of a user getting deleted, or even temporarily banned from a platform. Users lose access to sometimes years worth of their posts, and their entire network of friends. Getting banned from social media is an infringement on free speech.
Social media companies don’t have to outright ban users to exert influence. They control the algorithms that dictate what content users see. And these algorithms are opaque as to how they rank content. These algorithms might be biased and could favor serving content related to a specific political agenda for example.
Finally, social media companies have unilateral power to decide what content can be shown, but this also means they are the sole party responsible for moderating spam content and preventing fake accounts. This determines the quality of the social media experience, as users, for the most part, only want to interact with other users, and not bots. And there is evidence social media companies do a poor job of this. One source estimates that around 80% of Twitter accounts are bots used to inflate follower counts, or make spam posts.
Second, social media companies have a monopoly on user data. They sell user data to advertisers, and users must accept this infringement on their data privacy in order to use the platforms in the first place. And adding insult to injury users are subjected to targeted advertisements while using these platforms.
If a user gets banned, or if they just decide to get up and move to another platform, all of their social media content, including their social network, is locked in the company’s central, proprietary database. Thus switching costs are high, which effectively locks users into a few social media platforms. This creates monopoly-like dynamics where everyone is forced to abide by the terms of service of these few companies in order to have a public voice, and access the networks all of their friends and family are already on.
This also means that content creators, if they hope to reach large audiences on the order of hundreds of millions, or billions, of people must accept sub-optimal terms and conditions when it comes to monetization. Indeed, social media companies control how much of a cut they take from creator revenues. Thus, content creators capture little of the value they generate for these social media companies from engagement and traffic. End-users capture no value as they give their attention away for free while using the platforms.
8.2 – Decentralized Social Media Protocols
Web3 social media changes all of this. Lets take a look at some of the benefits of decentralized social media, then at some specific protocols.
First, Web3 social media is hosted on a permissionless, censorship resistant blockchain. This means that anyone can access social media services, without the permission of a company like Facebook, and post whatever they like. Content and users cannot be censored by the network.
Second, users remain in full control of their social media content. This goes for direct messages, posts, likes, reshares, and perhaps, most important, their social graph of friends and family. This data is either stored on a blockchain, or in a personal data store that the user has full control over. Juxtapose this to the content stored in the centralized servers of Web2 social media companies today. If a user wanted to, he could port his social data over to any other social media platform, which prevents him from having to build all his content up from scratch.
Third, there is more market competition when it comes to Web3 social media. Web2 enjoys monopoly like motes because data is not portable, and users are forced to use the platform that their friends and family are already on in order to interact with them. This narrows the Web2 social media market down to a few key players, and startups have extreme difficulty unseating these incumbents because of the power of network effects. In Web3, users will port their data between a variety of frontends and social media feeds. If a frontend doesn’t provide the features they need, or if they feel the quality is dropping on their social feeds (e.g. too many ads), then they can pick up and move elsewhere.
Finally, creators can directly monetize their content with their fans. Web3 social media cuts out the middleman, and the exploitative ad revenue model. Instead, Web3 creators can launch NFT sales, and social tokens on new age platforms. The result is easier monetization and business models for creators. Crypto tipping is also built in.
Let’s take a look at some specific Web3 social media protocols.
8.2.1 – DeSo
Social media apps demand relatively fast transaction processing. It’s one of the most demanding types of applications to put on-chain. For example, Twitter’s 300M user base generates 6,000 posts per second, which doesn’t even cover likes and replies.
DeSo is a Layer 1 blockchain purpose built to meet these high transaction processing demands as all content will be stored on-chain such as usernames & profiles, posts & comments, private messages, likes & follows, links to rich media, and token activity (social tokens, on-chain NFT auctions).
Social tokens are native on DeSo. Anyone can mint creator coins for a specific DeSo portfolio, which represents a new monetization channel for creators, and sparks a new creator-fan relationship. One that is financially aligned.
Initially zero creator coins exist when a new DeSo profile is created. Fans, and the creator himself, can mint creator coins based on a bonding curve with the price set by the bonding curve above. The price increases as more creator coins are minted into existence, thus rewarding early-movers. Creator coins can be automatically sold back to the profile, which drives its price down.
Creators can profit off of this in a number of ways. At the time of profile creation, users set their “creator rewards” that stipulates the percentage cut they get of each creator coin sale. If the creator reward is set to 10%, and a fan purchases $100 of a creator coin, then the creator gets $10 of his creator coin, and the fan receives $90. High creator rewards might disincentivize fans from buying, so another strategy is for the creator to bulk purchase some of his own creator coins early on, taking advantage of the relatively low prices.
By default, creator coins are based on a creator’s reputation, and the price driven by speculation. In theory, if Elon lands on the moon, the price of his coin would increase. And if he makes a racial slur on a podcast, then his coin price would decrease.
Creator coins are programmable and can be imbued with all sorts of other properties that drive value for fans. For example, creators can share a portion of their NFT revenues with those who hold their creator coin. This would make creator coins a cash-flowing instrument for fans. Other potential creator coin utilities include:
- Token-gated commenting on a creator’s posts
- Token-gated DMs to creator
- Token-gated premium content
- Pay creators to reshare your post (i.e. paid advertising)
- Token-gated access to other things like early NFT drops
Creators can now identify their superfans. Superfans could be those who hold the most of a creator coin or those who purchase the creator coin first. Exclusive accesses can be granted to these superfans, and creators might filter their DMs based on these superfans.
DeSo also has built-in tipping. Users can react to posts with diamonds, which equate to $DESO micropayments. This is a new way to engage with social media content and might represent a more honest signal for high-quality content than “likes”, which are given at no cost to the user. Algorithms will be able to take posts’ monetary value into account when deciding which content to promote.
Creator coins are not the only native digital assets. Any DeSo post can be minted, and sold, as an NFT. And unlike popular NFT marketplaces like Rarible and OpenSea, DeSo NFT auctions are fully on-chain. This builds NFT marketplaces directly into social feeds. NFT-integration into social media is inevitable. Instagram and Facebook users can now post “digital collectibles” (i.e. Ethereum or Polygon NFTs) on their profiles.
Remember, all DeSo data is on-chain, and thus publicly available. Developers can access the full flood of incoming and historical social data either by running a DeSo node, or via an HTTP API. Thus, DeSo applications will be built on top of DeSo nodes, and these nodes have control over which content and usernames to index, and make discoverable. This also gives DeSo nodes the freedom to apply content algorithms of their choosing. Anyone can run a node, which creates an open-market of curated feeds. This could be country-specific feeds, topical feeds (e.g. political, sports), and NSFW feeds.
Users will be able to choose from a variety of DeSo feeds based on which feeds serve them the best content, and which feeds have content moderation policies most aligned with their values. Also, there will be a variety of frontends built on top of DeSo so users will be able to choose from different UIs based on their required features and/or stylistic preferences. Nodes can also apply different business models than one another. Some nodes may continue using the free-to-access ad model, while others may charge a subscription fee.
This ecosystem is already being built out on DeSo. This ecosystem includes web apps for end-users, but could also include DeSo analytics tooling, and NFT exchanges. A full list of DeSo projects can be found here.
8.2.2 – Lens Protocol
Lens Protocol is another major decentralized social media project, but it has a different architecture than DeSo. Lens is a series of smart contracts deployed on Polygon.
It all centers around Lens Hub, which is a smart contract that mints user profiles as ERC-721 NFTs. The code above shows how the smart contract is called to create a profile by supplying a handle and image URI, among other things.
Lens Hub is also responsible for storing user publications such as posts, comments, and shares, by calling post(), comment(), and mirror() functions, respectively. Publications contain a contentURI, which is typically an IPFS CID that points to the publication’s actual content. Thus, a profile, and all its associated publications, can be queried with a profileID on LensHub. This makes it so that users “own” their social content.
Now let’s talk about the other smart contracts that compose Lens Protocol. Every Lens profile has a “Follow” smart contract associated with it. This issues others a follow NFT. This makes it so that users own their social graph – they own an NFT for each profile they follow. Additionally, every publication on Lens has both a “Collect” and “Reference” smart contract associated with it. These smart contracts allow others to collect (i.e. “Collect), or comment and share (i.e. “Reference”) a given publication.
This gets into the topic of community-driven growth, and the extensibility of Lens Protocol. Anyone can deploy Follow, Collect, and Reference smart contracts – these are called modules. For example, there are a variety of Follow smart contracts – some make it so the user is free to follow, others might require a $5 monthly subscription fee. The same goes for collecting publications. How many publications are available to collect, and for how much? Finally, who is able to comment and share a given publication. You may open this up to the public, or you may make it so that only those following you can comment on your posts. Golden Circle and SuperFluid are examples of Follow modules. Lens Auction is an example of a Collect module.
Decentralized social media apps are being built on top of Lens Protocol. Some highlights include Lenster (a web app), Orb (a business-focused mobile app), Iris (twitter-like) and LensFrens and Sepana Search (focused on discovery).
8.2.3 – Bluesky
BlueSky is slightly different from DeSo and Lens Protocol. Bluesky does not store any social data on a blockchain. Instead, all of a user’s content (posts, comments, likes, media blobs, and follows) is stored in a data repo on his personal data store (PDS); however, this data is still fully under the control of the user. Data repos can only be modified with signed commits from a DID’s private key. This describes the interaction between a BlueSky client and the user’s server (i.e. PDS).
You can think of BlueSky as a network of client-to-server and server-to-server communications. In the latter case, users can direct message each other, or send other user-to-user interactions like mentions and replies. BlueSky considers this “small-world” networking.
“Big-world” networking is required for social media feeds, discovery sections, and search interfaces. This is accomplished by indexers who crawl the BlueSky network in order to index users and their content.
These indexers have control over which content and users they index, and will curate their feeds according to their content policies and algorithms; however, users have the freedom to choose amongst a variety of Bluesky clients, and which indexers they plug into for their social feeds. This gives users the power to customize their social media experience, as opposed to being forced to abide by Twitter’s terms of service, advertising business model, frontend features, and backend feed algorithms.
All network communications are enabled by BlueSky’s Authenticated Transfer Protocol (ATP), where messages are sent between servers via HTTPS (get and post) and XRPC, where XRPC is a semantic layer so that different clients and PDS implementations can understand each other.
Despite its different architecture, BlueSky still offers the same benefits characteristic of decentralized social media platforms such as user-controlled, portable data and censorship resistant communications. It’s unlikely that users will run their own PDS servers, so hosted options will be ubiquitous, offered by the likes of Google and Amazon; however, these do not pose centralization risk because the user controls his DID keys, and can grant and revoke write access from a PDS provider at anytime.
Also, BlueSky plans to store user data locally on the user’s client, so if a PDS goes down, or denies service to the user, then the user can revoke access to that PDS provider, and migrate to another PDS provider by rotating its singing key, and granting the new PDS prodiver access to this new signing key.
The idea of a PDS, or cloud agent, for storing user-controlled data is similar in concept to Ceramic Network. Ceramic Network accomplishes this user-controlled storage with a decentralized network of IPFS nodes, as opposed to a single cloud server for each user.
Orbis is a decentralized social media SDK built on top of Ceramic Network. It allows developers to integrate storage, and retrieval, of social media data including follows, posts, comments, and direct messages. This data is all interoperable, so all applications that implement Orbis are able to retrieve this information and provide a persistent social media experience across Web3. Finally, there are other emerging Web3 social media projects such as gm.xyz, Farcaster, and Project Liberty.
8.3 – Decentralized Messaging and File Sharing
Direct messaging is an important component of social media today. Some of the protocols above have already implemented native direct messaging like DeSo, which encrypts DMs and stores them all on-chain; however, some question whether or not DMs should be stored on-chain given storage and transaction processing costs.
Chat apps are similar in function to social media DMs. Chat apps are some of the most used apps in the world as they give friends and family the ability to send threaded messages to each other over the internet. However, there are privacy concerns surrounding some of these apps like WhatsApp, Signal, Telegram, and Discord. Central actors probably have access to the encryption keys, and thus have visibility into everyone’s messaging who uses their platforms.
XMTP is a decentralized node network that supports user-to-user chat (i.e. P2P encrypted messaging), app-to-user messages (i.e. push notifications), and user-to-community communication (i.e. group chat).
Developers can use XMTP SDK to integrate Web3 chat into their applications. This builds native chat capability into dApps so that users can message other users, or the app can send push notifications to users. It’s not hard to imagine that XMTP integrated into clients of some of the decentralized social media protocols discussed above.
First time users of XMTP connect their wallet to an XMTP client and sign a message, generating an XMTP key pair, which is separate from their crypto wallet’s key pair. This key pair is encrypted and stored on the XMTP network linked to the wallet’s address.
When the user signs in again, the network looks up the wallet address, locates the encrypted key pair so that the wallet’s private key can decrypt this XMTP key pair. Once the XMTP key pair has been decrypted then the user has started a messaging session.
All messages are stored on the XMTP network, so a wallet can sign into any XMTP client and access their message history like a portable inbox. Messages can be sent to wallet addresses, or other identifiers like ENS (.eth) or Lens Protocol (.lens) handles.
Many applications will be built on these messaging rails. First, cryptonetworks have a new tool for messaging their community of users. This is an example of wallet-to-group messaging. Second, as I said before dApps can send notifications directly to wallets now. An example of this would be MakerDAO warning you if you’re close to getting liquidated. An XMTP client would receive this, and send a push notification on your device. Third, advertisers have a new channel for outbound messaging; however, we can connect all sorts of interesting information with a wallet address, such as NFT ownership, DAO membership, dApp usage, and crypto networth. This opens new possibilities for ad and sales targeting.
This last one might scare you. You might think of constantly receiving spam messages; however, on-chain data also enables advanced spam filtering mechanisms. First, advertisers may have to attach crypto payments to each message in order to show up in your inbox. This means they have to limit who they send messages to, and you get paid for taking your time to at least open their message.
Second, you can make it so that you only see messages from dApps you whitelist, or wallets with a certain amount of crypto. You could get even more granular and only see messages from wallets who you follow on Lens. These filtering strategies will actually cut down the amount of spam that users are exposed to.
Right now XMTP supports EVM wallets, but the goal is to support the entire Web3 ecosystem with cross-chain messaging. Others messaging protocols include xMS (Solana / Ethereum), WalletConnect Chat API (cross-chain), Sumi Notes (Substrate), and Pravica Messenger (Stacks/Bitcoin). Finally, there are other interesting projects working on P2P video chat and file sharing (Keet, Huddle0, Fyber Network), and decentralized email/productivity suite (i.e. Skiff and Weavemail).
8.4 – Decentralized Autonomous Organizations
A DAO is essentially a group of friends (i.e. social) with a shared bank account (i.e. crypto) who coordinate with each other online (i.e. chat) in pursuit of a shared goal. These are digital collectives that form around DAO tokens. There are two major types of DAOs: creator DAOs and community DAOs.
8.4.1 – Creator DAO
We have already talked about Creator DAOs. Creator DAOs naturally form around DeSo’s creator coins. Fans purchase creator coins to support their favorite creators but also to unlock special privileges like access to exclusive content, token-gated messaging channels, token-gated IRL events (e.g. concerts), and more. Also, it’s possible to turn creator coins into a cash-flowing asset for fans. Creators can release an NFT collection on DeSo and choose to stream a portion of the revenue to those holding their creator coins.
You can see how this is a brand new form of patronage that aligns fan and creator incentives. Now fans are financially incentivized to grow the popularity of the creators whose coins or cryptomedia they own. Fans might even begin to market, promote and curate for creators. This is known as the “buy and retweet” phenomenon. If a creator goes from relatively unknown to super famous then the value of his cryptomedia and creator coins will sky rocket, thus benefiting the fan.
In summary, the purpose of Creator DAOs is to align creators and fans, and coordinate people around the consumption and growth of the creator’s works. DeSo is not the only platform for launching a Creator DAO. Social tokens can be launched on Mirror, Rally, Coinvise, and Calaxy.
8.4.2 – Community DAOs
A DAO can form around any initiative, and its members make collective decisions about what should be done. This is called decentralized governance. An organizer issues a DAO token and somehow distributes it to others. Holding the DAO’s token signals membership to the DAO, and thus grants privileges such as submitting governance proposals, voting on proposals, access to private communication channels (i.e. token-gated Discord), and more. In many cases, DAO members contribute their unique skill sets and complete projects together, so you can also think of Community DAOs as coordinating freelancers.
The DAO itself can reserve a portion of the token supply, which constitutes a treasury for funding its various initiatives. Treasury funds can be spent on any number of things like rewarding members for completing tasks, funding external projects like a grants program, or making acquisitions like purchasing NFTs. Of course, what the DAO spends its treasury on depends on its unique mission. We’ll review several categories of DAOs in the sections below.
The general governance process looks as follows. When a DAO member has an idea for a project he creates an informal proposal and posts it in the DAOs forum. This allows other DAO members to comment on it and provide feedback. The proposal might need to go through some revision, but the proposal can be moved to formal vote once sentiment is strong. Voting takes place either on-chain or off-chain (e.g. Snapshot), and voting power is usually proportional to the amount of DAO tokens you hold, although it doesn’t have to be (e.g. quadratic voting).
8.4.2.1 – Ecosystem Development with Protocol DAOs and Grants DAOs
Members govern the development of a protocol, product, or ecosystem overtime. Any protocol updates must pass through governance and, if passed, code changes are executed on-chain. Protocol DAOs are at the center of many blockchain ecosystems (e.g. Polkadot, Cardano).
They are also used to govern major protocols within the ecosystem, most commonly DeFi Protocols (.e.g. MakerDAO, Aave, Uniswap, Compound). In Grants DAOs members vote on which projects to provide seed funding in order to grow the ecosystem as a whole. Protocol DAOs usually have a grants element to them. Gitcoin funds projects in the greater Web3 ecosystem.
8.4.2.2 – Investor communities with Investor DAOs and Venture DAOs
Members make investment decisions together. There is usually a crowdfunding element to this where members contribute money to the treasury upon joining, and vote to decide what to buy with it. FlamingoDAO and PleasrDAO invest in blue-chip NFTs. ConstitutionDAO raised over $40M in an attempt to purchase a copy of the US Constitution. VentureDAOs, like MetaCartel Ventures BessemerDAO, and BitDAO, invest in early-stage startups in the Web3 space.
8.4.2.3 – Future of content with Media DAOs and Entertainment DAOs
The development of media and entertainment is community-led. Members tend to contribute as content-creators, help make creative decisions on community-owned projects, or provide technical/promotional support. ForeFront and Bankless DAO collect media contributions, like blog posts and podcasts, from their member bases. ApeCoin DAO members get to steer the development and promotion of the DAO’s metaverse and media empire, Otherside.
8.4.2.4 – Creative projects with Creator DAOs and Service DAOs
Members collectively build products or offer services. Raid Guild is a good example. It employs designers, developers and marketers to build and promote Web3 products for its clients. Raid Guild’s clients pay its treasury, which is used to fund projects. MetaFactory and Friends with Benefits are some other examples.
8.4.3 – DAOs as the Future of Work
You can also think of DAOs as a collection of freelancers, with varied skill sets, that contribute their labor to create value. Some believe DAOs are the future of work, and may eventually replace centralized corporate structures due to efficiency gains and extending worker freedoms.
DAOs certainly take a novel approach to things. For example, some DAOs have novel payment mechanisms for rewarding project contributors in a meritocratic way. A project budget is set ahead of time, and once the project is completed, the workers assign reputation scores to their peers using tools like Coordinape and SourceCred. This is an attempt to measure each individual’s contribution to the success of the project. The project’s budget then gets distributed according to the outcome of this reputation scoring.
Also, hiring for a DAO will look different than the traditional hiring process we experience today. An applicant will be identified by his wallet address with all of its associated on-chain data. This brings us to the idea of “your wallet = your resume”. Hiring managers will be able to verify things like past employment, reputation points earned in previous projects, credentials/certificates (e.g. RabitHole), and proposals you submitted in other DAOs. On-chain identity will continue growing, and provide richer pictures of the individuals behind the wallet, if they so choose.
So, how will we achieve this future of decentralized work? Let’s talk about the emerging ecosystem of DAO tooling that supports use-cases like launching a DAO, submitting and voting on proposals, managing the DAOs treasury and handling payroll, and more.
8.4.4 – DAO Tooling
DAO Operating Systems allow organizers to launch and manage a DAO. This involves naming the DAO, naming and distributing the DAO’s token, and setting governance parameters. These DAO launching platforms implement and deploy the DAO token and governance structure as a smart contract on the backend. Governance parameters include things like who can submit proposals, how are tokens weighted for voting purposes, and length of the voting period, among others.
Colony, Aragon, and DauHaus are general DAO launching platforms because organizers can choose from a variety of template structures such as Organization (DAO token represents ownership), Membership (non-transferrable NFT represents membership), and Reputation (non-transferrable reputation tokens). Syndicate and Juicebox are specialized for crowdfunded Investor DAOs. PartyBid is a specialized crowdfunding platform to win NFT auctions. Finally, DeSo, Rally, Coinvise, and Calaxy allow creators to deploy social tokens.
Most of the DAO platforms discussed above have in-built token voting (e.g. Aragon Voice). Snapshot is the most popular off-chain voting platform. Llama helps DAOs with protocol engineering and implementing on-chain proposals.
DAOs typically implement their forums with Discourse, handle messaging on token-gated Discord or Telegram channels. Surely XMTP will become increasingly involved in the DAO community messaging space, instead of using token-gates built on top of Web2 chat applications.
Some DAO treasuries are worth billions. To improve on security usually treasuries are managed with multi-sig safes like Gnosis or Parcel. These are essentially crypto wallets that require more than one signature in order to properly sign a transaction to move funds. We already covered Coordinape and SourceCred, which help to determine compensation for individual contributors involved in a DAO project. Sablier Finance and SuperFluid are crypto streaming protocols. Users can see their wallet balance increasing in real-time.
Then there are aggregator products. Boardroom and Tally aggregate DAO governance across many Web3 DAOs. DeepDAO is like a DAO search-engine, and they also list DAO tooling.
9 – Decentralized Gaming and the Open Metaverse
Billions of people interact in digital spaces daily, whether it’s checking social media, sending a work email, or playing video games. In fact, over 80% of the world’s population (6.5+ billion people) own a smartphone, which pushes access to digital experiences even deeper into our everyday lives. Thus, the “metaverse” is already here to some extent. Indeed, the metaverse can be thought of as an extension of the mobile internet, but its full fruition will result in even more pervasive, and much more immersive, digital experiences than we are used to today.
Many conflate the metaverse with contemporary AR/VR devices (e.g. Occulus), 3D worlds (e.g. Decentraland), or massive-multiplayer-online games (e.g. Fortnite); however, this is like saying the mobile internet is equivalent to the iPhone, or equivalent to a specific application like Instagram. The metaverse should not be thought of as being constrained to a single device, and will be made up of many different digital spaces and games.
As Matthew Ball puts it: “The Metaverse is a massively scaled and interoperable network of real-time rendered 3D virtual worlds which can be experienced synchronously and persistently by an effectively unlimited number of users with an individual sense of presence, and with continuity of data, such as identity, history, entitlements, objects, communications, and payments.” His last point on “continuity” is important.
9.1 – Problems with Web2 Metaverse
We experience continuity of data to some extent today. When I sign into Instagram I see my friends list and posts. The Google Chrome browser tracks my browsing and search history. Telegram stores my conversations. And the bank keeps record of my account balance, updating it based on incoming and outgoing transactions.
But this continuity is limited. Web2 data streams are siloed from one another. My digital conversations are split between Instagram, Telegram, iMessage, and Gmail (Google). My username and friends lists are spread across multiple social media platforms: Twitter, Instagram, and LinkedIn.
The negative implications of this are made especially clear when thinking about in-app purchases. For example, Fortnite skins are locked inside the game. Skins cannot be reused in other games or digital worlds. If Fortnite were to disappear, so would all in-app purchases associated with it. In-game currencies are similar. Fortnite, Roblox, Minecraft, and Call of Duty all have different currencies that can only be used within their respective game.
Furthermore, centralized companies that provide the services described above – Meta, Apple, Google, Telegram Group, Fidelity, Epic Games – have full control of user application data. At any point they could modify user data, or prevent a user from accessing it. These companies also must be trusted to keep user data secure and private; however, most reserve the right to sell user data to advertisers, which users must comply with lest they are willing to endure high switching costs and loss of the global user networks available on legacy platforms.
Thus, the current metaverse is closed and permissioned in that data is siloed and users authenticate through centralized gatekeepers. Users do not own or control their identity, application data, and digital purchases. Fortunately, the blockchain solves these problems and enables an open metaverse.
9.2 – Open Metaverse, the Full Web3 Vision
An open metaverse is one that is not owned by any single entity, and where users can own and trade their digital goods. This requires that metaverse content, economy, and payments are built on decentralized Web3 technologies. Cryptocurrencies and NFTs, instantiated on the blockchain, enable users to own scarce digital resources like in-game items and digital money, and permissionlessly trade them with one another.
Outlier Ventures’ “Open Metaverse” thesis argues that such a metaverse requires the following Web3 primitives:
- Programmable internet money (e.g. BTC, ETH, other fungible tokens)
- Scarce digital goods (NFTs)
- Own/custody of digital goods and money (wallets)
- Decentralized web stack for application hosting (i.e. storage, compute, middleware, domains, network)
- User-controlled application data in personal data stores
- Self-sovereign identity and credentials (e.g. DIDs and VCs)
- Decentralized communities and governance (e.g. DAOs)
It makes sense to begin by discussing blockchain-based gaming. To be clear, the metaverse will certainly be much more than just gaming with potential activities ranging from recreation, work, creativity/design, and education; however, such a metaverse will likely start with billions of users playing Web3 games, which implies onboarding to crypto wallets and accumulating in-game NFTs.
9.3 – The Evolution of Gaming
Gaming has gone through several stages of evolution. Think back to arcade games – each session was paid for with change. Moving into computer and console games, gamers would make a one-time licensing payment instead of paying for every session. This was the “pay-to-play” era of gaming.
Next, smartphones were invented, which ushered in hyper-casual gaming. Mobile games were developed that attracted new players, and expanded the gaming category overall (e.g. Candy Crush with 271 million monthly active users). Also during this time there was a shift into the “free-to-play” (F2P) era of gaming where games were monetized through advertising and in-game purchases. F2P is not limited to just mobile. Some of the most popular F2P games today are cross-platform and include Roblox, Minecraft, and Fortnite.
Web3 is ushering in a new era of gaming that enables players to earn, and own, valuable in-game assets. This marks the shift into the “play-to-earn” (P2E) era of gaming. Web3 gamers will benefit from:
- Digital property rights – users own their in-game items as NFTs, and even if the game stops operation, the items will still exist in user wallets, and other developers can still honor the utility of
- Open, secondary markets increase liquidity of in-game items
- Provenance of in-game items – gamers will be willing to pay premiums on items owned, and used, but their favorite professional gamers
- On-chain, cross-game reputation
- Web3 native payments for tournaments and prize pools
And Web3 developers benefit as well from:
- More options for monetization (NFT drops, royalties on P2P trading)
- Potential to capture more value and avoid platforms costs through direct monetization with player communities (e.g. avoid Apple’s 30% App Store commission)
- Better funding mechanisms (fund via community) and bootstrap player adoption with crypto incentives
- Game-to-game interoperability and leverage open, user-generated content
9.4 – Play-To-Earn (Web3) Gaming
Earning happens in one of two ways – either during gameplay through the accumulation of fungible in-game tokens (e.g. GODS, AXS, GHST, MANA, ILV), or by collecting, and potentially leveling up, in-game NFTs that appreciate in value (e.g. Axie creature NFTs).
Axie Infinity is the most popular P2E game to date, is similar to Pokemon with its turn-based gameplay dynamics, and is hosted on the Ronin blockchain, which was purpose-built by parent company Sky Mavis. Axies are cartoonish creatures that are collectible as NFTs and that have attributes (health, morale, skill, speed) that are leveled up through combat.
Players earn Smooth Love Potion (SLP) for winning battles, and new Axies can be bred from existing Axies and sold as NFTs on secondary markets. Axies also belong to a class and exhibit traits of varying levels of rarity. These genetics influence the resulting genetics, and rarity, of offspring.
Axie Infinity became popular in some parts of the developing world because players could earn significant sums of money through gameplay. The Philippines became known for its adoption of Axie Infinity, and spurred the emergence of Web3 gaming guilds (e.g. YGG) that lend Axie NFTs to professional players. Upfront costs can be prohibitively expensive because players need three Axie NFTs to begin playing, and a competitive line-up can cost several hundred dollars.
Card games are also a popular P2E genre. Some popular card games include Gods Unchained (on Immutable), Splinterlands (on Hive and WAX), and Alien Worlds (on WAX and BNB Chain). Often gamers can start playing for free with a starter pack of cards, but often don’t start earning until they purchase more advanced card NFTs, or join ranked tournaments. Cards are collectible as NFTs as you might expect.
Arcade-style games are also popular, especially on mobile, which include Benji Bananas (on Ethereum & Polygon) by Animoca Brands, and Trickshot Blitz (Flow) and Solitaire Blitz (Flow) by Joyride Studios. STEP’N (on Solana) is a mobile game where players purchase sneaker NFTs, and earn by exercising. It’s considered a “move-to-earn” as movement is metered and rewarded based on GPS tracking.
9.4.1 – Problems with P2E Games
P2E games are often criticized for their basic turn-based gameplay and for placing too much emphasis on the “earn” component of the game. Some believe P2E games are over-financialized and too much like work.
Also, players are typically required to purchase NFTs in order to start playing as this has been the primary monetization method for blockchain game developers. Needless to say this creates friction when onboarding to P2E games, and has made some P2E games inaccessible to some gamers who either can’t afford the upfront cost, or who are not willing to install a Web3 wallet and purchase crypto.
Some believe the economics of P2E games are not sustainable, and that earning is only feasible when the game is growing and speculators are pushing up the price of the in-game cryptocurrencies.
Finally, sometimes success in P2E games is dictated more by the NFT a player can afford rather than his merit or skill. This has been termed “pay-to-win”, which some argue cheapens the game, and makes it not fun to play.
9.5 – Next-Gen Web3 Gaming
All of these criticisms are being addressed in real-time. Billions in VC funding is being used to build the next-generation of Web3 gaming infrastructure and content.
9.5.1 – AAA Gaming Studios
Major game studios are investing in the next wave of blockchain gaming and are expected to focus on engaging gameplay dynamics and compelling storylines. All of the following are games built with Unreal Engine 5 by AAA game studios. Unreal Engine will bring a whole new level of immersiveness to blockchain games as in-game NFTs will display as beautiful 3D renders.
Off the Grid is a next-gen cyberpunk battle royale game that integrates storyline and character progression. Personalized weapons, outfits, and accessories are in-game items that players can trade, but players will not be required to purchase in-game items in order to play, and the maker, Gunzilla Games, has already said that it will never sell NFTs directly to its player community. Off the Grid will launch on PlayStation 5, Xbox Series X/S and PC.
Shrapnel is a first-person shooter built on top of its own Avalanche subnet. Neon Machine, the game maker, has taken a unique approach with its emphasis on user-generated content in Shrapnel. Players create maps that others can use and vanity items that are traded on Shrapnel’s marketplace. This is an incentive for creators to populate Shrapnel and enhance the gaming experience for the entire community, all without involvement from Neon Machine.
Star Atlas is a space adventure and MMO strategy game built on top of Solana to support its “galactic economy”. Players choose between three factions (MUD, ONI, USTUR) and Star Atlas’ marketplace features a variety of ownable in-game assets like ships, access badges, resources, and more. Star Atlas will be released on PC.
Illuvium is an open-world exploration, monster collector and autobattler game built on the Immutable blockchain for PC/Mac. The monsters are called Illuvials and can be discovered and leveled up just like in Pokemon.
Other blockchain games are being built for more casual gamers. Mythical Games says it wants to “invite players to become stakeholders in the game’s economy by giving them ownership of their digital collections”, and “open new doors of revenue for game developers”. The studio’s blockchain game titles include Blankos Block Party (open-world multiplayer party game), Rivals (arcade-style football game where you collect players and level them up), Nitro Nation (race cars for a chance to win your rival’s cars), Magic Fight (sorcery battle card game).
Also, Sorare and Dapper Labs are in the blockchain sports category. Sorare allows players to collect sports cards (soccer, NBA, MBA), build lineups and enter contents, and compete to win prizes. Dapper Labs is best known for Cryptokities and NBA Topshot, and has expanded its sport highlight NFTs into UFC and NFL.
Below is a thorough list of blockchain gaming studios, originally provided in Naavik’s Blockchain Gaming Q3 2022 Report.
Small budget, big ambition developers: Rooniverse, Playmint, First Light Games, Blockstars, Village Studio, Genopets, Galaxy Fight Club, Crypto Raiders, Gallium Studios, Heroes of Mavia, Horizon Blockchain Games, Lucky Kat Studios, etc.
Double A developers: Laguna Games, Xterio, Big Time Studios, Faraway, Azra Games, Metatheory, LavaLabs, Upland, Sipher, Illuvium, Gunzilla Games, Klang Games, Playful Studios, Iskra, Joyride Games, Gameplay Galaxy, etc.
Triple A developers: Mythical Games, Star Atlas, Immutable, Sky Mavis, Sorare, Yuga Labs, Dapper Labs, The Sandbox, Animoca Brands, Limit Break, Neon Machine, etc.
9.5.2 – New Business Models (Free-to-Own)
Blockchain game developers are experimenting with new business models. To date, the primary revenue channel for blockchain games has been NFT drops, where an NFT purchase is required to access the game itself. “Free to own” is an emerging blockchain gaming trend, which removes this upfront purchase for players. Game studios absorb the cost of developing valuable game IP (characters, assets, storyline) and give it away to players for free. Gabriel Leydon is pioneering the F2O space with the free mint of 2,022 DigiDaigaku NFTs in a lead up to his much anticipated game, Limit Break.
Game developers can still monetize by up-selling premium NFTs (e.g. vanity rather than utility), configuring royalties on P2P trades, and through advertising. Also, owning in-game NFTs essentially gives players partial ownership of the game, which may be an effective mechanism for bootstrapping user adoption.
This financially aligns game developers and their player communities – both benefit from the game becoming more popular. The price of in-game tokens will increase, which generates capital gains, especially for early-adopters. And also increasing popularity will result in more secondary sales, and more royalty revenue, for game developers. Thus, the player community is incentivized to promote and evangelize the game, creating a free, decentralized marketing network for the game developer.
9.5.3 – Web3 Game Infrastructure
Blockchain games are currently difficult to develop – they require blockchain expertise to build, and suffer from hurdles such as the UX of network fees, wallets, and compliance with government regulation.
The next-generation of blockchain games will be enabled by Web3 infrastructure that make blockchain game development more seamless. Web3 game developer platforms make it so that game developers can quickly integrate token economies into games with a few lines of code and without custom blockchain development. This reduces cost and time-to-market for Web3 game development. Also, they improve the Web3 game onboarding experience with native wallet solutions.
Such platforms include Sequence, Stardust, Joyride, Mythical, and Faraway. These platforms provide SDKs for integrating tokens into web dApps, or Unity and Unreal Engine games. Some also provide dashboards for game analytics and to manage a game’s token economy.
First and foremost, Web3 game platforms support the ability to mint, burn, and transfer NFTs (and fungible tokens) using HTTP APIs. Going further, Sequence provides a token indexing API, which allows game developers to query a player’s token balance and transfer history, as well quickly render token metadata (i.e. image and attributes) on the app/game’s frontend.
Next, these platforms help developers standup custom NFT marketplaces that support direct NFT sales to player communities and player-to-player trading of in-game assets. Stardust’s Marketplace (i.e. dashboard and API) allows game developers to set item permissions (e.g. enable/disable P2P trading) and configure royalties.
These platforms also offer wallet solutions with email/social login that provides Web2 users with a familiar sign-up, and recurring authentication, experience. Such solutions prevent users from having to download a third-party wallet application, and manually backup seed phrases. Sequence provides a non-custodial smart contract wallet called Sequence Wallet, Stardust provides a custodial wallet called Stardust Vault, and Joyride also offers a “wallet-as-a-service”.
There are a couple other interesting features related to wallets. Sequence offers a Relayer service that makes it so that players can submit gasless transactions (that are sponsored by the game developers). Thus, players don’t need cryptocurrency in order to play. Also, these wallet solutions were built with compliance in mind (i.e. anti-money laundering and money transfer regulation).
Finally, game development platforms offer dashboards for managing the game and its token economy. These dashboards provide metrics and control over:
- Player inventories and accounts (e.g. which NFTs they own)
- Player metrics (e.g. active player count and new player count)
- Game NFT metrics (e.g. # of NFTs minted, tokens traded)
- Marketplaces (e.g. NFT floor price, floor price, highest price)
9.6 – Metaverse Games
Virtual world builders are another popular category in Web3 gaming. Currently, the most popular titles include Decentraland, Sandbox, and Cryptovoxels. Users explore virtual worlds with customizable avatars, and can also purchase, and own, land in these worlds. Land plots are represented as NFTs, and players holding these NFTs can build on their land plots. Such games have creator tools for building on the land, either with pre-designed 3D objects, or by importing custom assets rendered in Blender, for example.
Land plots, and other objects like wearables, are bought and sold in NFT marketplaces. Meanwhile luxury fashion labels (Gucci and Louis Vuitton) have released 3D NFT wearables, and digital fashion marketplaces are appearing like The Dematerialized and UNXD. Indeed, wearables will be important as users are represented by their metaverse avatars and, just like in real life, how the avatar looks, and what the avatar wears will be important for customizing an identity.
Other projects like OnCyber and Microverse are centered around the social aspect of NFTs. OnCyber allows users to customize a virtual art gallery that displays their NFT art. And the microverse was built to provide NFT communities with new virtual experiences. Instead of solely communicating on Discord, the microverse allows community members to interact with each other, using their NFTs as avatars, in token-gated game-like environments. These environments can be customized with NFT minting machines, AI characters, and NFT collectibles/wearables.
You can think of these as the first-wave of metaverse projects; however, more sophisticated metaverses are emerging at this time.
9.6.1 – Community-Led Metaverses
All metaverse projects have some aspect of user-generated content, or community-led development. Virtual worlds are about letting users modify their surroundings, and develop land as they see fit; however, some metaverses go even deeper when it comes to community participation. Everything happens from the ground-up, and the storylines are built out by the collective.
Yuga Labs’ Otherside metaverse is perhaps the best example of a highly anticipated, community-led metaverse project. Yuga Labs started by either generating or acquiring some of the most viral and well-known NFTs in all of Web3. These NFTs include:
- Bored Ape Yacht Club (BAYC)
- Bored Ape Kennel Club (BAKC)
- Mutant Ape Yacht Club (MAYC)
- CryptoPunks
- MeeBits
- NounsNFT
- CoolCats
Think of these NFTs as the company’s intellectual property around which Yuga Labs is building Otherside content. Yuga Labs next released land plot NFTs called Otherdeeds. Finally, Yuga Labs launched ApeCoin, which is a fungible token that is said to power the Otherside metaverse. Holders of NFTs from the top three collections above were airdropped both Otherdeed NFTs and ApeCoin.
Yuga Labs is building a rich narrative around these assets, and the Otherside metaverse as a whole. There are several types of Otherdeeds each containing different resources, and some Otherdeeds are inhabited by rare Kodas, which are dangerous creatures that are central to the Otherside storyline. This storyline and recognizable IP is what differentiates Otherside from the virtual world builders described in the previous section.
And Yuga Labs is just providing the seed. The Otherside metaverse will expand and evolve based on decisions and content contributed by its community. Creators, and the community at large, will be able to manufacture objects (avatars, environments, and games) using Otherside’s Open Data Kits, or ODKs. Also, important decisions such as project selection, funds allocation, setting rules, and electing a 5-member board are being made in decentralized fashion. The ApeCoin DAO votes on these proposals, thus the community of ApeCoin holders collectively decide on the direction and development of the Otherside metaverse.
Loot is another metaverse project that has this same bottom-up, community-led dynamic. Loot NFTs were originally free to mint. They are essentially text files containing the names of adventure game items in a bulleted list format. Game content and storylines are typically dictated from the top down; however, the Lootverse is being built from the bottom-up through open-source contributions from the community. The community has many active projects, and some notable contributions include:
- Adventure Gold (each Loot NFT gets 10,000 AGLD)
- Role (create your character and change traits like strength, gender, etc.)
- Realms (a unique map is generated for each Loot NFT)
- Loot: Explorers (visualize your Loot items on characters, creates PFPs out of Loot NFTs)