This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Commit 8354d30
BEEFY: implement equivocations detection, reporting and slashing (#13121)
* client/beefy: simplify self_vote logic
* client/beefy: migrate to new state version
* client/beefy: detect equivocated votes
* fix typos
* sp-beefy: add equivocation primitives
* client/beefy: refactor vote processing
* fix version migration for new rounds struct
* client/beefy: track equivocations and create proofs
* client/beefy: adjust tests for new voting logic
* sp-beefy: fix commitment ordering and equality
* client/beefy: simplify handle_vote() a bit
* client/beefy: add simple equivocation test
* client/beefy: submit equivocation proof - WIP
* frame/beefy: add equivocation report runtime api - part 1
* frame/beefy: report equivocation logic - part 2
* frame/beefy: add pluggable Equivocation handler - part 3
* frame/beefy: impl ValidateUnsigned for equivocations reporting
* client/beefy: submit report equivocation unsigned extrinsic
* primitives/beefy: fix tests
* frame/beefy: add default weights
* frame/beefy: fix tests
* client/beefy: fix tests
* frame/beefy-mmr: fix tests
* frame/beefy: cross-check session index with equivocation report
* sp-beefy: make test Keyring useable in pallet
* frame/beefy: add basic equivocation test
* frame/beefy: test verify equivocation results in slashing
* frame/beefy: test report_equivocation_old_set
* frame/beefy: add more equivocation tests
* sp-beefy: fix docs
* beefy: simplify equivocations and fix tests
* client/beefy: address review comments
* frame/beefy: add ValidateUnsigned to test/mock runtime
* client/beefy: fixes after merge master
* fix missed merge damage
* client/beefy: add test for reporting equivocations
Also validated there's no unexpected equivocations reported in the
other tests.
Signed-off-by: acatangiu <[email protected]>
* sp-beefy: move test utils to their own file
* client/beefy: add negative test for equivocation reports
* sp-beefy: move back MmrRootProvider - used in polkadot-service
* impl review suggestions
* client/beefy: add equivocation metrics
---------
Signed-off-by: acatangiu <[email protected]>
Co-authored-by: parity-processbot <>1 parent 7c1d37f commit 8354d30
File tree
22 files changed
+2140
-213
lines changed- client
- beefy/src
- communication
- consensus/babe/src
- frame
- beefy-mmr/src
- beefy
- src
- primitives/beefy/src
- test-utils/runtime/src
22 files changed
+2140
-213
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
244 | 244 | | |
245 | 245 | | |
246 | 246 | | |
247 | | - | |
248 | | - | |
| 247 | + | |
| 248 | + | |
249 | 249 | | |
250 | 250 | | |
251 | 251 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
34 | 36 | | |
35 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
85 | | - | |
| 84 | + | |
86 | 85 | | |
87 | 86 | | |
88 | 87 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
126 | | - | |
| 126 | + | |
127 | 127 | | |
128 | 128 | | |
129 | 129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
282 | 282 | | |
283 | 283 | | |
284 | 284 | | |
| 285 | + | |
285 | 286 | | |
286 | 287 | | |
287 | 288 | | |
| |||
292 | 293 | | |
293 | 294 | | |
294 | 295 | | |
295 | | - | |
| 296 | + | |
296 | 297 | | |
297 | 298 | | |
298 | 299 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
50 | | - | |
51 | 49 | | |
52 | 50 | | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
53 | 59 | | |
54 | 60 | | |
55 | 61 | | |
| |||
60 | 66 | | |
61 | 67 | | |
62 | 68 | | |
63 | | - | |
64 | | - | |
65 | 69 | | |
66 | 70 | | |
67 | 71 | | |
| |||
109 | 113 | | |
110 | 114 | | |
111 | 115 | | |
112 | | - | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
113 | 131 | | |
114 | 132 | | |
115 | | - | |
| 133 | + | |
116 | 134 | | |
117 | 135 | | |
118 | 136 | | |
119 | | - | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
120 | 142 | | |
121 | | - | |
122 | | - | |
| 143 | + | |
| 144 | + | |
123 | 145 | | |
124 | 146 | | |
125 | 147 | | |
| |||
158 | 180 | | |
159 | 181 | | |
160 | 182 | | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | 183 | | |
169 | 184 | | |
170 | 185 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
| 64 | + | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| |||
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
152 | | - | |
153 | | - | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
154 | 156 | | |
155 | 157 | | |
156 | 158 | | |
| |||
197 | 199 | | |
198 | 200 | | |
199 | 201 | | |
200 | | - | |
201 | | - | |
| 202 | + | |
| 203 | + | |
202 | 204 | | |
203 | 205 | | |
204 | 206 | | |
| |||
452 | 454 | | |
453 | 455 | | |
454 | 456 | | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
455 | 495 | | |
0 commit comments