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.

75 lines
2.1 KiB

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