-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
store: remove Version from CommitID #1351
Comments
We shouldn't assume that the version won't change in a KVStore with no empty blocks. |
After. For some reason I thought it was an issue in the IAVL, but Frey pointed out it was in the MultiStore. Still don't understand what benefit we get from hashing the version in the multistore.
Sure, but why not make it easier for those that don't ? Many apps will only have changes based around txs.
Sure. It adds some complexity, and hard to prioritize given everything else going on. There also seem to be some existing issues with no-empty-blocks that we're working through, eg. see
So we need to make sure that's all fixed up first |
Opened tendermint/tendermint#1909 I still think we should remove the version from the CommitID if we can to simplify this for users where the state doesn't necessarily transition every block. Eg. we should be able to provide a basecoin that doesn't have to use EndBlock to do this. |
I agree with the proposal. Unless there is a concrete reason why version should be in the commit ID hash, we shouldn't include it imo. I can't think of any safety concern here. |
@ebuchman Any timeline on when this will be merged? |
How did this issue end up? Will the suggested change be merged, or are there any plans to support not creating empty blocks in some other way? |
@jackzampolin @alexanderbez @jaekwon @ValarDragon can we put this as "proposal accepted"? |
@ebuchman why the app hash changes when there are no transactions but there is the staking module, even if the stake and validators don't changes? |
in cosmos-sdk some modules change the app-hash in each height: like slashing and distribution. In case you want to keep app-hash same you need to modify these modules. Go ahead! |
Unclear what benefit we get from storing the version in the CommitID, especially since it inhibits no-empty-blocks
Thanks @ethanfrey for the investigation in iov-one/weave#72 (comment)
Here's a diff that just hashes the tree hash without the version, without changing any other code:
If we remove staking/slashing from baseapp (which we should, otherwise its not a basecoin!), then no-empty-blocks works with this change
The text was updated successfully, but these errors were encountered: