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

Elastic scaling: Support new candidate descriptor #4427

Open
3 tasks
axaysagathiya opened this issue Dec 20, 2024 · 0 comments
Open
3 tasks

Elastic scaling: Support new candidate descriptor #4427

axaysagathiya opened this issue Dec 20, 2024 · 0 comments
Labels
Epic Issue used to track development status of a complex feature, aggregates several issues

Comments

@axaysagathiya
Copy link
Contributor

axaysagathiya commented Dec 20, 2024

Epic summary

This issue is to support the new CandidateDescriptor

Why do we need a new candidate receipt

Prevent denial-of-service (DoS) attacks in elastic scaling by constraining candidate validity to a specific core.
Secure disputes by embedding the SessionIndex directly in the CandidateDescriptor, eliminating trust issues.

What do we need to update in struct

Remove

  • Collator Signature and Collator ID because these fields provide no functional benefits on the relay chain and are unused in practice.

Introduce

  • Version (byte) | 1 byte: Used to distinguish between different versions of CandidateDescriptor for backward compatibility
    Core Index (uint16) | 2 bytes: This identifies the core index where the candidate is committed. Tying the candidate to a specific core ensures elastic scaling security.
  • Session Index (uint32) | 4 bytes: Encodes the session index to enhance dispute resolution security by making it deterministic and trustless.
  • To make the backwards compatible, Reclaim the remaining space (reserved1: 25 bytes, reserved2: 64 bytes) and zero them for future extensibility.

Links to related tech. design or research documents

Switch node side to v2 candidate receipts: paritytech/polkadot-sdk#5679
polkadot node support for new candidate receipts: paritytech/polkadot-sdk#5047

Sub issues

Acceptance criteria

  • raise design issue
  • Prepare design doc
  • raise/implement sub-issues
@axaysagathiya axaysagathiya added the Epic Issue used to track development status of a complex feature, aggregates several issues label Dec 20, 2024
@axaysagathiya axaysagathiya changed the title Support new candidate descriptor Elastic scaling: Support new candidate descriptor Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Issue used to track development status of a complex feature, aggregates several issues
Projects
None yet
Development

No branches or pull requests

1 participant