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
Summary of Upcoming Breaking Changes #1568
Comments
Note also from #1502:
|
Another point still up for debate is what to do about pubkeys in the ABCI (ie. whether or not to involve Amino) - #1524 |
Maybe change LastBlockID to LastBlockHash in the header? #1605 |
Ideally the encoding of the header would be compatible with a protobuf encoding - #1605 (comment) Would be nice to not build these SimpleMap structures ... just noticed the discrepency between how we do it for Header and for ConsensusParams ... |
Can we include ABCI evidence updates - tendermint/abci#243 - and the associated Tendermint changes - #1582 - in this changeset? edit: Also inclusion of both present and absent validators, and all validator data, in |
While we can have both present and absent validators in BeginBlock, it should be noted that validator updates apply to the next validator set, not the one received via BeginBlock. This means that ABCI developers should take note to persist the validator set somewhere... Which kind of defeats the point of using addresses vs indices, imo, since it's easy enough to sort a validator set once you have one. But that's fine. I just prefer not to send both validator sets to the app via ABCI, because that's "helping" the ABCI developer a little too much to the detriment of performance. |
More changes discussed:
|
This might turn out to be really unfortunate for devs ... hmm |
Summary of state of this: ABCI
Everything elseEverything else is basically in open PRs. MoreThe last thing to work on is how we deal with versioning to facilitate upgrades - both on the blockchain datastructures and in the p2p layer. I think we need to introduce versions for both these, but not exactly sure how. We should prepare an ADR for how to do this. |
Everything in here is either complete or summarized in open issues that are well tagged. |
@ebuchman I realize you closed this issue, but we were using it to get a sense of how many breaking changes we can expect in the future. Could you check the boxes beside the things that are now done and merged? It would also be helpful to check the boxes beside the things that won't ever be done. |
Updated. We're now using the "breaking" tag: https://github.com/tendermint/tendermint/issues?q=is%3Aopen+is%3Aissue+label%3Abreaking |
Thanks! |
Proposed summary of impending breaking changes.
The goal is to get as many of the breaking data structure changes into the next breaking release as possible :)
Change all RIPEMD160 to SHA256[:20]
Don't Amino encode basic byte arrays before hashing
Proposals/Votes - consensus: spec and impl for BFT time #1146, WIP Jae/bft time #1615
don't sign Timestampinstead, we can do BFT time just through the proposer Jae/bft time #1615Header
ABCI
Validator set changes
P2P
The text was updated successfully, but these errors were encountered: