This article is written by a Nyzo community member, not its developers.
In this article I will address and discuss the arguments against the Proof of Diversity consensus protocol and the influence of early entrants on the status quo of network diversity.
It is a topic that often sparks heavy debate in regards to new cryptocurrencies, Bitcoin being no exception. I will start off by sketching a timeline of events that have led up to the current state of the Nyzo project and why I believe that there can only be one Nyzo, as there can only be one Bitcoin.
As with Bitcoin, there is a certain technological advancement and a shift of perspective when looking at the Nyzo project. As with Bitcoin in the beginning, there are the naysayers who don’t believe that the project will succeed, there are the early entrants who made a bet based on the limited amount of information available at the time and there are those who have yet to find out what proof of diversity or Nyzo is.
In the early days of Nyzo the entry mechanism for getting in the cycle was based on the timestamp on which the queue node had launched. This system worked, kind of, and nodes entered the cycle. Because of the consensus rules explained in the Nyzo whitepaper the waiting time to join the cycle was smaller than it is today (6 per day on average) vs 20–30 on average back then.
The verifier software back then solely consisted of the verifier code running on a single server, this resulted in a higher dropout rate of early entrants when the verifier failed to produce a block for the current cycle. This failure rate was also accelerated by the smaller cycle size and having a node go offline for 5 minutes meant getting kicked out. Reasons for missing a cycle are largely the same as back then, for example: VPS provider maintenance, VPS bill did not get paid, etcetera.
After the first batch of early entrants got in, the entrance to the cycle was temporarily shut down in order to develop much-needed performance updates for the network. At this point the cycle had reached a length of 200 verifiers. During this 4-week period more members arrived in the discord in anticipation of the cycle reopening. In the weeks following the cycle reopening, the discord was flooded with people eager to set up a node.
Due to the lack of any protective measures for the verifier back then the verifiers in the network suffered from targeted DDoS attacks, which led to a period of many dropouts, all the while new entrants were entering the queue to get in the cycle. One could see this sequence of events as a flaw in the system, which it was, but it led to a more diverse network as a whole due to more and more people coming in, replacing the old nodes under attack.
One solution for this matter was the release of the sentinel, 3 months after the network had initially launched. The sentinel produces a block for your verifier when it is incapable of doing so.
As time progressed, more and more people saw the value of having a sentinel after seeing their node drop out even after the update had been released.
After all of this the community and the network kept growing at a steady pace, important security updates were being pushed on a regular basis, a large enough share of the community united to run an alternative method of voting (which became a necessity due to the scattering of votes and its debilitating effect on the cycle entrance mechanism), Nyzo got listed on the popular exchange Qtrade, the cycle entrance mechanism was revised, automatic removal voting for under-performing nodes was added, the UDP message protocol was developed (and decreased network stress by 50%), a 30-day incubation period was added to the entrance mechanism to thwart botnets and credit card fraudsters from entering the cycle and the Nyzo client was launched.
Why imitating Nyzo is hard
As previously mentioned in this article, Nyzo can be seen as a Bitcoin in itself. While this is a bold statement to make, the implications of Proof of diversity and the introduction of time into the equation has far-reaching implications for classical Proof of work and Proof of stake consensus algorithms.
As with Bitcoin, any imitation or fork of the original network is a subordinate of the original version. Since Nyzo comes with Proof of diversity and all of its implications: any copy of this idea becomes subordinate to the original. The sequence of events discussed above (which was unpleasant for many from a personal perspective) was a big positive for the overall network diversity as the natural process of development came with this side-effect.
The implications of the consensus mechanism were not well understood at the time, the chains’ performance was questionable and wonky after inception and issues were resolved when they presented themselves. Any copy-cat version of Nyzo will not consist of this natural development process and its historical implications on the network diversity. Any copy-cat version will find great difficulty in reaching the level of diversity Nyzo has managed to achieve thus-far, the sentinel and all of its benefits for the miners will most likely already be included upon launch and the consensus mechanism and its implications well understood, leading to a larger shift in voting power to early entrants and decreased diversity in general. In that way, it is subordinate.
From the perspective of the developers
While this article mentions my personal reasoning behind why Nyzo’s case of diversity has an advantage over any subsequent copy-cat / fork of the project, I feel the importance of adding its founders’ point-of-view on the matter, regardless of any implications on network diversity.
As laid out in the Nyzo whitepaper:
Of course, as an open-source project, anyone will be able to use the Nyzo source to create a new blockchain, and we think that is a wonderful thing. However, we also want for the Nyzo cryptocurrency to have long-term, sustainable value. While a particular cryptocurrency may not typically have an intrinsic value, the community and the technology surrounding the currency do have such value. We think it is only fair to tie the value of the original currency to the value of the community and the technology, and we think this is the best way to ensure that Nyzo will maintain its value in the long run.
Our proposal is simple: if technological advancements render the current Nyzo system or blockchain obsolete, and a new blockchain needs to be released, all the coins in that system should be derived from original Nyzo coins. There should be no mining and no generation of new coins that are not tied to original Nyzo coins. This does not mean that all future generations of Nyzo will have to have the same number of coins as the current generation. For instance, if the second generation has 200 million coins instead of 100 million, then each first-generation Nyzo coin that is traded in will be rewarded with two second-generation Nyzo coins.
The sustainability program will work as follows. Any coins transferred to address 0000000000000000–0000000000000000–0000000000000000–0000000000000001 are transfers to the next blockchain. The next blockchain will periodically inspect the previous blockchain for transfers to that address and will generate appropriate coins in the next blockchain corresponding to the source identifier and amount of the transaction on the previous blockchain. Democratic processes would govern all of these decisions, with the current cycle of each generation serving also as the Genesis cycle of the next generation when the next generation of the blockchain begins.
While this method of transferring assets to the next-generation blockchain does impose an additional implementation complexity on the next-generation blockchain, such is a small price to pay for continuation of blockchain assets beyond obsolescence of the technology that originally created those assets. Applying this transitively, we can imagine a fifteenth generation of Nyzo enabling global commerce 200 years from now, with every last coin in that system having a lineage traceable back to the Genesis block of the original Nyzo blockchain.