Skip to content

build/packaging: prep kcnd/kbnd configs for permissionless (KIP-311)#980

Open
hyunsooda wants to merge 2 commits into
kaiachain:devfrom
hyunsooda:hyunsooda/chore/permissionless-conf-prep
Open

build/packaging: prep kcnd/kbnd configs for permissionless (KIP-311)#980
hyunsooda wants to merge 2 commits into
kaiachain:devfrom
hyunsooda:hyunsooda/chore/permissionless-conf-prep

Conversation

@hyunsooda

@hyunsooda hyunsooda commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Proposed changes

  • Bump CN MAXCONNECTIONS 100→103 in kcnd/kcn-conf packaging (linux, rpm, windows) so the permissionless CN full mesh (MaxNodeCount 100 + reserved CN<->EN slots 3) fits without clamping.
  • Remove the dead AUTHORIZED_NODES/--authorized-nodes bootnode config from kbnd packaging (linux, rpm). The flag was already deleted from kbn in 4879302 to satisfy KIP-311 (BN must accept discovery pings from any node type, no allowlist), so a filled-in value would just fail kbn startup on an unrecognized flag.

Types of changes

  • 🐛 Bug fix
  • ✨ Non-hardfork changes (node upgrade not required)
  • 💥 Hardfork / consensus-breaking changes
  • 🧪 Test improvements
  • 🧰 CI / build tool
  • ♻️ Chore / Refactor / Non-functional changes

Checklist

  • 📖 I have read the CONTRIBUTING GUIDELINES doc
  • 📝 I have signed in the PR comment I have read the CLA Document and I hereby sign the CLA in first time contribute after having read CLA
  • 🟢 Lint and unit tests pass locally with my changes ($ make test)

Related issues

Further comments

Permissionless CNs must form a full mesh sized at MaxNodeCount(100) plus
reserved CN<->EN slots(3); the packaged kcnd default of 100 leaves no
headroom for the mesh once the validator count nears the ceiling and the
own-type connection cap gets clamped below MaxNodeCount.

Constraint: CN maxconnections must be >= MaxNodeCount + reserved cross-type slots (see networks/p2p/server_util.go MaxPhysicalConnectionsLowerBound)
Confidence: high
Scope-risk: narrow
kbn's --authorized-nodes flag and its backing table allowlist were
removed in 4879302 (discover: remove authorized nodes filtering) so
that bootnodes satisfy KIP-311: a BN must accept discovery pings from
any node type with no allowlist filtering. kbnd.conf still declared
AUTHORIZED_NODES="" and passed it through to kbn; if an operator ever
filled it in, kbn would fail to start on the now-unrecognized flag.

Constraint: KIP-311 requires BN to accept UDP pings from any node type with no allowlist filtering
Directive: do not reintroduce a static bootnode-level node allowlist — validator admission is handled by the dynamic on-chain CNPeers mechanism instead
Confidence: high
Scope-risk: narrow
@hyunsooda
hyunsooda marked this pull request as draft July 14, 2026 03:34
@hyunsooda hyunsooda self-assigned this Jul 14, 2026
@hyunsooda hyunsooda changed the title wip build/packaging: prep kcnd/kbnd configs for permissionless (KIP-311) Jul 14, 2026
@hyunsooda
hyunsooda marked this pull request as ready for review July 14, 2026 03:40
@ian0371 ian0371 added the do not merge Do not merge just yet label Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Do not merge just yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants