You are currently viewing a new version of our website. To view the old version click .
Sensors
  • Article
  • Open Access

11 August 2022

Distributed Random Beacon for Blockchain Based on Share Recovery Threshold Signature

,
,
,
,
,
and
1
School of Cyber Science and Technology, Beihang University, Beijing 100191, China
2
Hangzhou Innovation Institute, Beihang University, Hangzhou 310051, China
3
Neusoft Corporation, Shenyang 110179, China
4
Liaoning Blockchain Engineering Technology Research Center, Shenyang 110179, China
This article belongs to the Special Issue Cryptographic Technologies for Securing Blockchain

Abstract

Random beacons play a crucial role in blockchains. Most random beacons in a blockchain are performed in a distributed approach to secure the generation of random numbers. However, blockchain nodes are in an open environment and are vulnerable to adversary reboot attacks. After such an attack, the number of members involved in a random number generation decreases. The random numbers generated by the system become insecure. To solve this problem while guaranteeing fast recovery of capabilities, we designed a threshold signature scheme based on share recovery. A bivariate polynomial was generated among the participants in the distributed key generation phase. While preserving the threshold signature key share, it can also help participants who lost their shares to recover. The same threshold setting for signing and recovery guarantees the security of the system. The results of our scheme show that we take an acceptable time overhead in distributed key generation and simultaneously enrich the share recovery functionality for the threshold signature-based random number generation scheme.

1. Introduction

Distributed randomness has played a crucial role since the birth of blockchain technology. In the classic Nakamoto consensus, the winner of the consensus would be inseparable from the generation of publicly verifiable randomness, which is calculated by a hash function. The verifiability of public randomness allows the verifier to quickly determine the validity of the solution to the proof-of-work puzzle.
As blockchain technology evolves, many excellent protocols are being devised. Distributed randomness generation remains a significant protocol component of these protocols. Blockchain protocols that incorporate distributed random beacons as protocol components mainly include proof-of-stake (PoS) consensus [1], leader [2], and committee selection [3] of a Byzantine fault tolerant (BFT) consensus [4], blockchain sharding [5], anonymous selection [6], etc.
The development of blockchain technology has also contributed to the development of the direction of generating distributed randomness by relying on cryptography primitives. Threshold signature (TSS) [3], verifiable delay function(s) (VDF) [7], publicly verifiable secret sharing (PVSS) [8], verifiable random function (VRF) [9], and homomorphic encryption (HE) [10] are essential instruments for constructing distributed random beacons. The design of distributed random beacons has also become the focus of designing an optimized blockchain protocol [11].
Secure distributed random beacons are expected to consistently generate publicly verifiable, unpredictable, bias-resistant randomness. However, distributed randomness generation participants are in open networks. Participants may be subject to attacks by active adversaries [12]. The active adversary may restart the honest random beacon protocol participants. Then the honest participants under such an attack will lose the ability to participate in the protocol, which in turn compromises the security of the randomness generation. Further, it poses a significant threat to the blockchain system. Malicious adversaries can arbitrarily control the output of random numbers. This attack behavior eventually leads to blockchain systems becoming untrustworthy [13].
The group of participants involved in randomness generation in the blockchain is in the public network. The adaptive adversary can corrupt participants in the group. The adversary can adaptively destroy a limited number of nodes over a while. Active adversaries restart the nodes, causing them to lose stored information and thus the ability to participate in random number generation. Therefore, a method that can help participants regain the ability to generate random numbers while ensuring the security of random number generation needs to be considered in the design of distributed random beacon.
Typically, in a random beacon protocol employing threshold signatures, an active adversary may launch an attack on the participants, causing it to lose its own key share. After suffering such an attack, the participants can no longer participate in the threshold signature generation process [14]. This dramatically reduces the security requirements against the bias-resistance initiated by the adversary on the randomness [3], and the adversary can readily gain profit in the protocol [15]. Active adversaries have the ability to interfere with the generation of random numbers. Ultimately, this attack leads to the generation of random numbers becoming insecure.
In this work, a share recovery threshold signature scheme is proposed for the above adversary attack scenario. After a participant is subjected to an active adversary attack, it can restart to obtain the correct share with the assistance of other honest nodes and, thus, continue to receive the randomness generation capability. Our proposed scheme utilizes the dual homogeneous asymmetric polynomial. One dimension of the polynomial is employed for the threshold signature. Another dimension of the polynomial is used to help participants who suffer from active adversary attacks to recover the lost key share. After a theoretic analysis and experiment evaluation, the presented random beacon scheme can guarantee the properties of bias resistance, unpredictability, and public verifiability of randomness.
The main contributions of this paper are as follows.
1.
Secure. After the execution of the key generation, the participants have a signature key share and a binary polynomial to assist other participants in recovering the private key share. A dual homogeneous asymmetric polynomial scheme can prevent the adversary from recovering the secret information below the threshold range. The remaining participants can help the lost share participant to recover the private key share by simply issuing lightweight information.
2.
Robust. Robust threshold signature schemes are devised. The share recovery mechanism for the threshold signature can be employed to help participants who have lost their key shares recover them. The perfection of the threshold signature key recovery function effectively prevents active adversary attacks and enhances the availability and bias-resistance of the random beacon.
3.
Trustworthiness. The process of key generation is performed in a way. The random number generation process does not have any trusted participants. Our proposed scheme addresses the challenge of the dual homogeneous asymmetric polynomial generation.
The rest of this paper is organized as follows. In Section 2, we describe the related work on the distributed randomness beacon. In Section 3, we present the preliminaries of our protocol. Section 4 describes the system model and an overview of our robust distributed beacon. In Section 5, we describe the robust distributed beacon in detail and analyze its correctness and security. Section 6 presents our prototype implementation and evaluation results. In Section 7, we present our conclusions.

