Node identity authentication method used in digital medical block chain system

By adopting the multi-CA collaboration mechanism of Shamir threshold secret sharing and BLS signature algorithm in the digital medical blockchain system, the single point of failure problem of alliance chain node identity authentication is solved, and through the scheduling strategies of random walk and gray wolf optimization algorithm, the load balancing and signature efficiency of ICA is improved, achieving more efficient and secure identity authentication.

CN120124028APending Publication Date: 2025-06-10XIAN UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510230753.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2025-06-10

AI Technical Summary

Technical Problem

In the existing digital medical blockchain system, the node identity authentication of the alliance chain has a single point of failure risk, which affects the security of on-chain data. The traditional trust model has too high security requirements for the certificate issuing institutions, making it difficult to deal with the efficient processing of a large number of identity authentication requests.

Method used

Using a multi-CA collaboration mechanism based on Shamir threshold secret sharing, the traditional single certificate authorization center is expanded into a multi-center collaboration authorization certificate model, and a sub-secret reconstruction and certificate issuance scheme are designed in combination with the Boneh-Lynn-Shacham (BLS) signature algorithm. At the same time, a random walk strategy and gray wolf optimization algorithm were introduced to design a scheduling algorithm for multi-signature tasks to ensure load balancing and signature efficiency between ICAs.

Benefits of technology

By decomposing the private key of RCA into multiple subsecrets, the risk of single point of failure is reduced, and the security and scalability of certificate issuance are improved through the multi-CA collaboration mechanism. The combination of random walk and gray wolf optimization algorithm effectively dispatches signature tasks, improving the resource utilization rate of ICA and the efficiency of identity authentication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120124028A_ABST
    Figure CN120124028A_ABST
Patent Text Reader

Abstract

The invention discloses a node identity authentication method for a digital medical block chain system. The node identity authentication method is specifically implemented according to the following steps: step 1, designing a model; step 2, designing a multi-CA cooperation mechanism based on Shamir threshold secret sharing; step 3, designing signature aggregation; 4, designing a signature task scheduling algorithm oriented to multiple authentication requests; step 5, fitness modeling and iterative optimization are carried out; and step 6, designing the hunting method based on the random walk strategy. According to the invention, the problem of node identity security in a block chain network in the prior art is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of digital medical blockchain, and particularly relates to a node identity authentication method for a digital medical blockchain system. Background Art

[0002] With the continuous progress of digital technology, the digitalization and intelligentization processes of the medical industry have continued to deepen. Since the COVID-19 pandemic, the global healthcare and life sciences have faced many new challenges, such as the secure sharing of massive medical data and the anti-counterfeiting and traceability of medical supplies such as drugs and vaccines. To address these new challenges, blockchain technology has been introduced into digital medical systems, using its unique chained digital records and smart contracts to achieve the trustworthy storage and secure sharing of medical data. On the premise of ensuring data integrity among multiple parties, blockchain enables the traceability of information, thus achieving the goals of simplifying medical processes, reducing medical costs, and improving the operating efficiency of digital medical systems. In short, due to its advantages of decentralization, non-forgery, full traceability, traceability, openness, transparency, and collective maintenance, blockchain has been gradually used to assist in the storage and sharing of medical information, as well as in medical supply chain and traceability management, significantly improving the digital level of digital medical systems.

[0003] In promoting the development of blockchain-based digital medical systems, a series of problems also exist, and the most prominent one is the problem of node identity authentication in blockchain. Currently, to balance efficiency and privacy, most digital medical blockchain systems are built based on consortium blockchains. Consortium blockchains record medical data through trusted nodes and aggregate the results into blocks using hashes to form an immutable chained structure. Therefore, how to ensure the credibility of nodes is the key to affecting the security of data on the chain. However, consortium blockchains use a tree-like trust model to grant credit to nodes, and this model of authenticating the identities of other nodes by a single root node may lead to untrusted nodes on the chain due to a single point of failure of the root node, affecting the security of data on the chain, and further restricting the application and promotion of blockchain-based digital medical systems.

[0004] Blockchain links continuously growing data blocks in chronological order through encryption algorithms, forming a distributed and decentralized shared database. This process not only ensures the security and integrity of data but also greatly improves the efficiency and transparency of data processing, thus quickly demonstrating its unique value and application potential in multiple fields such as commerce, finance, and medicine.

[0005] Especially in the field of digital health, blockchain has become a key tool for solving the problem of trust loss due to its unique fairness, decentralization, and traceability. It can effectively protect the security and privacy of patient data while promoting the efficient circulation and sharing of medical information. As Figure 1As shown, when facing complex scenarios such as medical record management, clinical trial data integration, and data protection in genomics research, blockchain technology has demonstrated high adaptability and forward-looking.

[0006] According to different member access rules, blockchains are divided into three types: public blockchains, private blockchains, and consortium blockchains. Public blockchains are open to all people globally and can be joined without permission; private blockchains strictly restrict access rights, and only nodes with network permission can participate; while consortium blockchains are in between, jointly managed by multiple organizations or entities, and can flexibly set the confidentiality level of data, which is very suitable for handling highly sensitive medical information. Therefore, in the digital health field, consortium blockchains are mainly used to process medical information.

[0007] However, in the digital medical system composed of consortium blockchains, there are problems with the security of node identity authentication. Take the most commonly used consortium blockchain Hyperledger Fabric in the digital medical system as an example. This blockchain network is a permissioned blockchain platform, so identity identification and access permission must be obtained before accessing the consortium blockchain. Fabric uses digital certificates for identity authentication, and the management of digital certificates is achieved through a trust model. Figure 2 Shows the general trust model used by Fabric to manage digital certificates.

[0008] As Figure 2 shown, Fabric issues certificates to nodes joining the consortium blockchain using two types of servers: RCA and ICA. Among them, RCA holds the key required to issue certificates and forms a certificate trust chain by trusting ICA. In this model, except for RCA, each ICA has only one superior, and all ICAs start with the same RCA as the trust origin. All CAs have the ability to issue digital certificates to nodes: RCA is the public trust anchor within the trust domain and directly issues certificates to nodes; while ICA indirectly issues certificates to nodes through the trust of RCA. This structure is easy to expand and also limits the exposure of RCA, making the consortium blockchain highly flexible when issuing certificates across multiple organizations.

[0009] But at the same time, it can be seen that this flexibility is achieved at the cost of sacrificing the security of the consortium blockchain. Specifically, the tree-structured trust model leads to very high security requirements for RCA. If RCA is compromised, it will endanger the entire digital certificate management and identity authentication system. If the key of RCA is leaked, or RCA crashes, then the entire consortium blockchain authentication mechanism will also collapse. Nodes in the blockchain network will also be unable to confirm their identities and thus cannot work properly. Therefore, improving the identity authentication strategy of the consortium blockchain is of great significance for enhancing the security of data on the chain and improving the security of the digital medical system based on blockchain.

[0010] Regarding the security issues of node identity authentication in blockchain networks, scholars have carried out a series of targeted studies. For example, in the field of certificate security, Saputra and Sukarno introduced the key binding technology, Ahmad and Keromytis et al. proposed the crowdsourcing technology, and Kubilay and Langley proposed a method of pushing revocation information to browsers. However, these methods only consider certificate security and lack sufficient consideration for the scalability of CAs. From the perspective of the key security of CAs, Z. Wang et al. proposed blockchain-based revocation transparency (RT) and certificate transparency (CT) to balance the absolute authority of CAs, and Kiraz et al. proposed a CertLedger to achieve the security of key storage and use. These methods maintain the security of the blockchain identity authentication system from the perspective of key protection. However, when faced with a large number of identity authentication requests, their processing efficiency is not very satisfactory. Finally, there are also strategies for maintaining blockchain identity authentication security proposed from the perspective of detection and auditing. For example, Google detects forged but valid certificates by providing append-only and publicly auditable logs for all issued TLSs, and Maulani et al. applied blockchain technology to certificate issuance and proposed an open and traceable certificate issuance and verification strategy, reducing the risks of fraud and unauthorized access in the identity authentication system. However, such methods focus on post-event supervision and lack sufficient investment in pre-event prevention and in-event control.

[0011] Summarizing the research status, it is easy to know that the centralized certificate issuing agency and the tree-shaped trust model seriously affect the security of the consortium blockchain and indirectly affect the security of the digital medical system. At present, most of the research focuses on key protection and certificate issuance auditing, and there are few security optimization strategies for the trust model. Summary of the Invention

[0012] The purpose of the present invention is to provide a node identity authentication method for a digital medical blockchain system, which solves the node identity security problems existing in the prior art in the blockchain network.

[0013] The technical solution adopted by the present invention for the node identity authentication method in the digital medical blockchain system is specifically implemented according to the following steps:

[0014] Step 1, design a model:

[0015] Step 2, design a multi-CA cooperation mechanism based on Shamir threshold secret sharing;

[0016] Step 3, design signature aggregation;

[0017] Step 4, design a signature task scheduling algorithm for multiple authentication requests;

[0018] Step 5, Fitness Modeling and Iterative Optimization;

[0019] Step 6, Design a hunting method based on the random walk strategy.

[0020] The features of the present invention also lie in that,

[0021] Step 1 is specifically implemented according to the following steps:

[0022] Design an identity authentication model based on the (k,n) threshold secret sharing mechanism to issue digital signatures for nodes, where k ≤ n. The construction process is as follows: First, expand the traditional certificate authority RCA into multiple certification authorities ICA1 to ICAn; then, based on Shamir's threshold secret sharing mechanism, secretly decompose the private key held by the original RCA into n sub-secrets, denoted as {S 1 , S 2 ,..., S n} and store them separately by n different ICAs; finally, design a load balancer Loadbalancer based on the grey wolf algorithm to be responsible for the identity authentication requests of multiple nodes;

[0023] Whenever a node peer needs to initiate a registration request to the blockchain network, first, the node sends a Cert-Request to the load balancer; when the load balancer receives the Cert-Request, it forwards the Cert-Request to k ICAs; then, the k ICAs that receive the Cert-Request sign the certificate with their own sub-secrets, and the node aggregates the certificates signed with the sub-secrets, and the identity authentication is passed; if faced with multiple Cert-Requests, the load balancer will, based on the historical load of the ICAs, combine the random walk and the grey wolf algorithm, and allocate m Cert-Requests to k + m of the ICAs to ensure load balancing among the ICAs. Finally, the certificates signed with the sub-secrets are sent back to the corresponding nodes and the aggregation results are obtained to achieve the stable and healthy operation of the digital medical system based on the consortium blockchain.

[0024] Step 2 is specifically implemented according to the following steps:

