Skip to content
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

Proposal: Reject consensus messages with inconsistent timestamp #13

Open
fed-franz opened this issue Apr 25, 2024 · 0 comments
Open

Proposal: Reject consensus messages with inconsistent timestamp #13

fed-franz opened this issue Apr 25, 2024 · 0 comments

Comments

@fed-franz
Copy link
Collaborator

fed-franz commented Apr 25, 2024

Status

  • Rejected: the solution proposed in this DIP is meant to solve a problem with forking. However, the same problem is already addressed by Rolling Finality. Moreover, the introduction of timestamp-based logics potentially introduces new issues and side-channels that can be exploited and lead to undesirable situations.

Summary

This DIP proposes to discard consensus messages if their timestamp is not coherent with the expected time frame for the iteration.

Possible solution design or implementation

At round R and iteration I:

  • set $T_{R,I} = TS(Candidate_{R-1}) + (I \times MaxIterationTime)$
  • when a message for R,I is received:
    • assert $T_{R,I} - slippage < TS(Msg_{R,I}) < T_{R,I} + MaxIterationTime + slippage$

where:

  • $TS(Msg_{R,I})$ is the time when the message was received
  • $TS(Candidate_{R-1})$ is the timestamp of the Candidate message for the accepted block in round R-1
  • $MaxIterationTime$ is the maximum time an iteration can take
  • $slippage$ is the maximum margin of error for the timestamp
herr-seppia added a commit to dusk-network/rusk that referenced this issue May 10, 2024
herr-seppia added a commit to dusk-network/rusk that referenced this issue May 10, 2024
herr-seppia added a commit to dusk-network/rusk that referenced this issue Jun 3, 2024
herr-seppia added a commit to dusk-network/rusk that referenced this issue Jun 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant