Skip to content

[LLMQ] Use a 20 member quorum for testnet - #2984

Merged
Liquid369 merged 1 commit into
PIVX-Project:masterfrom
Liquid369:2026_testnet6_llmq20
Oct 9, 2026
Merged

Liquid369 merged 1 commit into
PIVX-Project:masterfrom
Liquid369:2026_testnet6_llmq20

Conversation

@Liquid369

Copy link
Copy Markdown
Member

Testnet chainlocks are on LLMQ_50_60, which needs 40 valid members. The testnet
fleet is around 40 masternodes, so every DKG has to enlist all of them, and one
node being offline is enough to kill the session. Membership never changes
either, since the quorum is the same size as the set it gets drawn from.

This adds LLMQ_20_60 with 20 members, a minimum of 16 and a threshold of 12,
keeping the same ratios the 50 member set uses, and points testnet chainlocks
at it. DKG interval, phase blocks and mining window are unchanged so the timing
stays the same.

With 40 masternodes, a 20 member quorum gets redrawn from the full list every
interval, so quorums actually rotate, and we can have 4 nodes offline without
stalling chainlocks.

Luke-Larsen
Luke-Larsen previously approved these changes Aug 27, 2026

@Luke-Larsen Luke-Larsen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 24b1796

Duddino
Duddino previously approved these changes Aug 27, 2026

@Duddino Duddino left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 24b1796

@RainDeveloper69

Copy link
Copy Markdown

utACK 24b1796
Built and tested successfully on ARM64. Relevant quorum/BLS/masternode tests pass. Testnet6 runtime startup verified.

@Liquid369

Copy link
Copy Markdown
Member Author

had to rebase from master, re-requesting reviews

LLMQ_50_60 needs 40 valid members, and the testnet fleet is about 40
nodes, so every DKG has to enlist every masternode and a single absent
node kills the session. Membership never changes either, since the
quorum is as large as the set it is drawn from.

A 20 member quorum sits well under the fleet size: members are re-drawn
each DKG interval so quorums actually rotate, and 4 nodes can be offline
without stalling chainlocks.

Add LLMQ_20_60 instead of resizing llmq50_60, which mainnet still uses.
@Liquid369
Liquid369 force-pushed the 2026_testnet6_llmq20 branch from 7f8ccd4 to 7aa76f1 Compare September 7, 2026 08:28

@Fuzzbawls Fuzzbawls left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 7aa76f1

@Fuzzbawls
Fuzzbawls dismissed stale reviews from Luke-Larsen and Duddino September 13, 2026 15:26

Stale commit, PR branch has since been updated

@mkorovkin2

Copy link
Copy Markdown

ACK

Builds and runs; testnet llmqTypeChainLocks = LLMQ_20_60 confirmed at runtime. Params internally consistent; no LLMQType type-safety issues found. No test covers the changed path. Unit-test failures are identical on base (env/Boost ordering) - not regression

@Duddino Duddino left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 24b1796

@Liquid369
Liquid369 merged commit bd8a672 into PIVX-Project:master Oct 9, 2026
55 of 56 checks passed
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.

6 participants