[0025] Design a BLS threshold signature scheme for node certificate issuance. The specific method is as follows:

[0026] Design of the BLS threshold signature scheme:

[0027] (1) Basic preparation:

[0028] Define G 1 , G 2 , G T as multiplicative cyclic groups, the prime order of the group is p, g 1 and g 2They are G 1 and G 2 's fixed generators. Define the function e. If the function satisfies the property requirements of formula (1), then the function e is called bilinear, that is, e: G 1 ×G 2 →G T , where

[0029]

[0030] (2) Generate public and private keys:

[0031] Randomly select a as the private key sk, and calculate the public key pk = sk × G, where G is the point on the elliptic curve corresponding to the private key sk;

[0032] (3) Generate a signature:

[0033] For the given private key sk and message m, calculate m' = Hash(m), and map m' to an element in G. The process of generating the signature is shown in formula (2):

[0034] S = sk × m'(2)

[0035] (4) Verify the signature:

[0036] When it is necessary to verify the signature of a certain node, it is necessary to verify whether e(P, m') = e(G, S) holds. The verification process of the signature is deduced from the properties of the elliptic curve bilinear pairing function in formula (1) as shown in formula (3):

[0037] e(P, m') = e(sk × G, m') = e(G, sk × m') = e(G, S)(3)

[0038] The detailed principle description of the BLS threshold signature process is shown in steps (5)-(8):

[0039] (5) Generate sub-secrets:

[0040] Split RCA into n ICAs, which are (V 1 , V 2 ,..., V n ), and set the threshold to t, t ≤ n. Each V i generates a random polynomial f i locally as shown in formula (4), where the order of the polynomial is the threshold t, and the coefficients a i,j are all random numbers, where i = 1,..., n;

[0041] f i (x) = a i,0+a i,1 x + a i,2 x 2 +…+ a i,t-1 x t-1 (4)

[0043] Then, each V i broadcasts the exchange parameter, i.e., A i,k = g 2 × a i,k mod p, k = 0,... t - 1, where p is the order of the BLS cyclic group G 2 and g 2 is a fixed generator of G 2 Let r i = a i,0 , R i = A i,0 Each V i calculates the fragment s i,j = f i (j) mod p, j = 1,..., n and sends s i,j to V j ; Each V j then verifies whether the obtained A i,k , s i,j is correct according to formula (5).

[0044]

[0045] After the verification is completed, each V i restores the global public key and the local private key of V i i.e., the sub - secret. The restoration process of the global public key is shown in formula (6):

[0046]

[0047] The generation of the local private key of each V j follows the process of formula (7):

[0048]

[0049] Finally, the method of restoring the complete private key using the local private key is shown in formula (8):

[0050]

[0051] Only when more than the threshold t number of participating parties collude and cheat can the complete private key be reconstructed. To sum up, for the splitting method of the RCA private key, the situation of privacy leakage is theoretically eliminated;

[0052] (6) Sub - secret signature:

[0053] Pending ICA node V i When signing the authentication request message m sent by the peer node, first calculate m′ = Hash(m), and then node V i Unfolds the local signature process as shown in formula (9), and finally sends the signature to the peer:

[0054] S i = sk i × m′(9)

[0055] (7) Signature aggregation:

[0056] After the peer receives the signature results of t different ICAs, it uses the Lagrange interpolation method to calculate the threshold signature S all , and the calculation process is as shown in equation (10):

[0057]

[0058] In equation (10), Sig(x) is the polynomial corresponding to the signature, and the threshold signature S all is the leading coefficient of this polynomial, and L i (x) is the Lagrange interpolation basis function;

[0059] (8) Aggregate signature verification:

[0060] When the system needs the node identity, verify the threshold signature through equation (11):

[0061] e(S all , G 2 ) = e(m′, pk all )(11)

[0062] The specific verification process of the threshold signature is as shown in equation (12):

[0063]

[0064] Step 3 is specifically implemented according to the following steps:

[0065] Make the following design for signature aggregation:

[0066] In the (k, n) threshold secret sharing scheme, node C broadcasts a signature request to all ICAs and waits for their signature responses. After receiving the request from node C, an ICA will sign the request with its sub - secret and return it to node C. However, up to no more than the threshold k ICAs are allowed to be tampered with and send forged signature certificates. At this time, two signature aggregation algorithms need to be designed. The first signature verification design algorithm is the pessimistic signature aggregation algorithm. In this algorithm, the node believes that most of the received signature results are untrustworthy. Therefore, each received signature result needs to be verified until k results pass the verification, and then they are aggregated into a complete signature:

[0067] Design an optimistic signature aggregation algorithm. The node believes that the first k received signature results are valid and uses them to aggregate the signature. If the aggregated signature is invalid, the node tries other possible combinations.

[0068] Step 4 is specifically implemented according to the following steps:

[0069] Suppose a node wants to perform blockchain identity authentication. Since the threshold signature scheme is adopted, when a Cert - Request is generated, it does not require all ICAs to sign. That is, when the key of the RCA is shared into n parts and the signature threshold is t, then an authentication request only needs the signatures of t ICAs, and the remaining n - t ICAs will be in an idle state. Use the random walk strategy to enhance the global search ability, optimize the signature task scheduling mechanism by combining the group information and individual information of gray wolves, and improve the resource utilization rate of ICAs, as follows:

[0070] For the signature request of each node, only t responses from n ICAs are required, that is, each Cert - quest has solutions. When the number of Cert - quests becomes m, then based on the gray wolf algorithm, from solutions, select a solution with the highest ICA resource utilization rate and the highest signature efficiency. First, use queuing theory to optimize the distribution of signature tasks; then, according to the task scheduling goal, set the fitness function of the algorithm; finally, based on the gray wolf optimization algorithm, combine the random walk strategy, integrate the information of gray wolf individuals and populations, and continuously optimize until the optimal solution is obtained;

[0071] Task distribution optimization and population initialization:

[0072] Suppose the number of ICAs is n. When tasks arrive at the Loadbalancer at a certain average rate λ, they will be assigned to each different ICA with a probability of λ / n; after the task distribution is completed, the wolf pack will be initialized, and the process is carried out according to formula (13):

[0073]

[0074] In formula (13), i represents the number of iterations, and represent the positions of the prey and the grey wolf respectively. represents the Euclidean distance between the grey wolf and the target prey, represents the position of the grey wolf after iteration. and represent the coefficient vector, and its calculation method is shown in formula (14):

[0075]

[0076] In formula (14), r 1 and r 2 are random numbers in the closed interval from 0 to 1, a is the convergence parameter, as shown in formula (15), and this parameter gradually decreases from 2 to 0 during the iteration process:

[0077]

[0078] Using formula (13), after initializing the population and determining each key parameter, the algorithm enters the second step. Around the custom fitness function, calculate the fitness values of each individual in the population, and select the leading wolves α, β, and δ (i.e., the current optimal solution) to lead the population to continue the optimization;

[0079] Step 5 is specifically implemented according to the following steps:

[0080] Let the leading wolves lead the wolf pack to hunt around the target. In the algorithm, this means that a fitness calculation function needs to be formulated, and this function is used to examine each individual in the population, and then select the optimal individual to lead the entire population to optimize;

[0081] For such a target, a corresponding mathematical model needs to be established for solution. Assume that the set of tasks is W = {w j | 1 ≤ j ≤ m}, m is the total number of signature tasks. Each signature task is independent of each other and is represented by the quadruple {wID, MI, inputFileSize, OutputFileSize}. In this quadruple, wID represents the number of the signature task, MI represents the workload size of the signature task, InputFileSize represents the length of Cert-quest, and OutputFileSize represents the returned threshold signature length;

[0082] Correspondingly, the set of ICAs is R = {r i|1 ≤ i ≤ n}, where n is the number of ICAs, and each ICA is represented by a five-tuple {rID, MIPS, Ram, PesNum, BandWidth}, where rID represents the ICA number, MIPS represents its processing power, Ram represents the storage capacity, PesNum represents the number of CPUs of the ICA, and BandWidth represents the bandwidth. Then, the calculation formula of the multi-objective fitness function established for the load balancing problem around the ICA is shown in formula (16):

[0083] F = min{λ 1 ×MakeSpan, λ 2 ×Busy,

[0084] λ 3 ×Cost} - max{λ 4 ×Utilization} (16)

[0085] In formula (16), λ represents the weight of each objective, and the sum is 1. MakeSpan represents the task completion time, Busy represents the execution time of the system to complete the task, Cost represents the cost calculated according to time, and Utilization represents the resource utilization rate. The calculation methods of each parameter are as follows: First, the resource utilization rate Utilization is the total execution time of the signature task divided by the running time of the ICA, and the task completion time MakeSpan is calculated according to formula (17):

[0086]

[0087] In formula (17), L represents the number of tasks assigned to each ICA, and K represents the number of ICAs. The calculation method of ETC is shown in formula (18):

[0088]

[0089] In formula (18), ETC ij is the actual running time of task i on ICA j, MI represents the workload size of the signature task, MIPS represents the processing power of each ICA, and Busy is calculated according to formula (19), where actTime is the time to actually execute each signature task:

[0090]

[0091] Formula (20) shows the calculation methods of the execution cost Cost 1 , the transmission cost Cost 2 and the waiting cost Cost 3 . Cost is finally calculated from these three parameters:

[0092]

[0093] In formula (20), the result of ETC is calculated from formula (18), where ETCCost, commCost, and waitCost are user-defined costs, commTime is the time to transfer the signature task in the blockchain network, which is calculated by formula (21), and dataTransfer i represents the transfer speed of signature task i, and inputFileSize i represents the length of the signature request, and outputFileSize i represents the length of the returned threshold signature result:

[0094]

[0095] waitTime represents the queuing waiting time of the signature task, which is calculated by formula (22).

[0096]

[0097] Finally, the cost Cost is calculated by formula (23), where σ + μ + γ = 1.

[0098]

[0099] Step 6 is specifically implemented according to the following steps:

[0100] The fitness value of an individual wolf can be calculated through formula (16). After calculation, each wolf will be divided into four types of roles according to the fitness value: a, β, δ, and ω. Among them, a represents the optimal solution, while β and δ represent the sub-optimal solution and the third-best solution respectively. ω follows the guidance of these leaders to explore the search space. Based on the role classification, the optimization process is like the collaborative hunting of a gray wolf group. The wolf group ω, under the leadership of the three optimal wolves a, β, and δ, gradually approaches the optimal solution by tracking, surrounding, and attacking the prey. During this process, a, β, and δ are updated after each iteration. After the leaders are updated, they will guide the remaining ω to update their positions and finally gradually approach the optimal solution;

[0101] Formula (24) shows the hunting process of the wolf group led by the leader wolf. In formula (24), D α , D β and D δ respectively represent the distances between the ω gray wolf and the leader wolves a, β, and δ in the i-th iteration, and respectively represent the positions of the leader wolves a, β, and δ at the i-th iteration, and is a random coefficient vector, which is used to simulate the randomness of the movement of gray wolves near the prey. This randomness simulates the possible uncertain and changing behaviors of the gray wolf pack when tracking the prey. The value of C is usually randomly generated between 0 and 2, which helps to explore different regions of the solution space and avoid the algorithm falling into the local optimal trap prematurely. is the position where the ω gray wolf is located at this moment:

[0102]

[0103] After determining the positions of each gray wolf and the alpha wolf in the population, the individual positions of each wolf can be updated according to formula (25). represents the position where the gray wolf individual will be in the next iteration, while A 1 , A 2 , A 3 determines the intensity and direction of the movement of the ω gray wolf towards the prey. The value of A usually starts from 2 and gradually decreases to 0 during the iteration process. This decreasing process simulates the behavior of the gray wolf pack gradually approaching the prey during the hunting process. When the value of A is close to 0, the gray wolf pack is more inclined to search the surrounding area carefully to find the optimal solution. When the value of A is large, the gray wolf pack may conduct a more extensive search in the solution space.

[0104]

[0105] By introducing the random walk strategy and combining the overall fitness mean of the wolf pack, a wolf pack hunting method based on the random walk strategy is proposed to guide the movement of the wolf pack. The specific calculation process is shown in formula (26). In this formula, and represent the next updated position information of the ω gray wolf in the wolf pack adjusted according to the positions of the alpha wolf a, β, and δ. rand() is a random number between (-1, 1):

[0106]

[0107] After obtaining the position update basis that combines the alpha wolf and other gray wolves, the random walk strategy is introduced to improve the hunting process of the wolf pack. Specifically, the Levy Flight random walk algorithm is used in this method. The direction of each update of this algorithm is completely random. In addition, the step size calculated by this algorithm belongs to the heavy-tailed distribution, so the probability of large step sizes is relatively high, which helps to solve the problem of overcoming the local optimal trap during the wolf pack hunting. The calculation method of the step size s of the Levy Flight random walk algorithm is shown in formula (27):

[0108]

[0109] In formula (27), α represents an exponential distribution within the range of 0 to 2, and x and y are two normal distribution variables, which are expressed as shown in formula (28):

[0110]

[0111] The variance in formula (28) is calculated by formula (29):

[0112]

[0113] In formula (29), α is 1.5, Γ is the gamma function, and the function of integer z is defined as shown in formula (30):

[0114]

[0115] The formal expression method of the hunting method is shown in formula (31):

[0116]

[0117] Formula (31) implements the wolf pack hunting method that skips the local optimal trap. In the formula, is the position of ω in the wolf pack at the next moment. It may adjust its own position according to the position of the leader wolf according to the hunting idea of the traditional grey wolf algorithm; it may also make a certain position adjustment on the basis of the leader wolf's position, and the step size Levy(s) is obtained by formula (27). In addition, p represents the probability of using the random walk algorithm to adjust the position update strategy;

[0118] After a round of hunting process, all the wolves in the population have updated their own positions. At this time, through formula (16), the fitness values of each wolf in the new position are calculated again, and then according to this fitness value, the leader wolves a, β, and δ are re-elected, and under the leadership of the leader wolves, a new round of hunting is carried out around the target. When the maximum number of iterations is reached, the solution represented by the leader wolf a can be selected as the optimal solution, that is, mapping a set of independent signature tasks to a set of heterogeneous and dynamic ICAs, while ensuring the signature efficiency while taking into account the load balance. It is also possible to comprehensively consider the results of a, β, and δ and synthesize them into the optimal output.

[0119] The beneficial effects of the present invention are as follows. To solve the problems of identity security and data consistency in the consortium blockchain, the present invention proposes a consortium blockchain node identity authentication model based on secret sharing and grey wolf algorithm optimization algorithm, and applies it to the blockchain-based digital medical system. First, the single certificate authorization center model of the traditional medical blockchain system is expanded to a multi-center collaborative authorization certificate model, where the only root CA server (Root certificate authority, RCA) in the consortium blockchain is expanded into n intermediate CA servers (Intermediate certificate authority, ICA), and the private key S held by the original RCA is decomposed into multiple sub-secrets and handed over to n ICAs for storage. Then, based on the Shamir threshold secret sharing mechanism, a (k, n) threshold signature scheme is designed. Whenever an identity authentication request from a node is received, k members (k < n) among the n ICAs use their own sub-secrets to issue a digital certificate for the node, and the node aggregates the certificates after receiving them to authenticate the identity. Finally, to ensure the load balance of multiple ICAs when facing a large number of signature requests, the present invention combines the random walk strategy and the grey wolf optimization algorithm to propose a scheduling algorithm for multi-signature tasks. Generally speaking, the contributions of the present invention are as follows:

[0120] (1) Expand the single certificate authorization center model of the traditional medical blockchain system to a multi-center collaborative authorization certificate model;

[0121] (2) Based on the Shamir threshold secret sharing strategy, decompose the key of the RCA into sub-secrets, and then combine with the Boneh-Lynn-Shacham (BLS) signature algorithm to design a sub-secret reconstruction and certificate issuance scheme;

[0122] (3) Combine the random walk and grey wolf optimization algorithms to design a scheduling algorithm for multi-signature tasks, find the best mapping relationship between the signature tasks and the ICAs, and ensure the load balance of multiple ICAs. Description of the Drawings

[0123] Figure 1 It is an application diagram of the blockchain-based digital medical system;

[0124] Figure 2 It is a trust model diagram of the Fabric consortium blockchain;

[0125] Figure 3 It is a consortium blockchain node identity authentication model based on secret sharing and grey wolf algorithm optimization algorithm;

[0126] Figure 4 It is a schematic diagram of the BLS threshold signature process;

[0127] Figure 5 It is the mapping relationship of signature task scheduling;

[0128] Figure 6 It is the algorithm control flow chart based on the Grey Wolf Optimization algorithm. Specific implementation manners

[0129] The present invention will be described in detail below in conjunction with the accompanying drawings and specific implementation manners.

[0130] In order to fundamentally solve the problem of node identity security in the blockchain network, it is necessary to start from the trust model on which identity authentication depends and focus on solving two problems: (1) The RCA security in the trust model is too concentrated; (2) How to balance security and efficiency in the identity authentication of multiple ICAs. To solve the above two problems, taking the digital medical system based on Hyperledger Fabric as an example, the present invention proposes a consortium chain node identity authentication model based on secret sharing and Grey Wolf algorithm optimization algorithm to solve these two problems respectively. (1) Introduce the Shamir threshold secret sharing strategy to split the key of RCA into n sub-secrets and hand them over to n ICAs for custody. When authenticating the node identity, k ICAs provide k sub-secrets to issue digital certificates. (2) In order to ensure the safe and efficient issuance of digital certificates by distributed ICAs, the Grey Wolf algorithm is introduced to guide the scheduling of multi-signature tasks to ensure the load balance of ICAs.

[0131] In order to address the challenges that the node security and data security in the digital medical system are affected due to the risk of single point of failure in the blockchain node authentication mechanism. The present invention proposes a consortium chain node identity authentication model based on secret sharing and Grey Wolf algorithm optimization algorithm, and its overall architecture is as Figure 3 shown.

[0132] The method for authenticating the identity of nodes in the digital medical blockchain system is specifically implemented according to the following steps:

[0133] Step 1. Design the model:

[0134] Step 1 is specifically implemented according to the following steps:

[0135] As Figure 3 shown, design an identity authentication model based on the (k,n) threshold secret sharing mechanism to issue digital signatures for nodes, where k ≤ n, and the construction process is as follows: First, expand the traditional certificate authority RCA into multiple certification authorities ICA 1 to ICA n; then, based on the Shamir threshold secret sharing mechanism, secretly decompose the private key held by the original RCA into n sub-secrets, denoted as {S 1 , S 2 , …, S n}, which are respectively held by n different ICAs; finally, based on the Grey Wolf algorithm, design a load balancer Loadbalancer to be responsible for the identity authentication requests of multiple nodes;

[0136] Figure 3 The working process of the model is also shown. Whenever a node peer needs to initiate a registration request to the blockchain network, first, the node sends a Cert-Request to the load balancer; when the load balancer receives the Cert-Request, it forwards the Cert-Request to k ICA; then, the k ICA that receive the Cert-Request sign the certificate with their own sub-secrets, and the node aggregates the certificates signed with the sub-secrets, and the identity authentication passes; if faced with multiple (e.g., m) Cert-Requests, the load balancer will, based on the historical load of the ICA, combine random walk and the grey wolf algorithm, and distribute the m Cert-Requests to k + m of the ICA to ensure load balancing among the ICA. Finally, the certificates signed with the sub-secrets are sent back to the corresponding nodes and the aggregation results are obtained to achieve the stable and healthy operation of the digital medical system based on the consortium blockchain.

[0137] Step 2: Design a multi-CA collaboration mechanism based on Shamir threshold secret sharing;

[0138] Step 2 is specifically implemented according to the following steps:

[0139] According to Figure 3 shown, the first step in the model design is to design a key splitting method for the RCA based on the Shamir threshold secret sharing mechanism. The reason for introducing the Shamir threshold secret sharing mechanism is that a simple secret splitting strategy cannot avoid single-point failure and the signature efficiency will also decrease. In addition, due to the small key length, high security, and fast calculation speed of the BLS aggregate signature algorithm (BLS digital signature, also known as Boneh–Lynn–Shacham (BLS)). Therefore, in this method, a BLS threshold signature scheme is designed for node certificate issuance, and the specific method is as follows:

[0140] Design of the BLS threshold signature scheme:

[0141] (1) Basic preparation:

[0142] Define G 1 , G 2 , G T as multiplicative cyclic groups, the prime order of the group is p, g 1 and g 2 are the fixed generators of G 1 and G 2 respectively. Define the function e. If the function satisfies the property requirements of formula (1), then the function e is called bilinear, that is, e: G 1 ×G 2 →GT , where

[0143]

[0144] (2) Generate public and private keys:

[0145] Randomly select a as the private key sk, and calculate the public key pk = sk × G, where G is the point on the elliptic curve corresponding to the private key sk;

[0146] (3) Generate a signature:

[0147] For the given private key sk and message m, calculate m' = Hash(m), and map m' to an element in G. The process of generating the signature is shown in formula (2):

[0148] S = sk × m'(2)

[0149] (4) Verify the signature:

[0150] When it is necessary to verify the signature of a certain node, it is necessary to verify whether e(P, m') = e(G, S) holds. The signature verification process is deduced from the properties of the elliptic curve bilinear pairing function in formula (1) as shown in formula (3):

[0151] e(P, m') = e(sk × G, m') = e(G, sk × m') = e(G, S)(3)

[0152] As Figure 4 describes the BLS threshold signature process, and the detailed principle description of the BLS threshold signature process is shown in steps (5)-(8):

[0153] (5) Generate sub-secrets:

[0154] Split RCA into n ICAs, which are (V 1 , V 2 ,..., V n ), and set the threshold to t, t ≤ n. Each V i generates a random polynomial f as shown in formula (4) locally i , where the order of the polynomial is the threshold t, and the coefficients a i,j are all random numbers, where i = 1,..., n;

[0155] f i (x) = a i,0 + a i,1 x + a i,2 x 2 + … + a i,t-1 x t-1 (4)

[0156] Then, for each V i broadcast the exchange parameter, i.e., A i,k = g 2 × a i,k mod p, k = 0,... t-1, where p is the order of the BLS cyclic group G 2 and g 2 is a fixed generator of G 2 Let r i = a i,0 , R i = A i,0 For each V i calculate the fragment s i,j = f i (j) mod p, j = 1,…, n, and send s i,j to V j ; For each V j then verify whether the obtained A i,k , s i,j is correct according to formula (5).

[0157]

[0158] After the verification is completed, each V i restores the global public key and the local private key of V i , that is, the sub-secret. The restoration process of the global public key is shown in formula (6):

[0159]

[0160] The generation of the local private key of each V j follows the process shown in formula (7):

[0161]

[0162] Finally, the method for restoring the complete private key using the local private key is shown in formula (8):

[0163]

[0164] In theory, the private key sk all is computable, but each ICA does not share its respective sub-secret r i at the same time. Therefore, the complete private key can be reconstructed if and only if more than the threshold t number of participating parties collude and cheat. In summary, for the method of splitting the RCA private key, the situation of privacy leakage is theoretically prevented;

[0165] (6) Sub-secret signature:

[0166] For the ICA node V iWhen signing the authentication request message m sent by the peer node, first calculate m′ = Hash(m), and then node V i Unfolds the local signature process as shown in formula (9), and finally sends the signature to the peer:

[0167] S i = sk i × m′(9)

[0168] (7) Signature aggregation:

[0169] After the peer receives the signature results of t different ICAs, it uses the Lagrange interpolation method to calculate the threshold signature S all , and the calculation process is as shown in formula (10):

[0170]

[0171] In formula (10), Sig(x) is the polynomial corresponding to the signature, the threshold signature S all is the leading coefficient of this polynomial, and L i (x) is the Lagrange interpolation basis function;

[0172] (8) Aggregate signature verification:

[0173] When the system needs the node identity, verify the threshold signature through formula (11):

[0174] e(S all , G 2 ) = e(m′, pk all )(11)

[0175] The specific verification process of the threshold signature is as shown in formula (12):

[0176]

[0177] Step 3. Design signature aggregation;

[0178] Step 3 is specifically implemented according to the following steps:

[0179] To ensure the robustness of the scheme, the threshold signature scheme must have the ability to tolerate tampered or damaged signature results. Therefore, the following design is made for signature aggregation:

[0180] In the (k, n) threshold secret sharing scheme, node C broadcasts a signature request to all ICAs and waits for their signature responses. After receiving the request from node C, an ICA will sign the request with its sub-secret and return it to node C. However, at most, no more than the threshold k ICAs are allowed to be tampered with and send forged signature certificates. At this time, two signature aggregation algorithms need to be designed. The first signature verification design algorithm is shown in Table 1. This algorithm is also called the pessimistic signature aggregation algorithm. In this algorithm, the node believes that most of the received signature results are untrustworthy. Therefore, each received signature result needs to be verified until k results pass the verification, and then they are aggregated into a complete signature:

[0181] Table 1 Pessimistic Signature Aggregation Algorithm

[0182]

[0183] The pessimistic signature aggregation algorithm is applicable to most blockchain networks. However, verifying all signatures easily leads to too low certificate issuance efficiency. For the high-security consortium chain network environment, the trust level of its ICAs is relatively high. Therefore, most nodes do not need to repeatedly verify signatures. Therefore, in order to improve the signature verification efficiency, an optimistic signature aggregation algorithm is designed. The algorithm process is shown in Table 2. The node believes that the first k received signature results are valid and uses them to aggregate the signature. If the aggregated signature is invalid, the node tries other possible combinations.

[0184] Table 2 Optimistic Signature Aggregation Algorithm

[0185]

[0186] Taking the digital medical system based on Hyperledger Fabric as an example to illustrate the signature aggregation process. The traditional Fabric-RCA adopts the BLS threshold signature scheme, allowing the root node to sign the node's authentication request message with the complete private key. The method proposed in this invention optimizes the RCA into n ICAs, and then k of them adopt the threshold signature method to sign with the sub-secret, and then aggregate the signature results, solving the problem of key leakage existing in the original Fabric-RCA. However, since the identity authentication service changes from a single RCA to multiple ICAs, and signature aggregation does not require all ICAs to participate, in the face of multiple authentication tasks, it will cause uneven load among ICAs, indirectly affecting the efficiency of identity authentication.

[0187] In response to this situation, based on multiple ICAs, this invention proposes a signature task scheduling algorithm that combines random walk and grey wolf optimization, so as to reasonably schedule signature tasks, improve the resource utilization rate of ICAs, and reduce the efficiency of node identity authentication while meeting the security requirements of identity authentication and ensuring even load.

[0188] Step 4: Design a signature task scheduling algorithm for multiple authentication requests;

[0189] Step 4 is specifically implemented according to the following steps:

[0190] The design purpose of the signature task scheduling algorithm is to find the best mapping between signature tasks and ICA when dealing with a large number of signature tasks, so that the resources of each ICA can be fully utilized, and to ensure the efficiency of node identity authentication. Specifically, assume that a certain node needs to perform blockchain identity authentication. Since the threshold signature scheme is adopted, when a Cert-Request is generated, it is not necessary for all ICAs to sign. That is, when the key of the RCA is shared into n parts and the signature threshold is t, then an authentication request only needs the signatures of t ICAs, and the remaining n - t ICAs will be idle. Generalizing the situation, when the authentication requests of the node become m, how to design the loadbalancer in the identity authentication model through the Figure 3 (k,n) threshold secret sharing mechanism in, and dynamically map the mutually independent m identity authentication requests {w 1 , w 2 , w 3 , …, w m} to n ICAs {s 1 , s 2 , s 3 , …, s n} to ensure the efficiency of identity authentication is a new problem brought by secret sharing and threshold signature. The description of this problem is as Figure 5 shown. After years of development, the research on scheduling strategies for the purpose of load balancing has formed two major research directions: traditional scheduling strategies and swarm intelligence scheduling strategies. Among them, traditional scheduling strategies such as the first-come-first-served algorithm, round-robin algorithm, and Min-Min algorithm are mainly used for simple scheduling of a small number of tasks in the case of limited resources. However, for large-scale signature task scheduling, swarm intelligence scheduling strategies need to be used. Based on the grey wolf algorithm and combined with the random walk strategy, the present invention designs a scheduling algorithm for multiple signature tasks. Aiming at the problem that the grey wolf optimization algorithm is prone to search stagnation, the proposed algorithm uses the random walk strategy to enhance the global search ability, optimizes the signature task scheduling mechanism by combining the swarm information and individual information of grey wolves, and improves the resource utilization rate of ICA, as follows:

[0191] The Grey Wolf Optimizer (GWO) belongs to the meta - heuristic algorithms. By simulating the strict social hierarchy and hunting mechanism of the grey wolf population, it establishes a fitness function to optimize and update parameters, and finally obtains the optimal solution. Its basic principle is as follows: A set of solutions is randomly generated to form the initial grey wolf population. Then, three leading wolves (α, β, and δ) in the population are selected, and they lead the remaining wolves (ω) to move towards the optimal direction in the search space. Specifically, the movement rules of the wolf pack are described as three stages: "Encircling prey", "Search for prey", and "Attacking prey". In the "Encircling prey" stage, first, based on the current positions of the leading wolves α, β, and δ, a formula for the distance between them and the hunting target is established. After determining the target to be surrounded and hunted, it enters the "Search for prey" stage. That is, under the leadership of the leading wolves, the wolf pack updates its position according to the dynamic position of the prey, simulating the tracking behavior and gradually approaching the prey. Finally, when the grey wolves are close enough to the optimal solution target, the algorithm makes fine - tuning and enters the "Attacking prey" stage to accurately find the optimal solution;

[0192] Specifically, when using the Grey Wolf Optimizer to solve the scheduling of signature tasks. For the signature requests of each node, only t responses from n ICA are required, that is, each Cert - quest has solutions. When the number of Cert - quests becomes m, then based on the Grey Wolf Optimizer, from solutions, a solution with the highest ICA resource utilization rate and the highest signature efficiency is selected. The process of the algorithm is as Figure 6 shown. First, use queuing theory to optimize the distribution of signature tasks; then, according to the task scheduling goal, set the fitness function of the algorithm; finally, based on the Grey Wolf Optimization algorithm, combined with the random walk strategy, integrating the information of grey wolf individuals and the population, continuously optimize until the optimal solution is obtained;

[0193] Task distribution optimization and population initialization:

[0194] The first step of the algorithm is to introduce a queuing theory model to initialize the distribution of signature tasks and reduce the average waiting time of tasks in the Loadbalancer. In the blockchain network, the complexity of signature tasks is roughly the same, that is, the time from the initiation of the signature task to the reception by the ICA conforms to the Poisson distribution. Assuming the number of ICA is n, when tasks arrive at the Loadbalancer at a certain average rate λ, they will be assigned to each different ICA with a probability of λ / n; after the task distribution is completed, the wolf population will be initialized, and the process is carried out according to formula (13):

[0195]

[0196] In formula (13), i represents the number of iterations, and respectively represent the positions of the prey and the gray wolf. represents the Euclidean distance between the gray wolf and the target prey, represents the position of the gray wolf after iteration. and represent the coefficient vectors, and their calculation method is shown in formula (14):

[0197]

[0198] In formula (14), and

[0199] are random numbers in the closed interval from 0 to 1, a is the convergence parameter, as shown in formula (15), and this parameter gradually decreases from 2 to 0 with the iteration process:

[0200]

[0201] Using formula (13), after initializing the population and determining each key parameter, the algorithm enters the second step. Around the custom fitness function, calculate the fitness values of each individual in the population, and select the leader wolves a, β, and δ (i.e., the current optimal solution) to lead the population to continue optimizing;

[0202] Step 5, Fitness modeling and iterative optimization;

[0203] Step 5 is specifically implemented according to the following steps:

[0204] In order to let the wolf pack carry out hunting, it is necessary to clarify the hunting target and let the leader wolf lead the wolf pack to chase around the target. In the algorithm, this means that it is necessary to formulate a calculation function for fitness, and use this function to examine each individual in the population, and then select the optimal individual to lead the entire population to optimize;

[0205] For such a target, it is necessary to establish a corresponding mathematical model to solve. Assume that the set of tasks is W = {w j | 1 ≤ j ≤ m}, m is the total number of signature tasks. Each signature task is independent of each other and is represented by the quadruple {wID, MI, inputFileSize, OutputFileSize}. In this quadruple, wID represents the number of the signature task, MI represents the workload size of the signature task, InputFileSize represents the length of Cert-quest, and OutputFileSize represents the returned threshold signature length;

[0206] Correspondingly, the set of ICA is R = {r i|1 ≤ i ≤ n}, where n is the number of ICAs, and each ICA is represented by a five-tuple {rID, MIPS, Ram, PesNum, BandWidth}. Here, rID represents the ICA number, MIPS represents its processing power, Ram represents the storage capacity, PesNum represents the number of CPUs of the ICA, and BandWidth represents the bandwidth. Then, the calculation formula of the multi-objective fitness function established for the load balancing problem around the ICA is shown in formula (16):

[0207]

[0208] In formula (16), λ represents the weight of each objective, and the sum is 1. MakeSpan represents the task completion time, Busy represents the execution time for the system to complete the task, Cost represents the cost calculated based on time, and Utilization represents the resource utilization rate. The calculation methods for each parameter are as follows: First, the resource utilization rate Utilization is the total execution time of the signature task divided by the running time of the ICA, and the task completion time MakeSpan is calculated according to formula (17):

[0209]

[0210] In formula (17), L represents the number of tasks allocated to each ICA, and K represents the number of ICAs. The calculation method of ETC is shown in formula (18):

[0211]

[0212] ETC in formula (18) ij is the actual running time of task i on ICA j. MI represents the workload size of the signature task, MIPS represents the processing power of each ICA, and Busy is calculated according to formula (19), where actTime is the actual execution time of each signature task:

[0213]

[0214] Formula (20) shows the calculation methods of the execution cost Cost 1 , the transmission cost Cost 2 and the waiting cost Cost 3 . Cost is finally calculated from these three parameters:

[0215]

[0216] In formula (20), the result of ETC is calculated from formula (18). ETCCost, commCost, and waitCost are user-defined costs, and commTime is the time for transmitting the signature task in the blockchain network, which is calculated from formula (21). dataTransfer i represents the transmission speed of signature task i, and inputFileSize i represents the length of the signature request, and outputFileSize i represents the length of the returned threshold signature result:

[0217]

[0218] waitTime represents the queuing waiting time of the signature task, which is calculated from formula (22).

[0219]

[0220] Finally, the cost Cost is calculated from formula (23), where σ + μ + γ = 1.

[0221] Cost = σ * Cost 1 + μ * Cost 2 + γ * Cost 3 (23)

[0222] Step 6: Design a hunting method based on the random walk strategy, which is specifically implemented according to the following steps:

[0223] The fitness value of an individual wolf can be calculated through formula (16). After the calculation, each wolf will be divided into four types of roles according to the fitness value: a, β, δ, and ω. Among them, a represents the optimal solution, while β and δ represent the sub-optimal solution and the third-best solution respectively. ω follows the guidance of these leaders to explore the search space. Based on the role classification, the optimization process is like the cooperative hunting of a gray wolf group. The wolf group ω, under the leadership of the three optimal wolves a, β, and δ, gradually approaches the optimal solution by tracking, surrounding, and attacking the prey. During this process, a, β, and δ are updated after each round of iteration. After the leaders are updated, they will guide the remaining ω to update their positions and finally gradually approach the optimal solution;

[0224] Formula (24) shows the hunting process of the wolf group led by the leading wolf. In formula (24), D α , D β and D δ respectively represent the distances between the ω gray wolf and the leading wolves a, β, and δ in the i-th iteration, and respectively represent the positions of the leading wolves a, β, and δ at the i-th iteration, and is a random coefficient vector, which is used to simulate the randomness of the movement of gray wolves near the prey. This randomness simulates the possible uncertain and changing behaviors of the gray wolf pack when tracking prey. The value of C is usually randomly generated between 0 and 2, which helps to explore different regions of the solution space and avoid the algorithm falling into the local optimal trap prematurely. is the position of the ω gray wolf at this moment:

[0225]

[0226] After determining the positions between each gray wolf and the leader wolf in the population, the individual positions of each wolf can be updated according to formula (25). represents the position where the gray wolf individual will be in the next iteration, while A 1 , A 2 , A 3 determine the intensity and direction of the movement of the ω gray wolf towards the prey. The values of these coefficients affect the tightness of the gray wolf pack surrounding the prey, thus affecting the exploratory (exploring new regions) and exploitative (exploiting known regions) nature of the search behavior. The value of A usually starts from 2 and gradually decreases to 0 during the iteration process. This decreasing process simulates the behavior of the gray wolf pack gradually approaching the prey during the hunting process. When the value of A is close to 0, the gray wolf pack is more inclined to search the surrounding area carefully to find the optimal solution. When the value of A is large, the gray wolf pack may conduct a more extensive search in the solution space.

[0227]

[0228] However, there are two problems with the above method: First, during each iteration process, the update of the gray wolf position only relies on the optimal solutions of the first 3 leader wolves, ignoring the fact that each gray wolf individual has the ability to transmit information and hunt; Second, as a typical swarm intelligence algorithm, the traditional gray wolf algorithm has the defect of easy premature convergence, that is, the algorithm converges to the local optimal solution prematurely instead of the global optimal solution.

[0229] To solve this problem, this method introduces a random walk strategy and combines the average fitness of the wolf pack as a whole to propose a wolf pack hunting method based on the random walk strategy to guide the movement of the wolf pack. Its specific calculation process is shown in formula (26). In this formula, and represent the next updated position information of the ω gray wolf in the wolf pack adjusted according to the positions of the leader wolves a, β, and δ. rand() is a random number between (-1, 1):

[0230]

[0231] After obtaining the position update basis that synthesizes the leading wolf and other gray wolves, a random walk strategy is introduced to improve the hunting process of the wolf pack. The reason for doing this is to overcome the problem that swarm intelligence algorithms are prone to search stagnation. Specifically, the Levy Flight random walk algorithm is used in this method. The direction of each update of this algorithm is completely random. In addition, the step size calculated by this algorithm belongs to a heavy-tailed distribution. Therefore, the probability of large step sizes is relatively high, which helps to solve the problem of overcoming local optimal traps during the wolf pack hunting. The calculation method of the step size s of the Levy Flight random walk algorithm is shown in formula (27):

[0232]

[0233] In formula (27), α represents an exponential distribution within the range of 0 to 2, and x and y are two normal distribution variables, and their representations are shown in formula (28):

[0234]

[0235] The variance in formula (28) is calculated by formula (29):

[0236]

[0237] In formula (29), α is 1.5, Γ is the gamma function, and the function definition of the integer z is shown in formula (30):

[0238]

[0239] Using formula (27), a wolf pack hunting method based on the random walk strategy can be designed. Based on the calculation result of formula (26), this method skips the current optimum with a certain probability to enhance the global search ability of the algorithm. The formal expression method of this hunting method is shown in formula (31):

[0240]

[0241] Formula (31) implements a wolf pack hunting method that skips local optimal traps. In the formula, is the position of ω in the wolf pack at the next moment. It may adjust its own position according to the position of the leading wolf according to the hunting idea of the traditional gray wolf algorithm; it may also make a certain position adjustment based on the position of the leading wolf, and the step size Levy(s) is obtained by formula (27). In addition, p represents the probability of using the random walk algorithm to adjust the position update strategy. To maintain a certain degree of randomness, it is taken as 0.5 in this method. rand is a random number in the interval (0,1).

[0242] After a round of hunting process, all the wolves in the population have updated their positions. At this time, through formula (16), the fitness values of each wolf in the new position are calculated again. Then, according to these fitness values, the leader wolves a, β, and δ are re-elected, and under the leadership of the leader wolves, a new round of hunting around the target is carried out. When the maximum number of iterations is reached, the solution represented by the leader wolf a can be selected as the optimal solution, that is, mapping a set of independent signature tasks to a set of heterogeneous and dynamic ICAs, while ensuring the signature efficiency under the consideration of load balancing. It is also possible to comprehensively consider the results of a, β, and δ and synthesize them into the optimal output. This design effectively balances the needs of exploration (i.e., searching for new areas) and exploitation (i.e., finding the optimal solution in the discovered promising areas). Summarize the process of the signature task scheduling algorithm based on grey wolf optimization, and its pseudo-code implementation is shown in Table 3.

[0243] Table 3 Signature Task Scheduling Algorithm Based on Grey Wolf Optimization

[0244]

[0245]

[0246] Example 1

[0247] The node identity authentication method of the present invention for a digital medical blockchain system is specifically implemented according to the following steps:

[0248] Step 1: Design a model:

[0249] Step 2: Design a multi-CA cooperation mechanism based on Shamir threshold secret sharing;

[0250] Step 3: Design signature aggregation;

[0251] Step 4: Design a signature task scheduling algorithm for multi-authentication requests;

[0252] Step 5: Fitness modeling and iterative optimization;

[0253] Step 6: Design a hunting method based on a random walk strategy.

[0254] Example 2

[0255] The node identity authentication method for a digital medical blockchain system is specifically implemented according to the following steps:

[0256] Step 1: Design a model:

[0257] Step 1 is specifically implemented according to the following steps:

[0258] Such as Figure 3As shown, an identity authentication model is designed based on the (k, n) threshold secret sharing mechanism to issue digital signatures for nodes, where k ≤ n. The construction process is as follows: First, expand the traditional certificate authority RCA into multiple certification authorities ICA1 to ICA n; then, based on Shamir's threshold secret sharing mechanism, secretly decompose the private key held by the original RCA into n sub-secrets, denoted as {S 1 , S 2 ,..., S n}, which are respectively kept by n different ICAs; finally, based on the grey wolf algorithm, design a load balancer Loadbalancer to be responsible for the identity authentication requests of multiple nodes;

[0259] Figure 3 The working process of the model is also shown. Whenever a node peer needs to initiate a registration request to the blockchain network, first, the node sends a Cert-Request to the load balancer; when the load balancer receives the Cert-Request, it forwards the Cert-Request to k ICAs; then, the k ICAs that receive the Cert-Request sign the certificate with their own sub-secrets, and the node aggregates the certificates signed with the sub-secrets, and the identity authentication passes; if faced with multiple (for example, m) Cert-Requests, the load balancer will, based on the historical load of the ICAs, combine the random walk and the grey wolf algorithm, and distribute the m Cert-Requests to k + m ICAs among them to ensure load balancing among the ICAs. Finally, the certificates signed with the sub-secrets are sent back to the corresponding nodes and the aggregation results are obtained to achieve the stable and healthy operation of the digital medical system based on the consortium blockchain.

[0260] Step 2: Design a multi-CA collaboration mechanism based on Shamir threshold secret sharing; (12)

[0262] Step 3: Design signature aggregation;

[0263] Step 4: Design a signature task scheduling algorithm for multiple authentication requests;

[0264] Step 5: Fitness modeling and iterative optimization;

[0265] Step 6: Design a hunting method based on the random walk strategy.

[0266] Example 3

[0267] A method for node identity authentication in a digital medical blockchain system is specifically implemented according to the following steps:

[0268] Step 1: Design a model:

[0269] Step 2: Design a multi-CA collaboration mechanism based on Shamir threshold secret sharing;

[0270] Step 2 is specifically implemented according to the following steps:

[0271] According to Figure 3 As shown, the first step in model design is to design a key splitting method for RCA based on the Shamir threshold secret sharing mechanism. The reason for introducing the Shamir threshold secret sharing mechanism is that a simple secret splitting strategy cannot avoid single-point failure and the signature efficiency will also decrease. In addition, due to the small key length, high security, and fast calculation speed of the BLS aggregate signature algorithm (BLS digital signature, also known as Boneh–Lynn–Shacham (BLS)). Therefore, in this method, a BLS threshold signature scheme is designed for node certificate issuance, and the specific method is as follows:

[0272] Design of BLS threshold signature scheme:

[0273] (1) Basic preparation:

[0274] Define G 1 , G 2 , G T as multiplicative cyclic groups, the prime order of the group is p, g 1 and g 2 are the fixed generators of G 1 and G 2 respectively. Define the function e. If the function satisfies the property requirements of formula (1), then the function e is called bilinear, that is, e: G 1 ×G 2 →G T , where

[0275]

[0276] (2) Generate public and private keys:

[0277] Randomly select a as the private key sk, and calculate the public key pk = sk × G, where G is the point on the elliptic curve corresponding to the private key sk;

[0278] (3) Generate signature:

[0279] For the given private key sk and message m, calculate m' = Hash(m), and map m' to an element in G. The process of generating the signature is as shown in formula (2):

[0280] S = sk × m'(2)

[0281] (4) Verify signature:

[0282] When it is necessary to verify the signature of a certain node, it is necessary to verify whether e(P, m′) = e(G, S) holds. The signature verification process is derived from the properties of the elliptic curve bilinear pairing function in formula (1) as shown in formula (3):

[0283] e(P, m′) = e(sk × G, m′) = e(G, sk × m′) = e(G, S) (3)

[0284] As Figure 4 describes the BLS threshold signature process, the detailed principle description of the BLS threshold signature process is as shown in steps (5)-(8):

[0285] (5) Generate sub-secrets:

[0286] Split RCA into n ICAs, namely (V 1 , V 2 ,..., V n ), and set the threshold to t, t ≤ n. Each V i generates a random polynomial f as shown in formula (4) locally i , where the order of the polynomial is the threshold t, and the coefficients a i,j are all random numbers, where i = 1,..., n;

[0287] f i (x) ≤ a i,0 + a i,1 + a i,2 x 2 +…+ a i,t-1 x t-1 (4)

[0288] Then, each V i broadcasts and exchanges parameters, that is, A i,k = g 2 × a i,k mod p, k = 0,...t - 1, where p is the order of the BLS cyclic group G 2 , g 2 is the fixed generator of G 2 , let r i = a i,0 , R i = A i,0 , each V i calculates the fragment s i,j = f i (j) mod p, j = 1,..., n, and sends s i,j to V j ; each V j then verifies the obtained A according to formula (5)i,k , s i,j Whether it is correct

[0289]

[0290] After the verification is completed, each V i Restores the global public key and the V i The local private key of is the sub-secret. The restoration process of the global public key is shown in formula (6):

[0291]

[0292] Each V j The generation of the local private key of follows the process shown in formula (7):

[0293]

[0294] Finally, the method of restoring the complete private key using the local private key is shown in formula (8):

[0295]

[0296] In theory, the private key sk all is computable, but each ICA does not share its respective sub-secret r i , so, if and only if more than the threshold t number of participating parties collude and cheat, can the complete private key be reconstructed. To sum up, for the method of splitting the RCA private key, the situation of privacy leakage is theoretically prevented;

[0297] (6) Sub-secret signature:

[0298] When the ICA node V i signs the authentication request message m sent by the peer node, first calculate m′ = Hash(m), then the node V i carries out the local signature process as shown in formula (9), and finally sends the signature to the peer:

[0299] S i = sk i × m′(9)

[0300] (7) Signature aggregation:

[0301] After the peer receives the signature results of t different ICAs, it uses the Lagrange interpolation method to calculate the threshold signature S all , and the calculation process is shown in formula (10):

[0302]

[0303] In Equation (10), Sig(x) is the polynomial corresponding to the signature, and the threshold signature S all is the leading coefficient of this polynomial, and L i (x) is the Lagrange interpolation basis function;

[0304] (8) Aggregate signature verification:

[0305] When the system needs the node identity, verify the threshold signature through Equation (11):

[0306] e(S all , G 2 ) = e(m′, pk all )(11)

[0307] The specific verification process of the threshold signature is shown in Equation (12):

[0308]

[0309] Step 3. Design signature aggregation;

[0310] Step 4. Design a signature task scheduling algorithm for multiple authentication requests;

[0311] Step 5. Fitness modeling and iterative optimization;

[0312] Step 6. Design a hunting method based on the random walk strategy.

[0313] Example 4

[0314] The method for authenticating node identities in a digital medical blockchain system is specifically implemented according to the following steps:

[0315] Step 1. Design a model;

[0316] Step 2. Design a multi-CA cooperation mechanism based on Shamir threshold secret sharing;

[0317] Step 3. Design signature aggregation;

[0318] Step 3 is specifically implemented according to the following steps:

[0319] Make the following design for signature aggregation:

[0320] In the (k, n) threshold secret sharing scheme, node C broadcasts a signature request to all ICAs and waits for their signature replies. After receiving the request from node C, an ICA will sign the request with its own sub-secret and return it to node C. However, at most no more than the threshold k ICAs are allowed to be tampered with and send forged signature certificates. At this time, two signature aggregation algorithms need to be designed. The first signature verification design algorithm is shown in Table 1. This algorithm is also called the pessimistic signature aggregation algorithm. In this algorithm, the node considers that most of the received signature results are untrustworthy. Therefore, each received signature result needs to be verified until k results pass the verification, and then they are aggregated into a complete signature:

[0321] Table 1 Pessimistic Signature Aggregation Algorithm

[0322]

[0323]

[0324] The pessimistic signature aggregation algorithm is applicable to most blockchain networks. However, verifying all signatures easily leads to too low certificate issuance efficiency. For the high-security consortium blockchain network environment, the trust level of its ICAs is relatively high. Therefore, most nodes do not need to repeatedly verify signatures. Therefore, in order to improve the signature verification efficiency, an optimistic signature aggregation algorithm is designed. The algorithm process is shown in Table 2. The node considers that the first k received signature results are valid and uses them to aggregate the signature. If the aggregated signature is invalid, the node tries other possible combinations.

[0325] Table 2 Optimistic Signature Aggregation Algorithm

[0326]

[0327] Based on multiple ICAs, a signature task scheduling algorithm combining random walk and grey wolf optimization is proposed, so as to reasonably schedule signature tasks, improve the resource utilization rate of ICAs, and reduce the efficiency of node identity authentication while meeting the security requirements of identity authentication and ensuring load sharing.

[0328] Step 4: Design a signature task scheduling algorithm for multiple authentication requests;

[0329] Step 5: Fitness modeling and iterative optimization;

[0330] Step 6: Design a hunting method based on the random walk strategy.

[0331] Example 5

[0332] The method for node identity authentication in the digital medical blockchain system is specifically implemented according to the following steps:

[0333] Step 1: Design the model:

[0334] Step 2: Design a multi-CA collaboration mechanism based on Shamir threshold secret sharing; (12)

[0336] Step 3: Design signature aggregation;

[0337] Step 4: Design a signature task scheduling algorithm for multiple authentication requests;

[0338] Step 4 is specifically implemented as follows:

[0339] The design purpose of the signature task scheduling algorithm is to find the best mapping between signature tasks and ICA when dealing with a large number of signature tasks, so that the resources of each ICA can be fully utilized and the efficiency of node identity authentication can be ensured. Specifically, assume that a certain node needs to perform blockchain identity authentication. Since the threshold signature scheme is adopted, when a Cert-Request is generated, it is not necessary for all ICAs to sign. That is, when the key of the RCA is shared into n parts and the signature threshold is t, then an authentication request only requires the signatures of t ICAs, and the remaining n - t ICAs will be idle. Generalizing the situation, when the authentication requests of the node become m, how to Figure 3 design the loadbalancer in the identity authentication model based on the (k, n) threshold secret sharing mechanism in 1 , w 2 , w 3 , …, w m} and dynamically map them to n ICAs {s 1 , s 2 , s 3 , …, s n} to ensure the efficiency of identity authentication is a new problem brought by secret sharing and threshold signature. The description of this problem is as Figure 5 shown. After years of development, the research on scheduling strategies for the purpose of load balancing has formed two major research directions: traditional scheduling strategies and swarm intelligence scheduling strategies. Among them, traditional scheduling strategies such as the first-come-first-served algorithm, round-robin algorithm, and Min-Min algorithm are mainly used for simple scheduling of a small number of tasks in the case of limited resources. However, for large-scale signature task scheduling, swarm intelligence scheduling strategies need to be used. Based on the grey wolf algorithm and combined with the random walk strategy, the present invention designs a scheduling algorithm for multiple signature tasks. Aiming at the problem that the grey wolf optimization algorithm is prone to search stagnation, the proposed algorithm uses the random walk strategy to enhance the global search ability, optimizes the signature task scheduling mechanism by combining the swarm information and individual information of grey wolves, and improves the resource utilization rate of ICA, as follows:

[0340] For the signature request of each node, only t responses from n ICAs are required, that is, each Cert-quest has solutions, and when the number of Cert-quests becomes m, it is necessary to select, based on the grey wolf algorithm, one solution with the highest ICA resource utilization rate and the highest signature efficiency from solutions. The process of the algorithm is as shown in Figure 6 . First, use queuing theory to optimize the distribution of signature tasks; then, according to the task scheduling objective, set the fitness function of the algorithm; finally, based on the grey wolf optimization algorithm, combined with the random walk strategy, integrate the information of grey wolf individuals and populations, and continuously optimize until the optimal solution is obtained;

[0341] Task distribution optimization and population initialization:

[0342] The first step of the algorithm is to introduce a queuing theory model to initialize the distribution of signature tasks and reduce the average waiting time of tasks in the Loadbalancer. In the blockchain network, the complexity of signature tasks is roughly the same, that is, the time from the start of the signature task to the receipt by the ICA conforms to the Poisson distribution. Assuming the number of ICAs is n, when tasks arrive at the Loadbalancer at a certain average rate λ, they will be assigned to each different ICA with a probability of λ / n; after the task distribution is completed, the wolf pack will be initialized, and the process is expanded according to formula (13):

[0343]

[0344] In formula (13), i represents the number of iterations, and represent the positions of the prey and the grey wolf respectively. represents the Euclidean distance between the grey wolf and the target prey, represents the position of the grey wolf after iteration. and represent the coefficient vectors, and their calculation methods are shown in formula (14):

[0345]

[0346] In formula (14), and are random numbers in the closed interval from 0 to 1, a is the convergence parameter, as shown in formula (15), and this parameter gradually decreases from 2 to 0 during the iteration process:

[0347]

[0348] Using formula (13), after initializing the population and determining each key parameter, the algorithm enters the second step. Around the custom fitness function, calculate the fitness values of each individual in the population, and select the leader wolves a, β, and δ (i.e., the current optimal solution) to lead the population to continue optimizing;

[0349] Step 5: Fitness modeling and iterative optimization;

[0350] Step 6: Design a hunting method based on a random walk strategy.

[0351] Example 6

[0352] The node identity authentication method for a digital medical blockchain system is specifically implemented according to the following steps:

[0353] Step 1: Design a model:

[0354] Step 2: Design a multi-CA collaboration mechanism based on Shamir threshold secret sharing;

[0355] Step 3: Design signature aggregation;

[0356] Step 4: Design a signature task scheduling algorithm for multiple authentication requests;

[0357] Step 5: Fitness modeling and iterative optimization;

[0358] Step 5 is specifically implemented according to the following steps:

[0359] In order to let the wolf pack start hunting, it is necessary to clarify the hunting target and let the leader wolf lead the wolf pack to pursue around the target. In the algorithm, this represents the need to formulate a fitness calculation function and use this function to examine each individual in the population, and then select the optimal individual to lead the entire population to optimize;

[0360] For such a target, it is necessary to establish a corresponding mathematical model to solve. Assume that the set of tasks is W = {w j |1 ≤ j ≤ m}, where m is the total number of signature tasks. Each signature task is independent of each other and is represented by a quadruple {wID, MI, inputFileSize, OutputFileSize}. In this quadruple, wID represents the number of the signature task, MI represents the workload size of the signature task, InputFileSize represents the length of Cert-quest, and OutputFileSize represents the returned threshold signature length;

[0361] Correspondingly, the set of ICAs is R = {r i|1 ≤ i ≤ n}, where n is the number of ICAs, and each ICA is represented by a five-tuple {rID, MIPS, Ram, PesNum, BandWidth}. Here, rID represents the ICA number, MIPS represents its processing capacity, Ram represents the storage capacity, PesNum represents the number of CPUs of the ICA, and BandWidth represents the bandwidth. Then, the calculation formula of the multi-objective fitness function established for the load balancing problem around the ICA is shown in formula (16):

[0362]

[0363] In formula (16), λ represents the weight of each objective, and the sum is 1. MakeSpan represents the task completion time, Busy represents the execution time for the system to complete the task, Cost represents the cost calculated based on time, and Utilization represents the resource utilization rate. The calculation methods of each parameter are as follows: First, the resource utilization rate Utilization is the total execution time of the signature task divided by the running time of the ICA, and the task completion time MakeSpan is calculated according to formula (17):

[0364]

[0365] In formula (17), L represents the number of tasks assigned to each ICA, and K represents the number of ICAs. The calculation method of ETC is shown in formula (18):

[0366]

[0367] In formula (18), ETC ij is the actual running time of task i on ICA j. MI represents the workload size of the signature task, MIPS represents the processing capacity of each ICA, and Busy is calculated according to formula (19), where actTime is the actual execution time of each signature task:

[0368]

[0369] Formula (20) shows the calculation methods of the execution cost Cost 1 , the transmission cost Cost 2 and the waiting cost Cost 3 . Cost is finally calculated from these three parameters:

[0370]

[0371] In formula (20), the result of ETC is calculated by formula (18), where ETCCost, commCost, and waitCost are custom costs, commTime is the time to transmit the signature task in the blockchain network, which is calculated by formula (21), and dataTransfer i represents the transmission speed of signature task i, and inputFileSize i represents the length of the signature request, and outputFileSize i represents the length of the returned threshold signature result:

[0372]

[0373] waitTime represents the queuing waiting time of the signature task, which is calculated by formula (22).

[0374] waitTime = ETC + commTime (22)

[0375] Finally, the cost Cost is calculated by formula (23), where σ + μ + γ = 1.

[0376] Cost = σ * Cost 1 + μ * Cost 2 + γ * Cost 3 (23)

[0377] Step 6: Design a hunting method based on the random walk strategy.

Claims

1. A node identity authentication method for a digital medical blockchain system, characterized in that: Follow the steps below to implement it: Step 1: Design the model: Step 2: Design a multi-CA collaboration mechanism based on Shamir threshold secret sharing; Step 3: Design signature aggregation; Step 4: Design a signature task scheduling algorithm for multiple authentication requests; Step 5: Fitness modeling and iterative optimization; Step 6: Design a hunting method based on the random walk strategy.

2. The node identity authentication method for a digital medical blockchain system according to claim 1, characterized in that: The step 1 is specifically implemented according to the following steps: An identity authentication model is designed based on the (k,n) threshold secret sharing mechanism to issue digital signatures to nodes, where k≤n. The construction process is as follows: First, the traditional certificate authority RCA is expanded to multiple certification authorities ICA 1 to ICA n; then, based on Shamir's threshold secret sharing mechanism, the private key secret held by the original RCA is decomposed into n sub-secrets, denoted as {S1,S2,...,S n }, which are kept by n different ICAs respectively; finally, based on the Grey Wolf Algorithm, a load balancer is designed to be responsible for identity authentication requests of multiple nodes; Whenever a node peer needs to initiate a registration request to the blockchain network, the node first sends a Cert-Request to the load balancer; when the load balancer receives the Cert-Request, it forwards the Cert-Request to k ICAs; then, the k ICAs that receive the Cert-Request use their own sub-secrets to issue certificates, and the nodes aggregate the certificates signed with the sub-secrets, and the identity authentication is passed; if faced with multiple Cert-Requests, the load balancer will use the historical load of the ICA as the basis, combined with random walk and gray wolf algorithms, to distribute m Cert-Requests to k+m ICAs, to ensure load balancing among ICAs, and finally, send the certificates signed with the sub-secrets back to the corresponding nodes and aggregate the results to achieve the smooth and healthy operation of the digital medical system based on the alliance chain.

3. The node identity authentication method for a digital medical blockchain system according to claim 2, characterized in that: The step 2 is specifically implemented according to the following steps: Design a BLS threshold signature scheme to issue node certificates. The specific method is as follows: BLS threshold signature scheme design: (1) Basic preparation: Define G1, G2, G T is a multiplicative cyclic group, the prime order of the group is p, g1 and g2 are fixed generators of G1 and G2 respectively, and a function e is defined. If the function satisfies the property requirements of formula (1), then the function e is called bilinear, that is, e:G1×G2→G T ,in (2) Generate public and private keys: Select a random As the private key sk, and calculate the public key pk = sk × G, where G is the point on the elliptic curve corresponding to the private key sk; (3) Generate signature: For a given private key sk and message m, calculate m′=Hash(m) and map m′ to an element in G. The process of generating a signature is shown in formula (2): S=sk×m′ (2) (4) Verify the signature: When it is necessary to verify the signature of a certain node, it is necessary to verify whether e(P,m′)=e(G,S) holds. The signature verification process derived from the properties of the elliptic curve bilinear pairing function in formula (1) is shown in formula (3): e(P,m′)=e(sk×G,m′)=e(G,sk×m′)=e(G,S) (3) The detailed principle description of the BLS threshold signature process is shown in steps (5)-(8): (5) Generate sub-secret: Split RCA into n ICAs, namely (V1, V2, ..., V n ), and set the threshold to t, t≤n, each V i Generate a random polynomial f in its local area as shown in formula (4) i , where the order of the polynomial is the threshold t, and the coefficient a i,j All are random numbers, where i=1,...,n; f i (x)=a i,0 +a i,1 x+a i,2 x 2 +…+a i,t-1 x t-1 (4) Then, each V i Broadcast exchange parameters, i.e. A i,k =g2×a i,k modp,k=0,...t-1, where p is the order of the BLS cyclic group G2, g2 is the fixed generator of G2, let r i =a i,0 ,R i =A i,0 , each V i Calculation fragments i,j =f i (j) modp, j = 1, ..., n, and s i,j Send to V j ; Each V j Then verify the obtained A according to formula (5) i,k ,s i,j Is it correct? After verification is completed, each V i Restore the global public key and V i The local private key is the sub-secret, and the recovery process of the global public key is shown in formula (6): Each V j The local private key generation follows the process of formula (7): Finally, the method of restoring the complete private key using the local private key is shown in formula (8): The complete private key can be reconstructed only when more than the threshold t parties conspire to cheat. In summary, the RCA private key splitting method theoretically eliminates the possibility of privacy leakage. (6) Sub-secret signature: Waiting for ICA node V i When signing the authentication request message m sent by the peer node, m′=Hash(m) is calculated first, and then node V i The local signature process is shown in formula (9), and finally the signature is sent to the peer: S i =sk i ×m′ (9) (7) Signature aggregation: After receiving the signature results of t different ICAs, the peer uses the Lagrange interpolation method to calculate the threshold signature S all , the calculation process is shown in formula (10): In formula (10), Sig(x) is the polynomial corresponding to the signature, and the threshold signature S all is the first coefficient of the polynomial, L i (x) is the Lagrangian interpolation basis function; (8) Aggregate signature verification: When the system needs the node identity, the threshold signature is verified by formula (11): e(S all ,G2)=e(m′,pk all ) (11) The specific verification process of the threshold signature is shown in formula (12):

4. The node identity authentication method for a digital medical blockchain system according to claim 3, characterized in that: The step 3 is specifically implemented according to the following steps: The following design is made for signature aggregation: In the (k, n) threshold secret sharing scheme, node C broadcasts signature requests to all ICAs and waits for their signature replies. After receiving the request from node C, ICA will sign the request with its own sub-secret and return it to node C. However, no more than the threshold k ICAs are allowed to be tampered with and send forged signature certificates. At this time, two signature aggregation algorithms need to be designed. The first signature verification design algorithm is a pessimistic signature aggregation algorithm. In this algorithm, the node believes that most of the received signature results are unreliable. Therefore, each received signature result must be verified until k results pass the verification and then aggregated into a complete signature: An optimistic signature aggregation algorithm is designed. The node considers the first k signature results received to be valid and uses them to aggregate the signature. If the aggregated signature is invalid, the node tries other possible combinations.

5. The node identity authentication method for a digital medical blockchain system according to claim 4, characterized in that: The step 4 is specifically implemented according to the following steps: Assuming that a node needs to perform blockchain identity authentication, due to the threshold signature scheme, when a Cert-Request is generated, it does not require the signature of all ICAs, that is, when the RCA key is shared into n shares and the signature threshold is t, then an authentication request only requires the signature of t ICAs, and the remaining nt ICAs will be idle. The random walk strategy is used to enhance the global search capability. By combining the group information and individual information of the gray wolf, the scheduling mechanism of the signature task is optimized to improve the resource utilization of the ICA, as follows: For each node’s signature request, only t responses from n ICAs are needed, that is, each Cert-quest has When the number of Cert-quests becomes m, the Gray Wolf Algorithm is needed to Among the solutions, select the one with the highest ICA resource utilization and signature efficiency. First, use queuing theory to optimize the distribution of signature tasks. Then, set the fitness function of the algorithm according to the task scheduling goal. Finally, based on the gray wolf optimization algorithm, combined with the random walk strategy, the information of gray wolf individuals and populations is integrated to continuously optimize until the optimal solution is obtained. Task distribution optimization and population initialization: Assuming that the number of ICAs is n, when tasks arrive at the loadbalancer at a certain average rate λ, they will be distributed to different ICAs with a probability of λ / n. After the task distribution is completed, the wolf pack will be initialized. The process is expanded by referring to formula (13): In formula (13), i represents the number of iterations, and Represent the positions of prey and gray wolf respectively. represents the Euclidean distance between the gray wolf and the target prey, represents the position of the gray wolf after iteration, and represents the coefficient vector, and its calculation method is shown in formula (14): In formula (14), and is a random number in the closed interval from 0 to 1, and a is a convergence parameter, as shown in formula (15), which gradually decreases from 2 to 0 during the iteration process: Using formula (13), after initializing the population and determining the key parameters, the algorithm enters the second step, where it calculates the fitness value of each individual in the population based on the custom fitness function, and selects the leader wolves a, β, and δ (i.e., the current optimal solution) to lead the population to continue to seek the best solution.

6. The node identity authentication method for a digital medical blockchain system according to claim 5, characterized in that: The step 5 is specifically implemented according to the following steps: Let the leader wolf lead the wolf pack to hunt around the target. In the algorithm, it means that a fitness calculation function needs to be formulated, and this function is used to examine each individual in the population, and then the best individual is selected to lead the entire population to seek the best result. For such a goal, we need to establish a corresponding mathematical model to solve it. Assume that the set of tasks is W = {w j |1≤j≤m}, m is the total number of signature tasks, each signature task is independent of each other, and is represented by a four-tuple {wID, MI, inputFileSize, OutputFileSize}, in which wID represents the number of the signature task, MI represents the workload of the signature task, InputFileSize represents the length of Cert-quest, and OutputFileSize represents the threshold signature length returned; Correspondingly, the set of ICA is R = {r i |1≤i≤n}, n is the number of ICAs, and each ICA is represented by a five-tuple {rID, MIPS, Ram, PesNum, BandWidth}, where rID represents the number of ICAs, MIPS represents its processing power, Ram represents its storage capacity, PesNum represents the number of CPUs of ICA, and BandWidth represents the bandwidth. Then the calculation formula of the multi-objective fitness function established around the load balancing problem of ICA is shown in formula (16): In formula (16), λ represents the weight of each target, the sum of which is 1, MakeSpan represents the completion time of the task, Busy represents the execution time of the system to complete the task, Cost represents the cost calculated based on time, and Utilization represents the resource utilization. The calculation method of each parameter is as follows: First, the resource utilization Utilization is the total execution time of the signature task divided by the running time of ICA, and the completion time MakeSpan of the task is calculated according to formula (17): In formula (17), L represents the number of tasks assigned to each ICA, K represents the number of ICAs, and the calculation method of ETC is shown in formula (18): ETC in formula (18) ij is the actual running time of task i on ICAj, MI represents the workload of the signature task, MIPS represents the processing power of each ICA, and Busy calculation is performed according to formula (19), where actTime is the actual execution time of each signature task: Formula (20) shows how to calculate the execution cost Cost1, the transmission cost Cost2, and the waiting cost Cost3. Cost is ultimately calculated from these three parameters: In formula (20), the result of ETC is calculated by formula (18), ETCCost, commCost and waitCost are custom costs, commTime is the time to transmit the signature task in the blockchain network, calculated by formula (21), dataTransfer i Indicates the transmission speed of signature task i, inputFileSize i Indicates the length of the signature request, outputFileSize i Indicates the length of the returned threshold signature result: waitTime represents the queue waiting time of the signature task, which is calculated by formula (22); waitTime=ETC+commTime (22) Finally, the cost Cost is calculated by formula (23), where σ+μ+γ=1, Cost=σ*Cost1+μ*Cost2+γ*Cost3 (23).

7. The node identity authentication method for a digital medical blockchain system according to claim 6, characterized in that: The step 6 is specifically implemented according to the following steps: The fitness value of an individual wolf can be calculated by formula (16). After the calculation, each wolf will be divided into four roles according to its fitness value: a, β, δ and ω. Among them, a represents the optimal solution, β and δ represent the second-best solution and the third-best solution respectively. ω follows the guidance of these leaders to explore the search space. Based on the role classification, the optimization process is like the collaborative hunting of a group of gray wolves. Under the leadership of the three best wolves a, β and δ, the wolf pack ω gradually approaches the optimal solution by tracking, surrounding and attacking the prey. In this process, a, β and δ are updated after each round of iteration. After the leader is updated, it will guide the remaining ω to update its position and finally gradually approach the optimal solution. Formula (24) shows the hunting process of wolves led by the leader wolf. In formula (24), D α , D β and D δ Respectively represent the distances between the gray wolf ω and the leader wolf a, β and δ in the i-th iteration, as well as They represent the positions of the leader wolves a, β and δ at the i-th iteration respectively. and is a random coefficient vector used to simulate the randomness of gray wolves moving around their prey. This randomness simulates the possible uncertainty and change in the behavior of gray wolves when tracking their prey. The value of C is usually randomly generated between 0 and 2, which helps to explore different areas of the solution space and avoid the algorithm falling into the local optimal trap too early. The current location of the Gray Wolf: After the positions of the gray wolves in the population and the leader wolf are determined, the individual positions of the wolves are updated.

8. The node identity authentication method for a digital medical blockchain system according to claim 7, characterized in that: After the positions of the gray wolves in the population and the leader wolf are determined in step 6, the individual positions of the wolves are updated as follows: It indicates the position of the individual gray wolf in the next iteration, while A1, A2, and A3 determine the intensity and direction of the gray wolf's movement toward the prey. The value of A usually starts from 2 and gradually decreases to 0 during the iteration. This reduction process simulates the behavior of the gray wolf pack gradually approaching the prey during the hunting process. When the value of A is close to 0, the gray wolf pack is more inclined to search the surrounding area in detail to find the optimal solution. When the value of A is large, the gray wolf pack may conduct a wider search in the solution space. By introducing the random walk strategy and combining the overall fitness mean of the wolf pack, a wolf hunting method based on the random walk strategy is proposed to guide the movement of the wolf pack. The specific calculation process is shown in formula (26). In this formula, and It indicates the next updated position information of the ω gray wolf in the wolf pack adjusted according to the positions of the leader wolves a, β and δ. rand() is a random number between (-1,1): After obtaining the position update basis of the leader wolf and other gray wolves, the random walk strategy is introduced to improve the hunting process of the wolf pack. Specifically, the Levy Flight random walk algorithm is used in this method. The direction of each update of the algorithm is completely random. In addition, the step length calculated by the algorithm belongs to the heavy-tailed distribution, so the probability of a large step length is high, which helps to solve the local optimal trap when the wolf pack hunts. The step length s calculation method of the Levy Flight random walk algorithm is shown in formula (27): In formula (27), α represents an exponential distribution in the range of 0 to 2, and x and y are two normally distributed variables, which are expressed as shown in formula (28): The variance in formula (28) is calculated by formula (29): In formula (29), α is 1.5, Γ is the gamma function, and the function definition of the integer z is shown in formula (30): The formal expression of the hunting method is shown in formula (31): Formula (31) implements the wolf hunting method that skips the local optimal trap. In the formula, is the position of ω in the wolf pack at the next moment. It is possible that it adjusts its position according to the position of the leader wolf in accordance with the hunting idea of ​​the traditional gray wolf algorithm; it is also possible to make certain position adjustments based on the position of the leader wolf, and the step length Levy(s) is obtained by formula (27). In addition, p represents the probability of using the random walk algorithm to adjust the position update strategy; After a round of hunting, all wolves in the population have updated their positions. At this time, the fitness value of each wolf in the new position is calculated again by formula (16). Then, based on the fitness value, the leader wolves a, β and δ are re-elected. Under the leadership of the leader wolf, a new round of hunting is carried out around the target. When the maximum number of iterations is reached, the solution represented by the leader wolf a can be selected as the optimal solution, that is, a set of independent signature tasks are mapped to a set of heterogeneous and dynamic ICAs, while ensuring the signature efficiency while taking into account load balancing. The results of a, β and δ can also be comprehensively considered and synthesized into the optimal output.