Impeachment and Emergency Procedures
Elastos has built-in mechanisms to handle misbehaving council members, failing validators, and consensus emergencies. The chain itself never stops — these procedures ensure recovery without manual intervention.
Impeachment
Community members can remove underperforming Council members through an on-chain impeachment vote.
How to Impeach
An ELA holder creates a TransferAsset transaction (type 0x02) with a special vote output:
| Field | Value |
|---|---|
| Output type | OTVote (1) |
| Vote type | CRCImpeachment |
| Target | CID of the council member |
| Weight | ELA amount in the output |
When total impeachment votes against a member exceed the threshold, the member is immediately removed.
Council Member Statuses
| Status | Meaning |
|---|---|
| Elected | Actively serving on the council |
| Impeached | Removed by community vote |
| Returned | Voluntarily left, deposit returned |
| Terminated | Removed by system rules |
| Inactive | Not participating for too long |
| Expired | Term expired without re-election |
BPoS Emergency Procedures
Revert to PoW Mode
If BPoS consensus stalls for 12 hours (no blocks produced), the chain automatically falls back to pure proof-of-work:
- A
RevertToPOWtransaction (type0x41) is injected - Block production continues via AuxPoW only (merged mining with Bitcoin)
- The 30% DAO treasury share goes to the burn address instead
- BPoS validators are no longer needed for finality
When enough validators come back online, a RevertToDPOS transaction (type 0x42) restores normal BPoS operation automatically.
Degradation States
The consensus system degrades gracefully through three states:
Force Change
When illegal behavior is detected, ForceChange() triggers an immediate validator set recalculation — swapping in backup candidates to replace failed validators.
Triggers:
| Evidence Transaction | Code | What it proves |
|---|---|---|
IllegalProposalEvidence | 0x0e | Double proposal at the same height |
IllegalVoteEvidence | 0x0f | Conflicting votes on the same proposal |
IllegalBlockEvidence | 0x10 | Two blocks signed at the same height |
IllegalSidechainEvidence | 0x11 | Validator misbehavior on a sidechain |
Each evidence transaction must contain cryptographic proof (conflicting signatures from the same key).
- Validator enters Illegal state immediately
- 200 ELA deducted from deposit
- Can re-register by posting a new deposit
- Removed from the validator set via
ForceChange()
What Happens When the Council Fails
If too many members are impeached, resigned, or inactive:
| Component | Behavior |
|---|---|
| Block production | Continues normally — BPoS consensus is independent of the council |
| Proposals in review | Remain in current state until council is restored |
| Approved proposals | Continue executing (tracking and withdrawal still work) |
| Treasury | Appropriation pauses; no new funds move from Assets to Expenses |
| Block rewards | 30% DAO share continues accumulating in CR Assets address |
| Recovery | System automatically enters the next election voting period |
The chain never stops. BPoS consensus and block production continue even if the Council is dysfunctional. Governance is a feature of the chain, not a requirement for its operation.
Security Model
Elastos uses layered security — an attacker must compromise multiple independent systems simultaneously:
| Layer | Mechanism | What it protects |
|---|---|---|
| Bitcoin Hash Rate | AuxPoW merged mining | 51% attack cost = cost of attacking Bitcoin |
| BPoS Finality | 2/3+1 supermajority | Block confirmation requires >2/3 of validators |
| Penalty Enforcement | 200 ELA penalty from deposit | Illegal behavior is economically punished |
| Economic Incentives | 2,000 ELA deposit + 35% rewards | Honest participation is rewarded |
| Emergency Fallback | PoW mode after 12h stall | Chain continues even if BPoS fails |
| Community Oversight | Impeachment + annual elections | Council members are replaceable |