github.com/vipernet-xyz/tm@v0.34.24/spec/light-client/detection/README.md (about)

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