harmony-one / harmony

The core protocol of harmony
https://harmony.one
GNU Lesser General Public License v3.0
1.46k stars 286 forks source link

Shard 1 with no elected validators - blocker for HIP32 #4651

Open sophoah opened 5 months ago

sophoah commented 5 months ago

HIP32 signifies a major step toward full decentralization, with our Harmony internal node losing its complete voting power. However, we're currently confronted with a challenge tied to crosslinks and the full externalization process

Crosslinks play the role of transmitting staking data from shard 1 validators to shard 0, facilitating the assessment of signature performance. If crosslinks become stuck for an entire epoch, shard 1 validators may find themselves with zero signing activity by the epoch's end :

"blocks": {
  "signed": 0,
  "to-sign": 0
},

This poses a considerable risk, as, at the conclusion of the epoch, the staking protocol automatically excludes all external validators. Consequently, the shard is left without either internal or external validators, effectively bringing the shard consensus down. Shard 1 devnet and testnet are currently in that situation.

We will have to work on updating the staking logic to avoid such situation to happen and will delay the HIP32 mainnet hardfork implementation for now