Secure Ring Signature Scheme for Privacy-Preserving Blockchain

Blockchain integrates peer-to-peer networks, distributed consensus, smart contracts, cryptography, etc. It has the unique advantages of weak centralization, anti-tampering, traceability, openness, transparency, etc., and is widely used in various fields, e.g., finance and healthcare. However, due to its open and transparent nature, attackers can analyze the ledger information through clustering techniques to correlate the identities between anonymous and real users in the blockchain system, posing a serious risk of privacy leakage. The ring signature is one of the digital signatures that achieves the unconditional anonymity of the signer. Therefore, by leveraging Distributed Key Generation (DKG) and Elliptic Curve Cryptography (ECC), a blockchain-enabled secure ring signature scheme is proposed. Under the same security parameters, the signature constructed on ECC has higher security in comparison to the schemes using bilinear pairing. In addition, the system master key is generated by using the distributed key agreement, which avoids the traditional method of relying on a trusted third authorizer (TA) to distribute the key and prevents the key leakage when the TA is not authentic or suffers from malicious attacks. Moreover, the performance analysis showed the feasibility of the proposed scheme while the security was ensured.


Introduction
Blockchain technology is the underlying technology of Bitcoin, a concept mentioned by Nakamoto [1] in his Bitcoin white paper published in 2008, which has triggered new industrial and technological revolutions and is a popular research area at present.In essence, blockchain is a kind of distributed database [2], and its underlying chain structure is the data blocks arranged in chronological order, which inherits the technologies of smart contracts [3], peer-to-peer networks (P2P) [4], the consensus mechanism [5], cryptography, etc., has the unique advantages of weak centralization, being tamper-proof, traceability, openness, transparency, etc., and is able to realize the direct circulation of value between untrusted nodes without the need for third-party institutions, which not only reduces the trust cost of transactions, but also greatly shortens the interaction time.It is considered as a key technology to realize the transformation of the "information Internet" to the "value Internet" [6].
Blockchain's technical advantages make it applicable to various domains.One of them is digital currencies, where Bitcoin and its derivatives are expanding fast.According to a 2017 report by ARK Investments, there are more than 10 million Bitcoin users worldwide, with over USD 150-million in daily transactions [7].In the financial sector, blockchain technology is highly valued by central banks, who design their own digital currencies by applying or studying it.They use blockchain technology to enhance the traditional financial system, which suffers from long delays and low efficiency in reconciliation, clearing, and cross-border settlement, as well as the high costs of maintaining central ledger data.
In healthcare, the companies and stakeholders are benefiting from blockchain technology, which helps them streamline business processes, improve patient outcomes, manage patient data, comply with regulations, cut costs, and leverage healthcare-related data more effectively [8].In the energy sector, blockchain technology, which is based on decentralization, is seen as a game-changing technology for creating distributed energy systems.It offers a decentralized trust mechanism that can be used for distributed energy operations and can help overcome management weaknesses and challenges in distributed energy systems [9].In the field of cultural industry, the data inerrancy and high trustworthiness of the blockchain industry can be utilized to carry out many businesses such as certificate storage, digital property rights protection, and cultural relic identification.Furthermore, there are other fields such as justice, military, and supply chains that are gradually using blockchain to improve the problems existing in each field.
As blockchain technology continues to develop and become widely used, the privacy leakage concerns confronting it are becoming increasingly noticeable and must be given sufficient attention.While the blockchain mechanism avoids potential failures of individual servers and the exposure of data in terms of data storage, all transactions have to be made public to all nodes in order to reach consensus among the decentralized blockchain nodes.This exposes the privacy of the transactions greatly, and a main challenge is the safeguarding of users' identity privacy.Identity privacy refers to the connection between a user's real identity and the blockchain nodes.The blockchain stores data in an unchangeable way as a distributed ledger that any node can access.Transactions on the blockchain are somewhat anonymous, but not completely secure against privacy breaches.With advanced computing techniques, an attacker can track and analyze the correlation of public data in a global ledger to reveal sensitive information.For example, if there are consistent and correlated transactions, an attacker can extract some user characteristics using a graph of transactions between different addresses [10].Moreover, an attacker can search all possible transactions to obtain the transaction addresses and estimate the balances, which can help to infer the user's identity and location [11].Cryptography is the prevalent method for privacy protection among researchers.Therefore, it should be combined with blockchain technology to offer a suitable solution for the blockchain's privacy issue and guarantee the safety of users' data.
A common security technique in blockchain systems is to use digital signatures to check the integrity of a document or a message.This ensures non-repudiation.The ring signature scheme [12] is a special type of group signature [13], which uses a group of L in a user's private key and L in all the users' public keys to complete the signature; the signature of the verifier can only verify that the signature comes from the group, but who signed the name is unknown.The ring signature does not need a trusted center and can hide the identity of the signer, which protects the user's privacy.Considering its features, the scheme can be applied to anonymous payment applications or untraceable transactions and also to other scenarios that require privacy protection, such as elections, voting, and identity verification.Therefore, we propose a new privacy protection scheme by combining the ring signature algorithm and blockchain technology.However, the key generation link of traditional ring signature algorithms requires a secret key management center, which will face the risk of key leakage and increase the probability of attackers forging ring signatures.Moreover, most of the ring signatures are constructed based on bilinear pairing, and the computational complexity is usually high, which may lead to longer signing and verification time.It also lacks security.In order to improve the efficiency and security of ring signatures, we also made a new design of the scheme.
To solve the above-mentioned issues in the blockchain system, this paper studied and analyzed the related ring signature schemes and designed a new ring signature scheme suitable for the blockchain environment by using the anonymity feature of the ring signature.The scheme is based on Shamir verification secret sharing theory [14] and the Feldmanprotocol [15]; the key generation link in the scheme was improved, and the main body of the scheme adopted the elliptic curve cryptography principle.
The main contributions of the paper are stated as follows: 1.
The algorithm exploits the concept of distributed key generation to create a system master key, which enhances the process of distributing the key by a trusted authorizer (TA) in traditional signature algorithms and eliminates the risk of key leakage when the TA is untrustworthy or subjected to malicious attacks.

