Consensus Algorithm of NPICKBLOCK
Last updated
Last updated
NPICKBLOCK main net is a blockchain platform for social media service. Accordingly, a main net operates based on a consensus method suitable for social media service.
NPICKBLOCK main net selects a Node in the similar mode as DPoS(Delegated Proof of Stake), Nodes are determined on the ground of various activities existent in social media service. In social media service, influential users called Influencers exist. These users mean the users who carry out various activities in the service and strongly influence other users.
DPoS is carried out in a process in which specific representative Node is selected among PoS and consensus is reached. It is, so to speak, structure of making participants with lots of interest on specific blockchain network participate as a Node for block generation. Here, lots of interest can be substituted by influence within social media service. Based on influence concepts replaced like this, NPICKBLOCK main net gets to select a participating Node.
Selection of users based on Gaussian distribution
In case of influence feature numerical vector, dimension is composed of user behavior- based functions existent within social media service such as comments, upload, etc.
And the figure of each dimension is determined by the frequency of behavior that some influencer used social media service and by the reaction figure of other users to Influencer’s behavior of each dimension.
For example, in case some Influencer wrote comments in specific contents, the figure of comment dimension increase by 1. And in case, to relevant action, other users reacted using functions such as comments of comments or Good, the dimensional figure increases as much as the figure of the reaction. Such reaction arises n times, the figure of comment dimension increases as much as n+1.
NPICKBLOCK main net draws Gaussian distribution based on the sum of all dimensions of influence feature numerical vector by user. And it selects the upper point of distribution, that is, a set of users above R1 or R2 as a participating Node. And each Nodes share Gaussian Score information of other Nodes.
Gossip Protocol with Delegated Influencer
NPICKBLOCK main net shares information based on Gossip among Nodes. That is, a specific Node generates a block randomly among Nodes, and shares information on block generation by randomly selecting some of remaining Nodes. In this case, together with information on block generation, the signature of the Node which generated relevant block and information on the selected other Nodes are also transmitted.
Nodes that received relevant sharing information calculates the internal current chain score based on signature information of the Node which generated a block. After that, it recalculates the current chain score, re-sharing block sharing information utilizing information of other Nodes that it received together. Then, in case the current chain score becomes 2k/3 or more, the current level is terminated. After that, another Node generates a block and this process is repeated.
NPICKBLOCK main net generates block generation information based on the above Gossip Protocol. For example, in case k Nodes exist, it can be assumed that the ith Node generated a block. Then, the ith Node randomly selects n Nodes among k-1 Nodes and shares block generating information. The n Nodes which received this information update the current chain score based on influence of the ith Node. And n Nodes share block generation information with each other, continuously updating a current chain score. Then, in case the current chain score becomes 2k/3 or more, current level is terminated.
In this case, Nodes which can terminate current level are the Nodes whose current chain score is not less than 2k/3 among n Nodes. Accordingly, n-j (In this case, j means the number of Nodes whose score information for 2k/3 has not been updated among n Nodes) Nodes get to generate the next block. And block generation information is shared k-1 Nodes randomly selected according to Gossip Protocol and, among this k-1 Nodes, a Node not included in n-j Nodes may exist.
That is, among Nodes which are not n-j Nodes that know the final score at the previous level among n Nodes selected by the ith Node that generated the initial block, a Node which received block generation information at the next Level may exist. In this case, the relevant Node receives all information related to previously generated information, that is, block information of main chain, current level information and s block chain information and updates them into the latest information. After that, it proceeds with a consensus process updating the current chain score at a current level.
Because NPICKBLOCK main net, utilizing Gossip Protocol, allows information between and among 2k/3 Nodes to be shares, it can cope with a variety of attacks such as Parasite chain attack, Double Spending, etc. This is verified in an attach type which can react according to guarantee of Byzantine Fault Tolerance in case 2k/3 Node shares information.