3. Preliminaries

In this section, we introduce the cryptographic preliminaries used in our scheme.

3.1. BLS Signature

The most well-known threshold signature scheme is the pair-based threshold signature scheme [24]. The BLS signature consists of Setup, KeyGen, SigGen, and Verification—four polynomial algorithms.
  • Setup. The BLS signature uses bilinear pairing with a non-degenerative property. Gap Diffie–Hellman groups G 1 , G 2 of suitable elliptic curve points with values in a group of units G T . For each group, set the generator g 1 G 1 , g 2 G 2 , g T G T . The BLS signature also needs a hash function H 1 : { 0 , 1 } * G 1 with values in  G 1 .
    e : G 1 × G 2 G T
  • KeyGen. Generate a secret key and public key based on the parameters chosen in the setup phase.
    Step 1: select a random integer x as the secret key in group G 1 .
    Step 2: compute the public key Y = g 1 x .
  • SigGen. Sign a message m by the key generated in the KeyGen phase.
    Step 1: compute the hash value H 1 ( m ) of the message.
    Step 2: compute the signature of the message using the secret key x.
    s = H 1 ( m ) x
  • Verification. Verify the correctness of the signatures s generated in the SigGen phase. Verify: the signature is only valid if the following equation holds.
    e ( g 1 , s ) = e ( y , H 1 ( m ) )
    Proof of Correctness: the above equation can verify the correctness of the signature for the following reason.
    e ( g 1 , s ) = e ( g 1 , H 1 ( m ) x ) = e ( g 1 x , H 1 ( m ) ) = e ( y , H 1 ( m ) )

3.2. Threshold BLS Signature

Boldyreva [23] proposed a well-known threshold BLS signature. Our scheme utilizes the same threshold signature scheme as DFINITY.
  • Setup. In the threshold BLS signature, the set of n participants P 1 , , P n along with the secret key set x 1 , , x n are used as the ( t , n ) -threshold Shamir secret sharing of the value s. In this set, any k t values from this key set cannot reveal any information about x. There exists the Lagrangian interpolation algorithm, which takes as input any t, or more values from this key set can output x. This algorithm is expressed as:
    ( t , n )   secret   sharing P 1 , , P n : x 1 , , x n ( t , n ) x .
    The secret set x 1 , , x n corresponds to the public key set y 1 , , y n . The public key set y 1 , , y n and x corresponding y are available to all participants.
  • SigshareGen. Participants P 1 , , P n sign a message m by the key generated in the KeyGen phase.
    Step 1: participants compute the hash value H 1 ( m ) of the message.
    Step 2: participants P 1 , , P n compute the signature of the message using their own secret key x i where i [ 1 , n ] :
    s i = H 1 ( m ) x i
    The participant calculates the share of signatures and broadcasts it to the other participants.
  • Sigreconstruction.
    Step 1: After obtaining the signature shares of others, participants P 1 , , P n verify the correctness of  s i ) . The verification process uses the same equation as the BLS signature above. The correctness of the equation is the same as the verification of the correctness of the BLS signature. The above signature correctness verification is passed and the signature reconstruction operation is performed.
    Step 2: any t + 1 or more correct shares of subset R compute the signature:
    s = Π i R s i L i
    where L i is the appropriate Lagrange coefficient for the correct signature share set.
  • SigVerification. Verify the correctness of the signatures s generated in the Sigreconstruction phase. This phase is the same as the BLS signature.
    Verify: the signature is only valid if the following equation holds.
    e ( g 1 , s ) = e ( y , H 1 ( m ) )
    Proof of Correctness: the above equation can verify the correctness of the signature for the following reason.
    e ( g 1 , s ) = e ( g 1 , H 1 ( m ) x ) = e ( g 1 x , H 1 ( m ) ) = e ( y , H 1 ( m ) )

3.3. Decentralized Key Generation

To implement a threshold signature key generation system between participants, the distributed key generation phase needs to be applied. In order to implement the recovery of the lost key shares, our scheme improves on the existing basic protocol. Improvements of the distributed key generation are described in detail in Section 5.
  • Setup. In the setup phase, some public parameters were created.
    G q is the subgroup of  F p of the order q, where p, q are both large primes, q divides p 1 , and g is the generator of  F p . Our scheme denotes a group of n participants as  P 1 , , P n .
  • KeyGen. The threshold public key y is constructed by the share public keys of all members.
    Step 1: P i computes its share public key y i = g x i .
    Step 2: P i broadcasts a commitment C i = C ( x i ) to all participants.
    Step 3: every participant computes the public key y = i = 1 n y i . y can verify the correctness of the reconstructed signature; thus, the threshold secret key x = i = 1 n x i .
  • Broadcast. P i shares its own generated polynomial f i ( z ) to all of the participants without revealing the coefficients.
    Step 1: construct a random polynomial f i ( z ) Z q of degree t, such that the secret key x i = f i ( 0 ) . Let
    f i ( z ) = f i 0 + f i 1 z + + f i , t z t
    where f i 0 = x i .
    Step 2: compute commitment C i j = g f i j , where j = 0 , 1 , , t .
    Step 3: broadcast ( C i j ) j = 0 , 1 , , t and s i j = f i ( j ) to other participants. At this time, C i 0 = y i .
  • Verification. P j verifies the correctness of  s i j sent from  P i .
    Step 1: P i computes s i j = f i ( j ) = f i 0 + f i 1 j + + f i , n j t .
    Step 2: P i sends x i j with the corresponding signature to  P j through a secure channel
    Step 3: P j verifies the signature and then checks the correctness by the following equation.
    g x i j = m = 0 t + 1 ( C i l ) j m
    If the condition is not satisfied, the interaction will end. The subsequent interaction in the above case is an interesting issue, but not the focus of this paper. Moreover, P j will broadcast the error to all members.
  • Reconstruction. By defining f ( z ) = f 1 ( z ) + f 2 ( z ) + + f n ( z ) , P i could compute s i = j = 1 n s i j = f ( i ) . Thus s i is a share of  f ( 0 ) = x .
    P i computes its share s i = j = 1 n s j i where s j i is received from other j participants and its own s i i . Afterward, s i can be used as the private key share of the threshold signature.