2.
This scheme is a ring signature constructed based on ECC, which provides better security with the same length of key compared to the scheme based on bilinear pairing.This algorithm strengthens the signature's unforgeability, which reduces the attackers' probability of succeeding in cracking the key.

3.
This scheme improves the efficiency of ring signature generation and verification and is more compatible with the environment of blockchain systems.
The rest of this paper is organized as follows.In Section 2, we review different blockchain privacy-preserving schemes.In Section 3, we provide some preliminary concepts, including general ring signature algorithms and security model definitions.Section 4 describes the algorithms and system models of secure ring signature schemes.Section 5 proves the security of the proposed scheme, and Section 6 gives the efficiency and performance comparison of the signature schemes.Finally, the paper is summarized in Section 7.

Related Works
Blockchain technology faces challenges in its development in existing industries due to privacy breaches and other security issues.To protect users' identity privacy in blockchain, different schemes have been suggested to increase the anonymity level.In order to resist the book analysis technique, researchers propose a defense mechanism for exchanging assets and obfuscating addresses, i.e., the address obfuscation mechanism, in response to the assumptions on which the technique is based.In 2014, Bonneau et al. [16] proposed the Mixcoin protocol, which enhances asset security through an electronic-signature-based commitment mechanism.In 2015, Valenta et al. [17] proposed the Blindcoin protocol, which guarantees the internal privacy of centralized hybrid coin schemes by using blind signature techniques.In 2018, Ziegeldorf et al. [18] proposed CoinParty; it occupies a unique position in the design space of hybrid services by decrypting the novel combination of hybrid nets and threshold signatures, combining the advantages of previously proposed centralized and decentralized hybrid services into a single system.The address obfuscation mechanism can protect the privacy of the ledger to a certain extent; however, the result of address obfuscation will still be stored in the public ledger, and an attacker can threaten user privacy to a certain extent by analyzing the obfuscated transactions with features.
Ledger information hiding mainly preserves the confidentiality of the ledger by encrypting the private data in the ledger and provides "credentials" through cryptographic techniques to keep the correctness of the blockchain ledger verifiable.Most of the existing techniques for the implementation of the ledger-information-hiding mechanism belong to zero-knowledge proof techniques [19], which means that zero-knowledge proofs do not convey any proof of knowledge other than the correctness of the proposition under discussion.Li et al. [20], based on the ring-zero-proof-of-knowledge and blockchain technology, proposed a secure and efficient fair transaction mechanism for a sharing environment.The mechanism utilizes ring-zero-knowledge proofs to hide transaction contents and relationships without affecting authentication by adding a new trusted player.However, zero-knowledge proofs have a high computational cost and storage space, require the use of complex cryptographic algorithms and a large number of data structures, and may affect the performance and scalability of blockchain systems.
Ring signature schemes allow participants to sign messages with the group name and preserve the confidentiality of the signer's identity from disclosure.The ring signature technique has two main features: first, any member of the group can issue the correct signature alone; second, any member of the group only knows whether he or she has initiated the signature, and members outside the group only know whether the signer belongs to the group.A higher level of privacy is achieved by VOTOR, a practical remote voting scheme that uses product anonymization channels and linkable ring signatures.It was proposed by Thomas et al. [21].An information sharing system that ensures the confidentiality of applicants was created by Patil et al. [22] using an ID-based ring signature technique.They removed the certificate validation process to make the system secure and reliable.A new ring signature scheme based on elliptic curves was proposed by Li et al. [23], which improves the signature unforgeability and anonymity compared with the traditional ring signature scheme.Wang et al. [24] proposed a flexible threshold ring signature scheme in chronological order, which in practice has the advantage of solving both the update problem and the chronological order problem.In addressing the difficulty of sharing medical records between healthcare organizations, Lai et al. [25] introduced a secure medical-data-sharing scheme based on traceable ring signatures and blockchain.Samra et al. [26] proposed a new framework, a certificate-less aggregation scheme based on traceable ring signatures (CLA-TRS), which ensures conditional privacy-preserving authentication in vehicular ad-hoc network (VANET) communications.Table 1 summarizes the application scenarios, techniques, advantages, etc., of the above schemes.It can be seen that most of the above schemes are based on bilinear pairing construction, and their security needs to be improved.Moreover, most of them rely on a trusted key generation center (KGC), which cannot avoid attacks and reduces the difficulty of forging signatures.

