Building a sustainable blockchain

In case you have not yet noticed, Nyzo is a very different blockchain. With Nyzo, we did not attempt to produce an iterative improvement over previous blockchains. We attempted to produce a blockchain that addressed every major issue, both economic and technical, that we saw in previous blockchain systems.

Proof of diversity, the balance-list mechanism, and the radically democratic nature of Nyzo are the most obvious differences in Nyzo. However, the transaction-fee structure and the absence of mining are no less important than these other characteristics to whether Nyzo becomes a viable, sustainable digital currency. Nyzo is not mined, there are no mining rewards, and there was no premine. 100 million coins were generated in the Genesis block. Coin-generation transactions are not allowed outside the Genesis block, so no more coins will ever be generated in this blockchain.

In a mined cryptocurrency, the premine proportion is important. Every additional coin that is premined or instamined takes away from the proportional value of awards to miners, and more mining effort equates directly to a stronger blockchain. In our minds, a mined cryptocurrency with more than a 5% premine or any sort of ICO is unjustifiable. A bigger premine directly weakens the strength of the blockchain. A premine of more than a few percent drastically reduces the probability that mining rewards will be able to encourage sufficient mining activity to properly secure the blockchain relative to coin values.

This is not how Nyzo works.

In Nyzo, there is no mining, and there is a strict limit on the rate at which verifiers can be added to the cycle. This limit cannot be eliminated or changed, as it would weaken the proof system. Unlike a mined cryptocurrency where miners can be activated quickly to begin mining, this cannot happen in Nyzo. A halving or doubling of the wait list for joining Nyzo will have no immediate effect on the strength of the blockchain.

Verifiers are important to Nyzo, and the structure of Nyzo's proof system protects the interests of verifiers. In most cryptocurrencies, if mining suddenly becomes 10 times more profitable, then competition for mining rewards will also increase by a factor of 10. Existing miners will see little additional profit, and they may even be unable to compete against more powerful mining operations. With Nyzo, verifiers in the cycle are, by the definitions of the system, irreplaceable. If a verifier drops out of the cycle, the growth of the cycle represented by that verifier is lost forever to the blockchain. And as long as a verifier fulfills its obligations in helping to build the blockchain, it can stay in the cycle indefinitely.

In Nyzo, transaction fees are the only reward for verifying blocks. To get the system started, we put ∩20,000,000 into an account and pre-signed five years of transactions (with a sixth year of redundant transactions that are only in place in case earlier transactions are omitted). We never saved the private key for the account that holds the funds for these transactions, and we have since added code that protects the account from unauthorized transactions.

The ∩20,000,000 amount was not chosen as a complete solution for distributing coins. It was chosen to mimic organic transaction volume. In other words, Nyzo's goal is reaching an organic transaction volume that allows verifiers to be profitable from organic transaction volume alone. If Nyzo can reach such a level, it will be a perpetually sustainable system without the need for any additional seed transactions or other additional injection of coins. No devaluation of existing coins through issuance of new coins. No artificially low transaction fees subsidized by block rewards. No pre-programmed drop-offs in rewards that weaken the system. No games. Just a system that works really well for everyone involved, providing convenience to users and reasonable profits to the verifiers running the system. That's what we're trying to build here.

An increase in seed transactions now would give verifiers an unrealistic expectation for future earnings and would sacrifice long-term sustainability of the system for the sake of short-term profits for individuals involved in the system now.

To us, any action that increases the price of a cryptocurrency without providing long-term, sustainable value is unethical. This is why we refuse to burn coins. This is why we refused to rush to a poorly conceived plan for the remaining coins. This is why we refuse to advertise. This is why we do not have a Facebook page or Twitter account. This is why we have not made a single public announcement. This is why we have a utilitarian web site that communicates the information that it needs to communicate but probably scares off many people who might otherwise be interested in the project. This is why we have been willing to award large bounties for code issues.

We plan to remain anonymous. We are uninteresting people with relatively mundane lives, and we feel that public presences in the crypto world would be a distraction from our lives, our families, and the important technical aspects of this project. We want to focus on the technology of this project and the technology that this project may be able to contribute to the world. This has been our aim from the very beginning.

To this point in time, the Nyzo team has not sold any coins whatsoever: not from the block-1 accounts, not from our official Nyzo verifiers, not from our anonymous verifiers that we run for testing. We have been supporting this project with personal funds. In addition to infrastructure and legal expenses, we have collectively invested over 15,000 hours of planning and implementation in this project.

We will gain very little from the following plan if Nyzo is not successful moving forward. We want to help build a system that has a positive effect on the world, and we want to help build a system that is sustainable. We think Nyzo is going to fundamentally change how content is monetized on the internet, and we think that Nyzo is going to fundamentally change how blockchains are viewed by the world. If this does not happen, and if organic transactions do not increase dramatically, the plan will keep the vast majority of our funds locked and inaccessible to us for such a long time that they will be essentially valueless to us.

The block-1 distribution wallets currently contain ∩77,507,419.

∩30,507,419 will be transferred to a cycle-controlled account, address 0000...0002. After transaction fees, this account will contain ∩30,431,150. Transfers out of this account will require signatures of at least 75% of the current cycle, and transfers out of this account may be no more than ∩100,000 each. Transfers out of this account will not be subject to transaction fees. This mechanism will effectively lock these coins, subject to trust in the cycle. And if you don't trust the cycle, you cannot trust the system.

To replenish the funds of the cycle account, 1% of organic transaction fees (0.0025% of organic transaction amounts) will automatically transfer to this account moving forward. This rule will apply to organic transactions only, not seed transactions. This will mean that verifiers' fees from organic transactions will be reduced to 99% of what they are now. At the current rate of organic transactions, this change would cost each verifier an average of less than ∩0.0001 per day. This fee will ensure that the cycle has a sustainable supply of funds for addressing shared expenses. This is not a developer fee. This is a fee coming from the cycle verifiers and going to a wallet that the cycle verifiers control.

We do want to emphasize that the trust placed in the cycle with the shared cycle account is significant, and we want to emphasize that the responsibility of this account needs to be taken seriously. This account will be expected to pay all bounties. These bounties will need to be paid quickly and at appropriate levels to encourage constructive behavior by those who find flaws in the system. Irresponsible or careless use of these funds will be detrimental to the credibility of Nyzo and will devalue the system.

This account will need to last perpetually to support cycle-funded initiatives and bounties. While we expect the balance of this account to drop over the next few years as organic transaction volume is building, we would hope that the account is left with a large reserve (∩20,000,000 or more) most of the time to provide a substantial buffer to address any needs that arise.

This account should be treated for what it is: a substantial asset to the system that should be managed with thoughtfulness and care.

After funding of the cycle account, ∩47,000,000 will be left in the distribution accounts. These funds will be locked with a threshold. The threshold will be stored in the balance list (threshold) along with the sum of all previous transactions out of distribution addresses (sum). The verifiers will keep all distribution addresses in memory. A standard (non-seed) transaction from a distribution address to any account other than the cycle address (0000...0002) will only be approved if the following is true of its value (transaction amount):

sum + transaction amount <= threshold

If such a transaction is approved, its amount is added to the sum. The sum and the threshold will both start at ∩0. This means that all block-1 distribution accounts will be effectively 100% locked when these changes are adopted by the cycle.

After this locking is put in place, all organic transaction fees will be added to the threshold. So, if a block has ∩0.5 in transaction fees, then the threshold will increase by ∩0.5 in that block. Also, for the first 2,000,000 blocks after the locking is put in place, an additional ∩0.10 per block will be added to the unlock amount. This will unlock an additional ∩200,000 over the course of 162 days to help cover some of our initial expenses. The transfer of ∩30,507,419 to the cycle account will unlock an additional ∩76,269, as it will provide an additional ∩76,269 in fees to the cycle.

Moving forward, unlocking of funds will be close to zero if organic transaction volume does not increase. Over the past 90 days, organic transaction fees have averaged less than ∩0.01 per block. At the current rate, the remaining funds would take over 1,200 years to fully unlock.

Our goal with Nyzo has always been creation of a sustainable, democratic, decentralized, fair blockchain that actually works for everyone involved. Tying the unlocking of funds to organic transaction volume provides assurance to verifiers and users of the system that remaining funds will unlock at a rate that is controlled and proportional to actual activity. This will ultimately provide a better outcome for verifiers than additional seed transactions ever could, as seed transactions must decrease over time as funds are depleted, and organic transactions can and should be sustainable indefinitely.

