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

Disclosure log to record ICS3 liveness problems #83

Merged
merged 10 commits into from
Jul 3, 2020
Merged

Conversation

adizere
Copy link
Member

@adizere adizere commented Jun 2, 2020

Closes: #82

Rendered here

Description

Added a markdown file for recording and disclosing all the problems we find in IBC protocols.


For contributor use:

  • Unit tests written
  • Added test to CI if applicable
  • Updated CHANGELOG_PENDING.md
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Updated relevant documentation (docs/) and code comments
  • Re-reviewed Files changed in the Github PR explorer

@codecov-commenter
Copy link

codecov-commenter commented Jun 2, 2020

Codecov Report

Merging #83 into master will decrease coverage by 0.3%.
The diff coverage is 100.0%.

Impacted file tree graph

@@           Coverage Diff            @@
##           master     #83     +/-   ##
========================================
- Coverage    14.4%   14.1%   -0.4%     
========================================
  Files          58      69     +11     
  Lines        2222    3861   +1639     
  Branches      763    1437    +674     
========================================
+ Hits          322     546    +224     
- Misses       1601    2657   +1056     
- Partials      299     658    +359     
Impacted Files Coverage Δ
relayer/relay/src/config.rs 42.8% <100.0%> (+0.6%) ⬆️
modules/src/ics03_connection/error.rs 33.3% <0.0%> (-9.6%) ⬇️
modules/src/ics04_channel/error.rs 25.0% <0.0%> (-8.4%) ⬇️
modules/src/ics04_channel/msgs.rs 19.1% <0.0%> (-3.2%) ⬇️
modules/src/ics24_host/validate.rs 73.0% <0.0%> (-1.0%) ⬇️
relayer/cli/src/commands/query/connection.rs 24.2% <0.0%> (-1.0%) ⬇️
relayer/cli/src/commands/query/channel.rs 23.7% <0.0%> (-0.9%) ⬇️
relayer/cli/src/commands/query/client.rs 18.6% <0.0%> (-0.8%) ⬇️
modules/src/error.rs 0.0% <0.0%> (ø)
relayer/cli/src/commands.rs 17.6% <0.0%> (ø)
... and 35 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2d14599...c3115aa. Read the comment docs.

Copy link
Collaborator

@ancazamfir ancazamfir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Adi. Some comments here but looks good otherwise.

docs/disclosure-log.md Outdated Show resolved Hide resolved
docs/disclosure-log.md Outdated Show resolved Hide resolved
Copy link
Collaborator

@ancazamfir ancazamfir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! A few minor comments. Thanks!

docs/disclosure-log.md Outdated Show resolved Hide resolved
docs/disclosure-log.md Outdated Show resolved Hide resolved
docs/disclosure-log.md Outdated Show resolved Hide resolved
docs/disclosure-log.md Outdated Show resolved Hide resolved
Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com>
docs/disclosure-log.md Outdated Show resolved Hide resolved
@adizere adizere changed the title WIP: disclosure log with ICS3 deadlock documentation WIP: disclosure log to record ICS3 liveness problems Jun 18, 2020
@adizere adizere mentioned this pull request Jun 22, 2020
4 tasks
@milosevic
Copy link
Contributor

We should remove reference to a TLA+ spec (for a time being) that generates counter example and just leave description in English with two concurrent relayers stepping at each other foot, and close this PR.

@adizere
Copy link
Member Author

adizere commented Jun 23, 2020

We should remove reference to a TLA+ spec (for a time being) that generates counter example and just leave description in English with two concurrent relayers stepping at each other foot, and close this PR.

This PR is ready for review with a TLA+ spec at the moment. Have a look, and if this proves problematic, then I'll remove the spec and keep just a simple explanation (similar to the description in #61).

@adizere adizere changed the title WIP: disclosure log to record ICS3 liveness problems Disclosure log to record ICS3 liveness problems Jun 23, 2020
docs/disclosure-log.md Outdated Show resolved Hide resolved
docs/disclosure-log.md Outdated Show resolved Hide resolved
docs/disclosure-log.md Outdated Show resolved Hide resolved
docs/disclosure-log.md Outdated Show resolved Hide resolved
@ancazamfir
Copy link
Collaborator

Can we can formulate 2 such that we don't talk about h vs h-1? Just mention that in general a proof requires a consensus state at height h and an update of the on-chain client with that may fail.

adizere and others added 3 commits July 1, 2020 14:30
Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com>
Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com>
@adizere
Copy link
Member Author

adizere commented Jul 1, 2020

Can we can formulate 2 such that we don't talk about h vs h-1? Just mention that in general a proof requires a consensus state at height h and an update of the on-chain client with that may fail.

By "2" you mean the concurrency part?
If I understood correctly, the latest commit should be simpler and hopefully achieve this.

docs/disclosure-log.md Outdated Show resolved Hide resolved
Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com>
@adizere adizere removed this from the 0.6-6mo milestone Jul 3, 2020
Copy link
Collaborator

@ancazamfir ancazamfir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks Adi!

@adizere adizere merged commit e1b7894 into master Jul 3, 2020
@adizere adizere deleted the adi/disclosure_log branch July 3, 2020 16:23
hu55a1n1 pushed a commit to hu55a1n1/hermes that referenced this pull request Sep 13, 2022
* Added disclosure log with 2 items.

* Fixed deadlock confusion; more details for each record

* More explanation for the second record in the disclosure log

* Apply suggestions from code review

Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com>

* More thorough explanation and aligned record 2 with the default TLA+ spec.

* Aligned the trace w/ the most recent version of the spec.

* Apply suggestions from code review

Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com>

* Update docs/disclosure-log.md

Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com>

* Removed explicit reference to proofs (at h-1 vs. h) from item 2.

* Update docs/disclosure-log.md

Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com>

Co-authored-by: Anca Zamfir <ancazamfir@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create a 'disclosure' log
5 participants