Zanjirlarni taqqoslash
(Bo’lim: Ekotizim va Tarmoq)
1) Nima uchun va nimani taqqoslaymiz
Maqsad - quyidagilarni hisobga olgan holda turli zanjirlarning (L1, L2, app-chain, validium/rollap) unumdorligini solishtirishning takrorlanadigan va neytral usulini yaratishdir:- Tezlik va kechikishlar: yoqish, yakunlash, o’zgaruvchanlik.
- Iqtisodiyot: tranzaksiyalar va ma’lumotlar qiymati, komissiyalar barqarorligi.
- Barqarorlik: reorglar, livnes, yuk ostidagi degradatsiyalar.
- Ma’lumotlardan foydalanish imkoniyati: DA o’tkazish qobiliyati va bayt qiymati.
- Operatsiyalar: uzellarga qo’yiladigan talablar, holat miqdori, mijozlarni diversifikatsiya qilish.
Natija - aniq stsenariylar (to’lovlar, o’yinlar/mikro-iventlar, ko’priklar, DA/nashrlar) uchun zanjir/domenlarni tanlash imkonini beruvchi yig’ma KPI.
2) Metriklarning taksonomiyasi (yadro)
2. 1 O’tkazish qobiliyati va kechikishlar
Sustained TPS/QPS (barqaror oʻtkazuvchanlik)
Peak TPS (xatosiz qisqa cho’qqi/drop)
Time-to-Inclusion (TTI) p50/p95/p99
Time-to-Finality (TTF) p50/p95/p99 (K-tasdiqlash/challenge-oynani hisobga olish)
Block Utilization% (blok/batch toʻldirilishi)
Variance/Jitter kechikish (σ, CV)
2. 2 Sifat va barqarorlik
Success Rate (% muvaffaqiyatli tx/events)
Reorg/Orphan Rate (chastota va chuqurlik)
Liveness SLO Hit (maqsadli foydalanish)
Degradation Grace (feyl o’rniga nazorat qilinadigan degradatsiya)
2. 3 Iqtisodiyot va DA
Fee p50/p95/p99 (nativ valyutada va USDda)
Cost-per-kB (DA) - 1 kB ma’lumotlarni e’lon qilish narxi
Cost-per-Tx Class - «tranzaksiya turi» narxi: oddiy tarjima, shartnomani chaqirish, yirik calldata
Fee Volatility Index (deraza komissiyalarining barqarorligi)
2. 4 Uzellar va holati
Hardware Footprint (CPU/RAM/SSD/validator/arxiv tuguni uchun tarmoq)
State Growth (kun/kun)
Client Diversity Index (mijozlar/verifikatorlarni taqsimlash)
Sync Time (tezkor/arxiv sinki)
2. 5 L2-o’ziga xos
Batch TPS (sentenserda), Batch Size (kB)
Time-to-Batch Inclusion и Time-to-Prove (ZK) / Challenge Window (optimistic)
DA Throughput (МБ/с) и DA Failure Rate
Settlement Latency (L2 → L1 finali)
3) O’lchash metodikasi (neytral va takroriy)
1. Yagona yuklamalar rejasi (TUP - Test Use Profiles):
TUP-Pay: kichik tarjimalar (N = 70% simple, 30% token).
TUP-Game: calldata bilan qisqa voqealar (2-8 kB gacha).
TUP-DEX: o’rtacha gaz va portlashlar bilan shartnomalar.
TUP-DA: katta nashrlar (50-250 kB batcham).
2. Yuklama qatlamlari: maqsadli SLOning orqa fon 60-80% + har 30-60 daqiqada 5-10 daqiqa davomida 120-160% impulslar.
3. Geografiyasi va tarmog’i: kamida 3 ta mintaqa, RTT matritsasi, inyeksiya jitter/loss (0. 5–2%).
4. Mijozlarning diversifikatsiyasi: zanjirga kamida 2 ta uzel mijozi (agar mavjud bo’lsa), bir xil versiyalar.
5. Telemetriyani yigʻish: toʻgʻri korrelyatsiya (trace-ID), vaqtni sinxronlashtirish (NTP/PTP), konfiguratsiyalarni tuzatish.
6. Yakunlash oynalari: K/nizo oynalarini aniq moslash; TTF zanjir qoidalarini hisobga olgan holda hisoblansin.
7. Xatolar semantikasi: rad etish taksonomiyasi (gaz/nonce/limit/DA-fayl/overload), «kutilgan» xatolarni Success Rate’dan chiqarib tashlash yoki alohida ajratish.
4) Normallashtirish va anti-siljish
Cost Normalization: USD по курсу на `observed_at`; `fee_usd = fee_native × price_usd_at_t`.
Gas/Weight Equivalence: «xom gazlar» bo’yicha emas, balki «operatsiyalar sinflari» bo’yicha taqqoslash.
Hardware-Adjusted TPS: `TPS_per_$ = Sustained_TPS / (Monthly_Node_Cost_USD)`
Fair DA Compare: 1 kB va p95 uchun narx nashr etishda kechikish.
Volatility Windows: «bir martalik rekordlar» o’rniga haftalik/oylik derazalar, mediana va IQR.
Cold vs Warm: keshni isitish; barqarorlashgandan keyin o’lchash.
MEV/Pik komissiyalari: «bozor anomaliyalarini» istisno qilish yoki alohida metrika bilan ajratish.
5) Yig’ma KPI (yakuniy ko’rsatkichlar)
Core Performance Score (CPS) - 0.. 100, og’irlik summasi:- Throughput (30%), Finality (25%), Cost (20%), Stability (15%), Uptime/Liveness (10%).
- Og’irlik koeffitsiyentlari stsenariyga moslashtiriladi (masalan, to’lovlar uchun ↑ Finality/Cost, o’yinlar uchun ↑ Throughput/Stability/DA).
Effective Throughput @SLO -’TTF _ p95 ≤ X’,’Success ≥ Y%’,’Fee _ p95 ≤ Z’ga rioya qilinganda barqaror TPS.
Cost-to-Serve per 1k Ops - 1000 ta sinf operatsiyalarini (shu jumladan DA/settlement) qayta ishlashning to’liq qiymati.
Finality SLA Hit% - maqsadli oynada yakunlangan operatsiyalar ulushi.
6) Taqqoslash uchun SLI/SLO
SLO namunalari (stsenariy bo’yicha):- Payments: `TTF_p95 ≤ 10s`, `Success ≥ 99. 7%`, `Fee_p95 ≤ $0. 01`.
- Games/Events: `TTI_p95 ≤ 500ms`, `TTF_p95 ≤ 3s`, `Success ≥ 99. 5%`, `DA_p95 ≤ 1s`.
- DA/Publishing: `Cost_per_kB ≤ $0. 0005`, `Publish_p95 ≤ 2s`, `Finality_p95 ≤ 60s`.
- L2 Settlement: optimistic uchun «Settle _ p95 ≤ 10m» (ZK )/« challenge-oyna ».
7) Dashbordlar (referens-maketlar)
Perf Lens (real-taym/soat): TTI/TTF p50/p95/p99, Block Utilization, Success Rate, Fee p95, Error taxonomy.
Cost & DA: Cost/kB, Fee-volatility, DA throughput/latency, отказ DA.
Stability: Reorg Rate, Liveness SLO Hit, Burn-rate xatolari, sentenser aptaymi (L2).
Capacity Planning: Sustained vs Peak TPS, Hardware-Adjusted TPS, State Growth.
8) Ma’lumotlar va mantiq sxemasi (psevdo-SQL)
Xom benchmark voqealari
sql
CREATE TABLE bench_events (
id TEXT PRIMARY KEY,
chain_id TEXT, layer TEXT, -- L1 L2 app scenario TEXT, -- payments game dex da sent_at TIMESTAMPTZ,
included_at TIMESTAMPTZ,
finalized_at TIMESTAMPTZ,
size_bytes INT,
status TEXT, -- success fail_gas fail_da fail_overload...
fee_native NUMERIC, fee_usd NUMERIC,
region TEXT, client TEXT, node_profile TEXT
);
Metrik yadro agregatsiyasi
sql
WITH base AS (
SELECT,
EXTRACT(EPOCH FROM (included_at - sent_at)) AS tti_s,
EXTRACT(EPOCH FROM (finalized_at - sent_at)) AS ttf_s
FROM bench_events
WHERE status LIKE 'success%'
)
SELECT chain_id, scenario,
PERCENTILE_CONT(0. 5) WITHIN GROUP (ORDER BY tti_s) AS tti_p50,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY tti_s) AS tti_p95,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY ttf_s) AS ttf_p95,
AVG(fee_usd) AS fee_avg_usd,
100. 0 SUM(CASE WHEN status='success' THEN 1 ELSE 0 END) / COUNT() AS success_rate
FROM bench_events
GROUP BY chain_id, scenario;
Effective Throughput @SLO
sql
SELECT chain_id, scenario,
COUNT() / NULLIF(EXTRACT(EPOCH FROM (MAX(sent_at) - MIN(sent_at))),0) AS tps_effective
FROM bench_events
WHERE status='success'
AND EXTRACT(EPOCH FROM (finalized_at - sent_at)) <=:ttf_p95_slo
AND fee_usd <=:fee_p95_slo
GROUP BY chain_id, scenario;
9) Kompozit indeks (hisob-kitob misoli)
yaml weights:
throughput: 0. 30 finality: 0. 25 cost: 0. 20 stability: 0. 15 liveness: 0. 10
scoring:
throughput: normalize(Sustained_TPS, p10, p90)
finality: invert(normalize(TTF_p95, p10, p90))
cost: invert(normalize(Fee_p95_usd, p10, p90))
stability: invert(normalize(Var_TTF, p10, p90) + normalize(ReorgRate, p10, p90)/2)
liveness: SLO_hit_pct
10) L2 va zanjirlararo xususiyatlar
Optimistic L2: L2-inklyuziyadan oldin va challenge-oynaning oxirigacha «ikki baravar» TTFni koʻrsatish.
ZK L2: e’lon qilish vaqtini L1 ga va prufni ishlab chiqarish/tekshirish vaqtiga bo’lish; proverlarning ishdan chiqishiga chidamliligini hisobga olish.
Validium/DA-autsors: DA-metriklar majburiy (throughput/cost/failure), aks holda taqqoslash noto’g’ri.
Zanjirlararo operatsiyalar: ko’prik stsenariylari uchun E2E TTF hisoblansin (manba → maqsad), K/DA/challenge hisobga olingan holda.
11) Taqqoslashning anti-patternlari (nimadan qochish kerak)
Bir zanjirning «rekord cho’qqisi» ni boshqa zanjirning «o’rtacha cho’qqisi» bilan solishtirish.
Ma’lumotlar qiymati va komissiyalarning o’zgaruvchanligiga e’tibor bermaslik.
Finalni hisobga olmaslik («inclusion» ni «finality» deb solishtirish).
Metriklarni «isitilgan» uzelda olib tashlash va sovuqqa ko’chirish.
Operatsiyalarning turli sinflarini normallashtirmasdan aralashtirish.
Mijoz/konfig versiyalarini qayd etmaslik - takrorlanuvchanlik yoʻqoladi.
12) Testlarning konfiguratsiyalari va parametrlari (psevdo-YAML)
yaml benchmark:
scenarios:
- name: payments mix: { simple_transfer: 0. 7, token_transfer: 0. 3 }
slo: { ttf_p95_s: 10, success_pct: 99. 7, fee_p95_usd: 0. 01 }
- name: game mix: { small_event_2kb: 0. 6, medium_event_8kb: 0. 4 }
slo: { tti_p95_ms: 500, ttf_p95_s: 3 }
- name: da mix: { batch_50kb: 0. 5, batch_250kb: 0. 5 }
slo: { publish_p95_s: 2, cost_kb_usd: 0. 0005 }
load:
background_utilization_pct: 70 spikes: { multiplier: 1. 4, duration_min: 10, period_min: 45 }
regions: [eu-central, us-east, ap-south]
network_faults: { loss_pct: 1. 0, jitter_ms: 50 }
node_profiles:
validator: { cpu: "16c", ram_gb: 64, ssd_nvme_tb: 2, bw_gbps: 1 }
archive: { cpu: "32c", ram_gb: 128, ssd_nvme_tb: 8, bw_gbps: 2 }
13) Hisobot va vizualizatsiya
Effective TPS, TTI/TTF p95, Fee p95, Cost/kB, Success%.
Radar chart (ssenariyga): Throughput/Finality/Cost/Stability/Liveness.
Vaqt qatorlari: Fee-volatility, DA latentlik, Reorg spikes.
«Operatsiya zanjiri × sinfi» matritsasi: Cost-to-Serve va TTF.
14) Jarayonlar va rollar
Benchmark Owner: metodologiya/asboblar, versiyalarni nazorat qilish.
Infra Owner: uzellar, mijozlar, konfigurlar, hududlar.
Data/BI: agregatsiyalar, toʻgʻriligini tekshirish, dashbordning SLO.
Security/Compliance: loglarning maxfiyligi va toʻgʻriligini nazorat qilish.
Governance: natijalarni eʼlon qilish, indeksning ogʻirligini oʻzgartirish.
15) Benchmark hodisalarining Playbook
Konfiguratsiyalar/versiyalar dreyfi: seriyani darhol toʻxtatish, snapshotni tuzatish, toʻgʻri parametrlar bilan qayta ishga tushirish.
Tarmoq anomaliyalari (rejadan tashqari): oynani «kontaminatsiyalangan» deb belgilash, seriyani takrorlash.
DA/pruver muvaffaqiyatsiz tugadi: alohida hodisani ajratish, DA/ZK kichik seriyasini takrorlash.
Kutilmagan narx o’zgaruvchanligi: o’rtacha AQSh dollarini belgilash, oraliqni qo’shish.
16) Joriy etish chek-varaqasi
1. Jamlanma indeks ssenariylari (TUP) va vazni tasdiqlansin.
2. Uzellar/mijozlar konfiguratsiyasini, hududlar va tarmoq shartlarini belgilash.
3. Telemetriya to’plamini korrelyatsiya va vaqtni sinxronlashtirish bilan amalga oshirish.
4. fee/DA/operatsiya sinflarini normallashtirishni moslash.
5. SLI/SLO va dashbord maketlarini kelishish.
6. Tajriba seriyasini o’tkazish, takrorlanuvchanlikni solishtirish, yuklarni kalibrlash.
7. Hisobotlarni konfiguratsiyalar, versiyalar va sanalarni toʻliq ilova qilish.
17) Glossariy
TTI/TTF - ishga tushirish/tugatish vaqti.
DA - ma’lumotlar mavjudligi qatlami (Data Availability).
Sustained/Peak TPS - barqaror/eng yuqori o’tkazish qobiliyati.
Liveness - tarmoqning bloklar/batchlarni tasdiqlash qobiliyati.
Challenge Window - optimistik-rollaplarda bahslashish oynasi.
State Growth - tarmoq holatining oʻsishi.
Hardware-Adjusted TPS - uzel qiymatini hisobga olgan holda o’tkazish qobiliyati.
Xulosa: zanjirlarning unumdorligini to’g "ri taqqoslash - bu" kim TPS dan katta "poygasi emas, balki intizom: yagona stsenariylar, qiymat va ma’lumotlarni halol normallashtirish, yakuniy va barqarorlikni hisobga olish, shaffof konfiklar va takrorlanadigan testlar. Ushbu freymvorkdan so’ng ekotizim qiyosiy, qabul qilishga yaroqli metrikalarni oladi - mahsulot uchun maydonni tanlashdan tortib zanjirlararo arxitekturalarni rejalashtirishgacha.