Voting Results: PASSED on March 25

The proposal was passed with ~66% YES votes. See poll results for full details.

Review the full Proposal below – for any questions, you may ask in this thread or on the official IoTeX Telegram Group.

Background

There is a “nothing-at-stake” problem in proof of stake (PoS) consensus systems. Unlike proof of work (PoW) consensus, which requires computing power for mining, PoS does not require block producers to consume physical resources in order to produce and sign blocks. Therefore, it is possible for malicious block producers to attack PoS networks without any costs or risks if effective “slashing” policies are not implemented.

In developing this slashing proposal, we explored how different projects enforce their slashing policies, including what types of misbehavior (e.g., downtime, double signing) are penalized via different methods (e.g., kick out, slash stake).

IoTeX Slashing Overview

The IoTeX Network’s Delegate slashing policy will address two types of safeguards to penalize / protect against two types of negative Delegate behaviors:

Institute temporary “probation” for any unresponsiveness Delegates that are not producing blocks due to node being offline, incorrect software version, etc. This is largely due to negligence, not malicious behavior. Slash the stake of any Delegate that double-produce or double-sign blocks (or similar behaviors). This is considered a severe attack, as it indicates purposefully malicious behavior.

Proposal #1: Probation for Unresponsive Nodes

Today, the IoTeX Foundation is sharing our proposal to address #1 above – how to manage “probation” for unresponsive Delegates that are not producing blocks.

Proposal: Any Delegate that does not achieve 85% productivity (i.e., misses 5 or more blocks) for a given epoch will be put on probation – they will be ineligible to produce blocks for the next 6 epochs and will receive greatly reduced rewards. After the probation period, the Delegate will be re-eligible to produce blocks again.

Any Delegate that does not achieve 85% productivity (i.e., misses 5 or more blocks) for a given epoch will be put on – they will be ineligible to produce blocks for the next 6 epochs and will receive greatly reduced rewards. After the probation period, the Delegate will be re-eligible to produce blocks again. Methodology: for Delegates on probation, the protocol will enforce a 10% reduction in voting power for six epochs, which will a) effectively remove them from being selected as a block producer, and b) greatly reduce their rewards (i.e., no block rewards or foundation bonus, 10% of epoch bonus reward).

for Delegates on probation, the protocol will enforce a 10% reduction in voting power for six epochs, which will a) effectively remove them from being selected as a block producer, and b) greatly reduce their rewards (i.e., no block rewards or foundation bonus, 10% of epoch bonus reward). Expected Benefits: 1) Minimize impact on overall quality of service (QoS); 2) Require all Delegates to provide consistently robust infrastructure; 3) Encourage proactive resolution of node downtime issues from Delegates.

Note: the parameters of this proposal (i.e., 85% productivity, 6 epoch probation, 10% intensity rate) are designed to be somewhat flexible for Delegates as IoTeX Mainnet continues to mature. These parameters may be updated via future community votes.

Voting Process & Timeline

We welcome all IoTeX community members to discuss this proposal. Please share any questions/thoughts directly in this forum thread – we will reply to your feedback accordingly. The timeline for approving this proposal is as follows:

Week of 2/17: Community Discussion

Week of 3/9: Deploy to Testnet & Finalize Proposal

Week of 3/16: Community Voting via ioPay

By End of March: Deploy to Mainnet & Activate Proposal

Note: anyone that has staked IOTX is eligible to vote (1 IOTX = 1 vote)