evstack / evstack/ev-node

p2p: allowed_peers list propagated network-wide instead of being local to the node

Đang mở
#3,254 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
C:p2p
Ngôn ngữ chính
Go
Star
361
Fork
280
Merge trung bình
2 ngày 14 giờ
Pull request đã merge (30 ngày)
10

Mô tả

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

1. Start a network with: sequencer, fullnode-1, fullnode-2.
2. Run the sequencer with `--allowed_peers=fullnode-1,fullnode-2`.
3. Attempt to join a new fullnode that connects via P2P to fullnode-1 or fullnode-2.
4. Observe: the new fullnode is rejected by fullnode-1/fullnode-2 despite them not having `allowed_peers` set.

## 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.