3.4. Verifiable Random Function

The verifiable random function is the final progress of our scheme to generate randomness. A verifiable random function is defined as a tuple of the following algorithms.
  • KeyGen. Input value r; the algorithm generates a secret key s k and an output verification key v k .
  • Eval. The evaluation algorithm produces a pseudorandom output R, the output corresponding proof π on input s k , and a message m.
  • Verify. Verify the algorithm outputs 1 if and only if the output produced by the evaluation algorithm is R and is verified by the proof π given the verification key v k and the message m.

4. Decentralized Random Beacon Committee for Blockchain

In this section, an overview of the random beacon committee for blockchain is presented, including the application scenario, system architecture, and security properties.

4.1. Application Scenario

Random beacon committees can be very instrumental for blockchain. DFINITY uses this approach to assign different participants to different committees. However, members of the committee may be attacked by active adversaries. Active adversaries launch reboot attacks against some of these members. Members lose their secret share, which in turn leads to the loss of the ability to participate in randomness generation. This eventually results in the random number output of the committee becoming insecure. The adversary can easily influence the entire committee. Ultimately, the above attack behavior leads to the generation of biased randomness.
Addressing this issue allows for capacity enhancements to the existing blockchain. On the one hand, the key recovery process requires a straightforward process. Share recovery for any one participant does not cause all nodes to change. The scenario for share recovery should be provisioned during protocol initialization. On the other hand, the components of the system cannot have a trusted third party. Therefore, the design of our protocol focuses on the design of polynomials that initialize the decentralized key generation.

4.2. System Architecture

The randomness generation beacon committee for blockchain consists of three sub-modules: blockchain participant, decentralized random beacon committee, and blockchain system. The system architecture is depicted in Figure 1.
Figure 1. The architecture of our scheme.
  • Blockchain participants are the base members of the blockchain. They are composed of different committees for normal transaction validations according to the randomnesses generated by the random number committee. The participants perform the basic processes of transaction initiations, confirmation, and consensus of the blockchain.
  • The decentralized random beacon committee is the core of the system. Committee members run the distributed key generation. After the key generation, the committee members run the distributed threshold signature scheme and output the threshold signature shares. After the signature share reconstruction process, the final signature is an output. It is worth noting that the reconstructed signatures are verified for correctness by the public key and then a consistent threshold signature is an output. The final threshold signature is input to the verifiable delay function to output the final random number. The random number obtained by the committee is used to determine the committee composition of the participants for the next round.
  • The blockchain system records the transactions in which the nodes operate normally. Meanwhile, the randomness generated in a round is recorded in each block in order to implement the next round of randomness generation. This random number is used in the next round of signed messages to generate randomnesses.

4.3. Security Properties

The randomness generation beacon committee for blockchain that we proposed was designed to achieve the following property requirements. For the unpredictability, bias-resistance, public verifiability, and availability properties, we refer to the excellent work by Raikwar [11]. The following mathematical formulas are referenced from the work by Raikwar. The recovery property was due to the new security requirements brought about by our solution design. In the following, definition λ is a security parameter and negl ( λ ) is a negligible function of  λ .
  • Unpredictability. Let A s 1 , , s e , s t e ) be a probabilistic polynomial time algorithm that receives secret shares s 1 , , s e where ( e t ) and the current state s t a t e e as the input values. Let A output the a value s e + f for any value (future rounds) f 2 , and for all rounds e 1 . The following relation is satisfied.
    Pr A s 1 , , s e , s t a t e e = s e + f negl ( λ )
  • Bias resistance. Let A i s 1 , , s e 1 , s t a t e e 1 ) for  i = 1 , , e where ( e t ) be probabilistic polynomial time algorithms that receive the values v 1 , , v e 1 and the current s t a t e e 1 as input and output one bit: 0 or 1. Let bit i s e denote the i-th bit in the binary representation of  s e , let b = s e be the number of bits of  v e . Then, for every e 1 , every A i ( ) , and for all ( i = 1 , , e ) .
    Pr bit i s e = A i s 1 , , s e 1 , s t a t e e 1 1 2 + negl ( λ )
  • Public verifiability. Verify( ) as a public probabilistic polynomial time algorithm run by an external randomness verifier. The verifier at the end of round e receives v e , π e and the s t a t e e 1 as input values, and outputs a bit 0 or 1 based on the verification of  v e using π e . Then, for every round e 1 .
    Pr Verify v e , π e , s t a t e e 1 1 negl ( λ )
  • Availability. Let A be an adversary controlling a fraction of participants and P h P be a set of honest participants in the decentralized randomness beacon protocol. The number of  P h is more than t + 1 . Given v e , π e , p a r a m s and s t a t e e 1 , for every round e 1 and for every participant P i P h .
    Pr UpdateState s t a t e e 1 , p a r a m s , v e , π e s t a t e e negl ( λ )
  • Recovery. Let A be an adaptive adversary rebooting a fraction of participants and P d P be a set of dishonest participants in the decentralized randomness beacon protocol. The number of  P d is less than t. Given v e , π e , p a r a m s , and s t a t e e 1 , for every round e 1 and for every participant P i P h .
    Pr UpdateState s t e 1 , p a r a m s , v e , π e s t a t e e negl ( λ )

