You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.8 KiB

  1. # Tendermint Roadmap
  2. This is an estimate of what we will be working on in Tendermint over the coming months.
  3. It is in the same style as our [CHANGELOG](/docs/changelog)
  4. 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)
  5. Please note that Tendermint is not yet production ready;
  6. it is pre-v1.0.0 and we make backwards incompatible changes with each minor version release.
  7. If you require more stability in the near term, please [get in touch](/contact).
  8. BREAKING CHANGES:
  9. - Add more fields to the Header: NextValidatorSet, ResultsHash, EvidenceHash
  10. - Pass evidence/voteInfo through ABCI
  11. - Upgrade the consensus to make more real-time use of evidence during voting;
  12. instead of +2/3 precommits for a block, a Commit becomes the entire `JSet`.
  13. While the commit size may grow unbounded in size, it makes a fork immediately slash a +1/3 Byzantine subset of validators.
  14. - Avoid exposing empty blocks as a first-class citizen of the blockchain
  15. - Use a more advanced logging system
  16. FEATURES:
  17. - Use the chain as its own CA for nodes and validators
  18. - Tooling to run multiple blockchains/apps, possibly in a single process
  19. - State syncing (without transaction replay)
  20. - Transaction indexing and improved support for querying history and state
  21. - Add authentication and rate-limitting to the RPC
  22. IMPROVEMENTS:
  23. - Better Tendermint CLI
  24. - Improve subtleties around mempool caching and logic
  25. - Consensus optimizations:
  26. - cache block parts for faster agreement after round changes
  27. - Better testing of the consensus state machine (ie. use a DSL)
  28. - Auto compiled serialization/deserialization code instead of go-wire reflection
  29. BUG FIXES:
  30. - Graceful handling/recovery for apps that have non-determinism or fail to halt
  31. - Graceful handling/recovery for violations of safety, or liveness