Originally published by the Marc Stair

EOS Antifragile method separating block production and governance

Operations of Block Production is separate from Governance and Applications

EOS is making great progress improving and evolving, however some believe that the Block Producers (BPs) are too concentrated in Asia. Investors are concerned about this situation, but as a developer on EOS, I really don’t care who produces blocks as long as they do it properly. As an investor and developer, I want to see EOS evolve to be the most resilient, robust and “Antifragile” blockchain to move the entire world from analog to digital for money.

Block Production is just a commodity service so just like my shoes, tools and other stuff is “Made in China”, there should be no reason to be upset that the commodity service of producing EOS blocks is also Made in China. This should not offend any BP’s who are doing great work beyond block production as I’m only referring to the actual production/manufacturing of blocks.

BP’s providing just the operation of producing blocks should NOT be governing the chain. Currently BP’s have power over what eosio versions and referendums are implemented. Most people wouldn’t want the factory that produces shoes or a sweatshop to ALSO be in charge of governing their country. Therefore, we need to separate BP’s and Governance on the EOS network.

This article is only for EOS token holders and open to peer review for discussion. All timelines and numbers are provided as examples only to help with readability, but should definitely be discussed and adapted upon further review.

Primary Proposal: 1 token provides 1 vote FOR or AGAINST a BP OR a referendum. Each token holder can decide what portion of their tokens vote for a BP and which portions to vote for Referendums/governance. In addition, votes can be FOR or Against meaning I could use all my votes against a BP that is not properly producing blocks. Each vote is committed and staked/locked for a specified time frame to confirm commitment to the BP or referendum vote. This locked staking period is equivalent to a “term” for politicians.

Example: Let’s say I have 100 EOS tokens providing me with 100 votes for BPs and referendums, so I might vote 20 for Cypherglass, 20 for EOS New York, 10 against BigONE, 40 for referendum to upgrade to eos version 1.8 and 10 against some other referendum. A proxy could do the same by designating 20%, 20%, 10%, 40%, 10% to these voting items for all the tokens proxied.

