Nyzo is an open-source, decentralized, democratic, and efficient blockchain. The block time is seven seconds, and the system focuses on scalability. The project is built from all-new code with a focus on being easy to use.
Nyzo is built on a proof of diversity consensus. Proof of diversity requires active participation in the form of time and verifier behavior in the blockchain to be allowed to exert a certain influence on the system as a whole. The proof-of-diversity blockchain uses verification cycles to establish the authoritative form of the blockchain. This is not proof-of-work, and it is not proof-of-stake. It is a new consensus mechanism that relies on diversity of participation for strength. While proof-of-diversity has its own concerns that must be addressed to ensure integrity of the blockchain, it aims to be overcome problems inherent to proof-of-work and proof-of-stake systems while being still being efficient.
In proof of diversity the verifiers take turns producing blocks in a circular order, creating a cycle. Some simple consensus rules ensure that verifiers are neither added nor removed from the cycle too fast. (More details are available in the Nyzo whitepaper and subsequent release notes)
While the consensus mechanism is called “Proof of diversity”, the result of proper diversification of verifiers stems from the consensus rules which are actively put in place and agreed upon by the network.
One key aspect in the case of Nyzo is that it requires a certain amount of time for a node in the queue to join the cycle. This differs from the classical proof of work consensus system which does not care about time, only about calculations being solved, a definitive action with instant gratification for the miner participating. This stands in contrast with the modus operandi of Nyzo and proof of diversity in general. In the case of a bad actor trying to gain control of the cycle in order to perform a blockchain reorganisation he must either acquire access to 50% of the private keys of the verifiers in the cycle or join the cycle repetitively until he has garnered 50% of the total verifiers in the cycle.
Each verifier in the cycle is capable of voting for a new queue node to become eligible to join the cycle, as in a democracy. Once the blockchain rules dictate that a new verifier is allowed to join the cycle, the top voted verifier who has more than 50% of the cycle verifiers voting for him is granted allowance to enter the cycle. By default the verifier automatically votes deterministically random for a verifier in the queue based on the last (50-block incremented) block hash resulting in an automated, unified and yet individually generated vote.
‘Nyzo community fund proposals’ or NCFP’s, are proposals that can be published by anyone seeking to receive Nyzo in exchange for an accomplishment that directly or indirectly benefits the network, the miners, its users, or its community. The decision, whether or not the proposer receives the requested amount of Nyzo, lays in the hands of the entirety of the network. Nodes have the power in their hands to approve or deny expenditure proposals.
Since the network does not rely upon mathematical equations being solved (PoW) or on a particular amount of Nyzo being at stake (PoS), it can leverage its consensus system based on automatic and manual voting processes to create the cycle fund, as the weight of the votes are not influenced by amount of hardware or amount of Nyzo in possession. Where time in its consensus system is the largest factor in attempting to ensure that the network can not be, realistically, 51% attacked — it is also the mediator of access to voting power given to any entity looking to approve their own proposal.
The Nyzo blockchain was started with 10 "official" Nyzo verifiers. To eliminate potential concerns about those verifiers influencing the direction of the blockchain, they were all deactivated and sentinel protection was eliminated so they would be removed from the cycle.
Nyzo 9 left at block 4153780 Nyzo 8 left at block 4178807 Nyzo 7 left at block 4202799 Nyzo 6 left at block 4227119 Nyzo 5 left at block 4252986 Nyzo 4 left at block 4282506 Nyzo 3 left at block 4301833 Nyzo 2 left at block 4326378 Nyzo 1 left at block 4355054 Nyzo 0 left at block 4381225
Initially, the team planned to stop committing code to the nyzoVerifier repository on GitHub within 12 months of the Genesis block. However, as no alternative implementations of the core Nyzo verifier software became available, the team has continued to develop the codebase.