-
Notifications
You must be signed in to change notification settings - Fork 699
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
BEEFY: add support for slashing validators signing forking commitments (without ancestry proofs) #1329
BEEFY: add support for slashing validators signing forking commitments (without ancestry proofs) #1329
Commits on Aug 28, 2023
-
sc-consensus-beefy: add BEEFY fisherman to gossip network
Signed-off-by: Adrian Catangiu <adrian@parity.io>
Configuration menu - View commit details
-
Copy full SHA for d8964df - Browse repository at this point
Copy the full SHA d8964dfView commit details -
sp-consensus-beefy: add invalid fork vote proof and equivalent BeefyApi
Signed-off-by: Adrian Catangiu <adrian@parity.io>
Configuration menu - View commit details
-
Copy full SHA for a2678a0 - Browse repository at this point
Copy the full SHA a2678a0View commit details -
pallet-beefy: add stubs for reporting invalid fork votes
Signed-off-by: Adrian Catangiu <adrian@parity.io>
Configuration menu - View commit details
-
Copy full SHA for 17398d8 - Browse repository at this point
Copy the full SHA 17398d8View commit details -
sc-consensus-beefy: fisherman reports invalid votes and justifications
Signed-off-by: Adrian Catangiu <adrian@parity.io>
Configuration menu - View commit details
-
Copy full SHA for df31624 - Browse repository at this point
Copy the full SHA df31624View commit details -
GRANDPA finalization proof is not checked, which leads to slashing on forks. This is fine since honest validators will not be slashed on the chain finalized by GRANDPA, which is the only chain that ultimately matters. The only material difference not checking GRANDPA proofs makes is that validators are not slashed for signing BEEFY commitments prior to the blocks committed to being finalized by GRANDPA. This is fine too, since the slashing risk of committing to an incorrect block implies validators will only sign blocks they *know* will be finalized by GRANDPA.
Configuration menu - View commit details
-
Copy full SHA for 938cde1 - Browse repository at this point
Copy the full SHA 938cde1View commit details -
change primitive: vote -> commitment
instead of using votes as the underlying primitive, rather use commitments since they're a more universal container for signed payloads (for instance `SignedCommitment` is also the primitive used by ethereum relayers). SignedCommitments are already aggregates of multiple signatures. Will use SignedCommitment directly next.
Configuration menu - View commit details
-
Copy full SHA for fb08553 - Browse repository at this point
Copy the full SHA fb08553View commit details -
Configuration menu - View commit details
-
Copy full SHA for 39799b2 - Browse repository at this point
Copy the full SHA 39799b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4aa602a - Browse repository at this point
Copy the full SHA 4aa602aView commit details -
Configuration menu - View commit details
-
Copy full SHA for e0e13d9 - Browse repository at this point
Copy the full SHA e0e13d9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 165d7fc - Browse repository at this point
Copy the full SHA 165d7fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for c7df83b - Browse repository at this point
Copy the full SHA c7df83bView commit details -
EquivocationOffence.{offender->offenders}
previously assumed equivocation report for singular malicious party. With fork equivocations, the expectation should be that most equivocation reports will be for multiple simultaneous equivocators.
Configuration menu - View commit details
-
Copy full SHA for 754ae80 - Browse repository at this point
Copy the full SHA 754ae80View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ed4e99 - Browse repository at this point
Copy the full SHA 6ed4e99View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e41551 - Browse repository at this point
Copy the full SHA 1e41551View commit details -
Configuration menu - View commit details
-
Copy full SHA for de2ae90 - Browse repository at this point
Copy the full SHA de2ae90View commit details -
Configuration menu - View commit details
-
Copy full SHA for 273f34b - Browse repository at this point
Copy the full SHA 273f34bView commit details -
Configuration menu - View commit details
-
Copy full SHA for eb1e549 - Browse repository at this point
Copy the full SHA eb1e549View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3369783 - Browse repository at this point
Copy the full SHA 3369783View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7abbddc - Browse repository at this point
Copy the full SHA 7abbddcView commit details -
reduce find_mmr_root_digest trait constraint
reduce from Block to Header: less restrictive.
Configuration menu - View commit details
-
Copy full SHA for 8acea22 - Browse repository at this point
Copy the full SHA 8acea22View commit details -
Configuration menu - View commit details
-
Copy full SHA for 103fc53 - Browse repository at this point
Copy the full SHA 103fc53View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1509a26 - Browse repository at this point
Copy the full SHA 1509a26View commit details -
Configuration menu - View commit details
-
Copy full SHA for a62cc7f - Browse repository at this point
Copy the full SHA a62cc7fView commit details -
remove duplic. in check_{signed_commitment, proof}
check_signed commitment wasn't complete anyway. good to have both interfaces since BeefyVersionedFinalityProof is what's passed on the gossip layer, and SignedCommitments are naturally reconstructed from multiple sources, for instance submit_initial calls on Ethereum.
Configuration menu - View commit details
-
Copy full SHA for 5445977 - Browse repository at this point
Copy the full SHA 5445977View commit details -
Configuration menu - View commit details
-
Copy full SHA for d35a97c - Browse repository at this point
Copy the full SHA d35a97cView commit details -
redundant vs report_fork_equivocation
Configuration menu - View commit details
-
Copy full SHA for 4e3e1cc - Browse repository at this point
Copy the full SHA 4e3e1ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for f27a876 - Browse repository at this point
Copy the full SHA f27a876View commit details -
Configuration menu - View commit details
-
Copy full SHA for f641759 - Browse repository at this point
Copy the full SHA f641759View commit details -
create_beefy_worker: only push block if at genesis
No need to trigger first session if chain's already had blocks built, such as with generate_blocks_and_sync, which needs to build on genesis. If chain is not at genesis and create_beefy_worker, it will panic trying to canonicalize an invalid (first) block.
Configuration menu - View commit details
-
Copy full SHA for 5c4104c - Browse repository at this point
Copy the full SHA 5c4104cView commit details -
create_beefy_worker: opt. instantiate with TestApi
can pass in Arc of TestApi now. Required since fisherman reports should be pushed to `reported_fork_equivocations`, and should be logged with the same instance (see upcoming commit).
Configuration menu - View commit details
-
Copy full SHA for a0d8b87 - Browse repository at this point
Copy the full SHA a0d8b87View commit details -
push to reported_fork_equivocations
mock api's `submit_report_fork_equivocation_unsigned_extrinsic` pushes reported equivocations to runtime_api.reported_fork_equivocations
Configuration menu - View commit details
-
Copy full SHA for 9126904 - Browse repository at this point
Copy the full SHA 9126904View commit details -
add generate_fork_equivocation_proof_vote to tests
Generates fork equivocation proofs from a vote and a header.
Configuration menu - View commit details
-
Copy full SHA for 02da07e - Browse repository at this point
Copy the full SHA 02da07eView commit details -
test: Alice snitches on Bob's vote equivocation
i.e. a fork equivocation triggered by a vote
Configuration menu - View commit details
-
Copy full SHA for a3b4d3f - Browse repository at this point
Copy the full SHA a3b4d3fView commit details -
store reference to key_store in fisherman
required for fisherman to *not* report own equivocations - see next commit.
Configuration menu - View commit details
-
Copy full SHA for d44e3c8 - Browse repository at this point
Copy the full SHA d44e3c8View commit details -
test: Alice doesn't snitch *own* vote equivocation
i.e. a fork equivocation triggered by a vote
Configuration menu - View commit details
-
Copy full SHA for c27579c - Browse repository at this point
Copy the full SHA c27579cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5516837 - Browse repository at this point
Copy the full SHA 5516837View commit details -
Configuration menu - View commit details
-
Copy full SHA for 60a71c7 - Browse repository at this point
Copy the full SHA 60a71c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for ec99b1a - Browse repository at this point
Copy the full SHA ec99b1aView commit details -
Co-authored-by: Adrian Catangiu <adrian@parity.io>
Configuration menu - View commit details
-
Copy full SHA for ea7dd35 - Browse repository at this point
Copy the full SHA ea7dd35View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3185776 - Browse repository at this point
Copy the full SHA 3185776View commit details -
Configuration menu - View commit details
-
Copy full SHA for 59c1c2a - Browse repository at this point
Copy the full SHA 59c1c2aView commit details
Commits on Aug 29, 2023
-
Configuration menu - View commit details
-
Copy full SHA for ab3eb02 - Browse repository at this point
Copy the full SHA ab3eb02View commit details -
Configuration menu - View commit details
-
Copy full SHA for 844ed67 - Browse repository at this point
Copy the full SHA 844ed67View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ebebed - Browse repository at this point
Copy the full SHA 6ebebedView commit details
Commits on Aug 31, 2023
-
Configuration menu - View commit details
-
Copy full SHA for efe4b2a - Browse repository at this point
Copy the full SHA efe4b2aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d0dba3b - Browse repository at this point
Copy the full SHA d0dba3bView commit details
Commits on Sep 1, 2023
-
test fork equivocation (via vote) reports
skip weight test for now
Configuration menu - View commit details
-
Copy full SHA for b438866 - Browse repository at this point
Copy the full SHA b438866View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd856ac - Browse repository at this point
Copy the full SHA bd856acView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9e1e7b1 - Browse repository at this point
Copy the full SHA 9e1e7b1View commit details -
bump number of beefy authorities in tests
else fork equivocation via signed commitment tests will be less meaningful (no validators that don't equivocate, ergo don't get slashed)
Configuration menu - View commit details
-
Copy full SHA for f5b1ec5 - Browse repository at this point
Copy the full SHA f5b1ec5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7504b96 - Browse repository at this point
Copy the full SHA 7504b96View commit details
Commits on Sep 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 036fa2f - Browse repository at this point
Copy the full SHA 036fa2fView commit details -
test that overlapping reports stack correctly
Already reported equivocators should neither be slashed again, nor should they cause the report containing a re-report of their equivocation to be invalidated by their presence.
Configuration menu - View commit details
-
Copy full SHA for 53e8ae0 - Browse repository at this point
Copy the full SHA 53e8ae0View commit details
Commits on Sep 4, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 8a14649 - Browse repository at this point
Copy the full SHA 8a14649View commit details
Commits on Sep 5, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 4074a27 - Browse repository at this point
Copy the full SHA 4074a27View commit details -
Configuration menu - View commit details
-
Copy full SHA for e5537dd - Browse repository at this point
Copy the full SHA e5537ddView commit details -
stick with Vec since now in practice, always iterating through entire signatories & not performing any key lookup. also leaving ForkEquivocationProof { commitment, signatories, .. } as is for now - let's change to SignedCommitment if it gets in the way.
Configuration menu - View commit details
-
Copy full SHA for c815af6 - Browse repository at this point
Copy the full SHA c815af6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 35330bb - Browse repository at this point
Copy the full SHA 35330bbView commit details
Commits on Sep 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for bb2e791 - Browse repository at this point
Copy the full SHA bb2e791View commit details -
Configuration menu - View commit details
-
Copy full SHA for 936406b - Browse repository at this point
Copy the full SHA 936406bView commit details
Commits on Oct 17, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 16c12eb - Browse repository at this point
Copy the full SHA 16c12ebView commit details -
fixup! Merge remote-tracking branch 'origin/master' into rhmb/beefy-s…
…lashing-fisherman
Configuration menu - View commit details
-
Copy full SHA for 8b48fec - Browse repository at this point
Copy the full SHA 8b48fecView commit details
Commits on Nov 28, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7be7ba9 - Browse repository at this point
Copy the full SHA 7be7ba9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0cd4a75 - Browse repository at this point
Copy the full SHA 0cd4a75View commit details
Commits on Dec 14, 2023
-
Co-authored-by: Serban Iorga <serban300@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for e1953eb - Browse repository at this point
Copy the full SHA e1953ebView commit details -
Reported-by: Serban Iorga <serban300@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 26fc473 - Browse repository at this point
Copy the full SHA 26fc473View commit details -
Configuration menu - View commit details
-
Copy full SHA for d7f553f - Browse repository at this point
Copy the full SHA d7f553fView commit details -
Co-authored-by: Serban Iorga <serban300@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for d2bf211 - Browse repository at this point
Copy the full SHA d2bf211View commit details
Commits on Jan 25, 2024
-
Co-authored-by: Adrian Catangiu <adrian@parity.io>
Configuration menu - View commit details
-
Copy full SHA for 11a16cc - Browse repository at this point
Copy the full SHA 11a16ccView commit details