Coopetition: A New Approach to Decentralization

Currently, several high profile blockchain projects are researching and implementing economic incentives for Proof of Stake models. City of Zion wishes these projects the best, and shares the vision that many trust issues can be solved through clever computation. However, we believe there is still too much aggregation in this approach. In the economics of PoS and PoW, difficulty, fees, and rewards are parameters that model network properties such as mining cost, congestion, or user interest in acquiring tokens. But the true values of such network properties are the result of hundreds of second order interactions, such as customs taxation or access to markets.

The majority of these second order interactions happen off-chain, and never flow back to the chain in any computable way. As a result, such interactions create opportunities for leverage that some individuals or groups can exploit for their benefit. For example, did Satoshi envision that BTC security would be dominated by energy price distribution and ASIC manufacturing? Did Ethereum envision that it would be affected by GPU supply chain? How can on-chain computation ever reason about these influences?

In practice, players who exploit this leverage off-chain can construct on-chain oligopolies. For example, Bitmain has early access to ASIC tech, ensuring enormous power for itself on the Bitcoin network. Further, today if you can compromise four domains concurrently, you can do serious damage to any blockchain network, including all of the large or “safe” ones. This is something that any state-level power has resources to conduct.

NEO uses a variant of PBFT where nodes are elected by token holders. This approach to consensus has been criticized as too centralized, as it is usually employed in private chains such as hyperledger deployments. While the NEO council will continue to fund research and improvements to consensus, we see that as an opportunity to try a new, promising approach for decentralizing public blockchains. We believe that achieving decentralization by economic incentives for nodes has fundamental problems, and leads to network improvements being stalled and prevented if they would result in less financial gain for the nodes. Users and developers are forced into an environment where transaction fees are kept high by design, significantly limiting their ability to build profitable decentralized applications.

We propose that coopetition in a confederation of nodes is a better approach.

Coopetition is the logic behind industrial open source and several energy industry consortiums. It is a setup where businesses who would otherwise be competitors cooperate in a shared project. Through such cooperation, they can develop platforms and technologies that radically change how services are delivered, increasing the total market reach significantly.

In line with these ideas, NEO will begin its decentralization by allowing well known commercial projects and communities to run consensus nodes, forming an initial confederation of actors with a strong interest in guaranteeing the security and success of the network. While it might seem counterintuitive, this architecture will be less centralized than many other networks today. Through coopetition, we can ensure that all players are equal in the network by design. Their power won’t depend on how much money they have, or how cheap their electricity may be.

All nominees for consensus nodes will go through a rigorous identification process before being voted in on MainNet. This process includes providing identification that can hold the owners of the consensus node host legally liable. Each node requires exactly two managing legal entities (individuals or institutions) that will be responsible for their maintenance and patching. There will also be a requirement to provide contact availability to ensure that time-critical events can be handled if they arise.

Decentralization of TestNet will begin with the City of Zion and include several other parties that will be revealed in the future. Parties that demonstrate they can maintain consensus nodes with outstanding uptime and performance will be voted in as initial MainNet consensus nodes after identification process is complete. When all initial 7 consensus nodes are run by 7 different entities, then the NEO voting process will begin, where more nodes could be added to increase failure tolerance of the network.

At CoZ we believe that candidates for new nodes should be approved by current nodes before being voted in: the exact setup for this will depend on simulations and how the network behaves in the next months.

These nodes will be run by people of different nationalities using different service providers in different countries and under different operating systems. This means that no jurisdiction, service provider or software flaw can affect the failure limit of the network. Like everything that CoZ does, this will be documented as a contribution to the community: we will define standards and refine recommendations on how to setup secure nodes.

CoZ nodes are expected to be online on TestNet in the next week and if successful be deployed to MainNet by Christmas, our gift to NEO community.