Skip to content
ARCH-0004Mimari · PlatformYürürlüktesürüm 1.1.02026-09-11T00:00:00.000Z

Kapsam ​

ARCH-0001 node rollerini, ARCH-0003 uygulama bileşenlerini tanımlar. Bu doküman onları fiziksel makinelere oturtur: kim işletir, ne kadar donanım, hangi port, düştüğünde ne olur, nasıl izlenir.


1. Ortamlar ​

OrtamZincirAmaçVeri
localtek node, --devGeliştirici makinesiSahte
testnet4 validator, vakıfEntegrasyon, issuer denemesiSahte
staging4 validator, prod ikiziSürüm provası, yükseltme provasıSahte
mainnetFaz 0: 4 vakıf → Faz 1: devletlerÜretimGerçek

Kural: Yükseltmeler (SPEC-BC-0001 §9) önce staging'de aynı adımlarla uygulanır. UUPS brick riski geri dönüşsüz olduğu için bu prova atlanamaz.


2. Sunucu Envanteri ​

2.1 Zincir katmanı ​

RolKim işletirvCPU / RAMDiskAdet (Faz 0 / Faz 1)Düşerse
ValidatorFaz 0 vakıf, Faz 1 devletler8 / 32 GB1 TB NVMe4 / 7+1 kayıp tolere edilir (4'te), 2 (7'de)
BootnodeVakıf2 / 4 GB100 GB SSD2 / 2+Yeni node ağa giremez; mevcutlar çalışır
RPC nodeHer devlet + vakıf8 / 32 GB1 TB NVMe2 / devlet başına 2İndeksleyici duraklar, doğrulama önbellekten sürer
Archive nodeVakıf + isteyen devlet8 / 64 GB4 TB NVMe (büyür)1 / 2+Denetim/adli sorgu durur; işletim etkilenmez
ObserverYetkili kurumlar4 / 16 GB500 GB SSDisteğe bağlıYalnızca o kurum

Validator sayısı neden tek: QBFT'de arıza toleransı f = (n-1)/3. n=4 → f=1; n=7 → f=2. Çift sayı fazladan tolerans getirmez, yalnızca maliyet ekler. Ayrıntı ARCH-0001 §3.

Archive disk büyür: Her publishList kalıcı durum yazar (§7). Yıllık büyüme tahmini §7.2'de.

2.2 Uygulama katmanı — vakıf tarafı ​

BileşenvCPU / RAMDiskAdetSLODüşerse
İndeksleyici4 / 16 GB200 GB SSD2 (aktif/yedek)%99,5Doğrulama INDETERMINATE ya da RPC'ye düşer
İndeksleyici DB (PostgreSQL)4 / 16 GB500 GB SSD1 + replika%99,5Aynı
schemas.tamga.networkstatik + CDN—CDN%99,9Yeni tip öğrenilemez; bilinen tipler çalışır
Gözlemlenebilirlik yığını4 / 16 GB1 TB1—Körleşme; işletim sürer
CI runner4 / 8 GB200 GB1–2—Sürüm çıkmaz

2.3 Uygulama katmanı — issuer tarafı (her kurum kendi) ​

BileşenvCPU / RAMDiskSLODüşerse
Issuer service4 / 8 GB100 GB%99O kurum ihraç yapamaz; verilmiş belgeler etkilenmez
Issuer DB2 / 8 GB200 GB%99Aynı — yedeklenmesi kritik (§7.3)
Status yayıncı (cron)1 / 2 GB—%9950 saate kadar önbellekten devam (SPEC-CRED-0003 §8.1)
status.<issuer>statik + CDN—%99,5Aynı
HSM / KMS——%99,9İhraç durur

2.4 Verifier tarafı (her kurum kendi) ​

BileşenvCPU / RAMSLONot
Verifier service2 / 8 GBkurum belirlerÖn çekim önbelleği taşır (ARCH-0003 §4.2)
Ön çekim işi (cron)1 / 2 GB—ttl aralığında toplu indirme

3. Ağ Segmentasyonu ve Portlar ​

   İnternet
      │
      ▼
┌──────────────────────────────────────────────┐
│  DMZ                                         │
│   CDN (şema, status) · RPC (kısıtlı)         │
└───────────────┬──────────────────────────────┘
                │
┌───────────────▼──────────────────────────────┐
│  Uygulama ağı                                │
│   issuer-service · verifier-service          │
│   indeksleyici                               │
└───────────────┬──────────────────────────────┘
                │
┌───────────────▼──────────────────────────────┐
│  Zincir ağı (özel)                           │
│   validator · bootnode · archive             │
└───────────────┬──────────────────────────────┘
                │
┌───────────────▼──────────────────────────────┐
│  Anahtar bölgesi (izole)                     │
│   HSM · KMS                                  │
└──────────────────────────────────────────────┘
PortBileşenErişim
30303 TCP/UDPBesu P2PYalnızca zincir ağı, allowlist
8545JSON-RPC HTTPAsla internete açılmaz — yalnızca uygulama ağı
8546JSON-RPC WSİndeksleyici, uygulama ağı
8550QBFT admin APIYalnızca localhost + operatör VPN
9545Prometheus metrikİzleme ağı
443CDN, servis API'leriİnternet

Değişmez O1: 8545 hiçbir koşulda internete açılmaz. Açılırsa okuma yükü herkese açılır ve ağ bir DoS yüzeyi kazanır. Dış okuma ihtiyacı indeksleyici üzerinden karşılanır.


4. Anahtar ve Sır Yönetimi ​

ARCH-0003 §8'deki mantıksal envanterin fiziksel karşılığı.