These remaining funds belong to the Nyzo team. We will use them as we choose to advance the project, and we will have no further discussions with the community regarding them. The gradual, activity-based unlocking of these funds will provide blockchain-enforced reassurance that the funds will not be released to the market at a disruptive rate.

For anyone concerned that organic transaction fees will grow at an exceptional rate and will unlock our funds unreasonably quickly, please think out that criticism so you can realize how unreasonable it is. This situation would be exceptionally good for the team and exceptionally good for all verifiers. Full unlocking of these funds will require ∩18,800,000,000 in organic transactions.

Account fees for all accounts containing ∩1 or greater will be eliminated. Account fees for accounts containing ∩0.999999 or less will be raised to µ100 per 500 blocks. This will allow small accounts to be removed from the balance list 100 times as fast while eliminating account fees entirely for most accounts in the system.

We are currently planning on having these changes integrated into the blockchain and ready for deployment at block 4,500,000, which is scheduled for processing on 2019-09-12 14:00:00.000 UTC. This change will introduce an incompatibility in the balance list, so all verifiers and sentinels will need to update before that block in order to continue tracking the blockchain. The update will be available no later than 2019-09-01 00:00:00.000 UTC.

If the changes are accepted by the cycle, the ∩30,507,419 cycle fund will be transferred to the cycle wallet after the changes are deployed. After this change and funding of the account, the cycle will be expected to pay all bounties, as the other wallets will be limited by the threshold from being able to initiate large transactions. The mechanisms for creating and approving cycle-signed transactions will be provided by the verifier and client software, but the decision-making process must be established by the community. We will have no control over how these funds are used, but we ask that the community considers the long-term sustainability of the system in all decisions. Specifically, we feel the need to note that using these funds to establish a new seed wallet while verification is still profitable, as it is now, would severely compromise the public's ability to trust the Nyzo cycle.

If the changes are not accepted by the cycle, we will continue awarding bounties from the funds we control. We will begin selling coins to offset some expenses, but we will apply the same unlocking rules outlined above to those sales. Instead of having the blockchain enforce the rules, we will enforce the unlocking rules ourselves, and decisions about administering the ∩30,507,419 bounty fund will remain ours to make. Whether or not these changes are accepted by the cycle, we will entertain no further discussions regarding these funds, and this statement is our final statement on the topic.

For anyone interested in exploring this matter further, we encourage the deployment of new Nyzo-based blockchains with different distribution and economic schemes. The release notes of version 492 provide a nice overview of how to start a Nyzo-based blockchain. Anyone who wants to write their own code to change the behavior of this blockchain is welcome to do so, also. We have gone to great lengths to explain, in our white paper and release notes, every important decision made in the development of Nyzo. The open nature of Nyzo means that our primary influence over the direction of Nyzo is our knowledge of how the system works, and we are working to reduce all other influence we have over the system.

As stated in the white paper, we will be shutting down all official Nyzo verifiers before the blockchain reaches an age of one year. A member of the community suggested that we continue to run them, and we felt this was an attractive option. We feel that positions in the cycle are valuable, and we expect them to be even more valuable over time. Also, well-maintained, well-operated verifiers make the cycle stronger. Functionally, the Nyzo verifiers have never been any different than any other verifiers in the cycle. They have always run the same code, and they have always been equal members of the Nyzo democracy. We had considered continuing to operate these verifiers at the discretion of the cycle, but we are concerned that such operation might be misinterpreted by observers as a form of centralization. We want to eliminate all concerns about centralization. We will continue to operate a small number of unofficial verifiers. These verifiers, like the Nyzo verifiers, will continue to run exactly the same code that we release to the community, and they will be equal members of the Nyzo democracy. The nyzo.co website will be unaffected. The setup instructions will be updated to help users find appropriate trusted entry points for connecting to the mesh.

The changes required to implement this plan are not substantial, but they will require substantial testing to ensure smooth deployment. These are the first Nyzo changes that will modify the structure of the balance lists. Due to this, the overall frequency of Nyzo updates will decrease until these changes are deployed.