In the previous article, we mentioned that CPoC (Conditional Proof of Capacity) is a popular and effective consensus formed on the basis of PoC (Proof of Capacity), absorbing PoS (Proof of Stake) and other currently popular and effective consensuses. The consensus of the head of the family, and by virtue of it, the distribution of digital assets is more equitable and reasonable to drive the prosperity of the entire ecological community. And all the issues of CPoC, such as resistance to centralization of computing power, resistance to ASICization, and energy saving, have been discussed in depth, and will not be repeated here.
Figure 1: Comparison of power consumption per unit time between PoW and PoC
But we still have one question left unresolved, namely how exactly the technical details of CPoC are structured. This article will try to discuss the basic principles of CPoC in terms of technology as much as possible, and increase the reader’s comprehensive understanding of the consensus, thereby enhancing users’ confidence in blockchain projects that adopt the consensus.
As we have mentioned before, CPoC is essentially a composite consensus that introduces PoS staking incentives on the basis of PoC, and distributes a part of the tokens to pledgers as an incentive. To use a simple analogy, if we think of CPoC as a tree, then PoS is its leaves and flowers, and PoC is its stem and roots. It can be seen that if you want to deeply understand the CPoC consensus adopted by QitChain, then understanding its foundation and pioneer – PoC is an essential step.
Branches and Roots: The Basic Technical Principles of PoC
PoC is a consensus mechanism based on proof of capacity, that is, providers of storage services compete for the packaging and accounting power of the blockchain by providing storage space, thereby obtaining the digital token incentives contained in the corresponding blocks. Obviously, under the consensus of PoC, the greater the storage space provided by the storage service provider, the greater the chance of obtaining packaged accounting and digital assets.
In the field of distributed storage, the owner and requester of stored content are undoubtedly the two most important roles. The owner provides storage space, and the requester initiates a request to the owner based on the permissions of the file to read, edit, and use. There is an obvious relationship between verification and verification. From a role-playing perspective, the requester is the verifier and the owner is the prover. To give a simple example, if Alice initiates a request to Bob to query a certain file F in her disk, this is equivalent to Bob proving to Alice that the file F does exist in her disk.
It should be emphasized that one of the core concepts of PoC is to achieve “inefficiency of the prover and high efficiency of the storer” in terms of storage resources. This concept ensures that validators can spend very little resources and time proving the ownership of a space or a file by the owner. This is not technically difficult to implement, and here we will try to briefly discuss some of the technical details. If the reader has a certain understanding of cryptography or graph theory, it is easy to understand the following description.
Now we start to imagine a situation, Alice is going to initiate verification to Bob, asking the latter to prove that there is a file F with a certain size of space stored on Bob’s disk.
In the context of PoC, the purpose of file F is to prove the fact that the prover does use a certain amount of storage space. Therefore it has no formal requirements for this document F. In PoC, the content of the file is a directed acyclic graph structure, which is illustrated as follows:
Figure 2, 3: Directed Acyclic Graph
A directed acyclic graph is defined such that for all points x in the graph, the path shown by the arrow cannot return to itself. In the directed acyclic graph structure of file F, we define its arbitrary node k and define the function E(k):
In this function, point k’ is the immediate predecessor node of point k. And if k has no direct predecessor node, that is, when no node points to node k, then the function
. For the directed acyclic graph of file F, Bob, as the prover, needs to perform operations on each node k belonging to F and store each E(k) for Alice’s random sampling check.
From the above process, we found that in all the data stored by Bob, the value of each node has undergone at least one hash operation, and the hash value of any direct predecessor node is derived from the hash value operation of all its predecessor nodes. . Therefore, the dataset generated by Bob has essentially constituted a Merkle tree. The entire verification process starts with this tree.
The first step in the entire verification process is initiated by the prover Bob, who computes the root node θ of this Merkle tree and sends it to Alice. As a verifier, she needs to initiate a verification request to Bob. Alice will randomly select a node j from the entire Merkle tree and ask Bob to give the value of E(j) and the position of the value in the Merkle tree. . If Alice can verify the validity of the hash value E(j) calculated by Bob, and verify that E(j) indeed exists in the tree whose vertex is θ, the proof is valid.
Through the above steps, we have completed a calculation process under PoC consensus. From the description of the process, we can clearly see that the larger the hard disk that the storage provider can provide, the more the directed acyclic graph can be stored, and the calculation is completed first and the block packaging right is obtained. The probability of its digital asset reward is also greater.
As an improved consensus of PoC, CPoC basically inherits the algorithm principle of PoC. Although we have previously stated the advantages of PoC compared to PoW and PoS, we must also see that PoC still has its own weaknesses, these weaknesses include:
At present, there are relatively few developers willing to engage with the PoC consensus. At present, there are only a few projects such as HDFS and Burst (and these projects are not successful in terms of current development). Therefore, it is still impossible to form a strong team and perfect project to promote the development of the entire PoC ecological environment.
Since the P disk process needs to fill the storage service provider’s hard disk space with plot files, these plot files that can fill up all the hard disks have no other function except for the right to pack and book blocks. Therefore, in essence, it is still a waste of a large amount of storage space.
Although the PoC consensus solves a series of problems caused by the current PoW consensus, such as excessive energy consumption, ASICization of hardware, and high technical thresholds. However, it still does not fundamentally solve the problem of hardware competition. In other words, storage service providers can still unite and use a large amount of storage space to monopolize, thus posing a threat to the distribution of distributed digital assets.
If PoC consensus becomes popular and profitable in the blockchain industry, a computer virus or malware could hack into computers that are not storage systems under PoC consensus and turn them into “broilers” to compete for the zone Packing and accounting rights for blocks. Under the PoW consensus, many computers will be significantly slower due to the intrusion of these malware; but under the PoC consensus, this attack will become more subtle – because it is difficult for “broiler” users to distinguish the occupation. Whether the excessively large file is generated by the system itself or is filled by the plot file after being attacked.
Leaves and Flowers: A PoS -Based Conditioning Model
Different from PoC that uses pure storage space for calculation, CPoC introduces the PoS pledge mechanism and turns this pledge mechanism into a conditional proof. The conditional proof consists of two elements, namely, the storage provider and the top ten users who pledge digital tokens in the entire network.
According to the white paper provided by the QitChain team, the digital assets contained in each newly generated block that is packaged and recorded are divided into storage providers and the top ten users who pledge digital tokens. And this is the condition (Conditional) represented by the first letter C in the CPoC mechanism, and this condition is based on a threshold specified by the team for the service provider. The meaning of the threshold is that the storage provider reaches the conditional model. The required pledge amount threshold. Depending on whether the pledge amount provided by the actual storage provider exceeds this threshold, the distribution of QitCoin tokens to the storage provider and the top ten users of the entire network for pledged digital assets is very different. In order to let readers understand how big the gap is, we directly quote the formula in the white paper to explain:
We use θ1 and θ2 to denote the part of a block that is allocated to storage providers and the top ten users of the entire network pledged assets respectively, and all digital assets in the block are denoted by ρ, then obviously, θ1+θ2 = ρ. Now, let χ denote the staking threshold of the storage service provider that produced the block, and staking denote the actual staking amount of the service provider. Then for each block, the dividing formula of its digital assets is:
It can be seen that for CPoC, this proof of working hours is essentially encouraging, or even forcing storage providers to pledge digital assets. Hardware to destroy distributed economic distribution, in order to solve the “hardware arms race” problem that still exists under the PoC consensus.
In the above, we discussed in depth the principles of PoC and the conditionalization model of PoS. In essence, the CPoC consensus adopted by QitChain is the combination of the above two. By comparing the advantages and disadvantages of CPoC and its predecessors, we can clearly see that the new consensus was born under the need to constantly repair the defects of the old consensus. Although the CPoC consensus still has its own weaknesses that are difficult to solve, for example, it does not have the problems of anti-malware, waste of plot files and so on. However, considering that the blockchain is an emerging and promising industry, it is still in a state of a long way to go. CPoC has been regarded as an excellent fruit obtained through a process of searching up and down. As for how far the CPoC consensus and QitChain can go; and when there will be newer and better consensus proofs and the blockchain projects they support, it is always something worth waiting to see.
QitChain Network, Qitcoin Whitepaper
GeeksforGeeks, Proof of Capacity
Andrew, P., What is Proof of Capacity? An Eco-Friendly Mining Solution
MASS Docs, Proof of Capacity
Dzeimbowski, S., Faust, S., Kolmogorov, V., Pietrzak, K., Proofs of Space, Cryptology ePrint Archive
Hayes, A., Proof of Capacity
Posted by:CoinYuppie，Reprinted with attribution to:https://coinyuppie.com/talking-about-the-architectural-details-of-qitchain-network-and-the-basic-principles-of-consensus-part-2/
Coinyuppie is an open information publishing platform, all information provided is not related to the views and positions of coinyuppie, and does not constitute any investment and financial advice. Users are expected to carefully screen and prevent risks.