Flow — Sleeping Giant
Bullish on the FLOW ecosystem! As we explore below, FLOW takes on a very unique approach in their design of their token by leveraging Cadence as their programming language. I believe FLOW is a prime example of an ecosystem that serves as a special purpose — Digital Assets!
One of the most significant hurdles in blockchain architecture is how to process the most amount of transactions in the least amount of time, a metric referred to as throughput. When you look at other blockchain networks like BTC, ETH, SOL, etc. you notice that they improve by increasing efficiency of their single node types that are used to run the network. FLOW on the other hand, developed a unique approach to split up the work traditionally assigned to cryptocurrency miners into different roles, where selection and ordering of the consensus are performed independently from execution.
Why so many different nodes?
- Access Node: Access nodes provide external clients with access to recent blocks and submit transactions from clients to the collection node cluster.
- Collection Node: Collection nodes are organized into collection clusters →A collection nodes cluster decides which collection will be sent to the network in a form of Collection Guarantee →The Collection Guarantee can be used to get the full content of the collection and its transaction.
- Consensus Node: Form and propose blocks based on collection information sent from collection nodes.
- Execution Node: Execute the transactions and send the receipts to the network.
- Verification Node: Evaluate the correctness of the work done by execution nodes and submits a result approval to the network.
The increased number of nodes provides more flexibility in scaling the network, while at the same time reducing the amount of complexity for developers compared to L2 sharded solutions.
Cadence: The first high-level resource-oriented programming language
This is the most exciting part about the FLOW ecosystem. Cadence is the smart contract language developed by FLOW and it brings an entirely new element to the network. By including a native representation of the digital assets in the programming language, FLOW not only serves as a better digital ownership model, but also has its own built-in protections against value-destroying bugs.
Resource-oriented programming is one of the defining features of Cadence. Cadence provides the following:
- Comfortability and ergonomic syntax, making is easy to learn and read
- Uses strong, static type system to minimize runtime errors
- Must easier to learn, audit, and ultimately more productive
Resources are key within Cadence because it unlocks a layer of composability that is just not present within other EVM options, making it a perfect fit for digital assets. By labelling something as a “Resource”, this lets the network know that this data structure represents something of tangible value and all code that interacts with this “Resource” is required to follow a set of strict rules including:
- Each resource exists in exactly one place at any given time
- Ownership of a resource is defined by where it is stored
- Access to methods on a resource is limited to the owner
Resource: Link to FLOW whitepaper here