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

Report Aura Equivocations to runtime #70

Open
gnunicorn opened this issue Oct 26, 2018 · 2 comments · May be fixed by #1766
Open

Report Aura Equivocations to runtime #70

gnunicorn opened this issue Oct 26, 2018 · 2 comments · May be fixed by #1766
Assignees
Labels
I1-security The node fails to follow expected, security-sensitive, behaviour.

Comments

@gnunicorn
Copy link
Contributor

gnunicorn commented Oct 26, 2018

Following paritytech/substrate#911, we have an Aura consensus engine embedded in substrate. And while its verifier rejects unverified blocks, it does not issue misbehavior checks on the wire nor chain yet. Unlike with other block production mechanisms, these aren't happening in messages between one another but at the level where the new block would be attempted to be imported.

The main type of misbehavior to check for is equivocating, or signing multiple blocks in the same slot. Other types of misbehavior, like signing a bad block or signing a block out-of-turn have intrinsic economic penalties associated with them, either by skipping out on rewards or losing reliability with peers in the p2p network.

A proof-of-equivocation is just two headers (the body may be valid or invalid), both signed by the same voter, with seal mentioning the same slot. A runtime module should be created for checking equivocations.

This can be tracked by keeping track of the last N ( = 1000) slots we've seen blocks for per author. We add to this after checking the header. If there is ever one in that position already, we will issue a report to the runtime with our proof. See paritytech/substrate#2181 for a rough outline on how to do such reports.

@rphmeier rphmeier changed the title Aura Misbehaviour Types Aura Misbehavior Types Apr 2, 2019
@rphmeier rphmeier changed the title Aura Misbehavior Types Report Aura Equivocations to runtime Apr 2, 2019
@marcio-diaz marcio-diaz self-assigned this Apr 2, 2019
@marcio-diaz marcio-diaz removed their assignment Oct 23, 2019
@Demi-Marie
Copy link
Contributor

Neither Kusama nor Polkadot use AuRa. Can we close this?

@ghost
Copy link

ghost commented Mar 4, 2023

@bkchr

@davxy davxy self-assigned this Mar 13, 2023
@the-right-joyce the-right-joyce transferred this issue from paritytech/substrate Aug 24, 2023
@the-right-joyce the-right-joyce added I1-security The node fails to follow expected, security-sensitive, behaviour. and removed I2-security labels Aug 25, 2023
@davxy davxy linked a pull request Oct 1, 2023 that will close this issue
@davxy davxy moved this from backlog to code in review in SDK Node Nov 16, 2023
lexnv pushed a commit that referenced this issue Apr 3, 2024
Fix missing link in SUMMARY.md
jonathanudd pushed a commit to jonathanudd/polkadot-sdk that referenced this issue Apr 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I1-security The node fails to follow expected, security-sensitive, behaviour.
Projects
Status: code in review
Development

Successfully merging a pull request may close this issue.

5 participants