The pieces of the blockchain Lego

Just a small piece of the Web3 universe

When people hear the word “blockchain” what comes immediately to everyone’s minds are projects like Bitcoin, Ethereum or Solana. Of course, these projects are the core foundation for many more, but they are only a small part of the great gamut of projects that make up the blockchain ecosystem. What I like to call the blockchain Lego.

A few days ago I came across this great blog post from Coinbase describing the different layers of the Web3 stack. I personally wouldn’t call it the Web3 stack (for me, as it happens to others Web3 is way more than just plain blockchains), however, the post perfectly illustrates how the blockchain ecosystem is way more than just the Protocol Layer represented by the aforementioned projects. Instead of illustrating the different types of blockchain projects as a stack, I like to think about them as the different pieces of a Lego, that can be combined to build new decentralized applications and projects.

An illustration of the blockchain Lego (source: https://blog.coinbase.com/a-simple-guide-to-the-web3-stack-785240e557f0)

I enjoyed so much how the folks at Coinbase classified the different kinds of blockchain projects, that I am going to politely borrow their classification and build upon them to define the different pieces of the blockchain Lego:

And here is where I make a slight detour from Coinbase’s classification and introduce two new piece types:

It may have come obvious to you while you were reading about these pieces of the blockchain Lego, but let me make it explicit: throughout the description I’ve used tiles to describe pieces that are closer to end-users and less prone to be combined to build the substrate for a more complex functionality. Bricks, on the other hand, are general building blocks “ready-to-combine” for whatever you need to build (see image below for the visual difference between tiles and bricks).

Tiles v.s. bricks

Two important Protocol Bricks

In some of my previous publications I’ve been writing a lot about L0, L1 and L2, but I’ve been neglecting two very important building blocks from the blockchain Lego: oracles and bridges.

Blockchain Bridges

Blockchain bridges are protocols implemented to allow the transfer of tokens and/or arbitrary data from one blockchain network to another. They are a key piece to achieve the interoperability between different blockchain systems, and their state. Blockchain networks connected through a bridge can be of a really different nature: they can target different smart contract technologies (or none), run a different consensus algorithm, and store their state with different formats.

There are several ways of implementing bridges, but they can all be classified into two main groups:

Bridges are a key building block of L2 solutions and an utmost requirement for asset-based use cases to thrive (like NFTs or cryptocurrencies). This is the reason why projects like Metis are investing so much effort on bridging with all major chains and projects, and partnering with several bridges like AnySwap, PolyNetwork, BoringDAO, ClassZZ, or Celer. An asset held in an isolated network can have access to a limited market. What projects like Metis are trying is to become the “cheap and fast” bridge between all networks, that way, someone looking to exchange their token can move it to Metis, and prospect potential buyers in the users of any of the bridged chains. This also opens a great opportunity for developers to implement a system that aggregates in Metis every selling/buying order from every bridged chain providing a global asset exchange system. Exciting, right? This opens a lot of possibilities for exploration and new use cases.

But there are not only on-chain bridges to connect blockchains, we can also have bridges that link on-chain smart contracts with off-chain data. We don’t call them bridges, we call them oracles.

Blockchain Oracles

Oracles build bridges between the state in blockchain networks (or smart contracts) and the outside world. These systems send and verify real-world data (like the real-time price of a stock, or the weather on the moon) and inject this data inside a blockchain network. Oracles are generally used to start on-chain events triggered by real-world occurrences.

But if blockchains only store validated and verified data, how can an oracle ensure that the data being injected in a blockchain is legit? It really depends on the implementation of the oracle. The most common approach (and the one implemented by projects like Chainlink) is through decentralized oracles. Decentralized oracles implement a protocol where users are incentivized to submit and verify the data that is being injected in the blockchain. Similarly to how proof-of-stake works, where validators proposing or voting new blocks are penalized if the block is invalid, users in decentralized oracles are rewarded and penalized according to if the data injected (and verified) was correct or not. For new data entering the blockchain to be accepted, quorum must be reached by a majority (or minimum number) of participants voting the data as legit.

As it happened with on-chain bridges, oracles are a key requirement for the implementation of more complex real-world use cases leveraging blockchains, as they allow the interaction with traditional databases and services out of the world of blockchains (where data can’t be trusted).

Wrapping up!

The blockchain space looks more like a Lego than a stack, where one can combine the available pieces to build whatever they want, need, or dream. In this article I tried to illustrate the different pieces that we can currently find in the blockchain box, zooming in into bridges and oracles, two important pieces for the current state of affairs. However, blockchains and the pieces of this Lego are just a really smart part of the Web3 universe full of many more incredible pieces. Winter may be coming to the markets, but who cares! I can’t wait to see what is the next thing to be “buidl” using all of these Lego pieces

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store