Preliminaries
In this context, we will present some preliminary knowledge including elliptic curves, difficult assumptions, and the general ring signature algorithm and its security models below.

Elliptic Curve
An elliptic curve is not an ellipse; it is called an elliptic curve because the equation for the curve is similar to the equation for calculating the perimeter of an ellipse.In general, the curve equation of an elliptic curve is a cubic equation of the following form: where a, b, c, d, and e are real numbers satisfying some simple conditions.Elliptic curves over finite fields are commonly used in cryptography, which refers to the curve defined byEquation (1) in which all coefficients are elements in a finite field GF(q), where q is a large prime number.The most-commonly used of these is the curve defined by Equation (2): where a, b ∈ GF(q) and = (4a 3 + 27b 2 ) mod q = 0.An elliptic curve is symmetric with respect to the X-axis, and the addition operation on it is defined as follows: if three points lie on the same line, the sum of them is O. Addition on an elliptic curve is defined as follows: O is the additive identity element, that is, for any point P of the elliptic curve, P + O = P.

2.
Let P 1 = (x, y) be a point on an elliptic curve whose additive inverse element is defined as P 2 = P 1 = (x, y).This is because, when the connection of P 1 and P 2 is extended to infinity, another point O on the elliptic curve is obtained, that is the three points P 1 , P 2 , and O on the elliptic curve are collinear, so

3.
Let P = (x p , y p ), Q = (x q , y q ) and P = −Q, then R = P + Q = (x r , y r ) is determined by the following rule: where The multiple of a point P is defined as 2P = P + P.

