About Flow

Flow is a fast, high-performance, and scalable layer-1 blockchain explicitly designed for the new generation of crypto games, Dapps, and digital assets.

Launched by Dapper Labs – the team behind CryptoKitties and NBA Top Shots, Flow aims to serve billions of users with fast, low-cost transactions and a good user experience by introducing multi-node architecture and its own resource-oriented smart contract language-Cadence.

In addition, Flow is a developer-friendly blockchain on which users can control their data and freely create their types of digital assets tradable on the open market.

Strengths

Multi-node architecture

In a traditional blockchain, every node has to store the entire state and perform multiple tasks related to validating transactions on the chain. Therefore, each node requires high-performance hardware, and they do the same functions with low speed.

Figure: four types of nodes. Source: onflow.org

Instead of requiring a validation node to do all tasks, Flow is split into four different types of nodes :

  • Collection nodes: collect well-formed transactions from external clients, batch them into so-called collections, and then send them to Consensus Node. Collection nodes help boost the efficiency, network connectivity, and data availability of Dapps.
  • Consensus nodes: form a new block from collections and then seal it. Consensus nodes run the BFT consensus algorithm to reach an agreement over the presence of collections in the next block that ensures decentralization and security.
  • Execution nodes: compute the outputs of all finalized blocks and execute the finished blocks generated by the Consensus Node. The execution node is responsible for improving the speed and scalability of the network
  • Verification nodes: verify the correctness of the Execution node’s computation. The Execution and Collection nodes perform fully deterministic tasks that make them less vulnerable to attack.

It can be seen that each node in the network only needs to focus on a single role, resulting in the high efficiency of the transaction validation process. Also, all transactions are processed on-chain rather than off-chain (Layer 2 solution), which preserves each transaction as atomic, consistent, isolated, and durable(ACID). It means developers on Flow can build secure and composable applications to enable new possibilities for billions of consumers worldwide.

Only the execution node of Flow requires strict hardware conditions, while other node types can be done via the standard hardware that allows almost normal users to become a node. The Execution and Collection nodes only perform deterministic tasks so that they would be less vulnerable to attacks. Flow runs on the PoS model, a preferred option for NFT project implementation.

The multi-node architecture allows Flow Blockchain to verify transactions faster and avoid network congestion. No network congestion also means fewer transaction fees.

Cadence programming language:

Flow has been developing its resource-oriented programming language -Cadence, that helps improve the security, safety, clarity, and approachability of a smart contract.

Safety: provide a robust static type system to avoid bugs and unwanted program behavior at compile time. Cadence can prevent integer overflow and underflow and require variables to be initialized before use.

Security: allow developers to state pre-conditions and post-conditions so they can ensure their code run in a proper way

Clarity, approachability, and extensibility: Cadence is easy to read, making auditing and review more efficient. In addition, smart contracts written in Cadence are upgradable smart contracts by default.

Developers interested in Candence can learn it through detailed documentation and tutorials provided on the Flow website.

Source: Flow documentation

Flow is a blockchain built especially for crypto games and NFTs:

Significantly low transaction fee:

The transaction fee on Flow is much cheaper than on Ethereum. On Ethereum, sometimes, the average gas fee per transaction can reach $20.Hower on Flow, users only need to pay 0.001 FLOW(now approximately $0.006) for account creation and 0.000001 FLOW for transaction fee.

In addition, on a sharded blockchain, only a simple action such buy KittyHat for CryptoKitty using TUSD can take 12 transactions and 7 blocks. However, in Flow, this action can handle by only a single block

High transaction speed:

The current Ethereum can only process around 15-30 transactions per second(tps), leading to delays and network congestion.

However, Flow blockchain is capable of more than 100 tsp. Furthermore, Flow’s development team states that Flow blockchain can execute 10.000 tsp in the future with its unique architecture, which means Flow can scale to a hundred million or even a billion users.

Use less energy for minting NFT:

According to Deloitte Canada, the energy required to mint 12.5 NFTs on Flow equals the energy consumed for a Google Search. In other words, minting an NFT on Flow takes less energy than an Instagram post.

Solution for “Blockchain trilemma”

The concept “Blockchain trilemma” was coined by Vitalik Buterin- the co-founder of Ethereum. It says a trade-off between three properties: scalability, decentralization, and security. In other words, a decentralized network cannot provide both of these three properties simultaneously. Instead, they have to sacrifice one benefit to accommodate the other two completely.

(Three issues of “Blockchain trilemma” -Source:https://www.ledger.com/academy/what-is-the-blockchain-trilemma)

Flow does not disprove Blockchain Trilemma. However, because Flow has four types of nodes, it can choose the proper aspect to sacrifice for each part of the system.

For example, Flow optimizes the decentralization and security of Consensus Nodes because they are vulnerable to Byzantine attacks. Of course, this will limit the scalability, but it is an acceptable trade-off because these nodes only have minimal computation requirements.

Execution nodes are highly scalable, but due to the high hardware requirements, they have very few participants. Therefore, they are not so decentralized and have low byzantine fault tolerance. However, this is not a problem because any dishonest execution nodes can be easily detected and punished by the high decentralization and security Verification Nodes.

Overall, Flow uses the strengths of one part to compensate for the weaknesses of the other parts.

Opportunities

With high transaction speed and low transaction fees, Flow has the potential to scale to billions of users. Moreover, by lowering the requirements for the certain node types, even a regular user with a laptop or PC can become a Consensus node or Verification node of the network. That helps to increase the decentralization.

Flow is also the world fastest growing blockchain, with approximately 5.6 million accounts now. In April 2022, over 1 million new accounts were created on Flow. In addition, there are already millions of NFT trades on Flow.

Drawbacks

  • As Cadence programming language is relatively new and unproven, the number of Cadence developers is still small
  • Flow blockchain has not yet been connected to other blockchains
  • Data of Flow is stored off-chain on Filecoin - a decentralized system
  • Unlimited token supply can cause inflation in the future

Conclusion

Flow is an exciting project because of what they have done for blockchain technology. The system runs fast and safely, at least for now, and will continue to grow in the future. Although there are still quite a few limitations on the number of programmers and the concentration of blockchain, we can still wait for a more transparent future when their solutions and next steps are applied in practice.

Reference

Flow technical paper: https://www.onflow.org/technical-paper

Flow node roles:https://docs.onflow.org/node-operation/node-roles/

Flow-The normie blockchain: https://www.notboring.co/p/flow-the-normie-blockchain