Threshold-Based Post-Quantum Secure Veriﬁable Multi-Secret Sharing for Distributed Storage Blockchain

: Blockchain systems store transaction data in the form of a distributed ledger where each node stores a copy of all data, which gives rise to storage issues. It is well-known that the tremendous storage and distribution of the block data are common problems in blockchain systems. In the literature, some types of secret sharing schemes are employed to overcome these problems. The secret sharing method is one of the most signiﬁcant cryptographic protocols used to ensure the privacy of the data. The main purpose of this paper is to improve the recent distributed storage blockchain systems by proposing an alternative secret sharing method. We ﬁrst propose a secure threshold veriﬁable multi-secret sharing scheme that has the veriﬁcation and private communication steps based on post-quantum lattice-based hard problems. We then apply the proposed threshold scheme to the distributed storage blockchain (DSB) system to share transaction data at each block. In the proposed DSB system, we encrypt the data block with the AES-256 encryption algorithm before distributing it among nodes at each block, and both its secret key and the hash value of the block are privately shared among nodes simultaneously by the proposed scheme. Thereafter, in the DSB system, the encrypted data block is encoded by the Reed–Solomon code, and it is shared among nodes. We ﬁnally analyze the storage and recovery communication costs and the robustness of the proposed DSB system. We observe that our approach improves effectively the recovery communication cost and makes it more robust compared to the previous DSB systems. It also improves extremely the storage cost of the traditional blockchain systems. Furthermore, the proposed scheme brings to the DSB system the desirable properties such as veriﬁcation process and secret communication without private channels in addition to the known properties of the schemes used in the previous DSB systems. As a result of the ﬂexibility on the threshold parameter of the scheme, a diverse range of qualiﬁed subsets of nodes in the DSB system can privately recover the secret values.


Introduction
Blockchain is an emerging technology that has many interesting real-world application areas such as medical, energy, and financial. However, there are several restrictions on this recent technology. The most significant one is the storage issue in blockchain systems since each node has to store a copy of all blocks. As time continues, storage is a huge problem because the number of blocks continuously increases in blockchain systems. Secret sharing mechanisms have been used in blockchain systems to share the data block and the secret values among nodes. They assist to strengthen the decentralization and security of data in blockchain as it helps to distribute information in a decentralized way such that the private information is protected from unauthorized access. By secret sharing method, blockchain systems can store information so that every node stores a certain number of shares instead of the entire body of data. Taking into account these benefits, the secret sharing method has vital importance in blockchain systems.
Recently, the concept of distributed storage blockchain has been proposed to distribute the storage costs by the secret sharing method among all nodes in the blockchain network (see for instance [1][2][3][4][5]). In these works, some types of secret sharing methods such as Shamir's secret sharing in [4,5], multi-secret sharing in [1], and local secret sharing in [3] have been employed to distribute the block data among nodes in the blockchain network. In this framework, we incorporate the threshold verifiable multi-secret sharing scheme, AES encryption algorithm for privacy, and Reed-Solomon (RS) code for encoding into the standard distribute storage blockchain to distribute privately the block data among nodes in the blockchain network.
In medical systems, a lot of devices are connected to share remotely the patient data, to make a decision on the health status of the patient, or to make research on the medical data anonymously. This system is so-called the internet of medical things (IoMT). IoMTs need not only to decide on machine learning tools but also to exchange private data with each other. The data exchange can be done either with a central authority or in a decentralized manner. In the later one, blockchain is recently utilized to deploy a practical solution for solving the privacy and security issues, where data updates are stored as blockchain transactions in the system, see [6][7][8][9][10][11]. It seems that it is vital to find new methods to enhance the privacy of the data stored in the blockchain ledger and to reduce the amount of data stored by each IoMT device.
The main contributions of the paper are listed as follows. First, motivated by the previous secret sharing methods introduced in [12,13], we enhance a threshold-based verifiable multi-secret sharing (VMSS) scheme without private channels, which is one of the well-known secret sharing schemes in cryptography. Second, inspired by the previous works [1][2][3][4], we apply the proposed threshold-based VMSS scheme to the distributed storage blockchain (DSB) system to distribute block data among all nodes in a blockchain network. We finally analyze the storage and recovery communication costs and the robustness of the DSB system based on the VMSS scheme. The proposed method reduces the recovery communication cost and improves robustness in the previous DSB systems. It also improves significantly the storage cost of traditional blockchain systems. In addition to the desirable properties of the previous schemes used in the DSB systems, the proposed scheme has the (quantum secure) verification algorithm and secret communication without private channels. We also note that the flexible threshold parameter of the proposed scheme eliminates a drawback of the previous DSB systems on their recovery communication costs and robustness.
The remainder of the paper is structured as follows. In Section 2, we introduce brief history of secret sharing schemes. In Section 3, we give the previous studies and background for distributed storage blockchain systems. In Section 4, we propose a secure threshold-based VMSS scheme that shares securely both a secret key and hash value among nodes in the blockchain system. In Section 5, we incorporate the proposed VMSS scheme into the DSB system. We also explain the distributing and recovering processes of the data block in the proposed DSB system. We finally analyze the storage and recovery communication costs as well as the robustness of the proposed method. We notice that our recovery communication cost and robustness are much better than the previous ones. We conclude the paper in Section 6.

