## 2 Background and Related Work
### Consensus Protocols Based on Verifiable Random Function  
During the development of consensus protocols from PoW-based to PoS-based, one critical problem is that how PoS-based consensus protocols, whose energy consumption is much lower, guarantee fairness and justice when choosing the node to generate a new block while maintaining the robustness of the system after abandoning the competition scheme, such as hash computing in PoW-based consensus protocols. Under the circumstances that PoS comes under heavy criticism on the trend of centralization, verifiable random function (VRF) was introduced into the building of consensus protocols by [PERSON] et al. in the description of Algorand [17]. The conception of VRF was proposed by [PERSON], [PERSON], and [PERSON] for the purpose of combing unpredictability and verifiability [18]. VRF is a cryptographic function that maps inputs to verifiable pseudorandom outputs and has the following three properties: pseudorandomness, verifiability, and uniqueness. These properties will be explained along with the introduction of the algorithms of VRF. * Key pair generation algorithm: \(G(i)\rightarrow(K_{\wp},K_{\s})\). For a random input \(i\), a pair of a verification key \(K_{\wp}\) and a secret key \(K_{\s}\) will be produced. * Evaluation algorithm: \(E(K_{\s},X)\rightarrow(Y,\pi)\). The evaluation algorithm takes the secret key \(K_{\s}\) and message \(X\) as inputs, and it will produce a random output \(Y\) and a proof \(\pi\). The random output here indicates the unpredictability and uniqueness since the output will not change if the input and key pair do not alter. * Verification algorithm: \(V(K_{v},X,Y,\pi)\to True/False\). The verification algorithm takes the verification key \(K_{v}\), message \(X\), output \(Y\), and the proof \(\pi\) as inputs, then the result True or False shows the verification result of whether the output \(Y\) is actually produced by the evaluation algorithm with message \(X\) and the corresponding secret key \(K_{s}\). This asserts the property of verifiability that the output can be validated by anyone who has the necessary information. Generally, VRF provides a random data generator in which the random producing is associated with the private secret key and the producing can be verified by the public verification key, and the VRF is used for the random picking of the block producer or block producer group. Based on the properties of VRF, the Algorand network implemented cryptographic sortition, which allows a collection of users to secretly participate in reaching consensus, without them being known to anyone else [17]. The cryptographic sortition can be described as a combination of local sortition, winner broadcast, and public verification. The participants in the procedure of consensus need to perform the sortition locally such that a verifiable deterministic random number \(Y\) will be produced, and this local sortition will indicate if the participant is selected, which means whether the produced \(Y\) locates in the range. Since this produced \(Y\) can be verified by every participant in the network, it is impossible for the existence of impostors. Afterward, the selected participant broadcasts the result of the sortition and submits the candidate for the new block. Another consensus protocol called Dfinity is also based on the VRF but is designed for the permissioned blockchain model [19]. In the Dfinity network, all participants, called clients, are registered for a permanent and pseudonymous identity, and the registration has an advantage on the prevention of misbehavior over the network without registration due to the penalty and the possible stake deposit. All the clients will be assigned into different groups based on the output of the VRF, and VRF is also used to randomly choose one group from all groups to perform the Boneh-Lynn-Shacham threshold signature scheme (BLS) [20].