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

Switch the default trust threshold for new clients to 2/3 #2988

Merged
merged 7 commits into from
Jan 26, 2023

Conversation

romac
Copy link
Member

@romac romac commented Jan 6, 2023

Closes: #2876

Description

Note that the default trust threshold used for creating a client with create client when no trust threshold is specified on the command line is taken from the chain config's trust_threshold setting. We should therefore advise operators to update their configs with the new recommended value as otherwise the changes below won't have any effect outside of tests.


PR author checklist:

  • Added changelog entry, using unclog.
  • Added tests: integration (for Hermes) or unit/mock tests (for modules).
  • Linked to GitHub issue.
  • Updated code comments and documentation (e.g., docs/).
  • Tagged one reviewer who will be the one responsible for shepherding this PR.

Reviewer checklist:

  • Reviewed Files changed in the GitHub PR explorer.
  • Manually tested (in case integration/unit/mock tests are absent).

@romac romac added the CI: multi-chains CI: Run the `multi-chains` integration test job on this PR label Jan 19, 2023
@romac romac force-pushed the romac/default-trust-threhsold-two-thirds branch from 73032aa to b342f6e Compare January 19, 2023 10:15
@romac romac marked this pull request as ready for review January 24, 2023 09:02
@romac romac removed the CI: multi-chains CI: Run the `multi-chains` integration test job on this PR label Jan 24, 2023
Signed-off-by: Romain Ruetschi <romain@informal.systems>
@romac romac requested a review from ancazamfir January 24, 2023 10:36
Copy link
Collaborator

@ancazamfir ancazamfir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks @romac !

@romac
Copy link
Member Author

romac commented Jan 24, 2023

I wrote a little tool to fetch the latest 1000 blocks from the Cosmos Hub with a step of 1, 5, and 10 and compute the voting power overlap between all adjacent blocks. The results are here (there are multiple files each with a different step).

I did not see an overlap less than 2/3 so I would assume that the impact of this change in terms of client updates will be low if not null, at least on the Hub.

Will check with other chains with smaller validator sets.

@romac
Copy link
Member Author

romac commented Jan 26, 2023

Ran some tests on Chihuahua, Evmos, Injective, and Secret and did not find a validator set change greater than 1/3 over any combination of the past 1000 blocks.

Let's merge this :)

@romac romac merged commit f871fb8 into master Jan 26, 2023
@romac romac deleted the romac/default-trust-threhsold-two-thirds branch January 26, 2023 14:32
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

Successfully merging this pull request may close these issues.

Default to 2/3 instead of 1/3 for IBC client security parameters
2 participants