Delegated Proof of Importance

DPoI is a consensus network algorithm, that calculates your reputation (aka DPoI Importance rate) as a sum of 3 components: stake, your social and your economic scores in the network. Stake is a number, defined by the amount of tokens you freeze for hardware resources. Your social and financial utility levels in the network are expressed as two other numbers, that are computed, based on incoming social and financial transactions from other network participants. It is important to point out, that only incoming transactions influence the user’s social and economic “importance” in the network. In this way, other members of the network “build” your reputation.
Since DPoI reputation is composed of the account’s stake and socio-economic utility, this metric stimulates network growth via reward for the useful activity in the community. U°OS DPoI score directly and transparently measures user’s social capital in the network without middlemen involved. Algorithm implements the principle «you enrich the network, network enriches you».

DPoI Importance rate is used in the system for several purposes:

  • for efficient governance, based on delegation and voting: users vote and the weight of their votes are their importance scores. They vote for a limited set of block producers (limit in the number of BPs helps to protect from fake block generation type of network attack), and for calculating nodes, that calculate DPoI scores and perform other operations. Other forms of voting can utilize user importance scores as well.
  • for emission allocation: in order to maintain sustainable economic growth and to reward users for their contribution, U°OS implements dynamic emission, that depends on the total volume of socio-economic transactions in the network. Once this value reaches its all-time maximum, new tokens are issued and distributed between the network participants, according to their individual importance rates. Emission is allocated based on the economic needs and growth rates of the network, it is regulated to prevent token inflation (preserves token liquidity).
  • to represent user rates in the web interfaces (such as Decentralized App (DApp) that we developed — U.Community). The rate is a direct representation of the user’s reputation, and can be decomposed into their economic, social or stake-based reputation. Social reputation can be further decomposed, based on a topic by tag.

Many other DApps can be deployed on our blockchain, such as marketplaces, blockchain-based analogs of GitHub, StackExchange, AirBnB, Facebook, knowledge base systems, etc. User can build their reputation on these platforms, via DPoI. Such reputation might have various interpretations in these different contexts.

How is DPoI Importance score calculated:

As mentioned already, DPoI importance score is a sum of three components: stake value, financial utility score and social utility score. Financial and social utility scores are calculated, using two modifications of the PageRank algorithm.

Financial score calculation:

Financial utility score utilizes the algorithm, called NCDAwareRank. This algorithm takes into consideration level of integration of the account in the general network, helping to protect the system from the (mostly isolated) botnet attacks.
Here Pagerank-based algorithms (including NCDAwareRank) was chosen in order to quantify the user’s utility to the network in an objective way. This family of algorithms allows to account for incoming links from other users and measure this utility. Importance scores for all users are recalculated every 300 sec, and the value of each blockchain transaction, that serves as an input to the computation, decreases over time. Newer transactions contribute to the importance score more than older ones.
Additional attack protection is implemented during financial score calculation:

  • user’s stake must exceed a threshold for their financial transaction to be taken into account in the calculation
  • transfer amount in the transaction must exceed another pre-defined threshold

Social score calculation:

For a given network account, classical PageRank algorithm considers all incoming social transactions (upvotes and reposts) during a predefined period of time together with the modification, that we invented: the levels of trust, that are given to the user by other accounts. These levels of trust help to protect the network from botnet attacks that aim to imitate useful activity and obtain additional rate. System of trusts, distributed by the users of the network, augments the algorithm to prevent activity imitation. Users in the system are able to assign trusts to the accounts of other users. High total level of trust, assigned to the account by other users, will positively influence the final score, calculated for the account in a period of time. The level of trust that you can transmit from your account depends on your stake and a number of accounts that you entrust. These trusts define account validity (in other words, a level of belief that an account is indeed a good user in the network, rather than a malicious one).

For more technical details about the algorithm, please, refer to our Yellow Paper.

Yellow Paper Link:
https://github.com/UOSnetwork/uos.docs/blob/master/yellow_paper/uos_yellow_paper.eng.pdf

For more informal introduction to the algorithm, please, watch our DPoI tutorial videos and read our
articles about the algorithm:

U°OS Network YouTube channel
DPoI Introduction:
DPoI social rate computation:

U°OS Network articles:
DPoI Introduction:
DPoI social rate computation: