iotexproject / iotexproject/iotex-core
Implement self-stake slashing for double producing blocks
- Dominant language
- Go
- Stars
- 1.6k
- Forks
- 382
- Avg merge
- 4d 22h
- Merged PRs (30d)
- 17
Description
Along with already implemented first slashing which is probation for unproductive delegates, we have to design the second slashing mechanism in order to punish double producing delegates.
1. We need a detection mechanism that detects submitted blocks which have different block hash by the same producers at the same height.
2. Once detected, such delegate's self-stake should be confiscated depending on predefined percentage or amount.
2-1. should also put on probation status
2-2. need to decide the exact number for percentage or amount
Contributor guide
Research direction
Start by reviewing the existing first-slashing mechanism and probation behavior, then inspect the history around closed pull request #2379. Define how conflicting block hashes at one height identify a producer, how self-stake confiscation and probation interact, and document the chosen percentage or amount; done means these decisions are implemented and covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- blockchain, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100