Related Works
In this section, we mention the previous studies on the types of secret sharing schemes. A secret sharing scheme is one of the most significant cryptographic protocols for sharing data securely. The first secret sharing scheme was introduced in 1979 by Blakley [14] and Shamir [15], independently, which are the threshold-based schemes. Shamir's secret sharing scheme is based on polynomial interpolation over finite fields while Blakley's scheme is based on finite geometry.
A secret sharing scheme consists of a dealer D, a group P = {P 1 , P 2 , . . . , P n } of n participants, a secret space S, n share spaces S 1 , S 2 , . . . , S n , a share computing procedure, and a secret recovering procedure. The dealer D chooses a secret s from S, and computes a share of s (with the sharing computing procedure) for each participant P i and then gives the share to P i for i ∈ {1, . . . , n}. The sharing computing procedure and the secret s are known only by D, while the secret recovering procedure is known by all participants in P. A set of participants who can recover s from their shares is said to be an access set. Indeed, an access set is said to be a minimal access set if any of its proper subsets cannot recover s from their shares. The set of all access sets is said to be an access structure of a scheme.
The usual sharing scheme can only resist passive attacks but not active ones; that is, it is not secure against the dishonest dealer and the malicious participants. Thus, the dealer and the participants are generally assumed to be honest, however, this assumption is not realistic in real-life applications. To eliminate this assumption, the first verifiable secret sharing (VSS) scheme has been introduced in 1985 by Chor et al. [16] by adding the verification algorithm to Shamir's scheme, and later several VSS schemes have been proposed in the literature (see [12,[17][18][19][20]). In a VSS scheme, not only a dishonest dealer but also a malicious participant can be easily detected utilizing the verification process. It can be then said that a VSS scheme resists against two kinds of active attacks: • Dishonest dealer can tamper with a share before sending it to participants in the construction protocol. • Any malicious participant can submit a fake share to the recovery protocol.
In 1995, He and Dawson [21] introduced the first multi-secret sharing (MSS) scheme based on Shamir's scheme that shares multiple secret values simultaneously. In an MSS scheme, only one share is assigned to each participant (indeed, each participant needs to protect only one share) while multiple secrets can be shared. Note that the size of the assigned share is almost the same as that of each secret value. Harn (1995) [22] introduced the first threshold-based verifiable multi-secret sharing (VMSS) scheme that not only shares multiple secrets simultaneously but also detects the dishonest dealer and participants. Moreover, several threshold-based VMSS schemes have been widely studied in the literature (see [12,13,17,20]). It can be said that the VMSS schemes are secure against both passive and active attacks.
In the usual secret sharing scheme, it is generally assumed that the shares are distributed and collected by the dealer through secure channels. However, the establishment of secure channels between the dealer and the participants has high requirements in the protocol. Thus, for the secure communication between them in a public channel, several techniques were proposed in the literature, one of which is public-key cryptography. For example, Hwang and Chang [23] and Liu et al. [12] made use of the RSA public-key encryption algorithm [24] in their VMSS schemes for secure communication while Zhao et al. [20] used the Diffie-Helman key exchange protocol [25] in their practical VMSS scheme.

