Flow is built by Dapper Labs, the company behind Cryptokitties, and it’s inspired by the scalability challenges Dapper Labs faced as Cryptokitties rose to prominence. Flow aims to be the blockchain foundation for onboarding mainstream users via the next generation of game, app, and digital asset developers. The protocol is designed to scale using multi-role architecture rather than sharding, resulting in increased speed and throughput while remaining developer-friendly and secure.
Dapper Labs’ first forays into the game and collectibles market are their partnerships with the NBA, Dr. Seuss, and the UFC. Developed on Flow, the innovative NBA Top Shot app is currently in beta. It allows NBA fans to buy digital tokens featuring photos, videos, and data from the most memorable moments of the 2019-2020 season. In the future, tokens will highlight moments from the league’s history. Similarly, the app in development with the UFC will allow fans to purchase digital versions of their favorite fighters.
The team also published plans to “sponsor the creation of an entertainment industry council for C-level executives from global IP holders, game publishers, entertainment studios, and cultural influencers. The council will help identify risks and opportunities, remove friction-points for consumer adoption, and help catalyze a healthy global entertainment ecosystem.”
Over 2,000 projects have been created on the Flow Playground, an easy way to get started with blockchain development.
“Bison Trails has extensive experience with Flow and has collaborated closely with the team to provide feedback on infrastructure requirements, operational costs, economics, and timelines. Flow’s innovative multi-role architecture, resource-oriented programming, developer ergonomics, easy consumer onboarding, resource pricing, and storage deposits will be an asset to the industry at large.” —Joe Lallouz, CEO of Bison Trails
There are six key innovation on Flow:
In order to increase throughput speed, Flow created a multi-role architecture for the network. Using four different types of participation nodes—with one additional type, Access Nodes, which are comparable to a light client—Flow separates non-deterministic (“subjective”) processes, such as determining the presence and order of transactions in the blockchain, from deterministic (“objective”) ones, such as computing the result of those ordered transactions once it has been determined. Non-deterministic tasks require coordination while deterministic ones have a single, objectively-correct outcome.
Each type of node performs a discrete task in the validation process for each transaction. To allow this approach to work, Flow uses a new cryptographic technique called Specialized Proofs of Confidential Knowledge (SPoCKs) to address the Verifier’s Dilemma. Without revealing anything confidential, SPoCKs allows provers to show they have access to the same information. Each prover has its own specialized SPoCK which can not be copied or forged. Requiring each prover to have a SPoCK ensures that each node does its own check rather than copying other nodes results or blindly following their lead.
A transaction on Flow is submitted to a Collection Node which is part of a Cluster. The node validates the transaction which then joins other transactions in a Collection. A super majority of the nodes in the Cluster must sign the Collection in order to send the Consensus Nodes a Collection Guarantee. This guarantee includes a hash derived from the contents of the transactions, the Cluster’s ID, the count of transactions in the Cluster, and the signatures. The transactions themselves remain stored on the Collection Nodes who must respond to queries from Execution Nodes. Rewards are only received by nodes that sign collections.
Consensus Nodes form blocks containing the Collection Guarantees after confirming that a super majority signed the Collection. Once the blocks are on the chain, Execution Nodes contact the Collector Nodes for the full contents of the Collection. Once the transactions are received, the Execution Nodes runs them and issues an Execution Receipt. At this point, the nodes have done the necessary computational work to determine the new state of the chain. These receipts are also included in new blocks by the Consensus Nodes. When this new block is finalized, the Verification Nodes begin their work of confirming all the independent pieces of the execution work contained in the block are correct.
To verify the work, the information on the block is divided into chunks that represent certain computation performed between two milestones. This chunk is assigned to a set of Verification Nodes which contact the Execution Nodes for the data that matches their chunk. If the node confirms the computation for that chunk is correct, it issues a Result Approval to the Consensus nodes. If there is an error, a Faulty Computation Challenge is issued.
Once the Consensus nodes receive enough Result Approvals on all chunks from an Execution Receipt, the Consensus Node includes a Result Seal for the receipt in the next new block. At least ⅔ of the Verification Nodes assigned to a chunk must issue Result Approvals for a Result Seal to be included. If one or more chunks do not receive a Result Seal, the Consensus Nodes trigger Full Check Mode for those chunks. All Verification Nodes then check the chunks in question. Two-thirds of all Verification Nodes must issue Result Approvals to seal the result. Full Check Mode is also used in the case of two or more Execution Receipts being provided for the same block.
Once a result is sealed, the associated transactions are finalized and changes are immutable.
|Total Initial Supply||1.25bn|
|Total Planned Inflation||Unlimited|
|Maximum Token Supply||Unlimited|
|Token Price at Sale||TBD|
|Expected rate of Inflation||20% during the Bootstrapping Phase (annualized, first 3 months)
|Expected staking rate||70% during the Bootstrapping Phase
|Expected rate of reward||28.57% during the Bootstrapping Phase
|Expected number of nodes at launch||28 Collection Nodes
43 Consensus Nodes
3 Execution Nodes
73 Verification Nodes
|Maximum Stake||Collector Nodes: 2,500,000 FLOW
Consensus Nodes: 5,000,000 FLOW
Execution Nodes: 12,500,000 FLOW
Verification Nodes:1,350,000 FLOW
|Minimum Stake||Collector Nodes: 250,000 FLOW
Consensus Nodes: 500,000 FLOW
Execution Nodes: 1,250,000 FLOW
Verification Nodes:135,000 FLOW
|Lock-up Period||Unbonding at the end of the following epoch (2 weeks)|
|Reward compounding||Every epoch (weekly)|
|Reward payout frequency||Every epoch (weekly)|
|Reward payouts mechanics||Automatically accrue to delegator address|
Flow has a fixed inflation rate (although it is higher during the initial bootstrapping phase); network participants will earn 3.75% inflation per year, derived from new token issuance and transaction fees. As transaction fees rise, the rate of new issuance will decrease. If transaction fees rise above the inflation rate, the additional earnings are held in escrow to offset future inflation. This process minimizes new issuance while guaranteeing a healthy inflation and reward rate for participants.
With a 3.75% inflation rate, the reward rate is expected to be 11.36% per year. There will also be an initial 3 month "bootstrapping" period at launch where the rewards rate will be significantly elevated (expected to be around 29%).
All four participation node types (Collection, Consensus, Execution, and Validator) are rewarded for their work on the chain. In order to maintain a balance between node types, the protocol does not reward all node types equally. A balancing system incentivizes the most secure distribution of node types by changing the reward rates for each type.
If a node type is overrepresented (e.g. Consensus nodes have 60% of the stake) then the inflation rate received by that node category will decrease and the inflation received by underrepresented node categories will increase. This adjustment parameter is called a reward coefficient.
The reward coefficient will not be live at launch.Before this time, the Flow team will distribute nodes to keep the ratio at the ideal state. For example, if only 40% of tokens are staked to Consensus nodes, the Flow team will stake the necessary tokens to those nodes to get the ration to 51.8%.
The Flow foundation will delegate to partner nodes to ensure they remain in the active set for up to 2 years or until the time the staking requirement for the node equals the validator’s holdings. If, at the end of 2 years, the holdings still don’t match what is needed, Flow governance will vote if the Foundation’s delegation should remain with that validator or go to a new entrant.
On Flow, only severe infractions, which undermine the safety of the network, can lead to “slashing.” Unlike other protocols, Flow does not slash stake for performance related problems, with the exception of a very specific Collection Node downtime error. If too many Collection Nodes are down simultaneously, the protocol will assume this act was intentional and will slash the nodes exhibiting that behaviour. However, a single node going down for a short time would not result in slashing. Slashing will not be enforced at network launch and is unlikely to be enabled for the first year.
"The Bison Trails team really sets the standard for professional node operation. Their team is reliable and committed, and goes beyond technical excellence to build communication and understanding in the wider community." -Dieter Shirley, Chief Architect for Flow
Contact us to learn more about running Flow nodes on the Bison Trails platform or about any of our enterprise offerings.
Bison Trails is a blockchain infrastructure company based in New York City. We built a platform for anyone who wants to participate in 19 new chains effortlessly. We also make it easy for anyone building Web 3.0 applications to connect to blockchain data from 27 protocols with QT. Our goal is for the entire blockchain ecosystem to flourish by providing robust infrastructure for the pioneers of tomorrow.
eth2 Update 007Dec 3 2020
eth2 Update 006Nov 25 2020
Substrate Ecosystem Update 003Nov 25 2020
Now Available: Diem (Libra) QTNov 24 2020
eth2 Insights: Network PerformanceNov 23 2020
eth2 Update 005Nov 18 2020
eth2 Insights: Validator EffectivenessNov 16 2020
tBTC and DeFi: How to Get InvolvedNov 12 2020
Coinbase Custody Expands Bison Trails Integration to Add Staking Support for CeloNov 12 2020
eth2 Update 004Nov 11 2020
QT Archival: When a Full Node is Not EnoughNov 11 2020
Bison Trails Newsletter 009 • October 2020Nov 10 2020
View More →