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

light-client: Attack detector and evidence reporting #1292

Merged
merged 62 commits into from
Apr 28, 2023
Merged
Changes from 1 commit
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
e7869c0
Rename `evidence::Data` to `evidence::List` and add missing `Protobuf…
romac Mar 8, 2023
3e7931c
Add `LightClientAttack` evidence definition and protobuf conversions
romac Mar 8, 2023
0ae59dc
Remove `Supervisor` and `EvidenceReporter`, as well as associated exa…
romac Mar 8, 2023
8cf1320
Allow warnings
romac Mar 8, 2023
7766af7
Port light client attack detection code over from ibc-go
romac Mar 8, 2023
ee2d2bc
Split detector into evidence creation and detection
romac Mar 8, 2023
4791721
Small refactor
romac Mar 8, 2023
9c2dd85
Ensure trace always contain >=2 blocks
romac Mar 8, 2023
ab7fcf1
Serialize `Evidence`, `EvidenceList` and `EvidenceParams` through the…
romac Mar 10, 2023
dec03dc
Ensure we add the trusted block to the trace when verification succeeds
romac Mar 10, 2023
116478a
Add light client CLI for misbehavior detection and reporting
romac Mar 10, 2023
af65787
Report evidence
romac Mar 10, 2023
138ca64
Work around detector bug
romac Mar 10, 2023
50219cd
Keep trying to submit evidence
romac Mar 13, 2023
ecbfdca
Fix JSON serialization of Evidence and PublicKey in protos
romac Mar 14, 2023
fb5a9f9
Implement full misbehavior detector
romac Mar 15, 2023
8aeeb6a
Cleanup
romac Mar 15, 2023
7accc97
Error refactoring
romac Mar 15, 2023
f83e51a
Allow specifying a height to verify to
romac Mar 17, 2023
6f78d67
Simpler API for use in the relayer
romac Mar 28, 2023
ff6929f
Tailor API for use in Hermes
romac Mar 30, 2023
debcdbd
Rename module and merge error types together
romac Apr 4, 2023
d4e10f5
Re-enable detection and reporting in the light client CLI
romac Apr 4, 2023
58d4e43
Remove redundant renames on DuplicateVoteEvidence proto fields
romac Apr 5, 2023
ce0825c
Add --verbose flag to CLI
romac Apr 5, 2023
65a28d2
Fix kvstore test
romac Apr 5, 2023
f768364
Extract light client detector and CLI into their own crates
romac Apr 11, 2023
640789e
Add new crates to release script
romac Apr 11, 2023
e316d77
Make it easier to track Gaia fixtures test failures
romac Apr 13, 2023
a4f1216
Fix proto-based JSON serialization of evidence types
romac Apr 13, 2023
cf0d34b
Fix domain types conversion of evidence params and evidence list
romac Apr 13, 2023
6b33ad2
Serialize `BlockId::part_set_header` to `parts` but deserialize it as-is
romac Apr 13, 2023
c8b875b
Add helpers on ProdIo
romac Apr 13, 2023
f33040f
Split header comparison into two steps: the check of the trusted bloc…
romac Apr 14, 2023
ee97038
Merge branch 'main' into romac/new-misbehavior-detector
romac Apr 14, 2023
9df10d6
Fix after main merge
romac Apr 14, 2023
bc7f1c5
Return witness trace as part of divergence
romac Apr 18, 2023
3a8a282
Add `Trace::into_vec`
romac Apr 18, 2023
205d0bb
Add `IntoIterator` for `Trace`
romac Apr 18, 2023
7767bf9
Merge branch 'main' into romac/new-misbehavior-detector
romac Apr 18, 2023
87f6786
Bump light client CLI and detector versions
romac Apr 18, 2023
0241537
Cleanup
romac Apr 20, 2023
478b35e
Make trusting period and trust threshold configurable
romac Apr 20, 2023
695e8b4
Make max clock drift and max block lag configurable
romac Apr 20, 2023
a75720a
Make the chain id a flag param of the CLI
romac Apr 20, 2023
2033c22
Call `detect_divergence` directly from CLI
romac Apr 20, 2023
74cbc50
Update doc comments
romac Apr 20, 2023
369fd31
Add another changelog entry
romac Apr 20, 2023
6ba0f6e
Re-construct `HeightTooHigh` errors
romac Apr 20, 2023
1802f82
Remove the total_voting_power check on deserialization
ancazamfir Apr 24, 2023
3cd989a
Merge branch 'main' into romac/new-misbehavior-detector
romac Apr 25, 2023
431f5a1
Allow the hasher implementation to be specified
romac Apr 25, 2023
4d14db9
Remove outdated FIXMEs
romac Apr 25, 2023
2dd6c5d
Remove nightly-only options in rustfmt config
romac Apr 26, 2023
f3f6f0f
Fix configurable hasher implementation
romac Apr 26, 2023
0249eed
Merge branch 'main' into romac/new-misbehavior-detector
romac Apr 27, 2023
c1ac600
Add changelog entries
romac Apr 28, 2023
61a0f6b
Undo modifications related to the light client
romac Apr 28, 2023
b781b35
Remove changelog entries
romac Apr 28, 2023
be55650
Dialect-based evidence serialization (#1306)
romac Apr 28, 2023
aad4122
Fix warnings
romac Apr 28, 2023
16ddda9
Disable failing test to be removed
romac Apr 28, 2023
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
Prev Previous commit
Next Next commit
Allow warnings
  • Loading branch information
romac committed Mar 10, 2023
commit 8cf1320ff4444c9e70319f0b883f65fde5c0d7ed
1 change: 0 additions & 1 deletion light-client/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#![forbid(unsafe_code)]
#![deny(
warnings,
trivial_casts,
trivial_numeric_casts,
unused_import_braces,
Expand Down