> For the complete documentation index, see [llms.txt](https://docs.u2dpn.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.u2dpn.xyz/decentralize-data-transmission-network/reputation-and-ranking.md).

# Reputation & Ranking

**Why**

* Trust without central authority: on-chain verifiability, cryptographic attestations
* Sybil resistance: stake-weighted identity, decay + diversity checks, cross-validation by masternodes.
* Latency/perf aware: prioritize QoS, not just uptime.
* Privacy-preserving: never require payload inspection; rely on signed metrics/proofs.

**Reputation Signal Inputs**

Each node i maintains a rolling, windowed stats vector over epochs (e.g., 24h buckets, 30–90 day lookback):

* Availability A\_i: fraction of intervals with successful QUIC accept + minimal health checks.
* Performance P\_i: composite of median RTT, jitter, loss, goodput vs. route baseline.
* Reliability R\_i: session completion ratio, reconnect success, connection migration success.
* Integrity I\_i: share of validated Proof-of-Transmission (no fraud flags), dispute loss rate.
* Demand Fit D\_i: geo/ASN proximity match and destination success (egress ACL passes).
* Stake & Tenure S\_i: bonded collateral (slashing coverage) and age since registration.
* Peer Endorsements E\_i (optional): masternode-issued attestations; weighted by their own rep.<br>

All signals come from signed reports (providers/lightnodes) and validator outcomes (masternodes). No raw traffic is exposed.

**Reputation Score & Ranking**

We compute a bounded score Rep\_i ∈ \[0, 1] using a Bayesian-smoothed and decay-weighted aggregation:

Decay weighting (recentness bias):

`w_t = exp(-λ * Δt)     // λ e.g., 0.08–0.15; Δt in days`

Per-signal normalized subscore:

```
A_i^* = clamp01(β_A0 + Σ_t w_t * availability_t)
P_i^* = clamp01(β_P0 + Σ_t w_t * perf_normalized_t)
R_i^* = clamp01(β_R0 + Σ_t w_t * completion_ratio_t)
I_i^* = clamp01(β_I0 + Σ_t w_t * (1 - fraud_flag_rate_t))
D_i^* = clamp01(β_D0 + Σ_t w_t * demand_fit_t)
S_i^* = clamp01(f(stake, tenure))  // diminishing returns on stake
E_i^* = clamp01(Σ attestations weighted by attestor Rep)
```

Combined reputation with learnable weights (policy-set or DAO-tuned):

```
Rep_i_raw = Σ_k α_k * X_k^*      // k ∈ {A,P,R,I,D,S,E}, Σ α_k = 1
Rep_i = sqrt(Rep_i_raw)          // concave transform: reward consistency
```

**Penalties & floors:**

* Fraud/Dispute penalty: multiplicative factor p ∈ \[0.0, 1.0] per epoch with validated fault.
* Identity churn penalty: rotate identity too often → dampen S\_i^\*.
* Regional fairness: per-region quota to avoid single ASN dominance (applied at selection time).\ <br>

**Selection score used by Intelligent DNS / path planner:**

```
Sel_i = Rep_i * QoS_i * PriceWeight_i
QoS_i = 1 / (1 + norm_RTT + norm_jitter + norm_loss)
PriceWeight_i = g(target_price, node_price)  // favors near-target cost
```

**Sybil Resistance & Slashing**

* Staking contract: register node → bond stake\_i.
* Slashable events: proven fraud (forged metrics), route blackhole, repeated SLA breaches.
* Progressive slashing: geometric schedule; heavy repeat offenders banned X epochs.
* Identity binding: Ed25519 long-term key ↔ on-chain record; rotate with cooldown; stake transfers delayed (unbonding period).\ <br>

Merkle-committed off-chain rollups (from masternodes) feed the on-chain cache to minimize gas. Disputes can submit interval proofs referencing committed Merkle roots.

<br>
