U°OS DPoI trust network and user validity: explained in writing


Network accounts on U°OS blockchain and on U°Community DApp can be represented as nodes in the directed graph, where edges between the nodes depict outgoing and incoming activity (Pic 1).

Pic 1: Socio-economic network

On U°Community DApp you can perform 2 main types of activity:

  • financial transactions, called transfers
  • social transactions - upvotes, downvotes, reposts

Together network accounts with above mentioned relationships form a socio-economic network in a decentralized peer-2-peer environment, based on U°OS blockchain. Social and economic transactions serve as an input data for DPoI computation algorithm (ref. 1 and ref. 2), that calculates the dynamic Importance rate (aka DPoI reputation) of the user.

Social activity score (a component of DPoI Importance rate) is calculated using a classical PageRank procedure with modified vector of priorities, that depend on user’s stake and a special value, called validity. For the detailed explanation of this computation, refer to (ref. 3) and (ref. 4). Here we discuss in details what is this validity score and introduce a second special network, that exists together with the socio-economic network and delivers the validity rate to each network participant. It is called the network of trusts (Pic 2).

Pic 2: Network of trusts

Each user can allocate a trust to any other network peer using the Trust button on U°Community DApp. This action means, that a user believes that a network participant is a real digital participant, rather than a malicious bot. Network accounts with directed edges, that represent trust relationships, form the trust network. This network has been implemented in order to protect the main network from botnet attacks, that aim to increase the rate of an attacking account, by the means of activity imitation. Each participant transmits trust proportionally to their stake amount. Such a condition ensures that high level of trust is provided only by the reputable users in the community. Validity value is calculated, based on the set of incoming trust transactions, received by the participant. It is computed using another PageRank procedure below (Pic 3):

Pic 3: PageRank computation of validities

with an outlink matrix O~trust (that has values of 1's, where the trust is given) (Pic 4)

Pic 4: Outlink matrix of validities

and a special priority matrix T~trust, that defines unequal validity priorities in the initial vector (Pic 5):

Pic 5: Priority matrix of validities

Final values v, obtained after the algorithm converges, will be:

  1. turned into binary values (values of either 0 or 1), using a standard Heaviside function and a predefined threshold, that signifies that if a user’s validity is larger than the threshold, the user will be validated. Pic 6: Binary validities:


Pic 7: Final validities

      2. final validities are standardized to sum to 1 (Pic 7) - this is necessary for the computation of the social activity rate (in order for the social activity index PageRank procedure to converge)

Now one can see that the validity value greater than 0 means that the user is validated by the network, value of 0 means they are not validated. Validity value will influence the social score that a user receives. A user with small stake and zero validity can not exceed a minimal social activity rate, making botnet attacks less likely and much less efficient.

References:

[1] https://u.community/posts/7373

[2] https://youtu.be/bypQl4RlaZg

[3] https://youtu.be/Ft1XlSk1yJ4

[4] https://u.community/posts/8269