Problem Assumptions
Definition 1. Elliptic curve discrete logarithm problem (ECDLP): Given any two points P, Q on an elliptic curve E(F p ), solving for the value x satisfying the equation Q = x • P is unsolvable in polynomial time.

Ring-Signature-Generation Algorithm
The ring signature is a unique type of group signature that uses a set of public keys instead of one.It hides the identity of the actual signer from the verifier.Unlike other group signatures, ring signatures do not require a manager or any coordination among the members.The basic ring signature has three components: KeyGen(), Sign(), and Verify(): • KeyGen(): This algorithm needs to input a security parameter l and, then, generate a key pair (pk, sk) for each user, where pk is the public key and sk is the private key.• Sign(): This algorithm takes the message m, which needs to be encrypted, the private key sk of a ring member, and the public key set L = {pk 1 , pk 2 , • • • , pk n } of the selected ring members and generates a signature σ for the message m.One of the parameters in the signature σ follows a ring according to certain rules.• Verify(): This algorithm is a deterministic algorithm, which takes the public key set L = {pk 1 , pk 2 , • • • , pk n }, the message m, and the signature σ as the input and outputs "accept" if the verification passes and "reject" otherwise.

Security Models
The ring signature scheme is supposed to satisfy the requirements of correctness, unconditional anonymity, and unforgeability.

Game I Correctness
The output of the ring-signature-generation algorithm serves as the input for the ring signature verification algorithm, which always outputs acceptance.The unforgeability and unconditional anonymity of a ring signature scheme are defined by a game between a simulator R and an adversary A. The definition of the general ring signature and the ring signature defined in this paper contains four basic algorithms: system initialization algorithm, key-generation algorithm, ring signature generation, and ring signature verification.The key point is that the general ring signature puts forward more-specific requirements for the signaturevalue-generation process: Given a message M, the public key (PK 1 , PK 2 , • • • , PK n ) of n members, the signer's private key sk π (1 ≤ π ≤ n), and a secure hash function, produce and finally, output the signature value σ, where r i = r j , i = j, h i (1 ≤ i ≤ n) are the hash values determined by m, r i (1 ≤ i ≤ n) and the public keys of the ring members, the signature value σ is completely determined by and message m is decided.

Game II Unforgeability
The unforgeability of a ring signature is defined by the following game between a simulator R and an adversary A: • R generates the system parameters params and sends them to A. A is said to have won the above game if the following four conditions are met: Step 1 : σ * 0 , σ * 1 are valid ring signatures on the message M * , that is RVerify(M * , S * , σ * i ), (i ∈ {0, 1}) → accept.
Step 2: All public keys in S * are obtained by querying the oracle JO.
Step 3: All the public keys in S * are not corrupted, that is the adversary cannot obtain the private keys of any ring member in S * .
Step 4: σ * is not obtained by querying the signed oracle machine SO.
A ring signature scheme is said to be unforgeable if, for any PPT adversary A, the probability of winning the above game is negligible.

Game III Unconditional Anonymity
The unconditional anonymity of a ring signature scheme is defined by a game between a simulator R and an adversary A with infinite computational power as follows: • R generates the system parameters params and sends them to A. A ring signature is said to satisfy unconditional anonymity if, for an adversary A with infinite computing power, the probability of guessing the correct signer π is at most 1  n , where n is the cardinality of the public key set S.

Secure Ring Signature Scheme
In this section, a secure blockchain ring signature scheme is proposed by incorporating the idea of distributed key generation.The following is a detailed description of the system model and the signature algorithm.

