# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.u2dpn.xyz/decentralize-data-transmission-network/reputation-and-ranking.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
