近日,UC Berkeley(加利福尼亚大学伯克利分校)的著名社团“伯克利区块链”官方媒体推文解读了真随机证明Proof Of True Randomness(PoTR),首次揭开PoTR的神秘面纱……
近日,UC Berkeley(加利福尼亚大学伯克利分校)的著名社团“伯克利区块链”官方媒体推文解读了真随机证明Proof Of True Randomness,首次揭开了真随机证明Proof Of True Randomness的神秘面纱……
真随机证明Proof Of True Randomness(PoTR),是由世界顶级密码学专家、美国北卡大学(UNC)王永革教授首创,并首次提出PoTR共识概念;
PoTR共识机制被首次应用在硬件共识公链SperaX中。
在伯克利区块链社团的官方媒体文章中,PoTR共识概念首次在区块链业界被探讨,并且与几大传统公有区块链共识算法PoW、PoS进行比对。
以下内容来自原文翻译:
“如果共识协议中的随机性源(仅在当前的软件级别中提供)被偏置或篡改,则任何单个节点都可能操纵整个网络;如果在PoS中执行无成本模拟攻击,则共识将受到损害;在这两种情况下,区块链都将带来失败(指公链受到攻击,整条链受损或坍塌——编者注)。
解决此问题的最佳方法是将真正的随机性纳入共识协议,但真正的随机性很难在软件级别生成,但它确实存在于物理世界中。因此,实现真正随机性的一种方法是设置硬件级随机数生成器,这种方法称为PoTR(Proof Of True Randomness真实随机性证明)。
PoTR的基本思想是节点在称为PCH(PoTR共识硬件)的特殊硬件中运行,并且PCH生成的真随机数将用于确定下一个要挖掘的块以及验证器(产生新的区块——编者注)。通过使用硬件级随机数生成器,共识协议能够保证区块链的公平性,安全性和不可预测性。”

Randomness is one of the cornerstones of modern technologies based on computation, especially in the field of secure-channel communication and cryptography. Even the simplest encryption scheme such as One-Time Pad(OTP) requires randomness to work because otherwise, any adversary could break the encryption by knowing the encryption function and performing the reverse computation.
Besides being useful for building a secure channel for communication and encrypting information, randomness is also helpful for deciding which node is talking to which while multiple nodes want to talk with each other. Blockchain is a perfect example for that where multiple parties are trying to come to an agreement — or rather, consensus — and randomness plays a huge role in this process.
There are various ways to achieve such an agreement. In the bitcoin whitepaper written by Satoshi Nakamoto, he proposes the “Proof of Work(PoW)” system, in which computers can only cast votes after performing an expensive amount of computing power. Every computer operation consumes energy and time, both of which are valuable resources. By forcing someone to consume these two things, there are going to be two results:
1)You prevent someone from using multiple identities to gain more power. They are limited by computing resources, not votes.
2)Every vote has value because resources were spent to achieve them. You can say that every vote is worth the amount of power that went into producing that vote, into solving that problem that was generated for that block at that round. Plus, instead of needing to have everyone vote on a given block, every one can simply accept the vote cast for the block with the valid solution, or proof-of-work, for that problem.
PoW does not rely on subjective interpretation of the consensus. Take bitcoin as an example, its PoW protocol uses a cryptographic hash function called SHA-256 and it deterministically maps its input into a pseudorandom outcome in one-direction. This approach is secure enough for now but it’s not ideal if the hash function doesn’t generate sufficiently enough outcomes. More specifically, in bitcoin, voters selection could be biased if the selection process is not truly random. Furthermore, in bitcoin, every account holder has a private/public key pairing as his/her unique identity, and the private key is generated pseudorandomly, which means there is a very small chance that two accounts will have the same private address.
PoW is one of the earliest consensus algorithms in Blockchain that we know it works. It is widely used by public blockchain including Bitcoin, Ethereum, Litecoin, and others. However, as mentioned before, bitcoin’s PoW protocol requires every node to perform some computational task in order to vote. This consumes a large amount of power and it is economically inefficient.
Theoretically, any consensus mechanism finding a way to reach consensus in a limited bandwidth would be an alternative way to replace PoW. These solutions include PoS(Proof of Stake), PoA(Proof of Authority), dPos(delegated Proof of Authority). Most of these alternative approaches solve the problem by selecting voters based on some tangible resources.
Take PoS as an example, validators are selected with the probability proportional to how many digital assets (stake) the account is holding.
PoS protocols employ validators to guard the network. There are no miners, and there are no computational puzzles to solve. No one is bound to compute useless hashes forever. There is just trust, trust in the fact that the validators are so invested in that particular blockchain that they will work in its favor.
Thus, since no actual computational work has to be done, a validator simply just need to take some transactions from the transaction pool, put them into a block and publish it. Anyone who is selected as the network validator could be able to create up-to-date branches without spending significant computational power, this is called Costless Simulation.
If the source of randomness in the consensus protocol, which is only provided in the software level currently, is biased or tampered, any single node is potentially able to manipulate the entire network. If Costless Simulation Attack is performed in PoS, the consensus will be compromised, in both these two cases, the blockchain would fail.
The best way to solve this problem is by bringing true randomness into the consensus protocol. True randomness is quite hard to be generated in the software level, but it does exist in the physical world. Therefore, one approach to bring true randomness is by setting up hardware-level random number generators.
This approach is called PoTR(Proof of True Randomness). The basic idea of PoTR is that nodes are running in special hardware called PCH(PoTR consensus hardware), and the true random numbers generated by PCH will be used to determine the next block to mine and also the validator.
By using the hardware-level random number generators, the consensus protocol is able to guarantee fairness, security, and unpredictability for the blockchain.