System Description
The system model is shown in Figure 1 and contains entities such as the group users, the distributed generation center KDC, and the blockchain network.The purpose of the KDC here is to generate the system parameters, validate and manage the cluster personnel, and verify the signature.The specific scheme is described as follows: Step 1: The KDC picks the security parameter l and generates the system parameters for the signature.
Step 2: The user A π applies to the KDC to become a member of the group; A π sends ID π to the KDC; the KDC passes the verification, returns Q π , and adds the user A π to the group; the user completes the registration.
Step 3: The member A π interacts with other group members A i (i = 1, 2, • • • , n, i = π) through a secure channel to generate the system's master private key and master public key.
Step 4: The member A π signs the data message m to generate signature σ π .
Step 5: All KDCs in the blockchain system verify the signature σ π and upload the data information and signatures to the blockchain database after verification.Miner nodes in the blockchain network pack the set of transactions for a period of time and then continuously calculate the random numbers that meet the conditions to construct blocks that meet the predefined conditions for confirming the transactions.The KDCs mentioned in this paper can be considered as miner nodes, also known as full nodes, and users as regular nodes.Full nodes act as servers in the distributed network, and they maintain consensus rules among other nodes, as well as transaction validation.Ordinary nodes retain some of the information on the block.After the group users sign the data information, all KDCs verify the signatures and upload them into the blockchain network.

Setup Algorithm
The system server selects security parameters l and randomly picks a large prime number q > l.G is a base point on the elliptic curve.Let G 1 be an additive group of order q generated by the generating element P. The hash functions are: N represents the number of authorized users; {q, G, G 1 , H 0 , H 1 , H 2 , H 3 , N} is the public parameter.When the system parameters are determined, every authorized user q , where f i (0) = a i0 .Each A i computes and broadcasts T ij = P a ij (mod q)(j = 0, 1, • • • , N − 1).Meanwhile, every authorized user A i transmits the calculated secret value s ik = f i (k) through a secure channel to the other After that, every A k receives the secret value s ik and determines if it is correct by using the formula P s ik ?=

Key Generation
For each authorized signer of the system, A i transmits its identity information ID i to the KDC.Then, the KDC randomly selects k i ∈ Z * q , computes Q i = H 3 (ID i ||k i ), and secretly transmits it to A i over a secure channel.Next, signer A i computes D i = S • Q i , randomly picks x i ∈ Z * q , and computes its private key sk i = H 2 (x i • D i ) and public key pk i = sk i * G.

