Demystifying PoP

Gabriele Rigo
RigoBlock
Published in
5 min readOct 17, 2019

Proof of Performance, aka PoP, is the algorithm at the core of the RigoBlock protocol incentives mechanism. RigoBlock is a protocol for digital token management through token pools. A token pool is a standalone DAO (Decentralized Autonomous Organization) which can have many different applications: custodial services, fund administration services, asset management services, investment fund services, and so on. Token pools operators are the core agents of the RigoBlock protocol and are rewarded in GRG token for the value and performance of their token pools.

The RigoBlock protocol is a permissive protocol, meaning that it offers a great degree of freedom for the pool operators on how they want to run their own token pools and to some extent to how they charge fees (if any) to the token pools. On the one hand, this result is obtained by organizing the protocols in applications, which can also be extended by external developers/community contributors. On the other hand, the level of abstraction of the protocol allows for the pools operators to enforce arbitrary rules at their discretion and to add their own service providers (like their administrator, custodian, execution service of choice).

Everything is then bundled together through the GRG token, which is both required to perform some specific tasks (more in detail in the next paragraph) and which is used as a benchmark for the rewards calculations adjustments. This allows for aligning the interests of the different stakeholders of the RigoBlock network and verifiable on-chain track records.

The components

The following is a list of the factors included in the reward calculation together with a brief description.

epoch

epoch time is the time between two consecutive reward claims. It is currently 2 weeks and can be optimized according to gas costs and community needs.

epoch reward

this parameter is unique for each class of token pool, aka application. It is a multiplier which allows calibrating and standardizing the rewards the different applications’ token pools.

registry

each token pool created by one of the factories of the RigoBlock protocol is automatically recorded in a global registry, which is used to query all token pools in an optimized way.

id

each token pool is assigned a unique identifier number, which is used as input for the “claim” function.

is active

a token pool can be excluded from the incentives mechanism by the RigoBlock DAO.

minimum

the minimum amount of GRG tokens a pool operator must hold to be able to receive rewards, currently 10 and subject to adjustment by the community governance.

ratio

the reward has 2 components: the first based on the assets in a token pool (more specifically the ETH in the token pool); the second based on the performance on the token pool. The ratio is used to calibrate the optimal mix of the 2 components for each application.

high watermark

the performance of a token pool is evaluated in comparison to its high watermark, i.e. the token pool’s all-time highest point in unitary price. This prevents rewarding a pool operator for the same performance twice, should the performance of a token pool be negative between different epochs.

pool price

the unitary price of a token pool. Calculation of price is obtained either on-chain or off-chain according to the application.

The slashing conditions

Each token pool is evaluated by its unitary price and total value. In some instances, a token pool operator might opt-out to chose his own services. Therefore, the token pools will not hold all the assets at all times. This is especially useful for smart contract risk diversification and we received a lot of demand for this feature which we called “self custody” (as explained in the previous post here). In order to obtain reward tokens, a pool operator will have to “prove” the value of the token pool. The Proof-of-Performance algorithm, in fact, will penalize non-provable NAVs.

slashing factor

the penalization increases exponentially according to the following formula and with a decay factor of 18%:

y = (1-decay factor) * k^[(1-decay factor)^(n-1)]

the ETH token pool balance requirement

the resulting reward component will, therefore, be multiplied by the slashing factor. This will result in 100% for any token pool holding more than 80% of their value in ETH; 82% from 60% to 80%; 20.1% from 40 to 60%; 0.29% from 20 to 30%; 0.05% from 10 to 20%; 0 below 10%. This means that it is exponentially more expensive, and therefore anti-economical, for the pool operator to declaring a fake price in the applications where he can arbitrarily set the price.

the GRG token pool operator balance requirement

because no fee is charged on the token pool, a malicious operator could create many different tokens, feed them at different time intervals and claim rewards on the same effective ETH multiple times. We could define this as a “double spending” problem. Even though costs for the operator to exploit such flaw (Ethereum gas fees) are multiplied, thus not making it necessarily economically attractive, the possibility still exists. To address the issue, the GRG token is used in order to make it economically unviable to move ETH between token pools between epochs and multiply the reward. In fact, the full reward is received by GRG holders of at least 0.05% of the total supply; 82% by holders of between 0.04 and 0.05%; 20.1% by holders of between 0.03 and 0.04%; 2.9% by holders of between 0.02 and 0.03%; 0.05% by holders of between 0.01 and 0.02%; 0.02% by holders of between 0 and 0.01%. By requiring the pool operator to hold at least 0.05% of GRG’s total supply the economic loss from double-spending would be higher than the expected profit, therefore resulting in an actual monetary loss for the malicious pool operator. The present model also provides an incentive to accumulate and hold GRGs, while at the same time not giving unfair advantages to big holders of GRG.

maximum epoch reward

a single proof of performance reward cannot exceed 0.1% of the initial total supply.

The overall result

The biggest accomplishment of Proof of Performance is to abstract the token pool price evaluation from the pure on-chain assets, allowing multiple services to be used, on-chain transactions and costs, reducing risk by increasing diversification, allowing the implementation of more complex trading strategies without prejudice for those pools operators that still want to operate fully on-chain.

The Proof of Performance incentives mechanism and smart contracts are subject to change by the community governance and are expected to be further subject to optimizations/amendments in the future. You can access the protocol through the portal beta.rigoblock.com.

--

--