Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spec: Fork Detector + Evidence (proof of fork) for discussion. #479

Merged
merged 27 commits into from
Aug 7, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
75c30a1
added todos
josef-widder Jul 22, 2020
e7b01ef
sketch of functions
josef-widder Jul 22, 2020
7d08cd9
supervisor
josef-widder Jul 23, 2020
7d9f661
first draft of functions
josef-widder Jul 23, 2020
0b78a78
more fine grained detection
josef-widder Jul 23, 2020
b303936
primary
josef-widder Jul 23, 2020
26c4369
first updates after discussion with Zarko
josef-widder Jul 24, 2020
f860837
all discussion points with Zarko at least sketched
josef-widder Jul 24, 2020
a5d8651
prologue
josef-widder Jul 27, 2020
14331bd
prologue
josef-widder Jul 27, 2020
df8069a
ready for PR
josef-widder Jul 27, 2020
9e8d5fe
preliminary work for IBC fork dectection (until upgrades)
josef-widder Jul 28, 2020
9355baa
draft for new checkMisbehaviourAndUpdateState
josef-widder Jul 29, 2020
a2c8357
first draft of SubmitIBCProofOfFork
josef-widder Jul 30, 2020
6b8b3cb
common root
josef-widder Jul 30, 2020
a9e131d
ibc proof of fork submission first draft
josef-widder Jul 30, 2020
53a0f93
ibc fork detection start
josef-widder Jul 31, 2020
43578d7
sequence of proof
josef-widder Jul 31, 2020
f62a8cb
Update docs/spec/lightclient/detection/detection.md
josef-widder Aug 3, 2020
5e461d9
Update docs/spec/lightclient/detection/detection.md
josef-widder Aug 4, 2020
3e86d70
Update docs/spec/lightclient/detection/detection.md
josef-widder Aug 4, 2020
1f8f2c2
Update docs/spec/lightclient/detection/detection.md
josef-widder Aug 4, 2020
d85a29c
Update docs/spec/lightclient/detection/detection.md
josef-widder Aug 4, 2020
7188c3f
draft functions
josef-widder Aug 5, 2020
9e8cbd0
added todo into verification.md
josef-widder Aug 7, 2020
5259bb6
clean up ready to merge
josef-widder Aug 7, 2020
6a38d97
Merge branch 'master' into josef/light-evidence
josef-widder Aug 7, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 73 additions & 5 deletions docs/spec/lightclient/detection/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,74 @@
# Light Client Detection

This is a work in progress. There are two drafts.
One from the view of a [light node](./detection.md)
and one from the view of [IBC](./req-ibc-detection.md).
They are both works in progress and may be consolidated.
# Tendermint fork detection and IBC fork detection

## Status

This is a work in progress.
This directory captures the ongoing work and discussion on fork
detection both in the context of a Tendermint light node and in the
context of IBC. It contains the following files

### [detection.md](./detection.md)

a draft of the light node fork detection including "proof of fork"
definition, that is, the data structure to submit evidence to full
nodes.


### [discussions.md](./discussions.md)

A collection of ideas and intuitions from recent discussions

- the outcome of recent discussion
- a sketch of the light client supervisor to provide the context in
which fork detection happens
- a discussion about lightstore semantics


### [req-ibc-detection.md](./req-ibc-detection.md)

- a collection of requirements for fork detection in the IBC
context. In particular it contains a section "Required Changes in
ICS 007" with necessary updates to ICS 007 to support Tendermint
fork detection


### [draft-functions.md](./draft-functions.md)

In order to address the collected requirements, we started to sketch
some functions that we will need in the future when we specify in more
detail the

- fork detections
- proof of fork generation
- proof of fork verification

on the following components.

- IBC on-chain components
- Relayer


### TODOs

We decided to merge the files while there are still open points to
address to record the current state an move forward. In particular,
the following points need to be addressed:

- https://github.com/informalsystems/tendermint-rs/pull/479#discussion_r466504876

- https://github.com/informalsystems/tendermint-rs/pull/479#discussion_r466493900

- https://github.com/informalsystems/tendermint-rs/pull/479#discussion_r466489045

- https://github.com/informalsystems/tendermint-rs/pull/479#discussion_r466491471

Most likely we will write a specification on the light client
supervisor along the outcomes of

- https://github.com/informalsystems/tendermint-rs/pull/509

that also addresses initialization

- https://github.com/tendermint/spec/issues/131

Loading