KOK platform uses a BP selection algorithm called 'DPOSS' and a consensus algorithm called 'PPBFT' to create a stable and efficient consensus. To support this, we introduce the concept of 'GOS-BP' as a new BP structure.
BP Selection Algorithm(DPOSS)
The node that is delegated the block generation to create the block and determines the main policy is called the block generation node-block producer (hereinafter BP). All DApps are eligible to become BP Different from the existing DPOS, DApp that manage real business participate as BPs to prevent collusion and to make responsible operations of DApp.
BP Consensus Algorithm(PPBFT)
he BPs that form the KOK MainNet initially start with 21 number of BP, and each BP forms the single Region by three BPs
- One BP has two logic layers. The upper layer is a service layer and the lower layer is a Communication Layer that is responsible for consensus. The BP that represents DApps that do not operate normally or are not ready yet when the MainNet launched is a Dummy BP, which participates in the MainNet only as a lower layer of Communication Layer.
- The seven region are fixed before the start of the MainNet, taking into account the distribution of global telecommunication networks and the DApp.
- Each Region has its own index for the initial MainNet generation, called the Block Region Index (BRI), with numbers from 0 to 6.
- Each BP has its own index, which is called the Block Producer Index (BPI). The BPI is fixed at initial MainNet creation and the number is from 0 to 20.
- The index for each BP extends to the adjacent Region and increases. In other words, Region 0 has BPs with BPI 0, 7, 14 and Region 1 has BPs with BPIs 18,15.
A certain time zone where blocks are generated is called the Block Generation Period, which BP is responsible for the initial block generation during that period and the responsible node is called as the Primary BP. Twelve blocks are created during the one block generation interval. (The number of blocks to be created in one interval can be adjusted through further simulation and testing.
Primary BP is already set during the previous block generation interval. The method is determined by the value of function MOD 21 as a module for the last four byte value of the hash value of the second block generated during the previous block production interval. MOD 21 function result returns as integer result value of not less than 0 and not more than 20 for whatever the input value is. This value is the exponential value of the BP that will be the next Primary BP.
Six BPIs obtained by adding 1,2,3,4,5,6 to the index value of the primary BP and applying the MOD 21 function to the neighbor BPs of the primary BP are called 'Lead BPs' of each Region. During this block generation period, Lead BP is in charge as the leader, which leads the consensus with the Primary BP in its Region and notifies the Primary BP of the result.
The primary BP propagates its initial block to the Lead BPs of neighboring Regions, and the Lead BP of each Region propagates the received block to the other two BPs of its own Region to verify the consensus. The consensus algorithm used is PBFT (Practical Byzantine Fault-Tolerance).
Each Lead BP sends the consensus of its Region to the Primary BP. The consensus algorithm used this period is also PBFT.
The new consensus algorithm of KOK Platform that combines the above process is called PPBFT (Parallel PBFT).
Group Of Symmetry BP (GOS-BP)
GOS-BP refers to the selection of 'BP' based on the 'characteristics of symmetrical structure' according to Group Theory, and the structure where participating representative nodes develop the DApp ecosystem and allow the KOK platform to expand at a safer and faster rate. In this symmetrical structure, similar DApp services find similarity through “structuralization” by comparing the number of transactions, node distribution, and time complexity that occur within the structure of each DApp service. This similarity can be grouped into one large group, overcoming the existing blockchain limitations by optimizing the similar structure within the group.
We define it as GOS-BP (Group Of Symmetry-Blockchain Producer).