5. Decentralized Random Beacon with Share Recovery Threshold Signature

In this section, we present a process description of the decentralized random beacon with the share recovery threshold signature, including the system definition and construction. Then we give the correct analysis and security analysis of the proposed scheme.

5.1. System Definition

A share recovery threshold signature mainly consists of the following six algorithms: setup, distributed key generation, share recovery, threshold signature, signature verification, and randomness generation.
  • Setup. This step runs to initialize the scheme. It takes as input a security parameter 1 k , and outputs the system public parameter p a r a m s .
  • Decentralized key generation. Decentralized random beacon committee members P 1 , , P n take public parameters p a r a m s as input and run this step to generate their own key share M s k i ( i = 1 , , n ) , recovery polynomial R i ( i , y ) , and public signature verification key C p k .
  • Share recovery. Once a participant p i of the committee loses his share of the key, the rest of the participants assist him in recovering the key share. Other participants send R i ( x , i ) to  p i . After receiving more than t + 1 recovery shares, he can recover the signature shares M s k i himself.
  • Threshold signature. P 1 , , P n participants take as the input the system public parameters p a r a m s and the message recorded in the last round block m; they share their own key share ( M s k i , i = 1 , , n ) and output threshold signature σ .
  • Signature verification. Committee members P 1 , , P n verify the validity of the signature σ . It takes as the input the system public parameters p a r a m s , message m, signature σ , the shared signature verify public key C p k , and the output 1 if and only if the unique signature is valid (otherwise outputs 0).
  • Randomness generation. The unique verified signature σ is entered into the verifiable random function for the calculation. The output of the randomness calculation and the evidence π e of the calculation are stored in the block of the current round.

5.2. Random Beacon with Share Recovery Threshold Signature Construction

  • Setup. This involves the gap Diffie–Hellman groups G 1 , G 2 of suitable elliptic curve points with values in a group of units G T . For each group, we set the generator, g 1 G 1 , g 2 G 2 , g T G T . Their relationship e satisfies Equation (3). A one-way hash function H 1 : { 0 , 1 } * G 1 with values in  G 1 . E is an elliptic curve over F q . g is a generator on the curve E and its order is prime q. We also need the same as DFINITY [5] to calculate the obtained threshold signature eventually to the VRF. So, we need the committee’s VRF private key v r f s k and verification public key v r f p k . The system parameter is p a r a m s = ( F q , E , g , q , g 1 , g 2 , H 1 , e , v r f s k , v r f p k ) .
  • Decentralized key generation. All committee participants P 1 , , P n generate the threshold signature key via the distributed key generation, Algorithm 1. It is important to emphasize that the polynomials we use are not symmetric bivariate polynomials ( F i ( a , b ) F i ( b , a ) ) . Moreover, the bivariate polynomial dimension has the same degree t. Unlike the previous work, we refer to this as the homogeneous bivariate polynomial. The participants interact with each other by the described algorithm. Eventually, they complete the interaction, participant p i will obtain a commitment C o m m i t about the polynomial F ( x , y ) = i = 0 n F i ( x , y ) , recovery polynomial R i = i = 0 n F i ( x , i ) . p i also have M s k i = i = 0 n F i ( i , 0 ) , and the verification public key C p k = g i = 0 n F i ( 0 , 0 ) for the threshold signature. Ultimately, the secret private key for the threshold signature is M s k = i = 0 n F i ( 0 , 0 ) . It can be the Lagrange reconstruction by the M s k 1 , , M s k i algorithm. They both satisfies the F ( x , 0 ) polynomial distribution. The following mathematical expressions were designed by the authors.
Algorithm 1 Decentralized key generation for the participant p i
1:upon setup finished do
2:choose a random homogeneous bivariate polynomial F i ( x , y ) of degree ( t , t ) with F i ( 0 , 0 ) = s k i , i.e.,
F i ( x , y ) = m , n = 0 t , t u m n x m y n
3:    C o m m i t i = C m n = g u m n for  m [ 0 , t ] and n [ 0 , t ] C o m m i t i is a matrix
4:set  C o m m i t = C o m m i t i
5: M s k i = F i ( i , 0 )
6: R i ( x ) = F i ( x , i ) R i ( x ) is a polynomial of  F i ( x , y ) where y = j
7: C p k = g F i ( 0 , 0 )
8:
9:for  j [ 1 , n ]  do
10: a j ( x ) F i ( x , j )
11: b j ( x ) = F i ( j , 0 ) b j ( x ) is a value
12:send “send, C o m m i t i , a j ( x ) , b j ( x ) ” to  p j
13:upon receiving  s e n d , C o m m i t j , a i ( x ) , b i ( x ) from  p j  do p i do
14:check the correctness of  a j ( x ) , b j ( x ) by C o m m i t j
15:upon correct
16: p i set
17: C o m m i t = C o m m i t j C o m m i t ▹ ∘ is Hadamard product
18: R i = R i + a j ( x ) ,
19: M s k i = M s k i × b j ( x )
20: C p k = C p k × g F j ( 0 , 0 ) g F j ( 0 , 0 ) is extracted from  C o m m i t j
21:return  C o m m i t , M s k i , R i , C p k
  • Share recovery. Our scheme assumes that the active adversary launches a reboot attack on no more than n ( t + 1 ) participants (at least t + 1 honest participant alive). The process of key recovery is illustrated in Figure 2. The attacked participant p i can recover the key share via Algorithm 2. The following mathematical equations were performed by the authors.
    Figure 2. The progress of our share recovery.