Signature Generation
Assuming that the signature user in the system is π, the public key is pk π = sk π * G, and the private key is of other authorized users of the system, and if the public key pk π of the system is not in L, assign the attribute values Y i , A i for each public key pk i as follows: Step 1: Randomly chose v i , t i , r i ∈ Z * q , and compute: where: I π = sk π * H 0 (pk π is a message signature image that prevents double-spending attacks in the system.It is obtained by mapping pk i to a curve point in the finite field using H 0 (pk i ).
Step 2: Randomly select s ∈ Z * q , and then, calculate: where: m stands for the content of the signature, and the final output of the transaction initiator π's ring signature for the message

Verify
The following steps can be used to verify the transaction signature σ by anyone who possesses the public keys of all the members in the ring signature.
Compute ζ i , η i using Equation ( 9), and check if Equation ( 10) holds.If it does, the signature image I π in the signature is not used, and the signature is valid.If it does not, the signature image I π is used and the signature is invalid.

Correctness Analysis
The verifier checks the transaction signature σ using Equation (10), and if it holds, the signature is valid.When i = π, the conversion of ζ i is given as Equation ( 11) and η i is given as Equation ( 12): When i = π, the conversion of ζ i , η i is as follows: Therefore, based on the above relationship, the validity of our proposed scheme can be verified according to the following equation.

Unforgeability Analysis
Theorem 1.Under a randomized oracle model, the messages m can be chosen adaptively by adversary A in Game II to attack.If there exists an algorithm that can win the ECDLP game in polynomial time T, then it is shown that the ECDLP hard problem can be broken with a nonnegligible probability.
Proof.The purpose of challenger R is to compute the value of a when provided with a random instance of the discrete logarithm problem (P, aP).The challenger R sets the public key of the signer U * as: pk i * = aP.In this scenario, R acts as a subroutine within A and takes on the role of the challenger in Game II.To simplify the discussion, let us assume that all queries made by the attacker A are distinct.Next, we elaborate on how the challenger R deals with A's query: Step 1, initialization: The challenger R proceeds to execute the initialized algorithm with a security parameter of l to obtain the system parameters.Subsequently, these system parameters are transmitted from R to the adversary A.
Step 2, hash query: This step consists of the challenger R creating an empty table L, where L holds pairs of two values, such as (x i , y i ), where the challenger R randomly selects y i and sets H 1 (x i ) = y i .When the adversary A queries H 1 (x i ), R hands over y i to A and appends (x i , y i ) to list L.
Step 3, public key query: When the adversary A queries the public key of a user, the challenger R halts if sk i = sk i * ; otherwise, the challenger R gives the matching user public key pk i to adversary A.
Step 4, private key query: When the adversary A queries the private key of a user, if pk i = pk i * , then R stops operating, in the absence of this, the R sends the appropriate user private key sk i back to adversary A.
Step 5, ring signature query: The adversary A transmits information m and a public key collection L of N users to R, which returns a corresponding signature σ.Suppose there is a user identity pk π ∈ L such that pk s = pk i * , then the adversary A signs the message using pk π as the real signer and gives the signature σ.Alternatively, the adversary A will conduct the next steps:

•
Randomly choose v i , t i , r i , s ∈ Z * q , and compute: • The ring signature is given as Step 6, forgery: At last, the adversary A provides the signer pk i * with a signature with different information m * .This same result can be obtained by the challenger R, while both signatures σ and σ * are valid: The challenger R returns the value corresponding to the private key a = sk π .Hence, the adversary A for the instantiation (P, aP) can be found for a = sk π , which means that the ECDLP is solved.
Assuming that A can forge valid ring signatures with a non-negligible probability, there exists an algorithm R that addresses the ECDLP in polynomial time.However, the ECDLP is known to be hard, so the probability of forging the ring signatures in our scheme will be negligible with a random oracle model.For the ring signature σ = , the adversary needs to obtain the signer's private key in the computation even if the adversary randomly selects v i , t i , r i to forge Y i , A i , Y π , A π , and d π .In the proposed scheme, the user's public and private keys are calculated from the system's master key pair, which is jointly generated by the authorized user group according to the distributed key-generation algorithm and is not issued by the trusted third party.Therefore, there is no third-party attack, so the user's public and private keys are safe.Without knowing the key, it is infeasible to compute the key image I π = sk π H 0 (pk π ), so an attacker cannot create the signature σ.Therefore, the scheme in this paper is unforgeable.

Unconditional Anonymity
Theorem 2. In the signature scheme proposed in this paper, the signer has unconditional anonymity, i.e., for any algorithm T , any participant ensemble L = pk 1 , pk 2 , • • • , pk n , and any pk π ∈ L, the probability P r [pk = pk ] is always 1  2 , where the signer of π creates a ring signature: σ = Step 1: The challenger R computes the system parameters and gives them to the adversary A.
Step 2: The adversary A performs polynomially restricted ring signature queries adaptively.
Step 3: The adversary A outputs a message m, two different public keys pk 1 , pk 2 selected from the set of public keys L consisting of authorized users in the challenge phase, and delivers all of this information to R. Next, R randomly chooses one of the two public keys to generate the ring signature and transmits the ring signature σ = (m, L, sk u ) to the adversary A.
Step 4: The adversary A performs polynomially restricted ring signature queries adaptively.
Step 6: The adversary A succeeds in this game if and only if pk = pk .The output signature cannot be seen by any third party until the signer has voluntarily disclosed all information himself/herself.In the ring signature generation, the signer computes the Y i and A i values needed to obtain c i and d i by randomly picking the corresponding t i , v i , r i ∈ Z * q and also obtains the private key by randomly choosing x i ∈ Z * q and computing sk i = H 2 (x i • D i ) ∈ Z * q .Therefore, the ring signature σ is uniformly distributed in G.The chance that a non-member can guess the real signer is at most 1/(n + 1), and the chance that a member of the ring group can guess the real signer is at most 1/n, so the ring signature scheme meets unconditional anonymity.

Performance Evaluation
In this section, the computational efficiency of the secure ring signature scheme based on distributed key generation proposed in this paper is analyzed.To achieve a credible security level, we adopted the experiment that has been performed for the computation evaluation in [25].The experimental environment was: an i58500CPU@3.00GHz,8GBRAM on an HP desktop, based on the Windows 10 operating system, under the Eclipse development environment, using JAVA Version 1.8.0 and JPBC Version 2.0.0 for the implementation, which uses the library Type A class curves to construct symmetric prime-order bilinear groups and performs Type A pairing on the super-singular elliptic curve E. The equation y 2 ≡ x 3 + x mod p defines E, where p ≡ 3 mod 4, the embedding degree is two, and the order of G 1 is q.The order of the group is 512 bit, and the order of the Galawa domain is 160 bit.The signatures of our scheme in the cryptographic operations can be found in Table 2.We define the execution time of some notations of the cryptography operations in milliseconds (ms) in Table 3.In our proposed scheme, the user signature requires the ECC-based scalar multiplication operation, a hash operation mapping to points on elliptic curves, a multiplication operation, and a one-way hash operation mapping to a finite field of prime numbers, with the last one having negligible computational overhead.Therefore, the computational overhead of generating a signature is: The signature verification process of this program mainly requires the ECC-based scalar multiplication operation.Thus, the computational cost is: The signature communication cost is (2n + 1)L, where L is the bit length of the group G 1 , based on the signature-generation phase of our scheme.This shows that the signature length increases linearly with the number of users.
To conclude, the time consumption of the three different ring signature schemes in the signature-generation and signature-verification steps is summarized in Table 4.It was observed that our scheme took less time than the other schemes, both in the signaturegeneration phase and the signature-verification phase.This indicates that our signature scheme possesses higher signing and verification efficiency.

Conclusions
To address the privacy leakage problem faced by users in blockchain systems, this paper proposes a ring signature scheme suitable for blockchain.The design of the scheme is based on the elliptic curve cryptography and distributed key generation ideas.First of all, by generating the system master key through the DKG, the risk of key leakage when a trusted authorizer (TA) is attacked can be effectively reduced.Furthermore, the security analysis of the ring signature showed that the scheme enhances the unforgeability and anonymity of the signature.Under the same security parameter length, the elliptic-curvebased ring signature design is more secure than the traditional bilinear pairing design.Finally, by comparing with related signature schemes, our scheme had a shorter signature generation and verification time and higher efficiency.In view of the problem of the efficiency and communication overhead of the scheme increasing with the increase of the users, we will study the aggregation scheme of the ring signature in the future to improve the verification and communication efficiency.

1 ∑
the equation is not satisfied, the secret value is wrong, and A k sends an error message to A i , who has to resend the right secret value until the equation holds.Then, the master key S = N−i=1 b i0 (mod q) and the master public key P 0 = S • P are established by the N authority members.

Table 1 .
Comparison of ring signature schemes.
To begin with, we introduce A's inquirable oracle machines JO, CO, and SO: • Join oracle machine (JO(⊥) → PK): With this query, a new user is added to the system and the public key PK of the new user is output.• Corruption oracle machine (CO(PK i ) → sk i : The user's public key PK i is input, and the corresponding private key sk i is output.• Signed oracle machine (SO(m, n, L, PK) → σ): Input signed message m, and set L = {PK 1 , PK 2 , • • • , PK n } of public keys of size n; the signer's public key PK π (1 ≤ n ≤ π) returns a valid ring signature σ.
• A can adaptively query join oracle machine JO. • A sends a signature message M * and a set S * = PK 1 , PK 2 , • • • , PK n consisting of public keys of n users to R, where all public keys are obtained by the JO query.R ran-domly selects π • A outputs a guess π ∈ {1, 2, • • • , n}.

Table 2 .
Notations of cryptography operation.

Table 3 .
Cryptography operations' time in milliseconds.

Table 4 .
Efficiency analysis of ring signature algorithms.