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.

69 lines
2.1 KiB

  1. # Tendermint fork detection and IBC fork detection
  2. ## Status
  3. This is a work in progress.
  4. This directory captures the ongoing work and discussion on fork
  5. detection both in the context of a Tendermint light node and in the
  6. context of IBC. It contains the following files
  7. ### [detection.md](./detection.md)
  8. a draft of the light node fork detection including "proof of fork"
  9. definition, that is, the data structure to submit evidence to full
  10. nodes.
  11. ### [discussions.md](./discussions.md)
  12. A collection of ideas and intuitions from recent discussions
  13. - the outcome of recent discussion
  14. - a sketch of the light client supervisor to provide the context in
  15. which fork detection happens
  16. - a discussion about lightstore semantics
  17. ### [req-ibc-detection.md](./req-ibc-detection.md)
  18. - a collection of requirements for fork detection in the IBC
  19. context. In particular it contains a section "Required Changes in
  20. ICS 007" with necessary updates to ICS 007 to support Tendermint
  21. fork detection
  22. ### [draft-functions.md](./draft-functions.md)
  23. In order to address the collected requirements, we started to sketch
  24. some functions that we will need in the future when we specify in more
  25. detail the
  26. - fork detections
  27. - proof of fork generation
  28. - proof of fork verification
  29. on the following components.
  30. - IBC on-chain components
  31. - Relayer
  32. ### TODOs
  33. We decided to merge the files while there are still open points to
  34. address to record the current state an move forward. In particular,
  35. the following points need to be addressed:
  36. - <https://github.com/informalsystems/tendermint-rs/pull/479#discussion_r466504876>
  37. - <https://github.com/informalsystems/tendermint-rs/pull/479#discussion_r466493900>
  38. - <https://github.com/informalsystems/tendermint-rs/pull/479#discussion_r466489045>
  39. - <https://github.com/informalsystems/tendermint-rs/pull/479#discussion_r466491471>
  40. Most likely we will write a specification on the light client
  41. supervisor along the outcomes of
  42. - <https://github.com/informalsystems/tendermint-rs/pull/509>
  43. that also addresses initialization
  44. - <https://github.com/tendermint/spec/issues/131>