Algorithm 2 Share recovery for participant p i
1:upon reboot attack effect do
2:send “help, p i ” to  p j
3:upon receiving “help, p i ” from  p i
4: p j  do  R j ( i ) = F ( i , j )
5:send “echo, C o m m i t , R j ( i ) , p i ” to  p i
6:upon receiving “echo, C o m m i t , R j ( i ) , p i ” from  p j
7:check the correctness of  R j ( i ) by C o m m i t
8:upon correct
9: R e c o v e r y i R e c o v e r y i R j ( i )
10:if echo ≥ t + 1  then Lagrange from  R e c o v e r y i ▹ satisfy F ( i , y ) polynomial distribution
11:return M s k i , C p k C p k is extracted from  C o m m i t
  • Threshold signature. Participants P 1 , , P n sign a message from the last round block m by the decentralized key generation. Participants compute the message hash H 1 ( m ) . Then, the participants P 1 , , P n compute the signature of the message using their own secret key M s k i where i [ 1 , n ] :
    σ i = M s k i H 1 ( m )
    The participant calculates the share of signatures and broadcasts it to other participants. After obtaining the signature shares of others, the participants P 1 , , P n verify the correctness of σ i . The above signature correctness verification is passed and signature reconstruction is performed. Any t + 1 or more correct shares subset R compute the signature:
    σ = Π i R σ i L i
    where L i is the appropriate Lagrange coefficient for the correct signature share set.
  • Signature verification. Verify the correctness of the signatures σ generated in the reconstruction phase. This phase is the same as the BLS signature. The signature is only valid if the following equation holds.
    e ( g 1 , σ ) = e ( C p k , H 1 ( m ) )
  • Randomness generation. After the threshold signature and signature verification phase, the committee obtains a uniquely determined threshold signature. The threshold signature can be input to a verifiable random function for the calculation. The decentralized random beacon committee inputs signature σ with v r f s k into a verifiable random function. The VRF evaluation algorithm produces a pseudorandom output randomness R and the output corresponding proof π on input v r f s k and a message σ . Decentralized random beacon committee participants can verify the algorithm to verify output correctness. It is verified by the proof π , given the verification key v r f p k and the message σ .

5.3. Correctness Analysis

The correctness of this decentralized random beacon with the share recovery threshold signature includes four aspects: valid decentralized key generation, share recovery, valid signature, and availability randomness. They respectively depend on:
(1)
The generation of key shares M s k 1 , , M s k n can obtain a valid signature
(2)
Participants’ P i key share M s k i can be recovered by P 1 , , P n where n t + 1 .
(3)
The generation of the valid BLS signature σ that could be verified.
(4)
The randomness R generated by the BLS signature σ and VRF committee secret key v r f s k can be verified.
Specifically, the correctness of our scheme is indicated by the following branches.
-
Decentralized key generation correctness.
According to the decentralized key generation phase, key shares M s k i = j = 0 n F j ( i , 0 ) . The participants interact with each other j = 0 n F j ( i , 0 ) = F ( x , 0 ) . Thus, M s k 1 , , M s k n satisfy the F ( x , 0 ) polynomial distribution. In all, the decentralized key generation is correct.
-
Share recovery correctness.
In the decentralized key generation phase, every participant P i holds a recovery polynomial R i = j = 0 n F j ( x , i ) . The participants interact with each other j = 0 n F j ( x , i ) = F ( x , j ) . During the key recovery process, P i sends F ( i , j ) to P j . The degrees of F ( x , y ) , two dimensions, are both t. F ( i , 1 ) , F ( i , n ) satisfy the F ( i , y ) polynomial distribution. Therefore, once recovery shares are received that satisfy the threshold t + 1 , the participant P i can recover the share F ( i , 0 ) . Thus, the share recovery phase is correct.
-
Signature correctness.
Based on decentralized key generation and share recovery correctness, the committee participants’ secret key M s k 1 , , M s k n satisfy the F ( x , 0 ) polynomial distribution. The threshold signature secret is s k = j = 0 n F j ( 0 , 0 ) = s k j = F ( 0 , 0 ) . Moreover, C p k = i = 0 n g F i ( 0 , 0 ) = g F ( 0 , 0 ) = g s k . Thus, the share signature can be verified.
-
Availability randomness correctness.
Based on the threshold signature correctness, the threshold signature phase can output a unique signature σ . The reason for the uniqueness of BLS signatures includes two aspects. The first reason is the non-adaptive “random k value“ involved in the calculation. Moreover, as in Equation (7), the unique public key is involved in the signature verification. The randomness of the output comes from the one-way function of the signed message m.

5.4. Security Analysis

