Logo GH

참가자 간 P2P 커뮤니케이션

(섹션: 생태계 및 네트워크)

1) 생태계에서 P2P가 필요한 이유

P2P 접근 방식을 통해 참가자 (운영자, 제공자, 스튜디오, 계열사, 유효성 검사기/노드, 지갑, 분석 및 오케스트레이션 서비스) 는 필수 "중앙 파이프" 없이 데이터를 교환하고 작업을 수행하여 병목 현상, 대기 시간 및 개별 지점에 대한 의존도. 주요 효과:
  • 탄력성 및 내결함: 단일 SPOF가 없으므로 네트워크/지역 장애에서 살아남는 것이 더 쉽습니다.
  • 성장함에 따른 확장 성: 각 새로운 구성원은 리소스 (채널, 계산, 스토리지) 에 기여합니다.
  • 배송 비용 절감: 트래픽이 가장 짧은 경로를 따라 이동하여 중앙 게이트웨이를 절약합니다.
  • 데이터 프라이버시 및 주권: 무엇을 누구에게 줄 것인지에 대한 세분화 된 통제.

2) P2P 토폴로지

1. 완전히 연결된 (메쉬) -높은 안정성이지만 채널 수 (O (n ²)) 는 비쌉니다. 환율이 높은 소그룹에 적합합니다.
2. 슈퍼 동료-일부 동료들은 라우팅/릴레이, 메쉬와 스타 사이의 절충안을 인수합니다.
3. 클러스터 오버레이-브리지 (게이트웨이) 로 연결된 주제별 하위 네트워크 (예: "provayder 겠습니다", "계열사").
4. DHT 오버레이-서비스 및 컨텐츠에 대한 분산 라우팅/검색 테이블, 로그 검색의 복잡성.

권장 사항: 많은 역할을 수행하는 생태계-하이브리드: "계약" 그룹 내 로컬 메쉬 (운영자), 라우팅을위한 수퍼 피어, 글로벌 검색을위한 DHT 및 이벤트를위한 펍/서브.

3) 네트워크 스택 및 프로토콜

전송: QUIC/UDP (0-RTT 요약, 손실 허용 오차, 멀티플렉싱), TCP( 폴백), WebRTC (브라우저, P2P 미디어/데이터 그램).
암호화: TLS 1. QUIC/TCP의 경우 3; 오버레이 용-노이즈/Libp2p-SECIO/ECDH + AEAD. 개인 채널 전송을 통한 엔드 투 엔드 암호화.

식별: 규정 준수 요구 사항을 충족하기 위해 장기 노드 키 (ed25519/secp256k1), 자체 서명 된 피어 ID, 선택적으로

발견 및 주소 지정: mDNA (LAN), DHT/Kademlia (WAN), 정적 부트 스트랩 (부트 스트랩 피어), 서비스 디렉토리/레지스트리.
NAT 통과: 상위 노드를 통한 포트 프록시, 나머지 구멍 구멍 펀칭, TURN/릴레이 폴백.

표면 프로토콜:
  • 현장 요청 (가격 견적, 한도, 지불 상태) 에 대한 Req/Resp (RPC).
  • 이벤트에 대한 펍/하위 (거래, 게임 상태, 규정 준수 경고).
  • 병렬 논리 채널의 스트림 뮤싱 (yamux/mplex/QUIC).
  • CRDT/운영 로그는 "마법사" 없이 캐시와 메타 데이터를 조정합니다.

4) NAT 통과 및 릴레이

3 단계 전략:

1. 직접 P2P: 홀 펀치 시도 (UDP를 선호하고 TCP를 선호 함).

2. 슈퍼 노드를 통한 TURN/릴레이: 볼륨 제한, 엔드 투 엔드 암호화, 청구 릴레이.

3. HTTPS/HTTP3의 폴백: 필요한 경우 허용 된 회사 프록시를 통한 터널링.

릴레이가 비용과 대기 시간을 증가시키므로 직접 대 릴레이 연결의 비율을 모니터링하십

5) 경로, 검색 및 검색

DHT (Kademlia 클래스): "포인터" (공급자 레코드) 만 저장하고 서명으로 보호하고 TTL을 입력하고 쿼럼을 읽습니다.
컨텐츠 기반 라우팅: '서비스: 제한/운영자: XYZ/region: TR' 양식의 키 게시.
개인 네임 스페이스: 닫힌 커뮤니티를위한 별도의 접두사/키 (파트너 오버레이).
중독 방지: 소유자의 서명, 출판 노드의 명성, 요율 제한 출판물에 의한 기록 검증.

6) 데이터 모델 및 조정

이벤트 소싱 + 펍/서브: demempotency 키 이벤트로 의미있는 모든 변경.
CRDT (GCounter, OR-Set, LWW- 레지스터): 많은 참가자가 편집 한 구성 요소, 액세스, 캐시 된 한계/따옴표.
합의가 항상 필요한 것은 아닙니다. 참고 서적과 메타 데이터의 경우 "최종 일관성" 으로 충분합니다. 금융 거래 - 견실 한 마무리 (외부 레지스터/블록 체인/공증인).

