If you follow me on Twitter you’ve likely seen my criticism of Dapper’s Flow blockchain. My criticism is rooted in the masquerade of ownership perpetuated by Dapper via their NBA Top Shot “collectible” digital assets and the broader Flow network. Let’s make one thing clear right off the bat. Dapper Labs is a company that created and controls Flow blockchain and also created and controls NBA Top Shot. Flow is a centralized blockchain(Flow team controls 80%+) which operates under the guise of being decentralized and open when the reality is the opposite. Why do I say this? Let’s evaluate the actual network of Flow blockchain based on Flow’s own chain data.
I was curious after Dapper Labs CEO Roham made the dubious claim of Flow blockchain having ~400 nodes. When people throw out numbers I like to go verify because the devil is in the details. In the same classy tweet he also said “evm is a pile of shit”. EVM stands for Ethereum Virtual Machine. It is a key part of why we have many nice things(e.g. DeFi, NFTs) on not only Ethereum but also Polygon, xDAI, Cosmos, Polkadot(Moonbeam) and other chains which use the development and execution platform for bridging, interoperability and transactions for our cross-chain future. Certainly EVM has its shortcomings and room for improvement(hopefully via eWASM) but such a claim made me suspicious of his knowledge and credibility.
Flow blockchain uses an interesting role based node architecture where certain nodes have a specific role to perform within the network as designed. Those roles are Execution, Consensus, Collection and Verification. This design follows the principle of Separation of Concerns and actually intrigued me when I first looked into Flow.
Using the site Flowscan.org I was able to get some key data points on the configuration of Flow network and understand how centralized the chain infrastructure and operation really is and perhaps understand why they won’t allow those interested in becoming validators to do so freely. All the data provided was collected around 4/22/2021 5PM EST. Let’s look at how Flow describes their 4 main node types.
Flow Blockchain Node Types
Consensus Nodes decide the presence and order of transactions on the blockchain
Verification Nodes are responsible for keeping the Execution Nodes in check
Execution Nodes perform the computation associated with each transaction
Collection Nodes enhance network connectivity and data availability for dapps
Consensus Nodes
“In our architecture, Consensus Nodes only define the transaction order but do not execute transactions. Instead, computing the block result is delegated to compute-optimized Execution Nodes, and dedicated Verification Nodes check the computation result. During normal operation, Consensus Nodes do not inspect the computation but oversee that participating nodes execute their tasks with due diligence and adjudicate potential result challenges.”
The data for Consensus Nodes shows that Flow/Dapper controls over 86% of active nodes and 79% of staked/delegation votes it is clear that Flow has a strangle hold on the outcomes of consensus.
Collector Nodes
The central task of Collector Nodes is to collect well-formed transactions from external clients and to batch them into collections. When a Collector Node sees a well-formed transaction, it hashes the text of that transaction and signs the transaction to indicate two things: first, that it is well-formed, and second, that it will commit to storing the transaction text until the Execution Nodes have finished processing it.
The data for Collector nodes shows that Flow/Dapper controls over 88% of the nodes and 87% of the staked/delegation votes. Again we see a scenario where a role is completely controlled by a centralized entity.
Verification Nodes
Verification Nodes check the computation from the Execution Nodes. While each node only checks a small number of chunks, all Verification Nodes together will check all chunks with overwhelming probability.
The data for Verification nodes shows that Flow/Dapper control over 62% of the nodes and 80% of the staked/delegation votes for this role. Verification nodes are supposed to check the work of Execution nodes but if you control both the checked and the executor what checks are actually happening?
Execution Nodes
Execution Nodes compute the outputs of all finalized blocks they are provided. They then ask the Collector Nodes for the collections containing transaction that are to be executed.
…
The full architecture significantly increases throughput and delegates the computation work to the specialized Execution Nodes and the onus of checking it to a variety of less powerful Verification Nodes.
Execution nodes, of which there are only 7, have a core responsibility in the Flow network. Flow controls 4 of 7 of these nodes and control 84% of the staking/delegated voting power. Like the other 3 node roles, we see again that Flow has a strong majority of power and control. Only 7 nodes running to support such a critical role is problematic as well. You’re only as strong as your weakest link and having only 7 Execution nodes, albeit centralized, seems like quite the risky situation.
Risk of Sybil Attack
Sybil Attack is a type of attack seen in peer-to-peer networks in which a node in the network operates multiple identities actively at the same time and undermines the authority/power in reputation systems.
I am not asserting that Flow is performing a Sybil attack on itself but simply pointing out the high risk of the occurrence in case their centralized infrastructure gets compromised. Since Flow/Dapper controls over 80% of the nodes and staking/delegated voting power for the network there is no semblance of decentralization or ownership in such a network.
Summary
Ownership in crypto is directly tied to the inability for the protocol and those participating in consensus/finality to effectively block, freeze or confiscate digital assets by way of controlling the outcomes of consensus and chain state. Flow/Dapper having over 80% and no signs of that dominance changing does not instill confidence that people’s assets are truly ownable.
The claim of “nearly 400 nodes” is dubious as I expected. There are 335 nodes in total but with Flow/Dapper operating 270 of them and only 65 from other operators, a few of which are not labeled.
My concern with Flow/Dapper boils down to the following:
Favor a siloed network
Opposed to EVM support
Lack of interoperability with the broader crypto ecosystem
No sense of NFT/digital asset ownership due to Flow/Dapper node and voting power control
Lack of support for IPFS/Arweave for storing NBA Top Shot moments.
Not allowing new validators to join Flow network
Threatened(and have been accused of) confiscation and freezing of assets/accounts.
No formal roadmap to actually address any of the above, just allusions
Flow plans to support Facebook’s MoveVM which lacks the adoption, infrastructure and tooling of EVM today while asking users to put trust in another Facebook technology. NBA Top Shot’s success($534M+ revenue) has enabled the industry to gloss over and ignore these red flags but I believe the open criticism and acknowledgement about Flow’s centralized network operations needs to start sooner rather than later for the good of the crypto community’s mission.
If the way forward was a centralized and essentially private blockchain we don’t need blockchain at all. Some defend Dapper saying they are following “progressive decentralization” but I believe this is pure placation due to the immense amount of centralization and prioritization of a siloed network while ignoring interoperability. Users, investors and collectors of Flow/Dapper products should consider these facts before buying into the narrative put forth in the mainstream media. Is this the project the NFT and DeFi communities want to represent open, permissionless and decentralized networks? Absolutely not. Not an open network, not decentralized, not your digital assets.
Note: I am not an Ethereum maxi as some have accused. I am focused on objective criticism of all chains, dapps and protocols to make sure we don’t duplicate the same outcomes we got from Web 2.0 in the rapidly growing Web 3.0 space. I fully promote and believe in a cross-chain and interoperable future.