As mentioned above, our solution needs to satisfy properties, such as unpredictability, bias-resistance, public verifiability, availability, and recovery. In our scheme, signature unforgeability and share privacy are key to gaining the above properties. These overlapping security properties can be formally reduced to two core security definitions: signature unforgeability and share privacy.
Theorem 1.
The proposed share recovery threshold signature construction is unforgeable under the assumption that the GDH is hard.
Proof of Theorem 1. 
The signature in the proposed share recovery threshold signature is based on the threshold BLS signature. Note that the security of the threshold BLS signature scheme has been formally proven under the assumption of GDH in the random oracle model [23,24]. Thus, the proposed threshold BLS signature construction also enjoys unforgeability in the random oracle model under the GDH assumption. □
Theorem 2.
The share in the proposed share recovery threshold signature construction is privacy.
Proof of Theorem 2. 
We focus first on the information available to adversary A during the decentralized generation stage. Other participants send A the share generation message ( C o m m i t j , F i ( x , A ) , F i ( A , 0 ) ) on each share polynomial F i ( x , y ) . Because of the DLP hardness assumption, the secret-sharing hiding property guarantees that this is insufficient to distinguish any other point on F i ( x , y ) from random with non-negligible probability.
Next, we consider the information available to adversary A during the share recovery stage. If adversary A lost his share and requested recovery, he can only gain more than f + 1 points of F i ( A , y ) . He learns nothing about the secret unless he can distinguish secret F ( i , 0 ) from random.
Next, we provide insight into the reconstruction stage. In this stage, other dishonest participants may send him t share reconstruction messages. He learns nothing about the secret unless he can distinguish the secret; there is one more share reconstruction message from random.
Finally, we need to consider share privacy during share recovery. Adversary A cannot recover shares of other participants through the key recovery mechanism. Our bivariate polynomials use the same threshold t + 1 . More importantly, our polynomial is not symmetric ( ( F i ( a , b ) F i ( b , a ) ) ). t adversary A cannot recover the secret or recover the secret share of other participants. □

6. Evaluation

We compared the schemes based on the above study of the distributed random beacon. Table 2 compares the above scheme and our scheme in terms of setup assumptions, communication overhead, active adversaries, and recovery. The scheme proposed in this paper strengthens the DFINITY scheme against active adversary attacks. Participates in RandRunner and the POW random beacon scheme can compete against active adversaries. However, both schemes require a common reference string as the setup assumption. In our proposed scheme, the initialization of the system is accomplished through the distributed key generation. Our scheme has better performance in terms of trustworthiness.
Table 2. Comparison of the existing random beacon protocols.
HAVEN is different from our proposed scenario in terms of the scenarios. It is more concerned with the impact of network assumptions on the scheme. We analyzed our scheme in a theory comparison with HAVEN [39], as shown in Table 3. E represents the exponentiation calculation and LO represents the Lagrange interpolation. We have the same computational overhead for the signature generation and share recovery compared to HAVEN. However, our proposed scheme has less computational overhead in the generation phase.
Table 3. Comparison of recent asynchronous verifiable secret sharing protocols.
In terms of the experimental simulation, we implemented the scheme simulation based on the PROJECT [40]. The environment of our simulation was Intel(R) Core(TM) i5-1135G7 @ 2.40 GHz, RAM 16.0 GB, and Ubuntu 9.4.0, JAVA openjdk version 11.0.15. We deployed five to eight nodes to implement the distributed key generation and key recovery. In system deployments with varying node sizes, we executed our program (50 rounds, consecutively) and recorded the execution times. The performances of our DKG scheme and share recovery scheme with different nodes are present in Figure 3 and Figure 4.
Figure 3. The performance of our DKG scheme with different nodes.
Figure 4. The performance of our share recovery scheme with different nodes.
After the DKG execution, we performed the threshold signature and input the results into VRF. Using five nodes as an example, we compared our threshold signature scheme with the Libert threshold signature scheme [41]. Finally, the program output randomness, see Figure 5. It should be noted that the message transmission delay between nodes was considered in our time calculation.
Figure 5. The performance of our threshold signature and randomness generation.

Performance Analysis

From Figure 3, we can see that our DKG runtime function increased as the number of nodes increased. This is because our scheme is designed to use the homogeneous bivariate polynomial. As the number of nodes increases, the number of interactions between nodes also needs to increase. At the same time, the computation and verification times of the nodes for messages need to increase. This again confirms the design of our solution. As presented in Figure 4, the node share recovery time in our scheme increases as the number of nodes increases. The reason is that the threshold setting for the share recovery is set at the same level as the key recovery setting. From Figure 5, one can see that our scheme has no impact on the efficiency of the threshold signature and VRF computation. The share recovery function was performed before signing. We must enrich the random number generation function based on the threshold signature.

7. Conclusions

We presented a key recovery threshold signature randomness beacon scheme for blockchain. This scheme allows participants to recover the key share after an active adversary reboot attack. Moreover, it is proven that our random beacon scheme can avoid generating unpredictability, bias-resistance, and public verifiability randomness. Moreover, our scheme supports the availability and recoverability of randomness generation. As shown in the performance analysis, our practical solution gains new functionality at a fraction of the cost. The number of nodes increases by one node, and the time of DKG and the share recovery add approximately 0.4 s. In the future, additional research needs to focus on the study of the effect of the network assumption on random number generation. At the same time, robust and secure generation of random numbers in asynchronous networks should be investigated. To summarize, due to the recovery and efficiency, our key recovery threshold signature randomness beacon scheme applies to randomness generating for blockchain.

Author Contributions

Conceptualization, Y.Z., B.L., Y.Y., S.H.; software, Y.Z., Z.D.; formal analysis, Y.Z., B.L.; writing—original draft preparation, Y.Z., G.H.; writing—review and editing, Y.Z., Y.Y., H.Z. G.H. All authors have read and agreed to the published version of the manuscript.

Funding