7) QoS, SLO 및 메트릭

네트워크 SLO (예):
  • p99 대기 시간 P2P-RPC 5%.
  • 펍/서브 엔드-투-엔드 지연 p95
  • 릴레이 점유율 λ30% (목표는 70% 이상의 직접 연결입니다).
  • 내성: SLA 저하없이 잔치의 최대 20% 손실.
메트릭 (키):
  • 연결성: 달성 가능한 피어 백분율, 직접 연결 백분율, 평균 이웃 수.
  • 경로 품질: RTT, Jitter, 패킷 손실; 서비스 클래스 별 p95/p99.
  • 처리량: 스트림 전체의 평균/피크 대역폭.
  • 신뢰성: 재 연결률, RPC 오류율, 펍/서브 재정렬/드롭.
  • 발견 건강: DHT 적중/미스, 주요 해결 시간, 쓸모없는 기록의 비율.
  • 보안: E2E 암호화, 유효하지 않은 서명, 요율 이상과 공유하십시오.
  • 비용: 릴레이를 통한 트래픽 (GB/일), GB당 CTS, RPC 당 CTS.

8) P2P 보안

신원 및 신뢰: 장기 피어 ID, 법인에 대한 구속력 (운영자/제공자), 신뢰할 수있는 키 등록; 단기 세션 키.
암호화: TLS 1 전송. 개인 채널의 경우 3/Noise + E2E over (Double-Ratchet, HPKE).
승인: 기능 토큰/파스타 (운영 및 볼륨과 관련), ACL by Pub/Sub 주제.
시빌 및 스팜 방지: "등록" 노드, 평판/신용 한도, 공개 커뮤니티에 대한 입력 캡카/지불 서약에 대한 권한 증명.
채널 남용: 트래픽에 대한 회로 차단기, RPC에 대한 누수 버킷 속도 제한 및 게시, "회색 목록" 시끄러운 잔치.
데이터 확인: 이벤트 서명, 큰 배치에 대한 머클 증거, demempotency 키 할아버지.

9) 엔지니어링 패턴

RPC demempotency: 수신기에서 'x-dedempotency-key' + "적어도 한 번" 전달 + 데드 팬.
역압: 스트림 별 창 크기, 우선 순위 (화폐 운영> 원격 측정).
부분 오류 허용 오차: 빠른 타임 아웃 + 반 작동 모드 (읽기 전용, 캐시 전용, 기능 저하).
관찰 가능성: p2p-hop 추적, 상관 ID, OpenTelemetry에 의한 메트릭 내보내기.

메시지 예 (JSON, 서명):
json
{
"id": "evt_01J...",
"ts": "2025-10-31T18:25:43Z",
"topic": "limits. update/operator:ACME/region:TR",
"payload_hash": "sha256:...",
"payload": { "limit": 10000, "currency": "TRY", "valid_until": "2025-11-01T00:00:00Z" },
"sig": "ed25519:base64..."
}

10) 펍/하위 및 가십

방송 이벤트를위한 가십 네트워크: 중복 방지, 랜덤 워크, 구독 슬라이딩 창.
주제와 정치인: "공개" 와 "비공개" 주제의 분리; 개인-ACL 가입자에게만 해당됩니다.
배송: 가입자의 최소 한 번 보증 + 결정 론적 중복 제거.

11) 보관 및 캐싱

스냅 샷 + 로그: 마지막 스냅 샷과 이벤트 로그 리프트에서 잔치를 빠르게 시작합니다.
캐시 정책: TTL/ETag/스키마 버전 지정; 서명에 의한 검증.
가장자리 캐시: 수퍼 피어는 "캐싱 프록시" 로 서명하여 핫 키/상태 조각을 저장할 수 있습니다.

12) 운영, 모니터링 및 대시 보드

데일리 옵스:
  • 연결%, 릴레이%, DHT 적중/미스, RPC 성공/대기 시간 p95/p99, 펍/하위 지연, 오류율, 이탈.
  • 슈퍼 노드 맵 (로드, 채도, 지역 별 지연).
주간 네트워크 건강:
  • 릴레이 공유 트렌드, 트래픽 비용, 핫 주제, E2E 채널 공유, 공격/이상.
월간 전략:
  • NAT 통과 효율 (직접 공유), GB/RPC 당 CTS, 슈퍼 노드 확장 계획, 규정 준수 KPI (로깅, 스토리지).

13) 테스트 및 품질

혼돈 시나리오: 슈퍼 노드의 셧다운%, 인공 손실/지터, 펍/서브로드.
Interop-matrix: SDK/프로토콜 버전 × NAT 유형 × 영역.
퍼징 프로토콜: 랜덤 필드/크기, 악성 페이로드 (샌드 박스).
보안 훈련: 피어 키 유출, 슈퍼 노드 손상 (트러스트 목록 다시 게시, 키 취소).

