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

feat: single node quorum #6437

Draft
wants to merge 12 commits into
base: develop
Choose a base branch
from
Draft

Conversation

knst
Copy link
Collaborator

@knst knst commented Nov 28, 2024

Notes for reviewers

  1. It depends on perf: mine rotation quorums for IS in functional tests #6431, feat: dynamically register MN in functional tests without IS #6430 (these changes are included to this PR)
  2. this PR is draft, because I am going to tidy-up code a bit, but I am looking for Concept Review
  3. known issues: instead random key for each quorum it is used operator-key. I got difficulties to make it working and decided to exclude from scope of this PR.

Issue being fixed or feature implemented

Development for platform requires currently to have running 4 Dash Core instances: wallet and at least 3 Evo Nodes which forms quorum.
This issue has been partially addressed #6261 to let use only 2 Evo Nodes. Though, it still requires all DKG steps, heavy network communication and various instability.

What was done?

This PR introduced new type of quorum "Single Node Quorum" with name llmq_1_100 and id=111 for Regtest.

This quorum needs just one node to be formed.

While regular quorum with several nodes 7 steps of creation (Initialization, Contribution, Complaining, Justification, Commitment, Finalization, Mining) this type of quorum just from Initialization straight to the Finalization.

The signing process with this quorum is also simplified. So far as regular quorum requires to sign multiple shares, for single node quorum the messages are signed immediately by just one node.

How Has This Been Tested?

See a new functional test feature_llmq_singlenode.py
Also some other tests required changes, they are presented in prior commits

Breaking Changes

It introduces new quorum for Reg Test.

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added or updated relevant unit/integration/functional/e2e tests
  • I have made corresponding changes to the documentation
  • I have assigned this pull request to a milestone

@knst knst added this to the 22.1 milestone Nov 28, 2024
@knst knst marked this pull request as draft November 28, 2024 20:50
@DashCoreAutoGuix
Copy link

Guix Automation has began to build this PR tagged as v22.1.0-devpr6437.52f567c8. A new comment will be made when the image is pushed.

@DashCoreAutoGuix
Copy link

Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v22.1.0-devpr6437.52f567c8. The image should be on dockerhub soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants