EOS Governance Model

EOS defines governance as the way the community:

  • Reaches consensus on subjective matters of collective action that cannot be captured by software algorithms;
  • Carries out the decisions they make; and
  • Alters the governance rules themselves via Constitutional amendments.

The EOS blockchain runs on a Delegated Proof of Stake (DPoS) model. Under this protocol, token holders delegate their power to block producers through a continuous approval voting system. Anyone may choose to participate as a block producer by nominating themselves, so long as they can persuade token holders to vote for them.

Block producers are given the limited authority to freeze accounts, update defective applications, and propose hard forking changes to the underlying protocol. These changes are subject to the approval of stakeholders, and non-producing full-node validators will reject the change without consensus.

Consensus & Block Production  

EOS block producers produce a block every 0.5 seconds. If that time slot is missed, then it is left empty. Blocks are produced in rounds of 126, 6 blocks for 21 block producers.

If a producer does not produce at least one block in a 24 hour time period, he is removed until he notifies the blockchain of his intention to begin creating blocks again. This ensures the network is operating smoothly by minimizing the number of blocks missed by not scheduling unreliable producers.

Block producers have the power to select which transactions are included in which blocks, giving them the ability to freeze the accounts with hostile smart contracts. The process of freezing an account requires a minimum 15/21 vote of active producers. If producers abuse this power they can be voted out and the decision can be reversed.

If there is an ‘unstoppable application’ that is acting in an unpredictable manner, block producers may replace the accounts code without hard forking the entire blockchain. This requires a minimum vote of 15/21 by active block producers and is subject to reversal if the block producers are voted out.

Forks

For this consensus model, the blockchain does not experience forks because rather than compete, the producers are meant to find consensus. Even if there is a fork, consensus will switch to the longest, fastest producing chain. This works because the rate at which blocks are added to a blockchain is directly correlated with the number of block producers that share the same consensus.

Should there be a fork, no producer should be producing blocks on two different chains at the same time.

EOS Byzantine Fault Tolerance

EOS added a feature to the typical DPoS model to meet Byzantine Fault Tolerance. Unlike traditional DPoS models, producers on EOS sign all blocks. Once 15 producers have signed a block, the block is deemed irreversible. Irreversible consensus is reached in 1 second.

No producer may sign two blocks with the same timestamp or block height.

Current Block Producers

Current block producers can be found, in real time, at the following link: https://eosnetworkmonitor.io/

Constitution

The constitution defines obligations among the users that are not present in the code and facilitates dispute resolution by establishing jurisdiction along with other mutually accepted rules. It defines the human-readable intent of the source code protocol.

Every transaction broadcasted on the network includes the hash of the constitution; by being part of the signature it thereby explicitly binds the signer to the contract.

Updates to Protocol & Constitution

 In order to update the protocol or the constitution, the following steps must be taken:

  • A block producer proposes a change to the constitution and receives at least 15/21 votes.
  • Block producers must maintain a minimum 15/21 approval of the new constitution for 30 consecutive days.
  • All users are required to indicate acceptance of the new constitution as a condition of future transactions.
  • Block produces adopt the changes in code to reflect the change in the constitution and propose it to the blockchain using the hash of the new constitution.
  • Block producers must maintain at least 15/21 approval of the new code for 30 consecutive days.
  • Changes to the code take effect 7 days later, giving all non-producing nodes one week to update after ratification of the new code.
  • All nodes that do not upgrade to the new code shut down automatically.

The process of updating the blockchain to new features takes 2 to 3 month. Non-critical bugs and changes that do not affect protocol take 1 to 2 months to update.

Emergency Cases

If a software change is required to fix a harmful bug or security issue that is actively harming users, then block producers may accelerate the process.


EOS Core Arbitration Forum (ECAF)

The EOS Core Arbitration Forum is a mode of dispute resolution relating to the EOS blockchain and its community.

