Skip to main content
MAIN CHAIN

Jailing & Slashing

Starting from version 0.9.9, the Elastos BPoS network implements automatic penalty mechanisms for malicious validator behavior. Understanding these rules is essential to protect your 2,000 ELA deposit.

Malicious Behaviors

A validator node is considered malicious if it engages in any of the following behaviors:

OffenseDescription
Illegal BlockProposing two different blocks at the same height in the same consensus view
Illegal ProposalProposing consensus on different blocks within the same view (double-signing proposals)
Illegal VotesCasting both "yes" and "no" votes for the same block within the same view, or multiple "yes" votes for different blocks in the same view

All three offenses indicate potential attacks on network consensus and are automatically detected and penalized by the protocol.

Penalty Details

When malicious behavior is detected:

  1. 200 ELA fine is automatically deducted from the node's deposit
  2. 200 ELA is burned permanently, reducing the total ELA supply
  3. Node becomes invalid and stops producing blocks
  4. Voters stop earning rewards from the penalized node until it is restored

Downtime vs Malicious Action

This distinction is critical for node operators:

Downtime (NOT penalized)

The following situations do not trigger fines or jailing:

  • Being offline temporarily
  • Missing blocks due to connectivity issues
  • Server maintenance downtime
  • Network connectivity problems

After 3 consecutive missed blocks, your node is marked as inactive until you come back online. No fine is applied. You simply do not earn rewards while offline.

Malicious Actions (penalized)

The following actions trigger the 200 ELA fine:

  • Double-signing proposals
  • Proposing conflicting blocks at the same height
  • Casting contradictory votes
  • Any behavior that undermines consensus integrity

Jailing Conditions

Jailing occurs when both conditions are met simultaneously:

  1. Malicious action: The node commits any of the offenses listed above, triggering the 200 ELA slash
  2. Insufficient deposit: After the fine, the node's deposit drops below the required 2,000 ELA minimum

If a node has a buffer above 2,000 ELA (e.g., 2,200 ELA total deposit), a single penalty would reduce it to 2,000 ELA and the node would not be jailed, only marked invalid until reactivated.

Vote Threshold Clarification

Dropping below 80,000 voting rights is not a jailable offense. It only makes the node inactive. To reactivate, the node must return above 80,000 voting rights. No fine is applied for vote threshold issues.

Voting rights are calculated as: Staked ELA x log10(Lock Days)

Un-jailing and Recovery

Step 1: Top Up Deposit

The node operator must restore the deposit back to the minimum 2,000 ELA requirement by sending ELA to the node's D-prefix deposit address.

Step 2: Reactivate

After the deposit is topped up, reactivate the node:

~/node/node.sh ela activate_bpos

For detailed step-by-step recovery instructions including how to find your deposit address and verify penalty status, see Fixing Illegal Status.

Best Practices

  • Run a single instance: Never run multiple instances of the same validator to avoid double-signing. This is the most common cause of Illegal Block/Proposal penalties.
  • Monitor regularly: Keep track of your node's status and network connectivity to minimize downtime.
  • Maintain a deposit buffer: Keep your deposit above 2,000 ELA (e.g., 2,200 ELA) to avoid jailing if a penalty occurs. A single 200 ELA fine would still leave you above the minimum.
  • Never restore from backup while original is running: This can cause the same node key to operate on two servers, leading to double-signing.
  • Use NTP: Ensure your server clock is synchronized to avoid consensus timing issues.

Voter Protection

Voters are not fined when a node is slashed or jailed. However, they cannot earn rewards from an invalid or jailed node until it is restored. Once the node is reactivated, existing voter support automatically resumes without voters needing to re-vote.