Proposed Rules:

  1. Each token (or portion of token) can vote for OR against ONE item, either one BP or one referendum. Each BP could be considered a type of ongoing referendum to vote from a pool of all BP’s and all open referendums. In addition each vote can be for or against so that I could vote against BP’s or referendums as well as for them.
  2. Tokens and partial tokens can be split anyway you wish for and against BP’s and referendums but 1 token is just 1 vote.
  3. Votes are staked and locked for 30 days and can not be changed or traded once staked. Exchanges using other people’s money need to be careful voting on behalf of clients as it could prevent trading by their clients. They would have to plan for “Black Swan” events when voting for clients or get explicit approval to lock tokens for 30 days.
  4. Eliminate special rewards for top 21 BP’s. BP’s will receive rewards based only upon number of votes FOR minus number of votes Against. All BP’s that produced blocks during the period get the reward, minus any performance penalties from 7 and 8 below.
  5. Proxies work the same and publish their voting by percentages, however people would only proxy the number of tokens they want locked up for 30 days.
  6. For and Against votes. Just like people can vote for or against a referendum, they can also vote for or against BP’s.
  7. Referendums that pass and ready to implement MUST be implemented by BP’s. A BP that does not implement a referendum on the agreed implementation time of the referendum is considered to have “missed a commitment” equivalent to missing a block and will penalized by not being paid until they implement the referendum and their block production slot will be skipped. Just like if Nike tells a manufacturer to change the color of shoelaces, the manufacturer will not get paid for producing shoes that don’t meet the new specifications. Only once the manufacturer starts producing the shoes to the correct specifications should they be paid.
  8. BP’s that have worst performance are penalized for failed performance. Miss a block, fail to implement a referendum or have the worst response time (or other performance requirements) will deduct from BP pay. For example, each infraction could incur a 2 times their last payment for each infraction. This is equivalent to the shoe factory would get no pay if they miss a shipment or produce bad quality product.
  9. Referendum Process:
  10. Proposals are pre-referendums (non-staked voting). Anyone can submit a “Proposal” for 1000 EOS or more payment and anyone can vote for proposals without using a BP/Referendum (30-day staked) vote. Unlimited number of proposals can be active. This allows everyone to show their stance on a proposal without staking and committing a vote. The payment is used to pay contributors (developers, testers, legal, referendum writers) upon successful referendums and to prevent frivolous proposals. If the proposal is rejected, the payment is burned, if the proposal becomes a referendum, the payment is made to the contributors as determined by the issuer within the referendum details. Successful proposals should state how the payment will be distributed for implementation upon successful referendum, for example 50% to developers, 30% to testers, and 20% back to themself for writing the proposal.
  11. Proposal Payment can be requested from Worker Proposal Fund as part or all of the proposal payment. However, this proposal might be less likely to be approved since it requires both the proposal and funding from the network.
  12. The issuer can remove the proposal and return funds paid only before the proposal is moved to a Referendum.
  13. Every 30 day cycle, the ONE top Proposal based on total votes with at least 2/3rd FOR vote are moved to Referendum voting for 30 days. (Remember that 2/3rd and 30 day are just example and can be changed upon review of this overall idea). Proposals with less than 2/3rd FOR vote can remain as a proposal forever until removed by the issuer (to return funds paid). For example, lets say Proposal 1 has 2M total votes with 60% FOR, Proposal 2 has 1.1M votes with 90% FOR, and Proposal 3 has 1M total votes with 100% FOR. Proposal 1 is skipped since it has less than 2/3rd FOR (66/6% needed). Proposal 2 is selected to move to referendum since it has more total votes than Proposal 3 even though Proposal 3 has more FOR votes of 1M versus Prop2 votes of 990K. (Note that this could also work by just selecting the proposal with the most FOR votes greater than 2/3rd majority, so Proposal 3 would be selected instead).
  14. One and Only One referendum is active at a time so that voters can concentrate on one referendum at a time (however, unlimited number of proposals can be active). The selected referendum is the proposal with the most total votes and at least 2/3rd FOR as mentioned above. Token holders vote for the referendum and lock their tokens for 30 days from the time they vote. So it doesn’t matter when they vote during the 30 day cycle as their tokens will be locked for 30 days from the time they vote. If someone is not interested in the referendum (abstain), they can instead vote for or against a BP during the 30 day cycle. All accounts can be on different 30 day cycles and start to form interesting patterns for example a Whale might continuously come in at the end of a vote cycle and support or crush a referendum. A large BP might forego BP payments for a 30 day cycle to prevent a detrimental referendum (for example something that would reduce BP pay over a long period).
  15. One referendum is voted for 30 days and is passed if it has 2/3rd vote FOR and moves to implementation stage. The number of total votes does not matter as only one referendum is active at a time. In fact, a referendum could be “No Change to Network” just to prevent other referendums for 30 days.
  16. Referendums that fail to achieve 2/3rd FOR vote will have the 1000 EOS fee burned and anything greater returned to the proposer. For example, the issuer may believe it will take 2500 EOS to properly implement the referendum but only 1000 proposal fee is burned and 1500 returned.
  17. Implementation: The successful referendum shall designate an implementation timeline not less than 30 days. Large referendum changes may designate longer. During this time, the proposal payment is released as specified to the implementation team such as developers, testers, legal or whatever specified in the referendum.
  18. The implementation team signals the referendum is ready to be implemented and only voters that voted FOR the referendum can confirm readiness (this is not a staked vote, more like an open proposal vote. Voters against the referendum do NOT get to vote readiness).
  19. BP’s must implement the referendum 7 days after signaled ready. BP’s that fail to implement are skipped and docked until they implement the change.

This suggestion is proposed to separate commodity block production with governance. Token holders interested in voting on BP’s can continue to vote for BP’s while holders interested in governance can vote on governance issues and changes. Holders can change their focus on BP versus governance every 30 days depending on what they feel is important on the network. Exchanges will participate less in voting since tokens are locked up for 30 days allowing actual people to do the voting. Only holders really committed to the long term success of EOS will vote and lock up tokens for 30 days since they would not vote with tokens they might need to trade or spend over 30 days.

There are numerous ideas within this proposal that could be separated from each other such as voting for either BP or Referendum, voting For or Against BP’s and referendums, paying for proposals, 30 day lock on voting, and the cycle of proposal to referendum to implementation.

Please comment on the individual elements of this proposal, the entire idea, and/or detailed modification suggestions (for example reduce lockup time from 30 days to 10 days or reduce 1000 EOS proposal fee to 100).

This article is inspired by the current EOS BP issue discussions and the book that Daniel Larimer suggested “Antifragile: Things that Gain from Disorder” by Nassim Nicholas Taleb. Some referendums may shock the network to make it stronger and more antifragile, but can be reversed with another referendum 30 days later.

Disclaimer. EOSwriter does not endorse any content or product on this page. While we aim at providing you with all the important information we could obtain, readers should do their own research before taking any actions related to the company and carry full responsibility for their decisions, nor this article can be considered as an investment advice.