These disputes may include, but are not limited to, the following:

  • Classical disputes when an asset holder claims damage and demands remedies.
  • Requests for emergency intervention for bug issues or account freezes.
  • Requests from interested parties to data on or related to the EOS blockchain.
  • Requests including legal processes from foreign courts.

The Forum is managed by active arbitrators. It may appoint experts, case managers, translators, etc.

Issues with the Constitution & Vote Buying

Within 2 weeks of its release, EOS struggled with governance problems that permeated from block producers to the community.

On June 17, 2018, EOS Block Producers voted unanimously to freeze 7 accounts. They used the EOS911 initiative, an emergency initiative to help the victims of phishing attacks, to justify their decision. At that point, the ECAF arbitrator refused to rule on the issue, only endorsing the decision later once it became public.

Just a few days later, ECAF announced that it wanted to freeze an additional 27 accounts presenting fraudulent behavior. ECAF did not present a reason for their decision and promised that a full report would be released later. An ECAF order later surfaced, but turned out to be fake, leaving Block Producers wondering which reports were true and which were false.

Block Producer ‘EOS New York’ announced that until they could determine official rulings from scams, all Block Producers will stop complying with ECAF. The lack of an official channel for all off-chain communication led to distrust in the decisions being made.

By the end of 2018, EOS faced another governance scandal when a twitter account named ‘Maple Leaf Capital’ produced leaked screenshots of an excel sheet showing the China-based exchange, Huobi, accepting money for its support of certain entities in charge of decision-making.

The issues of on-chain voting was foreshadowed by Ethereum’s Vitalik Buterin in a post published in March, 2018. Buterin argued that the insignificance in the power of a single vote will cater to vote buying by whoever can offer the highest bribe.

EOS Constitution v2 as proposed by Block.one

After a line of continuing issues with the original constitution, Block.one proposed the following Constitution as a replacement:

  • If there is a dispute on intent of code, the intent is voted on by a super majority (2/3 +1) of the producers or an arbiter that is mutually agreed upon by the parties to the dispute. A super majority of producers may, at their own discretion, freeze a contract during an active dispute until the code is fixed and the contract is made available. The producers may charge a fee, or put restraints on the parties to the dispute. Ricardian contractual terms that cannot be enforced by properly functioning code are beyond the scope of the producers authority to evaluate and enforce.
  • Block producers shall not freeze or modify contracts that are operating as intended.
  • Contract developers are not liable for damages cause by unintentional bugs in the code. All parties are responsible for auditing the code and the Ricardian contract before use.
  • All service providers who produce tools to helps others produce or construct transactions shall present the full Ricardian Contract terms of this constitution and other referenced contacts.
  • No party shall have fiduciary responsibility to support the value of the EOS token. The blockchain has no owners or managers.
  • A Ricardian Contract is deemed accepted when a transaction based on that contract is incorporated into the blockchain.
  • Parties voluntarily consent to all other groups to permanently retain, copy, analyze, and distribute all broadcast transactions and derive information.
  • Use of the blockchain shall constitute consent to its terms.
  • This constitution may be amended by a vote of the EOS token holders that attracts no less than 15% staked vote participation among tokens no fewer than 10% more Yes votes than No votes, sustained for 30 continuous days with a 120 day period.

On April 12, 2019, a multi-signature proposal by 'EOS New York' to replace the current constitution with this User Agreement was approved. This constitution effectively removed the ECAF.

The Telos Fork

Telos claims to not be a hard fork of EOS, but rather a code fork of EOS, creating an entirely new blockchain using an improved version of the EOSIO software. It aims to solve some of the largest issues present in the EOS network.

One of the largest reasons for the fork is EOS’s high centralization. 1.6% of EOS holders own 90% of the tokens. This means that governance and block producer selection are all compromised by the existence of a massive ‘whale’. Their solutions include:

  • Economic decentralization: no whale addresses;
  • Equitable pay structures for block producers and standbys;
  • DApp developer-friendly with proprietary dApps and lower cost development; and
  • Additional token holder protection and pre-activation resolution of stolen token