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

SPIN "fast-path" v0 #103

Open
5 tasks
actinfer opened this issue Jan 23, 2025 · 0 comments
Open
5 tasks

SPIN "fast-path" v0 #103

actinfer opened this issue Jan 23, 2025 · 0 comments
Labels
Drafted Definition drafted for review

Comments

@actinfer
Copy link
Member

actinfer commented Jan 23, 2025

Hypothesis

Polkadot SDK consensus engines can't support 100 ms block time, but SPIN consensus allows to achieve it.

Description

In this experiment, we demonstrate an attempt to achieve a 100 ms block time using the Polkadot SDK. We begin with a straightforward approach based on the Polkadot SDK documentation and template project. The configuration will set block production at 100 ms intervals, followed by deploying an experimental network. We expect the system to fail, allowing us to identify bottlenecks - whether in the algorithm, software, or physical limitations - across all consensus options provided by the Polkadot SDK. Once bottlenecks are identified, we will implement a minimal version of SPIN "fast-path" to demonstrate its necessity as part of the Quantum Fusion Network for achieving such a short block time.

Methodology

  1. Deploy experimental nodes locally and on reference hardware (https://wiki.polkadot.network/docs/maintain-guides-how-to-validate-polkadot) in cloud infrastructure.

  2. Monitor network behavior using common tools like Polkadot\Substrate Portal (https://polkadot.js.org/apps/#/explorer) and performance monitoring tools such as Netdata (http://netdata.cloud/).

  3. Record the progress and result on each step to enable further data-driven engineering decisions.

Expected Outcomes

  • Data supporting the decision to develop a custom consensus engine for QF.
  • A publication showcasing our attempt to "push Polkadot SDK to the limit," forming the basis for implementing a custom consensus engine.
  • A minimal SPIN "fast-path" implementation proving viability where Polkadot SDK fails.

Success Criteria

  • Experiments completed and data collected for blockchains using AURA and BABE consensus with short block configurations.
  • Engineering article with experiment results published for the community.
  • SPIN "fast-path" implementation capable of achieving theoretical 100 ms block times (pending planned database and networking improvements).

Resources Required

  • Infrastructure for experimental networks, including at least two nodes meeting Polkadot reference hardware requirements.
  • Proofreading and editing support for the article.

Risks and Mitigation

  • Risk: Bottlenecks may persist even if the block producer role is assigned to one node for a long sequence of blocks, unlike BABE and AURA, which rotate roles every block.
    Mitigation:

  • Risk: Unknown bottlenecks may prevent SPIN v0 from achieving shorter block times than BABE and AURA.
    Mitigation:

Results

[To be filled after experiment completion]

Learnings

[To be filled after experiment completion]

Next Steps

  • Design a production-ready SPIN "fast-path" architecture.
  • Develop SPIN v1.
@actinfer actinfer added Conceived Definition planned Drafted Definition drafted for review and removed Conceived Definition planned labels Jan 23, 2025
@AlexStep13 AlexStep13 moved this from Todo to In Progress in QF Network Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Drafted Definition drafted for review
Projects
Status: In Progress
Development

No branches or pull requests

1 participant