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

Ability to request confirmations after changes in the validator set #604

Open
akolotov opened this issue May 16, 2021 · 0 comments
Open
Labels
enhancement New feature or request

Comments

@akolotov
Copy link
Collaborator

Consider the following scenario:

  1. A users requests a message transfer from the Home chain to the Foreign chain
  2. N oracles provided theirs confirmations and the CollectedSignatures event was emitted
  3. The required amount of signatures was changed on the Foreign side OR one of validators sent the confirmation on the step 2 was removed from the validator set.
  4. The user tries to finalize the transfer by calling executeSignatures.
  5. The transactions fails due to changes in the validator set configuration described above.

This behavior blocks the bridges from the actions to increase security of the bridge that's why the current approach must be improved.

One of the possible solutions:
6. After the step 5 above the user makes a request to the contract on the Home side to re-collect the confirmations. The request contains the original message and the collected signatures.
7. The contract checks that the message is marked as confirmed. The contract checks that the collected signatures are for the specified message. The contract checks that the signatures are for the outdated configuration of the validator set (amount of signatures is not enough or a recovered validator address is not in the current validator set).
8. The event ReconfirmationRequested is emitted. Ability to emit another ReconfirmationRequested for the same message is blocked for 24 hours.
9. Oracles are able to re-send the confirmations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant