Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Check for equivocations #492

Open
bkchr opened this issue Jun 13, 2021 · 5 comments
Open

Check for equivocations #492

bkchr opened this issue Jun 13, 2021 · 5 comments
Labels
E5-needs_substrate_pr This is an issue that needs to be implemented upstream in Substrate. J0-enhancement An additional feature request.

Comments

@bkchr
Copy link
Member

bkchr commented Jun 13, 2021

Equivocation checking for Aura is currently disabled, because it only checks if a block producer has built multiple blocks on the same height. However, this is completely legal for a collator to build multiple blocks on the same height, as long as they are build on different relay chain blocks.
So, this will require some changes on the Substrate site to make the equivocation checking more flexible.

For the relay chain provided consensus we should do something similar.

@bkchr bkchr added F8-enhancement 🎁 E5-needs_substrate_pr This is an issue that needs to be implemented upstream in Substrate. labels Jun 13, 2021
@bkchr
Copy link
Member Author

bkchr commented Jun 13, 2021

From the relay chain side we can not do that much against this, however a good parachain implementation should try to reduce the traffic with the relay chain.

@burdges
Copy link

burdges commented Jun 13, 2021

Interesting.. It's legal for a collator to make multiple blocks at the same height, but we do not necessarily need to make it legal for them to make multiple blocks at the same slot, and some anti-MEV tricks benefit if this were punishable or something.

Ideally, I've vaguely imagined a collator facing a relay chain fork would make one block and one PoV block, but then multiple different candidate receipts arise that share the same availability chunks from the PoV. Yet, this is impossible since once the relay parents diverge the rest diverges too.

@rphmeier
Copy link
Contributor

re: paritytech/polkadot-sdk#968

The use of PreVFs for the faster PoV-fetching usecase requires reasonable uniqueness per relay-parent, so punishment for equivocations should be important even for equivocations made on the same relay-parent.

@burdges
Copy link

burdges commented Jun 20, 2021

Yes, it's problematic if parachain block producers could spam everyone asking for their entire chain history. We could design anti-capture protocols that protect against this, which work assuming 2/3rd of the parachain is honest, but the simplest would like be parachain consensus.

@Polkadot-Forum
Copy link

This issue has been mentioned on Polkadot Forum. There might be relevant details there:

https://forum.polkadot.network/t/equivocation-within-parachains/402/3

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
E5-needs_substrate_pr This is an issue that needs to be implemented upstream in Substrate. J0-enhancement An additional feature request.
Projects
None yet
Development

No branches or pull requests

5 participants