Harmony
Time factors
Protocol time | Human readable time | |
---|---|---|
Protocol time 1 | Block | 2 seconds |
Protocol time 2 | Epoch (= 32,768 blocks) | 18.2 hours |
First reward delay | 1 epoch | 18.2 hours |
Reward frequency | Every epoch | 18.2 hours |
Unbonding period | 7 epochs | 5.3 days |
Lifecycle
Must know before staking
Minimum stake amount | ✅ | 100 ONE |
Partial stake changes | ❌ | |
Partial reward withdrawal | ❌ | |
Compounding | ❌ | |
Penalty | ✅ | Offline |
Slashing | ✅ | Equivocation - At least 2% of stake |
Delegators can redelegate to another validator without waiting for the entire unbonding period. Delegators can submit an unstaking transaction, wait for the epoch to end and then submit a delegating transaction with a new validator.
Transaction fees. All transaction fees on the protocol are burned.
Advanced topics
General
The protocol has a sharded blockchain architecture. It has one main chain (shard 0) and 3 other chains that work together. The main chain’s epoch is used to sync the staking state across all the chains. Validators are randomly assigned to each shard to participate in consensus.
Validator election.
A single validator can have multiple consensus votes by adding multiple BLS keys to its address.
Validators compete to take up the top 900 slots, where each slot represents a single BLS key.
A validator submits a bid for these slots by adding or reducing the number of BLS keys associated to its address. The validator’s stake is evenly split amongst the submitted BLS keys. For example, if validator Bob has 100 ONE stake and submits 4 BLS keys, they are submitting a bid of 25 ONE for each slot in the upcoming validator election.
Effective stake and voting power.
After the BLS keys for the top 900 slots are elected, the protocol calculates the median stake from the bid of these top 900 slots. 85% of the median stake and 115% of the median stake form the bottom and upper thresholds of the elected BLS keys. Any BLS key with a stake higher than the upper threshold will have an effective stake of 115% of the median. Any BLS key with a stake lower than the bottom threshold will have an effective stake of 85% of the median. BLS keys with a bid between these thresholds will have their bids become their effective stake.
Voting power of a BLS key is calculated based on the calculated effective stake. This voting power is used to conduct consensus votes and form consensus on blocks.
See the following example. Let’s assume that all validators here have been elected. The median value of the bids is 35. The bottom threshold is 29.75 and the upper threshold is 40.25.
Validator Bid Effective stake Voting power A
10 ONE
29.75 ONE
17.00%
B
30 ONE
30 ONE
17.14%
C
35 ONE
35 ONE
20.00%
D
40 ONE
40 ONE
22.86%
E
60 ONE
40.25 ONE
23.00%
Rewards
Rewards come from newly issued tokens.
Fixed issuance per block. The protocol issues 7 ONE per block across all 4 shards, so in total 28 ONE is issued every 2 seconds.
Factors that impact realized rewards.
Validator performance. A validator only earns rewards on the blocks where they submit consensus votes.
Commissions.
Risks
Penalty. If a validator has failed to sign 2/3 of blocks in a given epoch, the validator will be considered offline and will be kicked out of the validator set at the end of the epoch. The validator will not be included in the upcoming validator election and will need to manually signal to the network to become eligible to participate in future validator elections.
Slashing. If a validator signs two blocks at the same height, the validator will get slashed and indefinitely kicked out of the active validator set. The validator and its delegators stake will be deducted by at least 2% and up to their total stake share. For example, let’s assume validator Alice and its delegators has 100 ONE stake and the entire network has 1,000 ONE effective stake. In the event Alice gets slashed, Alice and its delegators will have their stake deducted by 10% (100 / 1,000). Half of the deducted tokens will be burned and the other half will be distributed to the reporter.
Validators
Total validator cap | ✅ | 900 slots |
Validator requirements | ✅ | 10,000 ONE |
The protocol has a maximum of 900 slots each epoch. However, a single validator can take up multiple slots.
Resources
Harmony documentation: https://docs.harmony.one/home/
Harmony explorer: https://staking.harmony.one/validators/mainnet
Last updated