Developed by CryptoKitties and NBA Top Shot developer Dapper Labs, the Flow blockchain is a DLT protocol designed to support digital collectibles and blockchain-driven games. The protocol utilizes a multi-role node architecture that offers a scaling alternative to sharding and sidechains. This novel design is aimed at enabling Flow to support billions of users.
If you’ve been following the blockchain and crypto space in the past few years, you’ve probably heard the name CryptoKitties. Launched in 2017 on Ethereum, the decentralized app, which allowed users to collect, breed, buy, sell and trade unique virtual cats, reached immense popularity and was even covered by mainstream media outlets like the BBC. The successful launch was a great showcase for the viability of NFT-driven dApps… as well as for the problems they need to solve to become mainstream. As the game became an overnight sensation, it caused severe network congestion, slowing down the Ethereum network and causing big spikes in gas prices.
The experience with CryptoKitties’ launch made Dapper Laps realize that for digital assets to reach their true potential, the scalability problem plaguing existing blockchain and DLT networks needed to be resolved. So instead of waiting for others to come up with a solution, Dapper set out to build their own solution. This is how the Flow blockchain came to be.
What is Flow blockchain?
Today’s scaling solutions typically focus on offloading transactions from the main chain in order to reduce the load on the main network. One of the prominent implementations of this technique, sharding, distributes the load between multiple interconnected ‘shard chains’. This means that each shard in such a system is responsible for processing only a portion of the overall transaction volume.
In contrast, Flow’s approach utilizes division of labor in a different way. It divides its network nodes into four distinct categories based on their role within the network. Each node in the Flow network participates in the validation and processing of every transaction, but only specializes in performing a single function. According to Dapper, this leads to greater efficiency across the network and helps avoid some drawbacks of sharding and other techniques that rely on distribution of transaction data across multiple chains. Interactions between different shards can result in unnecessary increases in complexity and lead to inefficiencies and even errors. Flow avoids these issues, as its multi-role infrastructure allows transactions to remain atomic, consistent, isolated and durable or, in other words, “ACID”.
The idea of Flow’s multi-role node architecture came from the realization that all tasks in a blockchain system are either deterministic (objective) or non-deterministic (subjective) and that separating deterministic from non-deterministic operations could lead to significant gains in efficiency. More specifically, Dapper found that only non-deterministic tasks such as validation and ordering of transactions required consensus, while deterministic operations such as executing transactions always have only one, objectively-correct answer. This means that the execution of transactions doesn’t need to be part of the consensus. Or as Dapper Labs puts it, you can “separate consensus from compute” to achieve greater efficiency without compromising decentralization.
This finding has informed the Flow blockchain architecture, which consists of four node types:
- Consensus nodes – their role is to decide the presence and ordering of transactions on the network. The consensus nodes use a variant of the prominent proof of stake algorithm HotStuff.
- Verification nodes – these are responsible for keeping Execution nodes in check. Together with Consensus nodes, they form the foundation of security in the Flow network and hold the rest of the network accountable through economic incentives.
- Execution nodes – these nodes are tasked with performing the computations associated with each transaction.
- Collection nodes – these work to improve connectivity across the network and to help dApps easily retrieve relevant data. Collection and Execution nodes are fully deterministic.
Benefits and features of the Flow blockchain
As mentioned above, Flow was built with the purpose of supporting NFT-driven dApps, crypto games and other dApps that could prompt high user activity. Thanks to its architecture, Flow is capable of supporting billions of transactions, according to Dapper Labs.
Alternative scaling solutions like sharding tend to introduce unwanted complexity due to the need for synchronization between shard chains. This can make developing smart-contract-driven apps more difficult.
Speaking of dApp development, Flow comes with a number of features specifically designed to help developers build applications more easily and efficiently. For starters, Flow comes with its own smart contract programming language. Cadence, as the language is called, is built around resources, which are a new way of representing asset ownership and the properties of crypto-enabled assets directly in the programming language. Cadence also has an ergonomic syntax which makes it very easy to read.
Upgradable smart contracts
In traditional dApp platforms like Ethereum, smart contracts cannot be changed once they have been deployed. This immutability of the smart contract code is intentional, as it ensures that the contracts cannot be manipulated post launch, even by their original authors. However, this also means that developers do not have the ability to make fixes to the code when needed.
To avoid this problem, the Flow blockchain allows smart contracts to be deployed on the network in beta mode. While in beta, contracts can be changed and improved, but the users are alerted that their code is still unfinished. Once the developers are certain that their contracts work as intended, they can release their control over the contracts, making them immutable.
On a related note, Flow also has built-in logging support, which allows developers to track the behavior of smart contracts.
Convenient to use
The Flow blockchain also comes with a number of features designed with user convenience in mind. These include smart user accounts and clear, human readable security messages.
A promising start
The viability of Flow as a blockchain platform for NFT-driven dApps have been clearly demonstrated by the success of NBA Top Shot, a marketplace for basketball video highlights that Dapper Labs developed in partnership with the National Basketball Association. The dApp has already processed more than three million transactions, generating total sales of over $500 million.
Another promising dApp currently running on Flow is the VIV3 marketplace which was launched earlier this year. The marketplace allows creators to mint and sell unique NFTs representing their digital creations.
Following the success of NBA Top Shot, Dapper Labs is now working on a similar project for UFC (Ultimate Fighing Championship) highlights and has also partnered with Dr. Seuss, Samsung and Ubisoft, among others. Meanwhile, with so many developer-friendly features in its arsenal, Flow seems to be perfectly position to attract new and exciting third-party projects. Given its novel approach and sharp focus on digital assets, Flow seems poised for success as NFTs continue to take the world by storm.