hiero-ledger / hiero-ledger/hiero-consensus-node

CLPR: ClprEndpoint Network Address Publication Is Global Config

Open
#22,633 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
406
Forks
226
Avg merge
3d 4h
Merged PRs (30d)
210

Description

In development, we've configured all nodes with ClprConfig of `clpr.publicizeNetworkAddresses` which determines whether or not the ClprLedgerConfiguration has values for ServiceEndpoint in the ClprEndpoint data structures, publicizing the network addresses of nodes. Since the locally generated ClprLedgerConfiguration is stored in the state, if nodes have different local configuration settings, an ISS and potentially a Catastrophic ISS can occur. This value needs to become a globally agreed upon value for the whole network. We shouldn't be able to have rogue nodes change the configuration, produce a ClprLedgerConfiguration that causes an ISS.

I could be wrong about this and maybe this policy is best set by local config and coordination by node operators. I am creating this issue to make sure we have a definite decision after deep consideration.

Contributor guide

Open the contributing guide

Research direction

No file or test paths are provided. Start by tracing ClprConfig, clpr.publicizeNetworkAddresses, ClprLedgerConfiguration, and ClprEndpoint to understand how local settings enter persisted state and whether nodes can disagree. Done requires a documented decision on global agreement versus local configuration, followed by an implementation and validation that inconsistent node settings cannot produce an ISS.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.