Preliminaries
In this section, the fundamental concepts of data storage in the blockchain systems are briefly given. We start with the traditional blockchain system, and then we discuss the distributed storage blockchain system.
In the traditional blockchain system, every data block and the hash value pointing to the previous block is stored by each node. It is formalized as follows. Let h 1 and h 2 be two hash functions. Let c be a constant and H (0) = c. Let B (t) be the data block to be stored in the t-th block and W (t) = (H (t−1) , h 2 (B (t)) ), where H (t−1) = h 1 (W (t−1) ) for t = 1, 2, 3, . . .. Every node in traditional blockchain system stores all pairs B (t) and W (t) for t = 1, 2, 3, . . .. For example, when a block B (t 0 ) is created for some t 0 by a node N, N needs to share the pair B (t 0 ) and W (t 0 ) with other nodes in the blockchain network. Then, all nodes will have a copy of the block in their storage. This brings a lot of storage costs for each node. Similarly, if a block is lost in a node, then it can be recovered by accessing any node in the blockchain network and copying the data block and the hash value, which is known as recovery communication cost. Hence, the traditional blockchain system has storage and recovery communication costs proportional to the size of |B (t) | + |W (t) | for each node N at each block t. The maximum number of node failure which can be tolerated by the blockchain network is called its robustness. It is easy to observe that the traditional blockchain network with n nodes has the robustness n − 1.
The concept of distributed storage blockchain has been recently studied to reduce the storage cost of traditional blockchain systems. First, Dai et al. [2] have adopted network coding to the notion of distributed storage to reduce the storage space for distributed ledger in blockchain systems, and they achieved significant improvement. Second, Raman and Varshney [4,5] have recently proposed the idea of a distributed storage blockchain, which significantly decreases the storage of transactions by using Shamir's sharing scheme. In DSB, all nodes (say, n nodes exist) are divided into L distinct subsets of equal size m, that is, let A = {A 1 , . . . , A L } be the partition of the set of n nodes, and n = m · L. Each subset A l has the secret key K l is divided into m pieces and distributed to each node in A l . Besides, the secret key K (t) l (the local secret) and the hash value W (t) (the global secret) are shared to each node in A l by two independent Shamir's (m, m) sharing schemes. Their data distribution method is formalized in Algorithm 1. [4,5] Input. Given a partition A = {A 1 , . . . , A n m } 1: for l = 1 to n m do 2: Generate the secret key K (t) l .

4:
Distribute and store m (t) l among m peers in A l .

