Issue #29: Standards
Standards dictate a huge portion of human interaction.
When you’re in a certain country, you speak a certain language. When you drive a car, you stop on red, and go on green. The last 18 months during the pandemic, the world adopted new standards for wearing masks and social distancing, all in the name of safety.
Standards are important because they provide us with a basis for mutual understanding. This has enormous value in societies with millions of people, each living their own independent lives. Without them, it would be chaotic, and dangerous.
They are just as useful in the realm of technology, where interactions between machines, networks, applications and data are vital.
Standards have played a supporting, but prominent, role in the adoption of many new technologies over the years, and blockchains and digital assets wouldn’t be where they are today without them. This is our topic for today.
Let’s zoom in…
A Basis for Mutual Understanding
Whether we are talking about millions of humans interacting with one another, or a software system interacting with another, standards form the basis for mutual understanding.
In any form of interaction, having a basis for mutual understanding creates the following:
Interoperability. The term is often used in technology to describe systems that are compatible with one another, but the idea is just as relevant for human interaction. Imagine two people, roughly the same age with similar professional backgrounds who also speak the same language, are placed in a room and told to solve a problem together. Given what we know about these people, we would say they are interoperable. Each one can communicate and perfectly understand the other.
Now imagine those two people are from different generations, completely different professional backgrounds and don’t speak the same language. We would say these people are not interoperable. There’s a low likelihood they understand each other.
Efficiency. When two or more people, devices or systems are interoperable, the collective becomes more operationally efficient. Imagine our two people speaking different languages again. To solve the problem, they may talk slower, use hand signals or draw pictures to communicate with the other person. If they both have smart phones, they might use Google Translate, but it’s not 100% accurate and the pace of conversation when you are both reading replies and speaking your responses is naturally slower. The likelihood they ever solve the problem goes down.
Now imagine the same two people trying to solve the same problem together, only this time they speak the same language. They can communicate at a conversational pace using exclusively their voice. They have a higher likelihood of success, and will do it faster. Standards (language) that support interoperability make interactions more efficient.
Scale. Now imagine our group of two becomes a group of 1,000, and they are faced with the same problem. If everyone speaks the same language, our new 998 people can jump right in and start participating. Everyone can exclusively use their voice, and understand what others are saying. Standards that make interactions more efficient enable the number of interactions to scale without impacting performance.
Now that we understand the importance of standards, let’s look at a few examples.
Our world is increasingly run by computers and software, and they need to interact with one another to do their jobs properly. It should come as no surprise that standards play just as significant a role in technology interactions as they do in human ones.
One of the best examples of standardization in tech involves something we use dozens of times a day…email.
There have been dozens of email clients over the years - Lotus Notes, Outlook, Hotmail, Yahoo, Gmail, Proton Mail. Regardless of which client you use, you are able to send and receive messages from any other email address.
This level of interoperability is not an accident.
In 1981, Jon Postel (an absolute beast in terms of contributions to the early Internet) published the Simple Mail Transfer Protocol, a standard for electronic communication on the Internet. SMTP required email messages to contain the following fields: to, from, message header and body.
SMTP is why you specify your address, the recipients address, a subject line and a body when you send an email. This simply message format is the basis for mutual understanding between email accounts. It’s what enables someone using Gmail to send and receive emails from someone using Outlook.
This level of interoperability makes email an extremely efficient form of electronic communication, and has helped it scale in the last 30 years to over 4 billion email accounts today.
Like the Internet and email before them, blockchains and cryptocurrency have inspired a new set of technology standards for Internet-native finance. None have been more impactful than token standards.
From 2009 - 2015, if you wanted to create a new cryptocurrency, you had to create a new blockchain. You couldn’t separate the blockchain from the asset on top. Every blockchain was a single-asset ledger. It’s like wanting to build a new train car, but in order to do it, you have to build a brand new set of tracks along with it.
This meant zero interoperability between cryptocurrencies, and the technical barrier to entry was high. Creating, maintaining and securing new blockchain networks is hard work.
In 2015, Ethereum launches…the first multi-asset blockchain. So what do engineers do? They start creating new assets. From an asset creation standpoint, Ethereum was a giant leap forward. Instead of creating a new blockchain, all you had to do was create a new smart contract. But challenges remained.
Each asset created was a little different. From a security standpoint, this was concerning. It meant asset contracts were more likely to have bugs and vulnerabilities. It also made it difficult for applications and platforms to support them. They had to technically assess each one individually.
The Ethereum community quickly realized consistency was needed, and in late 2015 proposed ERC20, a fungible token standard. The ERC20 standard requires token smart contracts to have the following functions:
TotalSupply: provides information about the total token supply
BalanceOf: provides account balance of the owner's account
Transfer: executes transfers of a specified number of tokens to a specified address
TransferFrom: executes transfers of a specified number of tokens from a specified address
Approve: allow a spender to withdraw a set number of tokens from a specified account
Allowance: returns a set number of tokens from a spender to the owner
These six attributes make up the basic architecture of most cryptocurrencies that exist today.
Looks simple, but the impact has been enormous…
Interoperability. The interoperability challenge in crypto was between the assets and the tools, applications and platforms that supported them. They needed to “understand each other”. When all assets come in a standard format, it is easier to communicate. For example, an ERC20 compatible wallet can now support an infinite number of ERC20 tokens. If you’re an exchange or custodian onboarding new assets, this makes the technical aspect of that process much easier.
Efficiency. Greater interoperability paved the way for programmability. DeFi is an entire ecosystem of smart contract-based systems programmed to execute very specific financial arrangements. It relies heavily on the interoperability between the system contracts and the asset contracts. ERC20 guarantees that each DeFi system will be able to support a new asset when it’s created. This level of interoperability is unparalleled in finance, and will lead to more efficient financial infrastructure and system.
Scale. ERC20 provided developers with a free template, bringing the technical barrier to creating a new token down to virtually zero. As you would expect, the easier creating assets became, the more assets were created. In 2015, there were roughly 500 digital assets. By 2018, two years after the proposed ERC20 standard, there were over 200,000 different fungible tokens on Ethereum. That’s the power of standards.
In 2017, a complimentary token standard for non-fungible assets (NFTs) was adopted, ERC721. Today, across the ERC20 and 721 standards, there are 455,000 different digital assets. They represent over 95% of digital assets in existence.
The impact of new technology standards shouldn’t be measured in years, it should be measured in decades. In five short years, the impact of the ERC20 and ERC721 token standards have helped propel Ethereum to the front of the blockchain race. But the story doesn’t end here.
The end game for public blockchains like Ethereum is global financial infrastructure. They will manage millions of assets, and they will handle tens of trillions of dollars of financial activity every day.
In the future, if you want to be an asset on that global infrastructure, you need to comply with certain technical standards.
My prediction is that 99.9% of the world’s assets will eventually be ERC20/721 tokens (or a subsequent, more robust version of these standards).
If you accept my premise and the world’s assets exist in only two formats (fungible and non-fungible tokens), the discussion around interoperability, efficiency and scalability gets really fun.
The topic of a future issue…
Thanks for reading,
Not a subscriber? Sign up below to receive a new issue every Sunday.