iotexproject / iotexproject/iotex-core

Implement self-stake slashing for double producing blocks

Open
#2,375 3 comments 0 reactions 0 assignees View on GitHub
feature pending
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.