Skip to content

Leios: raise the endorser block ceiling to 600 kB - #2392

Merged
ch1bo merged 1 commit into
leios-prototypefrom
ch1bo/leios-eb-ceiling-600kb
Oct 9, 2026
Merged

ch1bo merged 1 commit into
leios-prototypefrom
ch1bo/leios-eb-ceiling-600kb

Conversation

@ch1bo

@ch1bo ch1bo commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

maxLeiosEbBytesSize goes from 512 KiB to 600,000 bytes (600KB), a base-10 value meant to equal the constitution's guardrail on maxEndorserBlockReferencesSize. guardLeiosWireLimit refuses to run with a parameter above it, so the guardrail can only follow a node release.

See https://hackmd.io/ivfQtLgLQSOMn0QXYA3_rw?suggest-edit=5c2acebe-ee4a-479f-8825-ce637c458f25&utm_source=suggest-edit-card&utm_medium=icon for a working document about the guard rails.

600 kB allows 16,216 references to transactions of 256 B or more (16,666 to smaller ones), so a 12 MB closure is reached once transactions average about 740 B. Below that the reference list binds, which is where simple payments sit.

maxTxsPerEb becomes 17,142, which keeps worstCaseCacheTxCount
(128 * 17,142 = 2.19M) at about half of the tx cache's 2^22 slots. The comments claiming the worst case overflows that table date from the 71,428 of the largeByteLimit derivation; they are corrected, and the txcache bench now runs at maxTxsPerEb rather than a stale 15,058.

@ch1bo
ch1bo requested a review from nfrisby October 9, 2026 12:20
Base automatically changed from nfrisby/leios-issue-1071-validate-cert-asap to leios-prototype October 9, 2026 20:56

@nfrisby nfrisby left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Everything I commented on was about a comment being wrong; all should be easy to fix.

-- parameters are first learned -- at node startup or on adopting the update
-- -- and not in the forge path.
--
-- TODO Also check this when the parameter update is proposed, so that a

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Isn't that TODO the actual functionality of the era's guard rails script?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yeah, but nothing checks whether our code is consistent with the constitution / the guard rail script. So we can only check (in code) consistency with the pparams?

Comment thread ouroboros-consensus/src/ouroboros-consensus/LeiosDemoOnlyTestFetch.hs Outdated
maxLeiosEbBytesSize goes from 512 KiB to 600,000 bytes, a base-10 value
meant to equal the constitution's guardrail on
maxEndorserBlockReferencesSize. guardLeiosWireLimit refuses to run with a
parameter above it, so the guardrail can only follow a node release.

600 kB allows 16,216 references to transactions of 256 B or more (16,666
to smaller ones), so a 12 MB closure is reached once transactions average
about 740 B. Below that the reference list binds, which is where simple
payments sit.

maxTxsPerEb becomes 17,142, which keeps worstCaseCacheTxCount
(128 * 17,142 = 2.19M) at about half of the tx cache's 2^22 slots. The
comments claiming the worst case overflows that table date from the
71,428 of the largeByteLimit derivation; they are corrected, and the
txcache bench now runs at maxTxsPerEb rather than a stale 15,058.

Every other mention of the 512 KiB figure in code and benches is updated.
@ch1bo
ch1bo force-pushed the ch1bo/leios-eb-ceiling-600kb branch from fd1a560 to d689925 Compare October 9, 2026 21:51
@ch1bo
ch1bo merged commit b7e6fad into leios-prototype Oct 9, 2026
1 of 6 checks passed
@ch1bo
ch1bo deleted the ch1bo/leios-eb-ceiling-600kb branch October 9, 2026 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants