-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs(dip31): platform proof of service #157
base: master
Are you sure you want to change the base?
Conversation
dip-0031.md
Outdated
1. Check if the node is synced | ||
* Penalty: skip validation of message, do not forward, do not mark as received in inventory | ||
2. Validate the protxHash is in the masternodeList | ||
* Penalty: small P2P penalty (1), as the masternode may have very recently been removed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should use the term evonode everywhere instead of masternode and do not mix both terms.
* Penalty: small P2P penalty (1), as the masternode may have very recently been removed | ||
3. Validate the masternode associated with the protxHash is an evonode and not a regular masternode | ||
* Penalty: Ban node, P2P penalty (100) | ||
4. Validate the signedHeight is valid and not too far in the past or future |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How far?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@PastaPastaPasta can you add a suggestion to clarify this one?
Once validation succeeds, Core shall adjust an internal `PlatformPoSeBan` flag from `false` to | ||
`true`. This flag should be stored on disk and persisted across restarts. | ||
|
||
## Effect |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shall we describe how ProUpServTx
affects PlatformPoSeBanned
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't that what the last sentence of the paragraph does?
The flag
PlatformPoSeBanned
must be set to false when an evonode is revived in the deterministic masternode list (DML).
42511dc
to
87fe980
Compare
To ensure that evonodes provide service on Dash Platform and that non-functioning evonodes do not participate in the Platform validator set, Platform needs a way to exclude faulty evonodes from future Platform validator sets / quorums. Since these nodes are not properly providing service, they should be proof-of-service (PoSe) banned. This DIP outlines a method for Platform to securely notify Core that a node should be banned.