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:
| Offense | Description |
|---|---|
| Illegal Block | Proposing two different blocks at the same height in the same consensus view |
| Illegal Proposal | Proposing consensus on different blocks within the same view (double-signing proposals) |
| Illegal Votes | Casting 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:
- 200 ELA fine is automatically deducted from the node's deposit
- 200 ELA is burned permanently, reducing the total ELA supply
- Node becomes invalid and stops producing blocks
- 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:
- Malicious action: The node commits any of the offenses listed above, triggering the 200 ELA slash
- 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.