This work is supported by the Open Program of Neusoft Corporation, Item number NCBETOP2101, the National Key R&D Program of China through project 2020YFB1005600, the Beijing Natural Science Foundation through project M21031, the Natural Science Foundation of China through projects U21A20467, 61932011, 61972019 and 62002011, the China Postdoctoral Science Foundation 2021M700347.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. David, B.; Gaži, P.; Kiayias, A.; Russell, A. Ouroboros praos: An adaptively-secure, semi-synchronous proof-of-stake blockchain. In Proceedings of the Annual International Conference on the Theory and Applications of Cryptographic Techniques, 2018; Springer: Berlin/Heidelberg, Germany, 2018; pp. 66–98. [Google Scholar]
  2. Gilad, Y.; Hemo, R.; Micali, S.; Vlachos, G.; Zeldovich, N. Algorand: Scaling byzantine agreements for cryptocurrencies. In Proceedings of the ACM Symposium on Operating Systems Principles, Shanghai, China, 28 October 2017; pp. 51–68. [Google Scholar]
  3. Hanke, T.; Movahedi, M.; Williams, D. Dfinity Technology Overview Series, Consensus System. arXiv 2018, arXiv:1805.04548. [Google Scholar]
  4. Castro, M.; Liskov, B. Practical Byzantine Fault Tolerance. OsDI 1999, 1999, 173–186. [Google Scholar]
  5. Kokoris-Kogias, E.; Jovanovic, P.; Gasser, L.; Gailly, N.; Syta, E.; Ford, B. Omniledger: A secure, scale-out, decentralized ledger via sharding. In Proceedings of the IEEE Symposium on Security and Privacy, San Francisco, CA, USA, 21–23 May 2018; pp. 583–598. [Google Scholar]
  6. Goyal, V.; Kothapalli, A.; Masserova, E.; Parno, B.; Song, Y. Storing and retrieving secrets on a blockchain. In Proceedings of the IACR International Conference on Public-Key Cryptography, Virtual Event, 8–11 March 2022; Springer: Berlin/Heidelberg, Germany, 2022; pp. 252–282. [Google Scholar]
  7. Boneh, D.; Bonneau, J.; Bünz, B.; Fisch, B. Verifiable delay functions. In Proceedings of the Annual International Cryptology Conference, Barbara, CA, USA, 19–23 August 2018; Springer: Berlin/Heidelberg, Germany, 2018; pp. 757–788. [Google Scholar]
  8. Schoenmakers, B. A simple publicly verifiable secret sharing scheme and its application to electronic voting. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 15–19 August 1999; Springer: Berlin/Heidelberg, Germany, 1999; pp. 148–164. [Google Scholar]
  9. Galindo, D.; Liu, J.; Ordean, M.; Wong, J.M. Fully distributed verifiable random functions and their application to decentralised random beacons. In Proceedings of the IEEE European Symposium on Security and Privacy, Virtual, 6–10 September 2021; pp. 88–102. [Google Scholar]
  10. Nguyen-Van, T.; Nguyen-Anh, T.; Le, T.D.; Nguyen-Ho, M.P.; Nguyen-Van, T.; Le, N.Q.; Nguyen-An, K. Scalable distributed random number generation based on homomorphic encryption. In Proceedings of the IEEE International Conference on Blockchain, Atlanta, GA, USA, 14–17 July 2019; pp. 572–579. [Google Scholar]
  11. Raikwar, M.; Gligoroski, D. SoK: Decentralized Randomness Beacon Protocols. arXiv 2022, arXiv:2205.13333. [Google Scholar]
  12. Herzberg, A.; Jarecki, S.; Krawczyk, H.; Yung, M. Proactive secret sharing or: How to cope with perpetual leakage. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 27–31 August 1995; Springer: Berlin/Heidelberg, Germany, 1995; pp. 339–352. [Google Scholar]
  13. Tekiner, E.; Acar, A.; Uluagac, A.S.; Kirda, E.; Selcuk, A.A. SoK: Cryptojacking malware. In Proceedings of the IEEE European Symposium on Security and Privacy, Virtual, 6–10 September 2021; pp. 120–139. [Google Scholar]
  14. Zhou, L.; Schneider, F.B.; Van Renesse, R. APSS: Proactive Secret Sharing in Asynchronous Systems; ACM: New York, NY, USA, 2005; Volume 8, pp. 259–286. [Google Scholar]
  15. Maram, S.K.D.; Zhang, F.; Wang, L.; Low, A.; Zhang, Y.; Juels, A.; Song, D. CHURP: Dynamic-committee proactive secret sharing. In Proceedings of the ACM SIGSAC Conference on Computer and Communications Security, London, UK, 11–15 November 2019; pp. 2369–2386. [Google Scholar]
  16. Blum, M. Coin Flipping by Telephone a Protocol for Solving Impossible Problems; ACM: New York, NY, USA, 1983; Volume 15, pp. 23–27. [Google Scholar]
  17. Cachin, C.; Kursawe, K.; Shoup, V. Random Oracles in Constantinople: Practical Asynchronous Byzantine Agreement Using Cryptography; Springer: Berlin/Heidelberg, Germany, 2005; Volume 18, pp. 219–246. [Google Scholar]
  18. Azouvi, S.; McCorry, P.; Meiklejohn, S. Winning the Caucus Race: Continuous Leader Election via Public Randomness. arXiv 2018, arXiv:1801.07965. [Google Scholar]
  19. Canetti, R.; Rabin, T. Fast asynchronous Byzantine agreement with optimal resilience. In Proceedings of the Annual ACM Symposium on Theory of Computing, San Diego, CA, USA, 9–11 June 1993; pp. 42–51. [Google Scholar]
  20. Kelsey, J.; Brandao, L.T.; Peralta, R.; Booth, H. A Reference for Randomness Beacons: Format and Rrotocol Version 2; Technical Report; National Institute of Standards and Technology: Gaithersburg, MD, USA, 2019. [Google Scholar]
  21. Oraclize.it. Provable Random Number Generator. Available online: https://provable.xyz (accessed on 20 June 2022).
  22. Haahr, M. Random.org: True Random Number Service. Available online: https://http://random.org/ (accessed on 20 June 2022).
  23. Boldyreva, A. Threshold signatures, multisignatures and blind signatures based on the gap-diffie-hellman-group signature scheme. In Proceedings of the International Workshop on Public Key Cryptography, Miami, FL, USA, 6–8 January 2003; Springer: Berlin/Heidelberg, Germany, 2003; pp. 31–46. [Google Scholar]
  24. Boneh, D.; Lynn, B.; Shacham, H. Short signatures from the weil pairing. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Gold Coast, QLD, Australia, 9–13 December 2001; Springer: Berlin/Heidelberg, Germany, 2001; pp. 514–532. [Google Scholar]
  25. Goldreich, O.; Goldwasser, S.; Micali, S. How to Construct Random Functions; ACM: New York, NY, USA, 1986; Volume 33, pp. 792–807. [Google Scholar]
  26. Micali, S.; Rabin, M.; Vadhan, S. Verifiable random functions. In Proceedings of the Annual Symposium on Foundations of Computer Science, Redondo Beach, CA, USA, 20–22 November 1999; pp. 120–130. [Google Scholar]
  27. Han, R.; Lin, H.; Yu, J. RandChain: A Scalable and Fair Decentralised Randomness Beacon. Cryptology ePrint Archive, Paper 2020/1033. 2020. Available online: https://eprint.iacr.org/2020/1033 (accessed on 20 June 2022).
  28. Schindler, P.; Judmayer, A.; Hittmeir, M.; Stifter, N.; Weippl, E. RandRunner: Distributed randomness from trapdoor VDFs with strong uniqueness. In Proceedings of the ISOC Network and Distributed System Security Symposium, Diego, CA, USA, 27 February–3 March 2022. [Google Scholar]
  29. Randao: Verifiable Random Number Generation. Available online: https://randao.org/whitepaper/Randao_v0.85_en.pdf (accessed on 20 June 2022).
  30. Feldman, P. A practical scheme for non-interactive verifiable secret sharing. In Proceedings of the Annual Symposium on Foundations of Computer Science, Los Angeles, CA, USA, 20–22 November 1987; pp. 427–438. [Google Scholar]
  31. Stadler, M. Publicly verifiable secret sharing. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Trondheim, Norway, 30 May–3 June 1996; Springer: Berlin/Heidelberg, Germany, 1996; pp. 190–199. [Google Scholar]
  32. Bhat, A.; Kate, A.; Nayak, K.; Shrestha, N. OptRand: Optimistically Responsive Distributed Random Beacons. Cryptology ePrint Archive, Paper 2022/193. 2022. Available online: https://eprint.iacr.org/2022/193 (accessed on 20 June 2022).
  33. Bentov, I.; Gabizon, A.; Zuckerman, D. Bitcoin Beacon. arXiv 2016, arXiv:1605.04559. [Google Scholar]
  34. Schultz, D.; Liskov, B.; Liskov, M. MPSS: Mobile Proactive Secret Sharing; ACM: New York, NY, USA, 2010; Volume 13, pp. 1–32. [Google Scholar]
  35. Kiribuchi, N.; Kato, R.; Nishide, T.; Yoshiura, H. Batching multiple protocols to improve efficiency of multi-party computation. In Proceedings of the International Conference on Information Security and Cryptology, Seoul, Korea, 30 November–2 December 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 289–308. [Google Scholar]
  36. Basu, S.; Tomescu, A.; Abraham, I.; Malkhi, D.; Reiter, M.K.; Sirer, E.G. Efficient verifiable secret sharing with share recovery in BFT protocols. In Proceedings of the ACM SIGSAC Conference on Computer and Communications Security, London, UK, 11–15 November 2019; pp. 2387–2402. [Google Scholar]
  37. Cachin, C.; Kursawe, K.; Lysyanskaya, A.; Strobl, R. Asynchronous verifiable secret sharing and proactive cryptosystems. In Proceedings of the ACM Conference on Computer and Communications Security, Vienna, Austria, 24–28 October 2002; pp. 88–97. [Google Scholar]
  38. Kogias, E.K.; Malkhi, D.; Spiegelman, A. Asynchronous distributed key generation for computationally-secure randomness, consensus, and threshold signatures. In Proceedings of the ACM SIGSAC Conference on Computer and Communications Security, Denver, CO, USA, 12–16 October 2020; pp. 1751–1767. [Google Scholar]
  39. Alhaddad, N.; Varia, M.; Zhang, H. High-threshold AVSS with optimal communication complexity. In Proceedings of the International Conference on Financial Cryptography and Data Security, Virtual, 1–5 March 2021; Springer: Berlin/Heidelberg, Germany, 2021; pp. 479–498. [Google Scholar]
  40. Resch, J. PROTECT. Available online: https://github.com/jasonkresch/protect (accessed on 20 June 2022).
  41. Libert, B.; Joye, M.; Yung, M. Born and Raised Distributively: Fully Distributed Non-Interactive Adaptively-Secure Threshold Signatures with Short Shares; Elsevier: Amsterdam, The Netherlands, 2016; Volume 645, pp. 1–24. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.