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

Prevent false challenges from short-circuiting the challenge period #9

Open
ameensol opened this issue May 30, 2017 · 1 comment
Open

Comments

@ameensol
Copy link
Contributor

As it stands, it is possible for a channel participant to quickly, independently:

  1. Propose a checkpoint
  2. Submit a valid challenge, but one with a lower impressions count than the proposed state
  3. Accept their own challenge, finalizing the initial proposed state

This would allow them to short-circuit the challenge period during checkpointing, and get away with finalizing a checkpoint with an old state.

@ameensol
Copy link
Contributor Author

ameensol commented May 30, 2017

Possible fixes:

  1. don't allow the checkpoint proposer to challenge their own proposed checkpoint
  2. don't allow the challenge accepter to accept their own challenge
  3. don't immediately finalize the checkpoint if the challenge is successfully accepted, instead extend the challenge period
    a. this permits infinite challenge loops
  4. split the challenge period into two distinct phases (challenging, accepting challenges)
    a. e.g. can only submit a challenge within phase 1, can only accept challenge within phase 2

I'm leaning towards 1 + 2 because they solve the problem with the least work.

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