5:
Store K (t) l and W (t) by (m, m) Shamir's sharing. 6: end for As seen in Algorithm 1, in DSB, each node has recovery communication cost at each block t since the secret key and the hash value may be recovered by accessing m nodes in another subset. If the size of the hash value is extremely small compared to the size of the data block, which is usually the case in real-life applications, then the storage cost of traditional blockchain is excessively reduced by the DSB system. On the other hand, a single node failure in a subset A l causes the loss of the key in A l and so, data in A l can not be reachable anymore. This says that a blockchain network based on DSB with n nodes has robustness n m − 1. We finally note that a single node failure in every subset in DSB causes the loss of the blockchain data inevitably.
Recently, Kim et al. [3] have proposed a local secret sharing (LSS) scheme to improve the DSB storage by using locally recoverable codes (LRC) [26] and trivial maximum distance separable (MDS) codes [27] (Chapter 11). In particular, they first obtain the LSS scheme from LRC, and then LSS is used suitably in DSB. In DSB with LSS, the hash value W (t) and the secret key K (t) l are simultaneously shared by LSS through all nodes in the blockchain network. Since a single error in an (n, k, m − 1)-LRC of length n and dimension k can be recovered by (m − 1) correct symbols [26], then a single node failure in DSB with LSS can be tolerated by the blockchain network due to the proposed (m, m − 1)-threshold LSS scheme. Right after, the encrypted data block is encoded by a trivial (m, m − 1)-MDS code, which is a code with a single parity symbol. Hence, a blockchain network based on DSB with LSS has robustness 2n m − 1, and each node has |B (t) | m−1 + |W (t) | storage cost and |B (t) | + (m − 1)|W (t) | recovery communication cost at each block t.
Very recently, to improve the DSB system, Chen et al. [1] have proposed a low-storage scheme with a multi-secret sharing (MSS) scheme based on polynomial interpolation. The DSB with MSS divides the transaction block into multiple pieces and then stores them in different nodes, but it does not encrypt the transaction block. It stores only data block but not secret key and hash value. In this system, the block B (t) is to be shared between n parties. They first divide the block B (t) into m equal length pieces denoted by b 1 , b 2 , . . . , b m such that their concatenation b 1 ||b 2 || . . . ||b m = B (t) and m < n. The proposed MSS is based on recursion, and to encode the piece b i for i = 1, . . . m, it generates a sharing polynomial where q is a large odd prime greater than pieces b i and n. Then, it distributes the shares g m (x 1 ), g m (x 2 ), . . . , g m (x n ) to the corresponding nodes, where x 1 , x 2 , . . . , x n are the public indexes of nodes. This scheme is an (n, m + 1)-threshold secret sharing since any m + 1 nodes or more can reconstruct the block B (t) , but no group of m or fewer nodes can do so. The reconstruction of this scheme is an inverse process. Any m + 1 of nodes can first reconstruct a polynomial g m (x) of degree m with the constant term b m , and then reconstruct recursively a polynomial Hence, in DSB with MSS scheme [1], each node has |B (t) | m storage cost and |B (t) | recovery cost, and its robustness is n − m − 1.

A Threshold-Based Verifiable Multi-Secret Sharing (VMSS) Scheme
In this section, we propose a secure threshold-based verifiable multi-secret sharing scheme based on Feldman's VSS scheme introduced in [19] (originally, based on Shamir's threshold scheme introduced in [15]).

Description of the Proposed Threshold-Based VMSS Scheme
Let n be a positive integer. Let D be the dealer and P = {P 1 , . . . , P n } be a set of n participants. Let the threshold be denoted by t with 2 ≤ t ≤ n. Let F p be a finite field for a prime p > 2n − t + 1, and F * p = F p \ {0}. Let F be a function on F p . These parameters are generated cooperatively by D and all participants. We now describe a secure (n, t)-threshold verifiable multi-secret sharing scheme without private channels.
• Construction phase. Let two distinct secrets s 0 and s 1 in F * p be given to be shared. The dealer D performs the following steps.

-
D chooses random elements a k ∈ F p for k = 1, . . . , t − 1, and constitutes the (t − 1)-degree polynomial f : D commits all coefficients of f (x) by masking them with a function F , namely computes C 0 = F (s 0 ), C k = F (a k ) for k = 1, . . . , t − 1. This commitment guarantees that no one can do cheating in the scheme. -D broadcasts the public commitments: (C 0 , . . . , C t−1 ) for verification. -D selects randomly distinct elements x i ∈ F * p and computes the shares y i = f (x i ) ∈ F p for a participant P i for i = 1, . . . , n.
-D encrypts y i with a public key encryption E as c i = E K i (y i ) by using the public key K i of P i for i = 1, . . . , n. -D sends the pair (x i , c i ) to the participant P i in the public channel for i = 1, . . . , n. -D selects randomly distinct elements x v ∈ F * p \{x 1 , . . . , x n }, and evaluates • Verification phase. Each participant P i can perform the following verification operation to verify her own share.
-P i privately decrypts c i with the public key decryption algorithm D as y i = D K i (c i ) by using her own private key K i for i = 1, . . . , n.
-P i checks the validity of her share y i and its consistency with the public information, namely, If the verification in (2) holds for every i = 1, . . . , n, then each y i is valid, and hence D is assumed to be honest.
-Each P j v encrypts her share y j v with a public key encryption E as z j v = E K D (y j v ) by using the public key K D of D, and sends the pair (x j v , z j v ) to D in the public channels for v ∈ {1, . . . , t}. -D decrypts z j v as y j v = D K D (z j v ) by using her own private key K D for every v ∈ {1, . . . , t}. -D verifies the validity of each y j v by using the verification equation in (2) for every v ∈ {1, . . . , t}. If each share y j v is valid, then the points (x j 1 , y j 1 ), . . . , (x j t , y j t ) are accepted from t authorized participants.

-
The authorized participants {P j 1 , . . . , P j t } can cooperatively reconstruct the secret s 0 by using their private points (x j v , y j v ) for v ∈ {1, . . . , t} from the following formula Similarly, by using their private points ( . . , 2n − t + 1}, they can cooperatively recover the secret s 1 from the the following formula The proposed VMSS scheme has the following desirable properties to be applied in many practical systems such as decentralized mechanisms.
• The proposed scheme can simultaneously share two secrets while storing only one share by each participant.
• Due to the verification algorithm (2) of the proposed scheme, both the dishonest dealer and malicious participants can be easily detected. To be more precise, the dealer's cheating can be detected by a participant, and the dealer can detect any malicious participant. • The dealer can securely communicate with participants through public channels since the shares are encrypted with the public key encryption algorithm. Indeed, the proposed scheme realizes secret sharing without a private channel, which is a very significant property in many practical applications where a private channel is very hard to be established. • The participants can reuse repeatedly their shares in another reconstruction round because the employed function f (x) is fixed and the shares are encrypted by the public key algorithm.

Remark 1.
Secret values s 0 and s 1 may have different threshold parameters, but we prefer to use the same threshold t for both s 0 and s 1 in the proposed scheme.
We note that the proposed VMSS scheme has some assumptions on the securities of function F , encryption E , and decryption D. In the literature, F is generally proposed to be the modular exponentiation function, so the security of the verification process depends on the hardness of the discrete logarithm problem (DLP). Similarly, for the encryption E and decryption D, the RSA public key algorithm is generally proposed in the literature, and its security depends on the hardness of the integer factorization problem (IFP). In the proposed VMSS scheme, the modular exponentiation function and RSA public key algorithm may be preferred, respectively, for F , E , and D. In this case, the security of the proposed scheme is based on two intractable problems DLP and IFP, which are assumed to be hard problems at present. On the other hand, these intractable problems are not quantum secure, and they can be broken by Shor's algorithm on a quantum computer. Therefore, we also suggest using quantum secure algorithms in the proposed scheme, which is rather important for its usability in the post-quantum world.

Post-Quantum Secure Methods
Lattice-based cryptosystems are known to be quantum secure as there has no feasible (traditional and quantum) attacks against them. Besides, lattices are so easy to implement in software and hardware environments. Therefore, several secret sharing schemes based on lattices were proposed in [17,[28][29][30][31]. For instance, the knapsack function F b : R d → R, is proposed for the verification function in [31] It is known that finding the inverse of F b for any b ∈ R d is as hard as solving the approximate shortest polynomial problem [32].
In this case, f (x) = a 0 + a 1 x + · · · + a t−1 x t−1 is a polynomial over R d such that a k ∈ R d for k = 0, . . . , t − 1, and f : Z p → R d . Here, for simplicity, we denote s 0 = a 0 . Then the verification phase (2) is performed by the participants and the dealer from the public commitments F b (a k ) for k = 0, . . . , t − 1 as follows for i = 1, 2, . . . , n. Similarly, one can use lattice-based NTRU public key cryptosystem [33] for functions E and D. Thus, the proposed VMSS becomes a lattice-based post-quantum scheme.

Security Analysis of the Proposed VMSS Scheme
In this subsection, we analyze the correctness and the security of the proposed scheme in terms of verifiability and privacy. Theorem 1. The proposed (n, t)-threshold VMSS scheme satisfies the following three security requirements.
1. Correctness: Any t or more honest participants can correctly recover the secrets s 0 and s 1 if D is honest. 2. Verifiability: D cannot distribute a fake share to any participant, and any participant cannot submit a false share to the recovery algorithm. 3. Privacy: Any group of less than t participants cannot reach the shared secrets s 0 and s 1 .

Proof.
1. The correctness of the proposed scheme follows from the recovery formula given in (4). 2. The dishonest D and any malicious participant cannot pass through the verification process given in (2) since the employed function F is secure against the known attacks. To be more precise, when the verification function F is based on the usual modular exponentiation function, its security depends on the DLP that is assumed to be a hard problem. Moreover, when F is the lattice-based knapsack function given in (5), the security of the verification process depends on the lattice-based hard problem that is assumed to be quantum secure. 3. An attacker cannot derive any private information from the public information in the proposed scheme. The possible scenarios are explicitly explained below.
• An attacker cannot obtain any useful information about the committed secret values a k from the public commitments C 0 = F (s 0 ) and C k = F (a k ) since F is a secure function based on the DLP or lattice-based hard problem. Hence, an attacker cannot derive any information about the polynomial f (x) from the public information.

•
An attacker cannot obtain any useful information about the private share y i from the encrypted shares c i = E K i (y i ) and z j v = E K D (y j v ) since the RSA algorithm and lattice-based NTRU system are secure cryptosystems. Thus, public information does not leak any information about the private shares of the participants.

•
Even if an attacker corrupts up to (t − 1) authorized participants in the proposed scheme, s/he still cannot get any useful information about the private share of any other honest participant, and so cannot reconstruct the secrets s 0 and s 1 .

Theorem 2.
In the proposed (n, t)-threshold VMSS scheme, the verification is succeeded if D and participants follow correctly the protocol.
Proof. Suppose that F is the modular exponentiation function. For simplicity, we assume s 0 = a 0 in f (x). If D follows accurately the protocol, then we get the following for every i = 1, . . . , n. If the participants follow accurately the protocol, then we get similarly the following holds (5) is used in the verification algorithm. Then, the participants can verify their shares as given in [31] by checking is the public commitment of the secret value a k for k = 0, . . . , t − 1. The proof is then completed.
As a result of Theorems 1 and 2, we conclude that the proposed VMSS is a (post-quantum) secure scheme against attackers and malicious users (that is, it resists both active and passive attacks).

DSB Based on the Proposed VMSS Scheme
In this section, we first incorporate the proposed threshold-based VMSS scheme into the original DSB system to distribute privately transaction data. We then describe the distribution and recovery processes of data at each block.
In the DSB system, each data block is stored in certain subsets of the set of all nodes by distributing it among nodes in each subset. Assume that the set P = {P 1 , . . . , P n } of n nodes in a blockchain network is divided into n m distinct subsets in A = {A 1 , . . . , A n m } and each subset has m participants. Assume that each subset A l has the proposed (m, t l )-threshold VMSS scheme to share simultaneously the global secret s 0 and local secret s l for l = 1, 2, . . . , n m . In the (m, t l )-threshold VMSS scheme of the subset A l , {P l,1 , . . . , P l,m } is a set of m participants, D l is the dealer and t l is its own independent threshold for l = 1, 2, . . . , n m . We now incorporate the proposed VMSS scheme into the framework of the DSB system in Algorithm 2.

Remark 2.
In Algorithm 2, we assume t 0 ≤ t l for all l = 1, . . . , n m . Depending upon the applications of the blockchain systems, we may assume t l ≤ t 0 for some l = 1, . . . , n m . In this case, to recover the global secret s 0 , we need at least (t 0 − t l ) more participants, who may be selected among the rest of the participants of the corresponding set or from the other subsets. For example, it may be assumed that each subset should collaborate to reconstruct the global secret s 0 .

Storing Data Block
We here describe how to distribute and store transaction data at each block. To distribute transaction data at each block, we first encrypt it by AES-256 for its confidentiality, then share privately the hash value of the block by the proposed scheme for its integrity, and finally encode by Reed-Solomon code.
Each subset A l for l = 1, . . . , n m follows the following processes to distribute and store data at each block. Each subset A l has the same data block B (t) and the same hash value W (t) of the t-th block. Assume that W (t) ∈ F p and B (t) ∈ F q , where p is a prime whose size about 256 bit-length and q is an extremely large prime. Each A l first generates the secret key K (t) l ∈ F p and then encrypts the data block B (t) with the AES-256 symmetric key encryption algorithm using K (B (t) ). Here, the secret key K  l by Reed-Solomon code RS(m, t l ) before distributing it among m nodes in A l . We note that RS-code is an example of non-trivial MDS codes [27] (Chapter 11) and this coding process decreases the recovery communication cost and enhances the robustness. Finally, the encoded data c (t) l are distributed to each node in A l so that any t l authorized nodes in A l can reconstruct it in the recovery phase. The DSB with the proposed VMSS scheme is summarized in Algorithm 3.

Algorithm 2
The proposed (m, t l )-threshold VMSS scheme for DSB Input. Given a partition A = {A 1 , . . . , A n m } and threshold parameters t 0 , t l with 2 ≤ t 0 ≤ t l ≤ m 1: Set a global secret s 0 ∈ F * p , commit C 0 = F (s 0 ) and publish C 0 . 2: Generate random elements a k ∈ F p , commit C k = F (a k ) and publish C k for k = 1, . . . , t 0 − 1. 3: Construct a global (t 0 − 1)-degree polynomial f (x) = s 0 + a 1 x + · · · + a t 0 −1 x t 0 −1 . 4: for l = 1 to n m do 5: Construction in A l : D l performs the following steps. 6: for i = 1 to m do 7: Select distinct elements x l,i ∈ F * p and evaluate the share y l,i = f (x l,i ).

8:
Encrypt y l,i as c l,i = E K l,i (y l,i ) by using the public key K l,i of P l,i .

9:
Send the pair (x l,i , c l,i ) to P l,i in the public channel. 10: end for 11: Set a local secret s l ∈ F * p .

12:
Construct a local m-degree polynomial f l (x) defined as in (1) for the secret s l . 13: for v = m + 1 to 2m − t l + 1 do 14: Select distinct elements x l,v ∈ F * p , and evaluate f l (x l,v ).

15:
Broadcast the point (x l,v , f l (x l,v )). 16: end for 17: Verification in A l : P l,i performs the following steps. 18: for i = 1 to m do 19: Decrypt c l,i as y l,i = D K l,i (c l,i ) by using own private key K l,i . 20: end for 22: Recovery in A l with (m, t l )-threshold VMSS scheme 23: for v = 1 to t l do 24: P l,j v encrypts y l,j v as z l,j v = E K D (y l,j v ) by using the public key K D l of D l .

25:
P l,j v sends the pair (x l,j v , z l,j v ) to D l in the public channel. 26: D l decrypts z l,j v as y l,j v = D K D (z l,j v ) by using own private key K D l .

27:
D l verifies the validity of each y l,j v as in Step 20. 28: if y l,j v is valid then accept the points (x l,j v , y l,j v ) 29: else reject 30: end if 31: end for 32: By using the verified private points (x l,j v , y l,j v ) for v ∈ {1, . . . , t l }, the global secret s 0 can be cooperatively recovered from the formula in (3). Here, at least t 0 points can do it since t 0 ≤ t l . 33: By using the verified private points (x l,j v , y l,j v ) for v ∈ {1, . . . , t l } and the public points (x l,v , f l (x l,v )) for v ∈ {m + 1, . . . , 2m − t l + 1}, the local secret s l can be cooperatively recovered from the formula in (4).

34:
return s 0 and s l .

35: end for
for each node. Hence, the storage cost S VMSS of the proposed DSB based on VMSS for each node in A l is equal to S VMSS = log 2 q t l + log 2 p bit operations.

Recovery communication cost.
We first recall that a single node failure can be easily tolerated by receiving the stored data from any node in the traditional blockchain. Moreover, a single node failure in each subset can be recovered by accessing all nodes and (m − 1) nodes in the same subset for the original DSB and the DSB based on LSS, respectively. In the proposed DSB based on (m, t l )-threshold VMSS scheme, a single node failure in the subset A l can be recovered by accessing only t l nodes in A l . Thus, the recovery communication cost C VMSS of the proposed DSB based on VMSS is equal to C VMSS = t l · S VMSS = log 2 q + t l log 2 p bit operations. Since 2 ≤ t l ≤ m, the recovery communication cost of the proposed system is much better than that of both the original DSB in [4] and the DSB based on LSS in [3].
Robustness to node failures. We deal with the robustness of the proposed DSB system. The robustness is defined as the maximum number of node failures which can be tolerated by the blockchain network. A single node failure in each subset leads to an effective failure of all m nodes in the original DSB while each subset can tolerate a single node failure in the DSB based on LSS. The proposed DSB based on VMSS can tolerate node failures up to (m − t l ) due to the employed (m, t l )-threshold VMSS scheme in A l . This says that the proposed DSB recovers data block up to (m − t l + 1) n m − 1 node failures if (m − t l ) nodes from one subset and (m − t l + 1) nodes from the others are failed, which implies that the robustness of the proposed DSB system is much better than that of both the original DSB in [4] and the DSB based on LSS in [3].

Remark 3.
In the proposed DSB system, if (m − t l + 1) nodes from each subset A l are failed (indeed, there are totally (m − t l + 1) n m node failures), then data block cannot be recovered.
We summarize in Table 1 the comparison of the previous DSB systems and the proposed DSB system in terms of storage and recovery communication costs, as well as robustness.

Remark 4.
On the internet of medical things (IoMT), it is proposed that blockchain may be used for the immutable storage of data in a decentralized way, see for instance [10,11]. This causes tremendous storage costs in the blockchain nodes. By using the proposed (m, t l )-threshold VMSS scheme (Algorithm 3) for this case, one can reduce the storage cost by a factor t l . In addition, the privacy of data does not depend on solely one node, but at least t l nodes, that is, the data are leaked if at least t l nodes are fraudulent. Furthermore, any malicious node sharing fake data in the threshold-based VMSS system can be identified by using either (2) or (6). As the medical records have a high level of privacy for their owner, it seems that the proposed methods in this paper would be a good candidate for practical applications.

Concluding Remarks and Future Works
In this paper, we first proposed a secure threshold-based verifiable multi-secret sharing scheme without private channels, in which two secrets (secret key and the hash value of the block) are simultaneously shared in a single sharing process among nodes in a blockchain network. We then incorporate the proposed scheme into the distributed storage blockchain system to distribute and store privately the data block. We finally analyzed the storage and recovery communication costs and the robustness of the proposed DSB system. We observed that the proposed threshold scheme reduces effectively the recovery communication cost and makes it more robust compared to the previous distributed storage blockchain systems. It also improves extremely the storage cost of the traditional blockchain systems. We note that the proposed scheme brings to the DSB system secure communication through the public channels and verification process based on the post-quantum lattice-based hard problems.
It is worth noting that the proposed threshold-based VMSS scheme can be applied in many practical systems such as decentralized mechanisms (authenticating an electronic voting protocol, an electronic funds transfer, etc.) and all types of distributed storage systems. Our prospects for this work can be listed as follows.

•
The extensions of the proposed VMSS scheme to more general frameworks would be good future work.

•
Another research problem is to find the best suitable post-quantum encryption and verification algorithms for the VMSS scheme that can improve the standard DSB systems. For example, to design a new VMSS scheme based on a code-based post-quantum verification algorithm and its integration into the DSB system would be interesting future works.

•
The standard DSB systems consider the network coding, MDS codes, and LRCs to share storage among nodes in a blockchain network. It would be a nice future work finding a better code family to be used in the DSB systems so that it gives better storage and recovery communication costs. Funding: This research received no external funding.