namillum
Version:
Bubble Protocol SDK
40 lines (33 loc) • 1.54 kB
Markdown
id: core-ds-reputation
title: DS Reputation
keywords:
- core
- directory
- service
- committee
- reputation
description: Core protocol design - DS reputation.
The integration of the DS reputation within DS MIMO enables identification and
removal of underperforming DS nodes instead of simply the oldest DS nodes. This
encourages node owners to use better hardware for the DS nodes, improving the
stability and efficiency of the network, particularly during consensus protocol.
The steps are:
1. During DS Block consensus, the performance of each DS node is evaluated based
on the rewards they received in the last DS epoch
1. DS leader calls `DetermineByzantineNodes()` to find out which DS nodes
underperformed (according to the criteria set in `constants.xml`). The public
keys of these underperforming nodes are included in DS Block consensus
announcement
1. DS backup nodes call `VerifyRemovedByzantineNodes` when processing the
announcement to verify that the DS nodes proposed for removal from the
committee are really underperforming. Verification must pass for consensus to
succeed; a view change will be triggered otherwise
1. After DS Block consensus, the underperforming DS nodes are removed from the
DS committee and the blockchain network. They will need to do PoW again to
rejoin the network
## References
1. [DS Reputation Proposal](https://github.com/nnamon/zilliqa-research/blob/master/ds_reputation/proposal.md)
1. [PR 1587](https://github.com/Zilliqa/Zilliqa/pull/1587)