14) 준수 및 법적 측면

로그 및 불변성: 로그 해시 체인, 타임 스탬핑, 지역 별 스토리지 (데이터 레지던트).
데이터 액세스 제어: 최소화, 암호화 "휴식", 주제에 대한 DLP 정책, 사용자 속성의 종단 간 가명.
암호화 편집 증명이있는 "묘비 이벤트" 및 "수정 이벤트" 정책을 삭제/제한 할 권리.
감사-수출은 외부 점검을 위해 로그에 서명했습니다.

15) 네트워크 경제 및 청구

비용 모델: 트래픽 × GB 중계, 스냅 샷 저장, "공급 업체 노드" (GB/RPC 당 보상) 로 슈퍼 노드.
공정 사용법: 출판 및 RPC 할당량; 유료 "가속" 채널/우선 순위.
직접 채널에 대한 동기 부여: P2P 직접 할인, 네트워크의 "좋은 시민" 에 대한 한계를 높입니다.

16) SLO/ODVD 템플릿 (쿼터)

KR1: 직접 연결의 75% 이상, DHT는 p95 λ300 ms를 해결합니다.

KR2 (성능): 전 세계적으로 p99 RPC λ400 ms; 펍/서브 p95

KR3: RPC 성공 7%; 방울의 20% 에 대한 이탈 저항.
KR4 (보안): E2E 채널의 95% 이상; 0 중요한 서명/대체 사건.
KR5: 1 RPC-20% QoQ의 트래픽 중계; GB당 CTS -15% QoQ.

17) 플레이 북 사건 (치트 시트)

릴레이 점유율을 높이고 대기 시간을 늘리십시오

공격적인 홀 펀치를 사용하고, 표준 풀을 변경하고, 슈퍼 노드의 지리를 확장하고, 중요한 주제의 우선 순위를 정할 수 있습니다.

DHT 중독:
  • 신뢰할 수있는 게시자 키를 재발행하고, 정족수의 정족수를 활성화하고, 오래된 기록을 정리하고, 의심스러운 동료로부터 게시물을 일시
Pub/Sub 공격을 게시합니다:
  • 속도 제한 + 작업 증명/수수료 게이트, 회색 목록, 새로운 서명 임계 값으로 오버레이 재구성.
잔치 키 타협:
  • 즉각적인 리콜, "폐지 이벤트" 출판, 종속 동료의 키 회전, ACL의 재 계산.

18) 설정 예 (Pseudo-YAML)

yaml p2p:
transport: [quic, tcp]
encryption: [tls13, noise]
discovery:
bootstrap_peers:
- /dns4/bootstrap-1. ecosys/p2p/12D3KooW...
- /dns4/bootstrap-2. ecosys/p2p/12D3KooX...
dht: kademlia mdns: true nat_traversal:
stun_servers: [stun1. ecosys. net, stun2. ecosys. net]
turn_relays:
- turn1. ecosys. net
- turn2. ecosys. net hole_punching: {udp: true, tcp: true}
relay_threshold_pct: 30 pubsub:
engine: gossip topics:
- name: limits. update acl: allow: [operators, providers]
- name: payouts. status acl: allow: [operators]
security:
e2e_required_topics: [payouts. status, limits. update]
acls:
operators: [12D3KooA..., 12D3KooB...]
providers: [12D3KooC..., 12D3KooD...]
rate_limits:
rpc_per_minute: 600 publish_per_minute: 1200

19) 구현 점검표

1. 결합 된 토폴로지 (+ 슈퍼 피어 그룹 내 메시 + DHT 계약 그룹) 를 선택하십시오.
2. 주요 영역에서 부트 스트랩 및 슈퍼 노트를 올리고 2015를 추가하십시오.
3. 이벤트 형식, 서명, ACL 및 e2e 정책을 정의하십시오.
4. 트레이스 및 메트릭 사용 (RTT, 릴레이%, DHT 대기 시간, RPC 성공).
5. SLO/OKR을 수정하고 연소율 경고를 켜십시오.
6. 혼돈의 날을 보내십시오: 정전, 손실, 펍/서브로드.
7. 키 회전, 로그 감사, 응답 절차를 조정하십시오.

결론: 생태계에서 잘 설계된 P2P 네트워크는 중앙 게이트웨이에 대한 의존도를 줄이고 교환 속도를 높이며 안정성을 높입니다. QUIC, DHT, Pub/Sub, E2E 암호화, 엄격한 ACL 및 측정 가능한 악용 (SLO/metrics) 을 결합하면 각 참가자가 수동 클라이언트가 아닌 완전한 가치 노드 인 확장 가능하고 안전한 네트워크 패브릭을 얻을 수 있습니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

Telegram
@Gamble_GC
통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.