Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
48/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
go
Lĩnh vực
networking

Hướng nghiên cứu

Bắt đầu bằng cách lần theo cấu hình CLI --allowed_peers qua các luồng quảng bá peer P2P và xử lý kết nối. Tái hiện topology sequencer/fullnode được mô tả trong issue, sau đó xác minh rằng giới hạn chỉ được thực thi bởi node đã thiết lập nó và các fullnode không bị giới hạn chấp nhận các peer mới.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

C:p2p

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.

Ngôn ngữ chính
Go
Star
361
Fork
281
Merge trung bình
2 ngày 23 giờ
Pull request đã merge (30 ngày)
15

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

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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của evstack/ev-node

Tất cả issue của evstack/ev-node

Issue tương tự

Thêm issue về Go

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.