p2p: allowed_peers list propagated network-wide instead of being local to the node
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 48/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- go
- 领域
- networking
调研方向
首先,沿着 P2P peer 广播和连接处理路径追踪 --allowed_peers CLI 配置。复现 issue 中描述的 sequencer/fullnode 拓扑,然后验证该限制仅由设置它的 node 强制执行,并且不受限制的 fullnode 接受新的 peer。
由索引模型根据 Issue 内容生成。
描述
Sequencer version : v1.1.0-rc.1
Description
When running a sequencer node with --allowed_peers=fullnode-1,fullnode-2, the allowed peers list appears to be propagated to the rest of the network. As a result, other fullnodes that try to connect via P2P to fullnode-1 or fullnode-2 are rejected, even though those fullnodes never set allowed_peers themselves.
Expected Behavior
The allowed_peers configuration should be local to the node that runs the argument. It should only restrict which peers that specific node accepts connections from. It must not be advertised or enforced on other nodes in the network.
Actual Behavior
The allowed_peers list set on the sequencer is propagated across the network. Nodes that did not set allowed_peers still refuse connections from nodes not on the sequencer's list.
Network Topology
The following diagram illustrates the affected network and the expected isolation of the allowed_peers constraint:
Eden Testnet Network
┌─────────────────────────────────────────────────────────────────────┐
│ │
│ ┌───────────────────────────────┐ │
│ │ Sequencer │ │
│ │ allowed_peers=fullnode-1, │ │
│ │ fullnode-2 │ │
│ └──────────────┬────────────────┘ │
│ │ P2P │
│ ┌────────┴────────┐ │
│ │ │ │
│ ┌─────▼──────┐ ┌──────▼─────┐ │
│ │ fullnode-1 │ │ fullnode-2 │ │
│ └─────┬──────┘ └──────┬─────┘ │
│ │ │ │
│ │ P2P (EXPECTED) │ P2P (EXPECTED) │
│ │ │ │
│ ┌─────▼─────────────────▼─────┐ │
│ │ new-fullnode-N ... │ │
│ │ (unable to connect — BUG) │ │
│ └─────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
Legend:
──► P2P connection (established / expected)
BUG: new-fullnode-N cannot connect to fullnode-1 or fullnode-2
because the sequencer's allowed_peers list is enforced there
Intended behavior (allowed_peers should be local)
Sequencer ←──(only accepts fullnode-1, fullnode-2)──► fullnode-1
──► fullnode-2
fullnode-1 ←──(no restriction; accepts any peer)──► new-fullnode-N
fullnode-2 ←──(no restriction; accepts any peer)──► new-fullnode-N
Steps to Reproduce
- Start a network with: sequencer, fullnode-1, fullnode-2.
- Run the sequencer with
--allowed_peers=fullnode-1,fullnode-2. - Attempt to join a new fullnode that connects via P2P to fullnode-1 or fullnode-2.
- Observe: the new fullnode is rejected by fullnode-1/fullnode-2 despite them not having
allowed_peersset.
Environment
- Network: eden-testnet
- Observed: week of 2026-04-14
Impact
Any new node attempting to sync via fullnode-1 or fullnode-2 is silently blocked, making fullnode only syncing through DA unless modifying the sequencer's allowed_peers list.
- 主要语言
- Go
- 星标
- 361
- 派生
- 281
- 平均合并
- 2 天 23 小时
- 30 天内合并 PR
- 15
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
evstack/ev-node 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 35/100
-
C:evm T:code-hygiene
难度 5/5 一周以上 新手友好度 35/100
-
good first issue T:enhancement
难度 5/5 一周以上 新手友好度 30/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 88/100
crossplane/crossplane#7859 ·
-
难度 2/5 1-3 小时 新手友好度 76/100
bazel-contrib/rules_go#4721 · 2 条评论 ·
-
needs-triage
难度 1/5 1 小时以内 新手友好度 92/100
-
bug carvel-triage
难度 2/5 1-3 小时 新手友好度 88/100
carvel-dev/kapp-controller#1861 ·
-
area/logging kind/bug
难度 2/5 1-3 小时 新手友好度 86/100