AnahtarDepolamaErişimYedek
Root CAÇevrimdışı HSM, kasaAnahtar töreni, çok kişiliShamir, coğrafi ayrık
ValidatorNode HSM veya şifreli keystoreNode süreciŞifreli, ayrık konum
State delegateDevlet KMSDevlet operatörüDevletin kendi politikası
Issuer credentialHSM (PKCS#11)Issuer service, dar yetkiHSM yedeği
Issuer statusKMS, çevrimiçiStatus yayıncıKMS
DB parolaları, API anahtarlarıVault / bulut secret managerServis kimliğiOtomatik
TLSACME otomasyonuOtomatik—

4.1 Anahtar töreni (Root CA) ​

Kayıt altına alınması gereken asgari şartlar: en az beş kişi (iki farklı kurum), video kayıt, yazılı tutanak ve imza, HSM'in kırılabilir mühürle kapatılması, Shamir paylarının farklı fiziksel kasalarda saklanması, ve tören öncesi tam bir prova.

Bu, SPEC-ID-0002'de detaylandırılacak; burada envanter kalemi olarak kayıtlıdır.


5. Gözlemlenebilirlik ​

5.1 Metrikler ​

BileşenKritik metrikAlarm eşiği
Validatorblok üretim gecikmesi, peer sayısı> 10 sn, < 2 peer
QBFTround değişimi sayısıdakikada > 3
İndeksleyicilast_block gecikmesi> 60 sn (bayat)
İndeksleyicibilinmeyen implementasyonherhangi biri → sayfa
Status yayıncıson başarılı yayından geçen süre> 90 dk
Status CDNtoken exp kalan süre< 6 sa
Şema CDN5xx oranı%1
Issuer serviceihraç hata oranı%1
Verifier serviceINDETERMINATE oranı%5

INDETERMINATE oranı en değerli sağlık göstergesidir: yükselmesi, bir altyapı bileşeninin sessizce bozulduğunu doğrulama sonucuna yansımadan önce haber verir.

5.2 Loglama — mahremiyet kuralları ​

Bu bölüm isteğe bağlı değildir. Doğrulama logları, doğru tutulmazsa sistemin kendisinden daha büyük bir takip yüzeyi yaratır.

LoglanırLoglanmaz
issuerId, schemaIdAçıklanan claim değerleri
Doğrulama sonucu (3 değerli)Öğrenci/mezun adı, doğum tarihi
Başarısız adım kodu (C2)Ham SD-JWT veya disclosure
Zincir tazeliğistatus.status_list.idx ← §5.3
Süre, gecikmeCüzdan cihaz tanımlayıcısı

5.3 idx neden loglanmaz ​

status.status_list.idx her sunumda görünür ve sabittir (SPEC-CRED-0003 §9.4). Verifier onu loglarsa, iki farklı doğrulama olayı aynı kişiye ait olarak eşleştirilebilir — verifier'ın kendi logu, cüzdanın korumaya çalıştığı ilişkilendirilemezliği ortadan kaldırır.

Denetim için ilişkilendirme gerekiyorsa, idx'in kuruma özel tuzlanmış hash'i saklanır; ham değer değil.

5.4 Saklama süreleri ​

Log türüSüreGerekçe
Doğrulama denetim kaydı12 ayUyuşmazlık çözümü
Erişim logu (CDN)tutulmaz veya 7 gün, IP'sizSPEC-SCHEMA-0001 Güvenlik Notları taahhüdü
Uygulama hata logu90 günHata ayıklama
Zincir node logu30 günİşletim

CDN erişim logu satırı bir politika taahhüdüdür ve PM-GOV-0001'e yazılmalıdır.

5.5 İzleme (tracing) ​

Doğrulama hattının beş katmanı (ARCH-0003 §4.1) trace span'ı olarak işaretlenir: format, schema, trust, revocation, policy. Böylece "doğrulama neden yavaş" sorusu tek bakışta cevaplanır — genelde cevap ön çekim önbelleğinin ıskalamasıdır.


6. SLO'lar ve Hata Bütçesi ​

BileşenErişilebilirlikGecikme (p95)Gerekçe
Zincir (blok üretimi)%99,92 sn blokTek gerçek kritik yol
İndeksleyici%99,550 ms sorguDüşerse RPC'ye düşülür
schemas.tamga.network%99,9100 msKritik yolda değil (§önbellek)
status.<issuer>%99,5200 msKritik yolda değil (exp = 50 sa)
Issuer service%992 sn ihraçKurum yereli
Verifier servicekurum belirler300 ms doğrulamaKurum yereli

Neden şema ve status SLO'ları düşük tutulabiliyor: İkisi de bütünlük hash'iyle korunduğu için süresiz/uzun süre önbelleklenebilir (ARCH-0003 §5). Bu, ADR-0007 ve ADR-0008'in "içerik off-chain, çapa on-chain" deseninin doğrudan operasyonel kazancıdır — pahalı bir yüksek erişilebilirlik altyapısı kurmaktan kurtarır.


7. Kapasite Planlaması ​

Bu bölüm SPEC-CRED-0003 Açık Konu 1'i kapatır.

7.1 İşlem hızı ​

Baskın yazma yükü status yayınıdır (SPEC-CRED-0003 §5.1: saatte bir, issuer başına).

Issuer sayısıGünlük işlemTPS
50 (pilot)1.2000,014
200 (Türkiye YÖ kurumları)4.8000,056
1.000 (Türk dünyası ölçeği)24.0000,28
10.000 (uzak hedef)240.0002,8

2 saniyelik blok süresinde günde 43.200 blok üretilir. 1.000 issuer senaryosunda blok başına ortalama 0,55 işlem düşer. QBFT için ihmal edilebilir.

Sonuç: işlem hızı bir sınır değildir.

7.2 Asıl sınır — kalıcı durum büyümesi ​

Her publishList mevcut slot'ları günceller (yeni slot açmaz): contentHash, version, publishedAt — yaklaşık 3 slot. Durum büyümez, üzerine yazılır.

Büyüyen şey arşiv node'unun geçmiş verisidir:

1.000 issuer
Günlük işlem24.000
İşlem başına ~200 bayt (girdi + makbuz + log)
Günlük~5 MB
Yıllık~1,8 GB

Arşiv node'u için 4 TB disk, bu hızda onlarca yıl yeter. Kalıcı durum (state) ise issuer/şema/liste sayısıyla doğrusal büyür ve on binler mertebesinde birkaç yüz MB'ı geçmez.

Karşı olgu — neden bitmap'i zincire koymadık: 1.000 issuer × 100.000 indeks × 2 bit = 25 MB kalıcı durum, üstelik her iptalde yazma. Off-chain kararı (ADR-0008) bunu tamamen ortadan kaldırdı.

7.3 Yedekleme boyutu ​

Issuer veritabanı, status listesinin kaynağıdır — liste türetilmiş bir üründür (SPEC-CRED-0003 §10.3). Kaybı, listenin yeniden üretilememesi demektir. Bu yüzden issuer DB yedeği, zincir yedeğinden daha kritiktir.

7.4 Maliyet Tahmini (Faz 0) ​

Uyarı: Aşağısı kaba tahmindir, sözleşme değildir. Bulut fiyatları sağlayıcıya/bölgeye/zamana göre değişir; kesin bütçe teklif alınarak yapılır. Değerler §2 donanım boyutlandırmasına dayanır. Birim: yaklaşık USD/ay.

Üç senaryo — hangisinde olduğun aşamaya bağlıdır (bkz. ARCH-0001 fazlar):

S0 — Öğrenme / geliştirme (Aşama 0–4): $0. Her şey kendi bilgisayarında (Docker ile 4 node tek makinede). Sunucu kiralanmaz.

S1 — Konsolide bulut testnet (Aşama 5): Tek güçlü VPS'te tüm node'lar + servisler Docker ile. Herkese açık deneme, gerçek veri yok.

KaynakKonfigürasyon~USD/ay
Tek konsolide sunucu8 vCPU / 32 GB / ~500 GB NVMe40–90
Alan adı + CDN (schema/status)kullanım bazlı5–20
Toplam~50–110

S2 — Faz 0 mainnet (tam envanter, §2): Vakıf tüm zinciri işletir. Fiyatlar iki uçta verildi: ekonomik (Hetzner tarzı EU sağlayıcı) ↔ hyperscaler (AWS/Azure/GCP, ~2–3×).

RolAdetBirim ~USD/ayEkonomikHyperscaler
Validator (8/32, 1 TB NVMe)455–90220–360600–1.100
Bootnode (2/4)26–1212–2440–80
RPC node (8/32, 1 TB)255–90110–180300–560
Archive (8/64, 4 TB)1130–190130–190350–600
İndeksleyici + DB (4/16)325–4075–120220–360
Gözlemlenebilirlik + CI (4/16, 4/8)225–4050–80150–260
CDN + nesne depolama + alan adı——15–4030–80
Toplam (yuvarlak)~600–1.000~1.700–3.000

Notlar:

  • Asıl uzun-vadeli maliyet sürücüsü işlem hızı değil, arşiv diskidir (§7.2); archive dışında donanım sabit kalır.
  • Faz 1'de vakıf maliyeti düşer: validator ve RPC'leri devletler kendi işletir (ARCH-0001 §3); vakıfta bootnode + gözlemlenebilirlik + koordinasyon kalır.
  • Konsolidasyon: Faz 0 başında S2'deki rollerin çoğu 1–2 güçlü sunucuda birleştirilebilir (validator izolasyonu korunarak); tam envanter ancak yük/güvenlik gerektirdiğinde açılır. Gerçekçi başlangıç ~S1 ile S2-ekonomik arasıdır.
  • Issuer/verifier maliyeti vakfa ait değildir — her kurum kendi servisini işletir (§2.3, §2.4). Gelir modeli issuer akreditasyon ücretidir (DECISIONS D-GTM-1).
  • Akademik/başlangıç bulut kredileri (AWS Activate, Azure/GCP startup) ilk yılı büyük ölçüde karşılayabilir — pilot aşamasında değerlendirilmeli.

8. Felaket Kurtarma ​

SenaryoRTORPOProsedür
Tek validator kaybıdakikalar0Kalanlar üretmeye devam; node yeniden kurulur, senkronlanır
Çoğunluk validator kaybısaatler0Zincir durur. Yedek anahtarlarla node'lar ayağa kaldırılır
İndeksleyici DB kaybısaatler0Sıfırdan yeniden oynatılır — zincir kaynak, kayıp yok
Issuer DB kaybısaatlerson yedekEn kritik. Liste yeniden üretilir; §7.3
Status anahtarı kaybısaatler0Yeni anahtar + kid rotasyonu; aynı liste devam eder
Status anahtarı sızmasısaatler0Sertifika iptali → tüm token'lar düşer → yeni anahtarla yeniden yayın
Credential anahtarı sızmasıgünler—Ağır. Issuer askıya alınır, verilmiş belgeler değerlendirilir
schemas.tamga.network alan adı kaybı——Ekosistemik. SPEC-SCHEMA-0001 §10.3 azaltmaları

İndeksleyicinin yeniden oynatılabilir olması mimarinin sessiz kazancıdır: türetilmiş bir görünüm olduğu ve QBFT'de reorg bulunmadığı için (ARCH-0003 §2.2) veritabanını silip baştan kurmak güvenli ve deterministik bir işlemdir.


9. Olay Müdahale ​

SeviyeÖrnekHedef
SEV1Zincir durdu; credential anahtarı sızdı15 dk müdahale, 7/24
SEV2İndeksleyici bayat > 15 dk; status yayını 2 döngü kaçtı1 sa, mesai + nöbet
SEV3Şema CDN 5xx; tek issuer service down1 iş günü

Zorunlu SEV1 tetikleyicisi: İndeksleyicinin bilinmeyen implementasyon sürümü görüp durması (ARCH-0003/CMP2). Bu bir arıza değil, yanlış veri üretmemek için kasıtlı durmadır — ama derhal insan müdahalesi gerektirir.


10. Değişmezler ​

#Değişmez
O18545 JSON-RPC hiçbir koşulda internete açılmaz (§3).
O2Yükseltmeler önce staging'de aynı adımlarla prova edilir (§1).
O3Credential imzalama anahtarı çevrimdışı HSM'de; status anahtarı ayrı ve çevrimiçi (§4).
O4Doğrulama logları claim değerlerini ve idx'i saklamaz (§5.2, §5.3).
O5CDN erişim logu tutulmaz veya IP'siz ve 7 günlüktür (§5.4).
O6Issuer DB yedeği zincir yedeğinden önceliklidir (§7.3).
O7İndeksleyici her zaman sıfırdan yeniden oynatılabilir olmalıdır (§8).

Açık Konular ​

  1. İndeksleyici işletimi — KAPANDI (PM-GOV-0001 P3): her verifier kendi örneği; vakıf barındırma sunmaz.
  2. Barındırılmış status hizmeti — KAPANDI (PM-GOV-0001 P1): sunulur, ama imzalama anahtarı kurumda kalır, log tutulmaz, barındırılan liste kamuya açıktır ve %30 tripwire konsey gündemi yaratır.
  3. Arşiv node'u kaç yıl geriyi tutmalı? Sınırsız mı, budama (pruning) politikası mı? Denetim gereksinimleriyle birlikte kararlaştırılmalı.
  4. HSM tedarikçisi ve FIPS/CC seviyesi seçilmedi. eIDAS QSCD uyumu Faz 1'de gerekli olabilir → RS-EIDAS-0001 ile çapraz kontrol.
  5. Çok bölgeli (multi-region) dağıtım Faz 1'de mi başlar? Türk dünyası coğrafyası gecikme açısından geniş.

İlgili Dokümanlar ​

ARCH-0001 · ARCH-0002 · ARCH-0003 · ARCH-0005 · SPEC-BC-0001 · SPEC-CRED-0003 · SPEC-SCHEMA-0001 · SPEC-ID-0002 · PM-TRUST-0001 · PM-GOV-0001 · ADR-0007 · ADR-0008


Durum ​

Draft — 2026-09-09. Donanım boyutları tahminîdir ve testnet ölçümleriyle kalibre edilmelidir. §7 kapasite hesabı SPEC-CRED-0003 Açık Konu 1'i kapatır. HSM seçimi ve çok bölgeli dağıtım açık.