Figment’s First Look: Flow
Flow is an upcoming decentralized blockchain developed by the creators of CryptoKitties and upcoming titles like NBA Top Shot. Figment will be supporting Flow and its stakeholders at launch. Until then, learn more about what makes Flow unique by reading below.
What is Flow?
Flow is a new blockchain built for crypto-enabled consumer applications, games, and the digital assets that power them. Flow plans to provide developers with a fast, high-throughput platform as well as the tools they need to build sustainable businesses using blockchain technology. Flow has three unique differentiators compared to other layer one blockchains:
- A novel, four-node architecture that allows for improvements in speed and throughput without sharding, layer two solutions, or compromising decentralization.
- Cadence, a new programming language designed with smart contracts in mind.
- Built-in payments, rewards, and distribution mechanisms to help applications on Flow engage their communities, find new users, and build network value.
Multi-Role Validator Node Architecture
The Flow team took inspiration from the concepts of pipelining in CPU design and assembly lines in manufacturing. The protocol allows different nodes to specialize based on their hardware capabilities and their economic stake, allowing broad decentralized participation and scaling without sharding the network. The protocol distributes the work that goes into collecting transactions, coming to consensus on their order of inclusion, executing their result, and verifying correctness to four different node types. This design allows Flow to scale without sharding or compromising decentralization, while preserving an ACID-compliant and developer-friendly environment.
- Collection Nodes: bandwidth-optimized nodes divided by the protocol into several cooperating Clusters which contribute to the improved throughput of the system.
- Consensus Nodes: form and propose blocks in a manner similar to traditionally-structured proof-of-stake blockchains, using the HotStuff consensus algorithm to create a consistent chain of blocks.
- Execution Nodes: the most resource-intensive nodes on the Flow network, responsible for executing transactions, maintaining the Execution State, and responding to queries from dapps and users. The Execution State is a cryptographically-verifiable data store for all user accounts and smart contract states.
- Verification Nodes: responsible for confirming the correctness of the work done by Execution Nodes.
Cadence – Developer First Experience
Cadence is one the first programming languages built around the concept of resources, a programming abstraction inspired by linear types. Resource-oriented programming lets developers write safe smart contracts because digital assets and their ownership can be tracked directly in the code.
Consumer Friendly Onboarding
Flow promises mainstream ready payment on-ramps, and applications that audiences will actually want to use at launch. Human readable security and smart user accounts will ensure dapp users will never lose their assets or access to their accounts.
Flow is being built by Dapper Labs, the company behind CryptoKitties. Dapper Labs is headed by CEO Roham Gharegozlou and CTO Dieter Shirley. Flow is backed by the likes of Andreesen Horowitz and Union Square Ventures, and has partnered with notable technology companies and entertainment leaders on applications being built on Flow. Dapper Labs partners include the NBA, NBPA, NFL-PA, UFC, Warner Music, Animoca Brands, and Ubisoft, among others.
Solving the Scalability Trilema
The scalability trilema describes the tradeoffs when deciding how to optimize a blockchain. In a perfect world, a blockchain would be a homogenous network that exhibits security, scalability, and decentralization. The scalability trilema states that no blockchain exhibits all of these features, and most blockchains sacrifice scalability for greater security and decentralization.
While many blockchains, like Ethereum, are implementing sharding as a way to scale horizontally, Flow is separating the work through its multi-node architecture, which will allow for vertical scalability. By separating the work, Flow can optimize for security, scalability, and decentralization at various stages of the block cycle.
Consensus and Verification nodes are designed to keep the network accountable. They are the foundation of security for the network. Execution and Collection nodes are designed for throughput and add immense capacity and scale to the network. They are the foundation of scalability. The existence of these 4 different node types ensures distribution of node operators and decentralization of the network.
There are plenty of use cases for Flow that may not be feasible for other blockchains due to its potentially massive scalability. This potential has led to big name brands like the NBA and the UFC developing consumer applications on Flow. Games, NFT marketplaces, and other consumer facing applications is what we can expect from Flow on day one of launch.
That said, Flow is a general purpose blockchain and the team behind Flow expects more crypto oriented applications, like DAOs and DeFi applications to be built on Flow in the future.
The FLOW token is native token on the Flow blockchain which will serve as the reserve asset for all activity on Flow.
The Flow token will be used as:
- Staking token required for validators to perform work on the network and earn rewards.
- Reward token for early adopters participating on the network.
- Fee token for paying for transactions on the network.
- Token for account storage deposits.
- Reserve asset for secondary tokens, like stablecoins.
- Token used to participate in future governance and ecosystem development.
Flow’s token economics are based around providing enough incentives to attract high quality validators while keeping inflation low. This is done to make sure that end users, who do not choose to delegate their FLOW tokens, are not negatively affected by high inflation rates. That said, staking rewards in the first year will be higher as other parts of the Flow ecosystem mature.
Fixed Reward Rate
Node operators and their respective delegators can collectively expect to earn 3.75% of the total market cap every year. Only during the initial phase of network bootstrapping, the inflation rate might be higher for a limited amount of time.
Flow will issue new tokens (inflation) to stay true to this fixed rate, but as the network grows in usage, these rewards will be generated from transaction fees. If transaction fees earned go above 3.75% then those earnings are held in escrow to offset future inflation.
Different Node Types, Different Reward Rate
There is a fixed reward rate that ecompasses all validators. However, the reward rate can and will fluctuate based on node type. This will ensure that stakers are incentivized to move to roles that are needed at any given time. The reward rate is set and adjusted by a set of multipliers known as “reward coefficients”. These values will be adjusted automatically based on the difference between the actual ratio and the targeted ratio. Below is the expected revenue split at launch.
FLOW token holders who do not wish to run their own node will be able to delegate their FLOW tokens to nodes on Flow.
Rewards are automatically paid out at the end of every epoch, which is 7 days on Flow. That said, rewards do not compound automatically, which means token holders will have to redelegate their rewards every 7 days.
There is a 7 day unbonding period if a staker wishes to unbond their tokens. The unbonding period begins at the end of the upcoming epoch cycle, which means that it is beneficial to start the unbonding process closer to the end of the cycle. Rewards are not earned during the unbonding period.
Like most blockchains, nodes will lose the option to earn rewards or be punished in the form of slashing if they act maliciously on the network. Nodes will only be slashed if they misbehave on the network, and will not be slashed for downtime. However, nodes that are down will not earn rewards while they are down. One exception to this rule for collection nodes. If a large number of collection nodes fail to respond, then it is assumed that downtime was intentional, which will result in slashing.
FLOW tokens will be distributed to respective parties in full or in incremental payments and can be subject to lockup periods.
30% of FLOW tokens will be set aside for ecosystem development (i.e. future protocol development), collateral reserve for future stable coins, and decentralization distribution (i.e. third-party developers).
At launch, the Flow protocol will have informal off-chain governance. The development team will operate independently, with the mandate to build for the decentralized community. Similar to Bitcoin or Ethereum today, anyone will be able to submit improvement proposals on the Flow GitHub repo, which are then reviewed by a core development team. Protocol upgrades will be proposed to node operators who then make independent decisions on adoption.
The Flow team expects to have an on-chain voting signaling mechanism ready by late 2020. Although these votes are not binding, they will be public, which will allow the community to drive development efforts.
Additionally, various ecosystem development efforts will be dispersed across decentralized autonomous organizations (DAOs) which will require FLOW or ‘FLOW-infused’ tokens for voting. Service protocols built on top of the Flow network (e.g. stablecoins) will be the first major components of the protocol to be transferred to fully on-chain governance, the details of which are yet to be published.
The Flow protocol is currently running on the Beta Mainnet. NBA Top Shot has already soft-launched on Flow and they will be expanding the dapps deployed over the course of the summer. When the Genesis Block is minted, validators will begin earning FLOW token rewards which will be usable with the community contracts that will also be deployed over the course of the summer.
The Beta mainnet is designed to test contract deployment and ensure a seamless user experience for engaging with dapps. This phase will also support token delegation to validators like Figment, for stakeholders who wish to participate in securing the network but who may not be able to run a node themselves for various reasons.
In the fall, the network will transition out of its beta phase to support additional validators. Ecosystem developers and network validators will help determine the right timing for the switch. Check out our AMA recap with the Flow team to learn more about their vision.