Home
Mathematical Representation

Mathematical Representation

This section outlines the mathematical representation of the Oracle Integrity Staking (OIS) protocol.

As explained in the implementation section, every publisher is assigned a staking pool where they can self-stake and to which other stakers can delegate.

Pool Cap

The pool cap is calculated as follows:

Pool Cap:Cp=MsSymbols_p1max(ns,Z)\large{\text{Pool Cap}: {\bold{C_p}} = M \cdot \sum_{s \in \text{Symbols\_p}} \frac{1}{\max(n_s, Z)}}

Where:

  • MM is a constant parameter representing the target stake per symbol.
  • Symbols_p\text{Symbols\_p} is the set of symbols published by the publisher pp.
  • nsn_s be the number of publishers for symbol ss.
  • ZZ is a constant parameter to control cap contribution from symbols with a low number of publishers.

This formula ensures that symbols with a lower number of publishers contribute more to the overall cap, while symbols with a higher number of publishers contribute less. This is because the contribution of each symbol is inversely proportional to the number of publishers (or Z, whichever is larger).

Reward

The reward RpR_p distributed to each pool is calculated as follows:

Rp=ymin(Sp,Cp)\large{\bold{R_p} = y \cdot \min(S_p, C_p)}

Where:

  • yy is the cap to the rate of rewards for any pool
  • SpS_p be the stake assigned to the publisher p pool , made of self-staked amount SppS^{p}_{p} and delegated stake SpdS^{d}_{p} , or Sp=Spp+SpdS_{p} = S^{p}_{p} + S^{d}_{p}.
  • CpC_p be the stake cap for the pool assigned to publisher p.

The total amount of rewards distributed to all pools is bound by the same cap relative to the amount of rewards available to the OIS protocol.

pPublishersRpymin(NM,p=1PSp)\large{\sum_{p \in \text{Publishers}} R_p \leq y \cdot \min(N \cdot M, \sum_{p=1}^{P} S_p)}

Where:

  • NN is the total number of symbols in the system.
  • PP is the total number of publishers in the system.

Whereas the reward component relative to the amount self-staked by the publisher pp is defined as:

Rpp=ymin(Spp,Cp)=RpRpd\large{\bold{R^{p}_{p}} = y \cdot \min(S^p_p, C_p) = R_p - R^d_p}

Where:

  • RpdR^d_p is the reward component relative to the amount delegated to the publisher pp.

Slashing

Slashing is an important aspect of the OIS protocol to ensure the integrity of the system.

The slashed amount for each pool is calculated as follows:

SLp=wSp=w(Spp+Spd)\large{\bold{SL_p} = w \cdot S_p = w \cdot (S^{p}_{p} + S^{d}_{p})}

Where:

  • SLpSL_p is the slashed amount for the publisher pp pool.
  • ww is the slashing rate.
  • SpS_p is the stake assigned to the publisher pp pool , made of self-staked amount SppS^{p}_{p} and delegated stake SpdS^{d}_{p} , or Sp=Spp+SpdS_{p} = S^{p}_{p} + S^{d}_{p}.

Here SLpSL_p is uniformly allocated to both the self-staking publisher and delegators in the pool, pro-rata to their respective stake.

Subsequently, the rewards received by a publisher and delegators into a pool, net of any slashed amounts can be expressed as below:

Πpp=(Rpp+fRpd)wSpp\large{\bold{\Pi^p_p} = ( R^p_p + f \cdot R^d_p ) - w \cdot S^p_p} Πpd=Rpd(fRpd+wSpd)\large{\bold{\Pi^d_p} = R^d_p - ( f \cdot R^d_p + w \cdot S^d_p )}

Where:

  • Πpp\Pi^p_p is the net reward received by the publisher pp after slashing.
  • Πpd\Pi^d_p is the net reward received by the delegators after slashing.
  • ff is the delegation fee charged by the pool.
  • ww is the slashing rate.
  • SppS^p_p is the amount self-staked by the publisher pp.
  • SpdS^d_p is the amount delegated to the publisher pp.
Last updated on