-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
Evidence Age & Tendermint #5532
Comments
Ah yes, this is the same issue as #5529, I'll close the other one. |
Basically, the unbonding period is now a minimum of (elapsed time, elapsed blocks) and we should update the SDK / evidence handlers / proof-of-stake module to reflect this. |
Sorry, didn't mean to duplicate the issue! Can you elaborate a bit more on "elapsed time, elapsed blocks". How do you envision these changes in the SDK? I presume we still have a single parameter/notion of "unbonding time". However, this value is now set via the minimum of two values? |
could this issue be included in the 0.39 milestone? |
With governance, we need to hookup the params store (somehow) to baseapp. Without governance, chains will need their own live mechanism or simply have a hard fork. Regardless, I'm still looking for clarification on this issue. |
I think it would be preferable for this to be updatable with a |
this should be possible through ResponseEndBlock. |
@alexanderbez I think the idea is to use both parameters for now. More info can be found here: tendermint/tendermint#2653 (comment) |
Thanks @melekes that was helpful! So as I understand it, the SDK's |
Right, although ideally we could change those dynamically in the state machine & Tendermint would be able to take account of those changes (that way they could be changed with |
Yeah, this ties into another discussion taken elsewhere (can't seem to place the issue). We essentially need the ability for governance to also change consensus (non-app-state) params. This would mean that BaseApp would need reference/use of the params keeper somehow. Might be trivial, might not. I need to actually examine the LOE. |
This blocks IBC 1.0 due to safety concerns. |
Summary
Currently, the SDK handles evidence's age via a
MaxEvidenceAge
param defined in thex/evidence
module. It is used to determine if evidence submitted by Tendermint is stale or not. It is used as such:However, Tendermint has the following consensus parameters:
consensus_params.evidence.max_age_duration
consensus_params.evidence.max_age_num_blocks
One is block-based and the other is duration. When should an application use one over the other? Should the SDK even have its own
MaxEvidenceAge
? Is it redundant to have this parameter? Would these values ever differ (in semantics) and if so, how? What is the relationship between all of these?/cc @ebuchman @marbar3778 @melekes
For Admin Use
The text was updated successfully, but these errors were encountered: