Katılımcılar arasındaki P2P iletişimi
(Bölüm: Ekosistem ve Ağ)
1) Neden ekosistemde P2P
P2P yaklaşımı, katılımcıların (operatörler, sağlayıcılar, stüdyolar, bağlı kuruluşlar, doğrulayıcılar/düğümler, cüzdanlar, analitik ve orkestrasyon hizmetleri) zorunlu "merkezi boru" olmadan veri alışverişinde bulunmalarını ve işlemleri gerçekleştirmelerini sağlayarak darboğazları, gecikmeleri ve bireysel başarısızlık noktalarına bağımlılığı azaltır. Önemli etkiler:- Esneklik ve hata toleransı: Tek bir SPOF yoktur, ağ/bölgesel arızalardan kurtulmak daha kolaydır.
- Siz büyüdükçe ölçeklenebilirlik: Her yeni üye kaynaklara katkıda bulunur (kanallar, hesaplama, depolama).
- Teslimat maliyetini azaltmak: trafik en kısa yollardan ilerler, merkezi ağ geçitlerinde tasarruf sağlar.
- Veri gizliliği ve egemenliği: Neyin ve kime verileceği konusunda ayrıntılı kontrol.
2) P2P topolojileri
1. Tamamen bağlı (örgü) - yüksek stabilite, ancak kanal sayısında pahalı (O (n ²)). Yüksek döviz kurlarına sahip küçük gruplar için uygundur.
2. Süper akranlar - bazı akranlar yönlendirme/aktarmayı, örgü ve yıldız arasında bir uzlaşmayı devralır.
3. Küme kaplamaları - köprülerle (ağ geçitleri) bağlanan tematik alt ağlar (örneğin, "provayder↔operator", "affiliat↔operator").
4. DHT kaplaması - hizmet ve içerik için dağıtılmış yönlendirme/arama tablosu, aramanın logaritmik karmaşıklığı.
Öneri: Birçok rolü olan bir ekosistem için - bir melez: "sözleşme" grupları (operator↔provayder) içinde yerel ağ, yönlendirme için süper eşler, küresel arama için DHT ve etkinlikler için Pub/Sub.
3) Ağ yığını ve protokoller
Taşıma: QUIC/UDP (0-RTT özetleri, kayıp toleransı, çoğullama), TCP (geri dönüş), WebRTC (tarayıcılar, P2P ortamı/datagramları).
Şifreleme: TLS 1. QUIC/TCP için 3; Kaplama için - Noise/Libp2p-SECIO/ECDH + AEAD. Özel kanallar için taşıma üzerinden uçtan uca şifreleme.
Kimlikler: Uzun süreli düğüm anahtarları (ed25519/secp256k1), kendinden imzalı eş kimlik, isteğe bağlı olarak uyumluluk gereksinimlerini karşılamak için X.509/PKI.
Keşif ve adresleme: mDNS (LAN), DHT/Kademlia (WAN), statik önyüklemeler (önyükleme eşleri), servis dizinleri/kayıtları.
NAT traversal: STUN, UDP delik delme, TURN/röle fallback, TCP delik delme, süper düğümler üzerinden port proxy.
- Spot istekler için Req/Resp (RPC) (fiyat teklifleri, limitler, ödeme durumları).
- Etkinlikler için Pub/Sub (işlemler, oyun durumları, uyumluluk uyarıları).
- Paralel mantıksal kanallar için stream-muxing (yamux/mplex/QUIC).
- Önbellekleri ve meta verileri bir "sihirbaz" olmadan uzlaştırmak için CRDT/operasyonel günlükler.
4) NAT traversal ve röle
Üç aşamalı strateji:1. Doğrudan P2P: delik delme girişimi (UDP tercih edilir, daha sonra TCP).
2. TURN/Süper düğümler aracılığıyla röle: hacmi sınırlayın, uçtan uca, fatura rölesini şifreleyin.
3. Fallback on HTTPS/HTTP3: Gerekirse izin verilen kurumsal proxy'ler arasında tünel açmak.
Röle maliyet ve gecikmeyi artırdığı için doğrudan ve röle bağlantılarının oranını izleyin.
5) Yönlendirme, arama ve keşif
DHT (Kademlia sınıfı): Sadece "işaretçiler" (sağlayıcı kayıtları) saklayın, imzalarla koruyun, TTL girin ve yeterli çoğunluğu okuyun.
İçerik tabanlı yönlendirme: 'service: limits/operator: XYZ/region: TR' formunun yayınlama anahtarları.
Özel ad alanı: kapalı topluluklar için ayrı önekler/anahtarlar (ortak kaplamalar).
Anti-zehirlenme: sahiplerin imzalarıyla kayıtların doğrulanması, yayın düğümlerinin itibarı, oran limiti yayınları.
6) Veri modelleri ve uzlaşma
Event-sourcing + Pub/Sub: idempotency-key etkinlikleri olarak tüm anlamlı değişiklikler.
CRDT (GCounter, OR-Set, LWW-register): birçok katılımcı tarafından düzenlenen yapılandırmalar, erişimler, önbelleğe alınmış sınırlar/alıntılar için.
Konsensüs her zaman gerekli değildir: referans kitapları ve meta veriler için "nihai tutarlılık" yeterlidir; Finansal işlemler için - katı sonuçlandırma (dış kayıt/blockchain/noter).
7) QoS, SLO ve metrikler
Ağ SLO'ları (örnek):- P99 gecikme P2P-RPC ≤ 250-400 ms (bölgeler arası ≤ 600 ms), başarı oranı ≥ 99. 5%.
- Pub/Sub uçtan uca gecikme p95 ≤ 2 с.
- Röle payı %30 ≤ (hedef doğrudan bağlantıdır ≥ %70).
- Çalkalama direnci: SLA bozulması olmadan bayramların %20'sine kadar kayıp.
- Bağlantı: Ulaşılabilir eşlerin yüzdesi, doğrudan bağlantıların yüzdesi, ortalama komşu sayısı.
- Yol kalitesi: RTT, Jitter, Paket kaybı; Servis sınıfına göre p95/p99.
- Verim: Akışlar arasında ortalama/en yüksek bant genişliği.
- Güvenilirlik: yeniden bağlantı hızı, RPC hata oranı, Pub/Sub yeniden sıralama/bırakma.
- Keşif sağlığı: DHT hit/miss, anahtar çözünürlük süresi, eski kayıtların oranı.
- Güvenlik: E2E şifreleme, geçersiz imzalar, oran anormallikleri ile paylaşın.
- Maliyet: Röle yoluyla trafik (GB/gün), GB başına CTS, RPC başına CTS.
8) P2P güvenliği
Kimlikler ve güven: uzun vadeli akran kimliği, bir tüzel kişiliğe (operatör/sağlayıcı) bağlı, güvenilir anahtarların kaydı; Kısa ömürlü oturum anahtarları.
Şifreleme: Taşıma TLS 1. Özel kanallar için 3/Noise + E2E over (Double-Ratchet, HPKE).
Yetkilendirme: yetenek belirteçleri/makarna (işlemlere ve hacme bağlı), Pub/Sub konularına göre ACL.
Anti-Sybil ve spam: "Kayıt" düğümleri için yetki belgesi, itibar/kredi limitleri, açık topluluklar için giriş captchas/ödeme taahhütleri.
Kanal kötüye kullanımı: trafikte devre kesici, RPC'de sızdıran kova oranı sınırı ve yayınlama, "grilisting" gürültülü ziyafetler.
Veri doğrulama: olay imzaları, büyük partiler için merkle kanıtları, idempotency-key büyükbaba.
9) Mühendislik kalıpları
RPC idempotency: 'x-idempotency-key' +'en az bir kez "teslimat + alıcıda deadpan.
Geri baskı: akışa göre pencere boyutu, öncelikler (para işlemleri> telemetri).
Kısmi hata toleransı: hızlı zaman aşımı + yarı çalışma modları (salt okunur, yalnızca önbellek, özellik bozulması).
Gözlemlenebilirlik: p2p-hop izleri, korelasyon kimlikleri, OpenTelemetry tarafından metriklerin dışa aktarılması.
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) Pub/Sub ve dedikodu
Yayın etkinlikleri için dedikodu ağları: anti-çoğaltma, rastgele yürüyüş, abonelik sürgülü pencereler.
Konular ve politikacılar: "kamu've" özel "konuların ayrılması; özel - sadece ACL'li aboneler için.
Nakliye: Abonelerde en az bir kez garanti + deterministik veri tekilleştirme.
11) Depolama ve önbelleğe alma
Anlık görüntüler + günlükler: son anlık görüntüden bayrama hızlı bir soğuk başlangıç ve bir olay günlüğü kaldırma.
Önbellek politikaları: TTL/ETag/şema sürümleri; İmza ile doğrulama.
Kenar önbelleği: Süper eşler, "önbellekleme proxy'leri'olarak imzalayarak sıcak tuşları/durum parçalarını saklayabilir.
12) Çalışma, izleme ve gösterge panoları
Günlük operasyon:- Bağlantı %, röle %, DHT hit/miss, RPC başarı/gecikme p95/p99, Pub/Sub gecikme, hata oranı, çalkalama.
- Süper düğümlerin haritası (yük, doygunluk, bölgeye göre gecikmeler).
- Röle paylaşım eğilimleri, trafik maliyeti, sıcak konular, E2E kanal paylaşımı, saldırılar/anomaliler.
- NAT geçiş verimliliği (doğrudan paylaşım), GB/RPC başına CTS, süper düğüm genişletme planı, uyumluluk KPI (günlük kaydı, depolama).
13) Test ve kalite
Kaos senaryoları: Süper düğümlerin kapatma %, yapay kayıplar/jitter, Pub/Sub yükler.
Interop-matrix: NAT tip × bölgeleri × SDK/protokol sürümleri.
Fuzzing protokolleri: rastgele alanlar/boyutlar, kötü amaçlı yükler (sanal alanda).
Güvenlik tatbikatları: Bir eş anahtarı sızdırma, bir süper düğümden ödün verme (güven listelerini yeniden yayınlama, anahtarları iptal etme).
14) Uyum ve yasal hususlar
Günlüğe kaydetme ve değişmezlik: günlük hash zincirleri, zaman damgası, bölgeye göre depolama (veri ikameti).
Veri erişim kontrolü: minimizasyon, "dinlenmede" şifreleme, konulardaki DLP politikaları, kullanıcı niteliklerinin uçtan uca takma adı.
Silme/kısıtlama hakkı: Kriptografik düzenleme kanıtları ile "mezar taşı olayları've" redaksiyon olayları "politikası.
Denetim - Dış kontroller için imzalı günlükleri dışa aktarır.
15) Ağ Ekonomisi ve Faturalandırma
Maliyet modeli: GB × röle trafiği, anlık görüntülerin depolanması, "tedarikçi düğümleri'olarak süper düğümler (GB/RPC başına tazminat).
Adil kullanım: yayıncılık ve RPC kotaları; ücretli "hızlandırılmış" kanallar/öncelikler.
Doğrudan kanallar için motivasyon: P2P-direct indirimleri, ağın'iyi vatandaşları "için limitleri yükseltmek.
16) SLO/OKR Şablonu (Çeyrek)
KR1: Doğrudan bağlantıların %75'i ≥ DHT, p95 ≤ 300 ms'yi çözer.
KR2 (Performans): P99 RPC ≤ dünya çapında 400 ms; Pub/Sub p95 ≤ 2 с.
KR3: RPC başarısı ≥ 99. 7%; Damlaların %20'sine karşı çalkalama direnci.
KR4 (Güvenlik): ≥ içeren kanalların E2E %95'i; 0 kritik imza/ikame olayları.
KR5: 1 RPC − %20 QoQ üzerinde röle trafiği; GB başına CTS −15 % QoQ.
17) Playbook olayları (hile sayfası)
Röle payında atlama ve gecikmede artış:- Agresif delik açmayı etkinleştirin, STUN havuzlarını değiştirin, süper düğümlerin coğrafyasını genişletin, kritik konuların önceliklendirilmesini sağlayın.
- Yayıncıların güvenilir anahtarlarını yeniden gönderin, denetimlerin yeterli çoğunluğunu etkinleştirin, eski kayıtları temizleyin, şüpheli eşlerden gelen yayınları geçici olarak kısıtlayın.
- Rate-limit + proof-of-work/fee-gate, gri liste, yeni imza eşikleri ile overlay yeniden oluşturma.
- Hemen hatırlama, "iptal olayı'nın yayınlanması, bağımlı eşlerin anahtarlarının döndürülmesi, ACL'nin yeniden hesaplanması.
18) Yapılandırma Örneği (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) Uygulama kontrol listesi
1. Birleştirilmiş topolojiyi seçin (+ süper eşler + DHT sözleşme grupları içinde örgü).
2. Kilit bölgelerde önyükleme kayışlarını ve süper düğümleri yükseltin, STUN/TURN ekleyin.
3. Olay formatlarını, imzaları, ACL'leri ve e2e ilkelerini tanımlayın.
4. İzleme ve metrikleri etkinleştir (RTT, relay- %, DHT-latency, RPC success).
5. SLO/OKR'yi düzeltin, yanma hızı uyarısını açın.
6. Kaos günü geçirin: kesintiler, kayıplar, Pub/Sub üzerinde yük.
7. Anahtar rotasyonunu, günlük denetimini, yanıt prosedürünü düzenleyin.
Sonuç: Ekosistemdeki iyi tasarlanmış bir P2P ağı, merkezi ağ geçitlerine bağımlılığı azaltır, alışverişi hızlandırır ve istikrarı artırır. QUIC, DHT, Pub/Sub, E2E şifreleme, sıkı ACL'ler ve ölçülebilir sömürü (SLO/metrikler) birleştirerek, her katılımcının pasif bir istemci değil, tam bir değer düğümü olduğu ölçeklenebilir ve güvenli bir ağ yapısı elde edersiniz.