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

Detect and report validators misbehavior #2496

Closed
svyatonik opened this issue Mar 19, 2020 · 8 comments
Closed

Detect and report validators misbehavior #2496

svyatonik opened this issue Mar 19, 2020 · 8 comments
Assignees

Comments

@svyatonik
Copy link
Contributor

imagine #34 in unsigned transactions context - we can't penalize validator for spamming tx pool and blocks with good bad' headers AND validator can just do not relay these blocks to other PoA peers => it'll be never reported as malicious using builtin PoA mechanisms. So we need to detect such validators in bridge and report them back to PoA chain.

The easiest fix (suggested by @tomusdrw ): (c) "...should basically just make sure that every header seen on the bridge is gossiped in the network and that should be enough."

@HCastano HCastano changed the title PoA -> Substrate: detect and report validator misbehavior when headers are submitted using unsigned transactions Detect and report validator misbehavior when headers are submitted using unsigned transactions Apr 4, 2020
@svyatonik svyatonik changed the title Detect and report validator misbehavior when headers are submitted using unsigned transactions Detect and report validators misbehavior Apr 10, 2020
@svyatonik
Copy link
Contributor Author

Update: it would be good to use the same mechanism with signed transactions. Most problems with malicious validators will arise when unsigned transactions are used, but if we'll have that mechanism, then we would we simply ignore misbehavior when signed transactions are used?

@tomusdrw
Copy link
Contributor

Update: it would be good to use the same mechanism with signed transaction

Yes, I think in fact it should be simply a separate component, that just listens to on-chain state (no matter how it is changed (signed / unsigned)) and then makes sure the headers are propagated.

@tomusdrw
Copy link
Contributor

tomusdrw commented Feb 5, 2021

Note that it should be done not only for headers, but also for finality proofs (justifications).

@tomusdrw
Copy link
Contributor

Re-labeling as Substrate<->Substrate bridge feature.

@EmmanuellNorbertTulbure
Copy link

@svyatonik is this still relevant or was it specific to the POA Bridge?

@svyatonik
Copy link
Contributor Author

We may still implement this for Sub<>Sub bridge, even though it isn't critical here

@serban300
Copy link
Collaborator

Not sure what would be the best solution, but started implementing some primitives. This way it will also be easier to merge them to the polkadot-staging branch. And then we'll put all the pieces together.

@serban300
Copy link
Collaborator

Closed via all the issues linked above

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

No branches or pull requests

4 participants