diff --git a/roadmap.md b/roadmap.md new file mode 100644 index 000000000..7fc0a873f --- /dev/null +++ b/roadmap.md @@ -0,0 +1,41 @@ +# Tendermint Roadmap + +This is an estimate of what we will be working on in Tendermint over the coming months. +It is in the same style as our [CHANGELOG](/docs/changelog) +How these changes will be rolled out in terms of versions and releases can be better [tracked on Github](https://github.com/tendermint/tendermint/issues) + +Please note that Tendermint is not yet production ready; +it is pre-v1.0.0 and we make backwards incompatible changes with each minor version release. +If you require more stability in the near term, please [get in touch](/contact). + +BREAKING CHANGES: + +- Add more fields to the Header: NextValidatorSet, ResultsHash, EvidenceHash +- Pass evidence/voteInfo through ABCI +- Upgrade the consensus to make more real-time use of evidence during voting; +instead of +2/3 precommits for a block, a Commit becomes the entire `JSet`. +While the commit size may grow unbounded in size, it makes a fork immediately slash a +1/3 Byzantine subset of validators. +- Avoid exposing empty blocks as a first-class citizen of the blockchain +- Use a more advanced logging system + +FEATURES: + +- Use the chain as its own CA for nodes and validators +- Tooling to run multiple blockchains/apps, possibly in a single process +- State syncing (without transaction replay) +- Transaction indexing and improved support for querying history and state +- Add authentication and rate-limitting to the RPC + +IMPROVEMENTS: + +- Better Tendermint CLI +- Improve subtleties around mempool caching and logic +- Consensus optimizations: + - cache block parts for faster agreement after round changes +- Better testing of the consensus state machine (ie. use a DSL) +- Auto compiled serialization/deserialization code instead of go-wire reflection + +BUG FIXES: + +- Graceful handling/recovery for apps that have non-determinism or fail to halt +- Graceful handling/recovery for violations of safety, or liveness