The Blockchain Technology Stack
A couple weeks ago, I mentioned the moat of jargon around crypto. Even among those who have been working on this technology for years, there is often dispute over preferred terminology. Indeed, the word “crypto” is itself a point of contention. It’s little wonder there is so much confusion.
Whether you are new to the space or deep down the rabbit hole, it’s worth having a framework for where different technologies fit into the ecosystem.
Blockchain technologies break down into three categories: products, platforms, and protocols.
- Products serve end users
- Platforms serve product developers
- Protocols serve platform & product developers
Products sit at the top of the stack and are what end users interact with. These are often standalone assets: cryptocurrencies and tokens. Sometimes these assets serve a function within larger products called smart contracts or decentralized applications (dapps). Tokens are generally built by developers on top of a platform.
Platforms are a kind of middleware. Platforms facilitate the creation of products (in this case, tokens) and are usually associated with things like IDEs, high level languages, compilers, and other tools. These platforms, along with the products built on top of them, abide by conventions and procedures defined in their respective protocols.
Protocols are the set of rules that govern the network. Blockchain protocols usually include rules about consensus, transaction validation, and network participation. Protocols are often dependent on economic incentives — which generally means the protocol hinges upon an asset.
Circularly, this protocol-level asset can also serve as the protocol’s native product (no platform required!)
Bitcoin is a good example of this. Bitcoin (capital B) refers to the protocol. The protocol hinges upon a native asset: bitcoin (lowercase b). This native asset is also what gets used as the end product: it is the user’s means of payment, store of value, and (let’s be honest) vehicle for speculation. Note that Bitcoin does not really offer a platform. It’s not very friendly for developers trying to build new products on top of it.
Ethereum, on the other hand, exists at all three layers. It is a protocol, providing base-level rules. It is a platform, enabling developers to build new products on the system. And, because its protocol also has a native asset, it is also a product (in the form of ether).
Bitcoin and ether are cryptocurrencies, not tokens. A cryptocurrency is an asset that serves an economic purpose at the protocol layer and exists as an end product itself. Other examples include zcash and tezzies.
Tokens, meanwhile, are assets that function solely at the product level. Tokens are built on a platform and are not a core component of the underlying blockchain protocol. They may, however, be a core component of a smart contract or a decentralized application. Examples of decentralized applications include Augur and Brave, which implement the REPutation Token and the Basic Attention Token respectively. Both examples are built on the Ethereum platform and leverage the Ethereum protocol.
There are lots of layers to blockchain technology — all of which are being built at once. There are circularities to and dependencies among these layers. Having a framework of terminology helps in reasoning about where value lies, where investment is being made, and what is left to be worked on.