Verification method, device, equipment and readable storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA MOBILE INFORMATION TECHNOLOGY CO LTD
- Filing Date
- 2026-05-06
- Publication Date
- 2026-08-07
AI Technical Summary
[0003]本申请实施例提供一种验证方法、装置、设备及可读存储介质,解决了相关技术中在区块链验证过程中存在用户隐私保护较差的问题
[0040]本申请公开了一种验证方法、装置、设备及可读存储介质,涉及区块链技术领域,应用于区块链,所述区块链包括多个验证节点,所述方法包括:在用户端进行身份注册的过程中,接收所述用户端发送的第一身份验证请求,所述第一身份验证请求用于请求在所述区块链中进行身份验证,所述第一身份验证请求包括N个身份证明文件,所述N个身份证明文件中,不同身份证明文件对应的用户信息不同,所述N为大于1的整数;将所述N个身份证明文件分别转换为电路函数,得到与所述N个身份证明文件一一对应的N个电路函数,以及确定所述N个电路函数对应的约束信息,所述电路函数用于表示所对应的身份证明文件所对应的用户信息,所述约束信息包括用于约束所述N个电路函数中的参数的取值范围的多个约束条件;根据所述N个电路函数和所述约束信息,生成零知识证明,所述零知识证明用于验证所述N个身份证明文件是否成立;基于所述多个验证节点对所述零知识证明进行验证,得到验证结果,所述验证结果用于指示所述用户端是否满足在所述区块链中进行注册的条件。本申请的技术方案在接收到用户端的第一身份验证请求后,将第一身份验证请求对应的N个身份证明文件转换为N个电路函数,并确定N个电路函数对应的约束信息,由此通过N个电路函数和约束信息生成零知识证明,从而使得区块链中的多个验证节点对零知识证明进行验证,得到验证结果。通过在对用户端的身份验证过程中使用电路函数,避免了用户数据的暴露,保护了用户的隐私,从而实现了在区块链验证过程中提高了隐私保护的效果。
Smart Images

Figure CN122533756A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of blockchain technology, specifically to a verification method, apparatus, device, and readable storage medium. Background Technology
[0002] Know Your Customer (KYC) is a user identity verification mechanism required by compliance departments of financial institutions and securities firms. It encompasses the collection, verification, and due diligence of genuine identity information. Existing KYC solutions are widely used in compliance scenarios such as finance, securities, and the internet. This includes collecting, verifying, and recording customer identity information, and comparing the collected data with blacklists, untrustworthy lists, or authoritative databases to confirm the authenticity of the customer's identity. However, this verification method, due to its reliance on centralized storage and repeated exposure of raw data, suffers from poor user privacy protection. Summary of the Invention
[0003] This application provides a verification method, apparatus, device, and readable storage medium, which solves the problem of poor user privacy protection in the blockchain verification process in related technologies.
[0004] Firstly, a verification method is provided for use in a blockchain, wherein the blockchain includes multiple verification nodes, and the method includes:
[0005] During the user's identity registration process, a first identity verification request is received from the user. The first identity verification request is used to request identity verification in the blockchain. The first identity verification request includes N identity verification documents. The user information corresponding to different identity verification documents is different in the N identity verification documents, and N is an integer greater than 1.
[0006] The N identity verification documents are converted into circuit functions to obtain N circuit functions that correspond one-to-one with the N identity verification documents. The constraint information corresponding to the N circuit functions is determined. The circuit functions are used to represent the user information corresponding to the corresponding identity verification documents. The constraint information includes multiple constraint conditions used to constrain the value range of the parameters in the N circuit functions.
[0007] Based on the N circuit functions and the constraint information, a zero-knowledge proof is generated, which is used to verify whether the N identity verification documents are valid.
[0008] The zero-knowledge proof is verified by the multiple verification nodes to obtain a verification result, which is used to indicate whether the user meets the conditions for registration in the blockchain.
[0009] Optionally, the step of converting the N identity verification documents into circuit functions to obtain N circuit functions corresponding one-to-one with the N identity verification documents, and determining the constraint information corresponding to the N circuit functions, includes:
[0010] Hash calculations are performed on the N identity verification files respectively to obtain N hash calculation results that correspond one-to-one with the N identity verification files;
[0011] Each of the N hash calculation results is encrypted to obtain N encrypted indicators that correspond one-to-one with the N hash calculation results;
[0012] If the security of the N encryption indicators is verified based on the multiple verification nodes and the verification result is passed, the N identity verification files are converted into circuit functions respectively to obtain N circuit functions that correspond one-to-one with the N identity verification files.
[0013] Based on the N circuit functions, a system of constraint polynomials is constructed to obtain the constraint information corresponding to the N circuit functions.
[0014] Optionally, generating zero-knowledge proofs based on the N circuit functions and the constraint information includes:
[0015] Determine the user identifier corresponding to the first authentication request;
[0016] A private key corresponding to the user identifier is generated according to a preset encryption algorithm, and a public key corresponding to the user identifier is generated according to the preset encryption algorithm and the private key;
[0017] The zero-knowledge proof is generated based on the N circuit functions, the constraint information, and the public key.
[0018] Optionally, the verification of the zero-knowledge proof based on the multiple verification nodes to obtain the verification result includes:
[0019] The zero-knowledge proof is verified by the multiple verification nodes respectively, resulting in multiple sub-verification results and multiple node signatures corresponding to the multiple verification nodes, with each of the multiple sub-verification results corresponding to one of the multiple node signatures.
[0020] A verification result is generated based on the multiple sub-verification results, and the zero-knowledge proof is updated based on the multiple node signatures to obtain the updated zero-knowledge proof.
[0021] If the verification result indicates that the user terminal meets the conditions for registration in the blockchain, the user terminal is registered in the blockchain, and the verification result is sent to the user terminal.
[0022] The target information is stored in the blockchain, wherein the target information includes the user identifier, the updated zero-knowledge proof, and the generation time information of the first authentication request.
[0023] Optionally, after verifying the zero-knowledge proof based on the multiple verification nodes and obtaining the verification result, the method further includes:
[0024] Receive a second authentication request sent by a third-party device, the second authentication request being used to request the verification of the user's identity information in the blockchain;
[0025] Based on the second authentication request, obtain the user identifier corresponding to the user terminal and the updated zero-knowledge proof;
[0026] The user identifier and the updated zero-knowledge proof are verified based on the multiple verification nodes to obtain a target verification result. The target verification result is used to indicate that the user's registration process in the blockchain meets the conditions for registration in the blockchain.
[0027] The target verification result is sent to the third-party device;
[0028] The target verification result is stored in the blockchain.
[0029] Optionally, the step of verifying the user identifier and the updated zero-knowledge proof based on the multiple verification nodes to obtain the target verification result includes:
[0030] Based on the verification calculations performed on the updated zero-knowledge proof by the multiple verification nodes, multiple Boolean values corresponding to the multiple verification nodes are obtained. The Boolean values are used to indicate the verification results of the corresponding verification nodes on the updated zero-knowledge proof.
[0031] The target verification result is generated based on the multiple Boolean values.
[0032] Secondly, embodiments of this application also provide a verification device applied to a blockchain, wherein the blockchain includes multiple verification nodes, and the device includes:
[0033] The receiving module is used to receive a first identity verification request sent by the user terminal during the identity registration process. The first identity verification request is used to request identity verification in the blockchain. The first identity verification request includes N identity verification documents. The user information corresponding to different identity verification documents is different in the N identity verification documents, and N is an integer greater than 1.
[0034] The conversion module is used to convert the N identity verification documents into circuit functions respectively, to obtain N circuit functions that correspond one-to-one with the N identity verification documents, and to determine the constraint information corresponding to the N circuit functions. The circuit functions are used to represent the user information corresponding to the corresponding identity verification documents, and the constraint information includes multiple constraint conditions for constraining the value range of the parameters in the N circuit functions.
[0035] A generation module is used to generate zero-knowledge proofs based on the N circuit functions and the constraint information, wherein the zero-knowledge proofs are used to verify whether the N identity verification documents are valid;
[0036] The verification module is used to verify the zero-knowledge proof based on the multiple verification nodes and obtain a verification result. The verification result is used to indicate whether the user meets the conditions for registration in the blockchain.
[0037] Thirdly, this application also provides an electronic device, including a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the steps of the method described in the first aspect above.
[0038] Fourthly, this application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the method described in the first aspect above.
[0039] Fifthly, this application also provides a computer program product, including computer instructions that, when executed by a processor, implement the steps of the method described in the first aspect above.
[0040] This application discloses a verification method, apparatus, device, and readable storage medium, relating to the field of blockchain technology and applied to a blockchain, which includes multiple verification nodes. The method includes: during identity registration at a user's end, receiving a first identity verification request sent by the user's end, the first identity verification request being used to request identity verification in the blockchain, the first identity verification request including N identity verification documents, the user information corresponding to different identity verification documents being different, and N being an integer greater than 1; converting the N identity verification documents into circuit functions respectively to obtain N circuit functions corresponding one-to-one with the N identity verification documents, and determining constraint information corresponding to the N circuit functions, the circuit functions being used to represent the user information corresponding to the corresponding identity verification document, the constraint information including multiple constraint conditions for constraining the value range of parameters in the N circuit functions; generating a zero-knowledge proof based on the N circuit functions and the constraint information, the zero-knowledge proof being used to verify whether the N identity verification documents are valid; verifying the zero-knowledge proof based on the multiple verification nodes to obtain a verification result, the verification result being used to indicate whether the user's end meets the conditions for registration in the blockchain. The technical solution of this application, upon receiving the first authentication request from the user, converts the N identity verification files corresponding to the first authentication request into N circuit functions and determines the constraint information corresponding to the N circuit functions. Then, a zero-knowledge proof is generated using the N circuit functions and the constraint information, allowing multiple verification nodes in the blockchain to verify the zero-knowledge proof and obtain the verification result. By using circuit functions in the user authentication process, the exposure of user data is avoided, protecting user privacy and thus improving privacy protection during blockchain verification. Attached Figure Description
[0041] To more clearly illustrate the technical solution of this application, the drawings used in the description of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0042] Figure 1 A flowchart illustrating a verification method provided in an embodiment of this application;
[0043] Figure 2 A schematic diagram of the participants in the distributed identity system provided in the embodiments of this application;
[0044] Figure 3 A flowchart illustrating the KYC file privacy circuit generation and distributed evidence storage process provided in this application embodiment;
[0045] Figure 4 A flowchart illustrating the distributed privacy verification and audit traceability provided in this application embodiment;
[0046] Figure 5 This is a schematic diagram of the structure of a verification device provided in an embodiment of this application;
[0047] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0048] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0049] The terms "first," "second," etc., used in the embodiments of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to these processes, methods, products, or devices. Additionally, the use of "and / or" in this application indicates at least one of the connected objects, such as A and / or B and / or C, representing seven possibilities: including A alone, B alone, C alone, both A and B present, both B and C present, both A and C present, and A, B, and C present.
[0050] See Figure 1 , Figure 1 This is a flowchart illustrating the verification method provided in an embodiment of this application. Figure 1 As shown, the verification method is applied to a blockchain, which includes multiple verification nodes, and may include the following steps:
[0051] Step 101: During the user's identity registration process, a first identity verification request is received from the user. The first identity verification request is used to request identity verification in the blockchain. The first identity verification request includes N identity verification documents. The user information corresponding to different identity verification documents is different in the N identity verification documents, and N is an integer greater than 1.
[0052] In this embodiment, blockchain is a distributed ledger technology that can record and store data in a secure, transparent, and decentralized manner. During the process of a user requesting identity registration on the blockchain, the user's identity information needs to be verified. Specifically, the user sends a first identity verification request to the blockchain to request identity verification. This first identity verification request carries N identity verification documents, each representing a type of user information, such as the user's age, education level, and bank account balance. Different identity verification documents correspond to different user information.
[0053] like Figure 2 As shown, Figure 2 This diagram illustrates the participants in the distributed identity system in this embodiment, which includes the user terminal, verification nodes, third-party verification agencies, blockchain, and regulators.
[0054] Specifically, on the user side: the identity entity in the system is responsible for initiating a decentralized identity (DID) registration request to the blockchain notarization and smart contract platform. This is the first identity verification request sent by the user to the blockchain, and the user submits necessary identity verification documents as required by the platform, such as KYC documents (e.g., ID card, education, income, asset certificates, etc.). Through the client, users can independently control the authorization and revocation of their personal data, and can also trace the verification and use of their identity data by third parties through the audit function, thereby achieving complete sovereignty over their digital identity.
[0055] Verification Nodes: These nodes play a crucial role in the system for verification and proof generation. They are composed of authoritative institutions within the industry (such as banks, credit reporting agencies, government departments, and qualified third-party KYC service providers). Trusted nodes receive KYC data submitted by users, encrypt it, verify its authenticity, and construct a circuit function. For example, the circuit function can be a zero-knowledge circuit, thereby generating a zero-knowledge proof (zk-Proof) based on the zero-knowledge circuit. All trusted nodes jointly confirm the validity of the zk-Proof through a distributed consensus mechanism and generate node signatures for the result, ensuring that the system does not rely on a single point of trust and improving fault tolerance and attack resistance.
[0056] Third-party verification agencies (third-party devices): These are entities that need to verify user compliance in their business operations, such as banks, securities companies, and e-commerce platforms. The verification agency does not directly access the user's original KYC documents. Instead, with the user's authorization, it verifies the user's bound zero-knowledge proof (zk-Proof) by calling a smart contract interface on the blockchain platform. The verification result returns "pass" or "fail," determining whether the business can continue. This mechanism eliminates the problem of duplicate collection of privacy data among multiple institutions, significantly reducing the risk of privacy leaks.
[0057] Blockchain: The underlying infrastructure of the system, capable of generating and issuing decentralized identities (DIDs). Through smart contracts, third parties can automatically trigger zk-KYC verification logic when necessary, realizing the "compliance as a service" function. The blockchain simultaneously records all identity registration, update, revocation, and verification activities, providing users and regulators with a transparent and tamper-proof traceability foundation.
[0058] The regulator, representing legal and regulatory bodies and financial institutions, is responsible for auditing and supervising the system's operation. The regulator can check the compliance of third-party usage by reviewing the verification and access logs of the zero-knowledge proof zk-Proof on the blockchain, without directly accessing users' raw data. Through this mechanism, the regulator can ensure compliance requirements are met while strictly adhering to privacy principles, guaranteeing an organic integration of the technological system and the legal framework.
[0059] It is understood that the aforementioned distributed identity system can be used to execute the verification method in the embodiments of this application. The process by which the distributed identity system executes the verification method may include the following steps:
[0060] The first authentication request sent by the user to the blockchain can be a decentralized identity (DID) registration request initiated by the user to the blockchain's notarization and smart contract platform. Upon receiving the first authentication request, the blockchain converts the N identity verification files included in the request into circuit functions, and generates zero-knowledge proofs based on the circuit functions and defined constraint information. These zero-knowledge proofs are then verified by multiple verification nodes to obtain the verification result.
[0061] Therefore, the above system can be represented in the form of a quadruple:
[0062] .
[0063] in, For user collection, users Create private key With public key ( (To generate the meta-identity) and generate a distributed identity (DID); For a set of trusted nodes, users They belong to different industry sectors and are responsible for verifying user-uploaded KYC files and collaboratively generating zk-Proof; It is a combination of blockchain and smart contracts, responsible for storing proofs and automatically triggering the verification process; This serves as proof of KYC privacy circuitry.
[0064] Step 102: Convert the N identity verification documents into circuit functions to obtain N circuit functions that correspond one-to-one with the N identity verification documents, and determine the constraint information corresponding to the N circuit functions. The circuit functions are used to represent the user information corresponding to the corresponding identity verification documents, and the constraint information includes multiple constraint conditions used to constrain the value range of the parameters in the N circuit functions.
[0065] In this embodiment, the identity verification document is encrypted using circuit functions, and the constraint information corresponding to the circuit functions is determined. A circuit function is a concept used in computer science and electrical engineering, typically representing a logical operation or computational process. Converting the identity verification document into a circuit function involves methods such as Boolean algebra and logic gates (e.g., AND, OR, NOT gates) to construct the function, expressing the user information and its verification process. During the conversion of the identity verification document into a circuit function, it is necessary to identify the parameters in each circuit function and set multiple constraints on the value range of these parameters. These constraints ensure that the circuit function conforms to preset rules or restrictions when processing data.
[0066] Step 103: Generate a zero-knowledge proof based on the N circuit functions and the constraint information. The zero-knowledge proof is used to verify whether the N identity verification documents are valid.
[0067] In this embodiment, zero-knowledge proof is a cryptographic protocol used to verify the correctness of a statement (or assertion) without revealing any additional information about that statement. Based on N circuit functions and constraint information, a zero-knowledge proof is generated to prove that a condition is true without disclosing data. For example, it can verify whether a user's educational background is greater than a bachelor's degree, whether the user's age is greater than 18, etc.
[0068] Step 104: Verify the zero-knowledge proof based on the multiple verification nodes to obtain a verification result. The verification result is used to indicate whether the user terminal meets the conditions for registration in the blockchain.
[0069] In this embodiment, after generating the zero-knowledge proof, it is verified by multiple verification nodes to generate a verification result. It should be noted that each verification node verifies the zero-knowledge proof, and its corresponding verification result is combined with the verification results from each node to generate the verification result corresponding to the first identity verification request.
[0070] The technical solution of this application, upon receiving the first authentication request from the user, converts the N identity verification files corresponding to the first authentication request into N circuit functions and determines the constraint information corresponding to the N circuit functions. Then, a zero-knowledge proof is generated using the N circuit functions and the constraint information, allowing multiple verification nodes in the blockchain to verify the zero-knowledge proof and obtain the verification result. By using circuit functions in the user authentication process, the exposure of user data is avoided, protecting user privacy and thus improving privacy protection during blockchain verification.
[0071] In some feasible implementations, optionally, the step of converting the N identity verification documents into circuit functions to obtain N circuit functions corresponding one-to-one with the N identity verification documents, and determining the constraint information corresponding to the N circuit functions, includes:
[0072] Hash calculations are performed on the N identity verification files respectively to obtain N hash calculation results that correspond one-to-one with the N identity verification files;
[0073] Each of the N hash calculation results is encrypted to obtain N encrypted indicators that correspond one-to-one with the N hash calculation results;
[0074] If the security of the N encryption indicators is verified based on the multiple verification nodes and the verification result is passed, the N identity verification files are converted into circuit functions respectively to obtain N circuit functions that correspond one-to-one with the N identity verification files.
[0075] Based on the N circuit functions, a system of constraint polynomials is constructed to obtain the constraint information corresponding to the N circuit functions.
[0076] In this embodiment, as Figure 3 As shown, Figure 3 A flowchart for generating privacy circuits and distributed evidence storage for KYC files is provided. Hash calculations are performed on N identity verification files to obtain N hash calculation results. By encrypting the N hash calculation results, N encrypted indicators corresponding one-to-one with the N hash calculation results are obtained.
[0077] Therefore, if multiple verification nodes verify the security of N encryption indicators and pass the verification, the N identity verification files are converted into circuit functions respectively, and a set of constraint polynomials is constructed to generate constraint information.
[0078] Specifically, the first step is to establish a unique identity identifier for the user within the system to ensure that subsequent privacy verifications can be bound to a specific entity.
[0079] The system calls the identity registration contract and writes a random factor. Ultimately, the user's DID is generated:
[0080] .
[0081] Wherein, DID stands for User Identifier. Random factor.
[0082] Ensure the immutability and global uniqueness of user identity.
[0083] Convert user KYC files into a secure mathematical form to prevent the original plaintext from being exposed during transmission and computation.
[0084] Suppose the KYC file set is as follows:
[0085] .
[0086] in, For identity verification documents.
[0087] The user side calls the preprocessing module to perform hashing and encryption operations on each piece of data:
[0088] , .
[0089] in, For identity verification documents, Circuit function type, Hash calculation result, Encryption metrics, .
[0090] The following set of encryption indicators was obtained:
[0091] .
[0092] in, Encryption metrics.
[0093] Encryption indicators become the input to subsequent circuits, ensuring data privacy and verifiability. Thus, security verification is performed through multiple verification nodes to ensure the authenticity and validity of the data generated by the circuit.
[0094] Multiple trusted nodes receive And respectively call external authoritative authentication interfaces (such as government databases, academic qualification verification systems):
[0095] .
[0096] Data can only proceed to the next stage when all fields have passed validation.
[0097] The verification logic of multi-source files is converted into a circuit function that can be operated under the zero-knowledge proof framework.
[0098] Each node establishes a circuit set for the field:
[0099] .
[0100] in, Circuit function type.
[0101] For example, circuit function types include, but are not limited to:
[0102] Authentication circuit:
[0103] .
[0104] in, Encryption metrics,
[0105] Income range circuit:
[0106] .
[0107] in, Encryption indicators Preset income value, This represents user revenue.
[0108] Educational level circuit:
[0109] .
[0110] in, Encryption indicators For users' educational background,
[0111] That is, to select the verification fields and circuits according to different business rules.
[0112] By fixing the circuit logic as constraints, the uniqueness and correctness of the calculation results are guaranteed.
[0113] For the input set Constructing a constraint system:
[0114] .
[0115] in, Let R be a set of constrained polynomials consisting of all circuits R.
[0116] For example, age constraints can be written as:
[0117] .
[0118] in,
[0119] The above formula can verify whether an age meets the requirement of "being 18 years of age or older" without revealing the birth date.
[0120] By introducing attribute vectorization embedding and segmented constraint techniques during the circuit construction phase, a constraint system that meets the requirements of zero-knowledge proof is built. This enables the system to flexibly support multi-dimensional KYC judgment conditions while maintaining sublinear growth in circuit size, significantly optimizing circuit construction and proof efficiency.
[0121] Optionally, generating zero-knowledge proofs based on the N circuit functions and the constraint information includes:
[0122] Determine the user identifier corresponding to the first authentication request;
[0123] A private key corresponding to the user identifier is generated according to a preset encryption algorithm, and a public key corresponding to the user identifier is generated according to the preset encryption algorithm and the private key;
[0124] The zero-knowledge proof is generated based on the N circuit functions, the constraint information, and the public key.
[0125] In this embodiment, after obtaining N circuit functions and constraint information, a private key corresponding to the user identifier needs to be generated according to a preset encryption algorithm, and a public key corresponding to the user identifier also needs to be generated. Therefore, a zero-knowledge proof is generated based on the N circuit functions, constraint information, and the public key. Zero-knowledge proofs are used to prove that a condition is true without disclosing data.
[0126] Specifically, the user's private key is recorded as Its public key is:
[0127] .
[0128] in, , This is the private key.
[0129] Trusted node running proof generation algorithm:
[0130] .
[0131] in, Zero-knowledge proof, For encrypted indicators.
[0132] The verifier calls the verification module:
[0133] .
[0134] in To verify the key.
[0135] Therefore, zero-knowledge proofs can be used to verify whether a proof is valid without needing to know the original content of C.
[0136] Supported by a multinomial commitment system, this embodiment proposes a conditional sub-circuit scheduling mechanism, which circuitizes only a subset of attributes involved in the verification request Req, thereby generating proofs for the corresponding sub-circuits. Simultaneously, to optimize repetitive verification scenarios, this application combines recursive zero-knowledge proof technology to compress multiple single proofs into a unified proof recursively, achieving efficient on-chain proof storage for multiple verifications. Unlike traditional implementations of single-circuit, global proofs, this improvement significantly optimizes the proof scale and verification complexity, and achieves scalability and flexibility in proof generation while maintaining zero-knowledge and robustness.
[0137] Optionally, the verification of the zero-knowledge proof based on the multiple verification nodes to obtain the verification result includes:
[0138] The zero-knowledge proof is verified by the multiple verification nodes respectively, resulting in multiple sub-verification results and multiple node signatures corresponding to the multiple verification nodes, with each of the multiple sub-verification results corresponding to one of the multiple node signatures.
[0139] A verification result is generated based on the multiple sub-verification results, and the zero-knowledge proof is updated based on the multiple node signatures to obtain the updated zero-knowledge proof.
[0140] If the verification result indicates that the user terminal meets the conditions for registration in the blockchain, the user terminal is registered in the blockchain, and the verification result is sent to the user terminal.
[0141] The target information is stored in the blockchain, wherein the target information includes the user identifier, the updated zero-knowledge proof, and the generation time information of the first authentication request.
[0142] In this embodiment, after obtaining the zero-knowledge proof, it is necessary to verify the zero-knowledge proof according to multiple verification nodes, thereby obtaining multiple sub-verification results and multiple node signatures of the corresponding multiple verification nodes. Then, a verification result is generated based on the multiple sub-verification results, and the zero-knowledge proof is updated based on the multiple node signatures to obtain the updated zero-knowledge proof.
[0143] If the verification result indicates that the user terminal meets the conditions for registration in the blockchain, the user terminal is registered, the verification result is sent to the user terminal, and the user identifier, the updated zero-knowledge proof, and the generation time information of the first authentication request are stored in the blockchain.
[0144] Specifically, to prevent cheating by a single verification node, the credibility of the system is improved through multi-node consensus.
[0145] Each verification node performs independent verification as follows:
[0146] .
[0147] in, To verify the key, Zero-knowledge proof,
[0148] The verified node signature is as follows:
[0149] .
[0150] in, Zero-knowledge proof.
[0151] The updated zero-knowledge proof is as follows:
[0152] .
[0153] in, For the updated zero-knowledge proof,
[0154] The conditions for multiple verification nodes to reach a consensus are as follows:
[0155] .
[0156] in, , ,
[0157] Once the verification is confirmed, the verified proof will be recorded on the blockchain to form an immutable evidence.
[0158] Storage result:
[0159] .
[0160] in, , For user identification, , This is the time information for the generation of the first authentication request.
[0161] The storage results are written into the blockchain ledger to ensure the long-term existence and immutability of the records.
[0162] It should be noted that zero-knowledge proofs also need to be associated with DID, as shown in the following formula:
[0163] .
[0164] in, For user identification, .
[0165] This ensures that zero-knowledge proofs cannot be transferred or misused.
[0166] This embodiment deeply couples zero-knowledge proof verification with the blockchain's distributed consensus protocol, leveraging a distributed node cluster to execute verification in parallel. Each node independently computes the proof and, within a Byzantine fault-tolerant framework, uses a threshold aggregation mechanism to generate a network-wide consistent verification result. This mechanism not only ensures reliable verification results even in the presence of malicious nodes but also achieves integrated protection of both computational correctness and data consistency through the fusion of zero-knowledge proofs and the consensus mechanism. This innovation possesses decentralized, collusion-resistant, and tamper-resistant characteristics, overcoming the limitation of traditional zero-knowledge proofs relying solely on a single verifier.
[0167] Optionally, after verifying the zero-knowledge proof based on the multiple verification nodes and obtaining the verification result, the method further includes:
[0168] Receive a second authentication request sent by a third-party device, the second authentication request being used to request the verification of the user's identity information in the blockchain;
[0169] Based on the second authentication request, obtain the user identifier corresponding to the user terminal and the updated zero-knowledge proof;
[0170] The user identifier and the updated zero-knowledge proof are verified based on the multiple verification nodes to obtain a target verification result. The target verification result is used to indicate that the user's registration process in the blockchain meets the conditions for registration in the blockchain.
[0171] The target verification result is sent to the third-party device;
[0172] The target verification result is stored in the blockchain.
[0173] In this embodiment, based on the completion of KYC document circuitization and zero-knowledge proof storage on the user's end, third-party devices are supported in initiating verification requests to the blockchain platform. Verification nodes, without exposing any original documents, perform distributed verification and threshold consensus to determine whether the user meets specific conditions, outputting a minimized disclosure result of True / False. Figure 4 As shown, Figure 4 This is a flowchart for distributed privacy verification and audit traceability.
[0174] After the third-party device sends a second authentication request, the user identifier and the new zero-knowledge proof corresponding to the user terminal are obtained, and verified through multiple verification nodes to obtain the target verification result. The target verification result is then sent to the third-party device and stored in the blockchain.
[0175] Provide privacy-friendly identity verification methods for third-party institutions (such as banks, securities companies, and regulatory authorities) to avoid repeatedly collecting original KYC documents.
[0176] The second authentication request constructed by the third party is as follows:
[0177] .
[0178] in, Represents attribute fields (such as education level, income). This indicates the corresponding conditions (e.g., "education level ≥ master's degree" or "income ≥ 500,000").
[0179] Upon receiving a verification request, the system retrieves the user's identity credentials and their zero-knowledge proof from the blockchain.
[0180] The evidence storage information is as follows:
[0181] .
[0182] in, For user identification, This is a distributed aggregation proof that has already been stored.
[0183] The conditions of the verification request are matched with the evidence to determine whether a privacy circuit can be verified.
[0184] The matching relationship is represented as:
[0185] .
[0186] in, This is a distributed aggregation proof that has already been stored.
[0187] To ensure subsequent auditing needs are met, verification requests and results will be recorded in the blockchain ledger:
[0188] .
[0189] in, For user identification, The generation time information.
[0190] Evidence of accounting records:
[0191] .
[0192] Final result returned:
[0193] .
[0194] To support subsequent reviews by regulatory or arbitration bodies, the system provides an audit query function.
[0195] The auditor may access:
[0196] .
[0197] in,
[0198] And each item was reviewed:
[0199] .
[0200] in, , This is a proven distributed aggregation proof. for
[0201] This ensures that the proof is consistent with the verification results at the time, meeting the requirements for traceable auditing.
[0202] Therefore, this embodiment embeds an audit traceability mechanism into the smart contract system. Each verification automatically generates an audit log and stores it in the blockchain ledger. When regulators or third parties need to review the data, they do not need to access the user's original data; they can confirm the authenticity and validity of historical verifications directly based on the stored logs. Since zero-knowledge proofs inherently possess non-interactivity and long-term validity, the logs implemented in this embodiment not only have a storage function but also constitute a "re-verifiable chain of evidence." This mechanism enables verification results on the blockchain to maintain long-term traceability, tamper resistance, and verifiability, significantly enhancing the system's application value in scenarios such as financial auditing, regulatory compliance, and judicial evidence collection, forming an innovative advantage that traditional solutions lack.
[0203] Optionally, the step of verifying the user identifier and the updated zero-knowledge proof based on the multiple verification nodes to obtain the target verification result includes:
[0204] Based on the verification calculations performed on the updated zero-knowledge proof by the multiple verification nodes, multiple Boolean values corresponding to the multiple verification nodes are obtained. The Boolean values are used to indicate the verification results of the corresponding verification nodes on the updated zero-knowledge proof.
[0205] The target verification result is generated based on the multiple Boolean values.
[0206] In this embodiment, the sub-proof of the corresponding circuit is called for judgment for each verification condition, and multiple verification nodes execute the verification request independently, avoiding the manipulation of the results by a centralized node.
[0207] Calculate for each node separately:
[0208] .
[0209] in, , This is a proven distributed aggregation proof. for
[0210] Obtain the set of Boolean values:
[0211] .
[0212] The final verification result is determined through a threshold consensus mechanism.
[0213] The consensus condition is defined as follows:
[0214] .
[0215] in,
[0216] In this embodiment, that is, exceeding the threshold When a node returns a successful verification, the user can be considered to have met the request conditions, and the target verification result can be generated.
[0217] The technical solution of this application, upon receiving the first authentication request from the user, converts the N identity verification files corresponding to the first authentication request into N circuit functions and determines the constraint information corresponding to the N circuit functions. Then, a zero-knowledge proof is generated using the N circuit functions and the constraint information, allowing multiple verification nodes in the blockchain to verify the zero-knowledge proof and obtain the verification result. By using circuit functions in the user authentication process, the exposure of user data is avoided, protecting user privacy and thus improving privacy protection during blockchain verification.
[0218] See Figure 5 , Figure 5 This is a structural diagram of the verification device provided in an embodiment of this application. Figure 5 As shown, the verification device 500 includes:
[0219] The receiving module 510 is used to receive a first identity verification request sent by the user terminal during the identity registration process on the user terminal. The first identity verification request is used to request identity verification in the blockchain. The first identity verification request includes N identity verification documents. The user information corresponding to different identity verification documents is different in the N identity verification documents, and N is an integer greater than 1.
[0220] The conversion module 520 is used to convert the N identity verification documents into circuit functions respectively, to obtain N circuit functions that correspond one-to-one with the N identity verification documents, and to determine the constraint information corresponding to the N circuit functions. The circuit functions are used to represent the user information corresponding to the corresponding identity verification documents, and the constraint information includes multiple constraint conditions for constraining the value range of the parameters in the N circuit functions.
[0221] The generation module 530 is used to generate zero-knowledge proofs based on the N circuit functions and the constraint information, wherein the zero-knowledge proofs are used to verify whether the N identity verification documents are valid.
[0222] The verification module 540 is used to verify the zero-knowledge proof based on the multiple verification nodes and obtain a verification result. The verification result is used to indicate whether the user terminal meets the conditions for registration in the blockchain.
[0223] Optionally, the conversion module 520 includes:
[0224] The calculation submodule is used to perform hash calculations on the N identity verification files respectively, and obtain N hash calculation results that correspond one-to-one with the N identity verification files;
[0225] The encryption submodule is used to encrypt the N hash calculation results respectively to obtain N encryption indicators that correspond one-to-one with the N hash calculation results;
[0226] The verification submodule is used to perform security verification on the N encryption indicators based on the multiple verification nodes, and if the verification result is passed, convert the N identity verification files into circuit functions respectively to obtain N circuit functions that correspond one-to-one with the N identity verification files.
[0227] A submodule is constructed to build a set of constraint polynomials based on the N circuit functions, thereby obtaining the constraint information corresponding to the N circuit functions.
[0228] Optionally, the generation module 530 includes:
[0229] The determination submodule is used to determine the user identifier corresponding to the first authentication request;
[0230] The first generation submodule is used to generate a private key corresponding to the user identifier according to a preset encryption algorithm, and to generate a public key corresponding to the user identifier according to the preset encryption algorithm and the private key;
[0231] The second generation submodule is used to generate the zero-knowledge proof based on the N circuit functions, the constraint information, and the public key.
[0232] Optionally, the verification module 540 includes:
[0233] The first verification submodule is used to verify the zero-knowledge proof based on the multiple verification nodes respectively, and obtain multiple sub-verification results and multiple node signatures corresponding to the multiple verification nodes, wherein the multiple sub-verification results correspond one-to-one with the multiple node signatures;
[0234] The third generation submodule is used to generate a verification result based on the multiple sub-verification results, and to update the zero-knowledge proof based on the multiple node signatures to obtain the updated zero-knowledge proof.
[0235] The registration submodule is used to register the user terminal in the blockchain and send the verification result to the user terminal when the verification result indicates that the user terminal meets the conditions for registration in the blockchain.
[0236] The storage submodule is used to store the target information in the blockchain, wherein the target information includes the user identifier, the updated zero-knowledge proof, and the generation time information of the first authentication request.
[0237] Optional, also includes:
[0238] The receiving submodule is used to receive a second authentication request sent by a third-party device, the second authentication request being used to request the verification of the user's identity information in the blockchain;
[0239] The acquisition submodule is used to obtain the user identifier corresponding to the user terminal and the updated zero-knowledge proof based on the second authentication request;
[0240] The second verification submodule is used to verify the user identifier and the updated zero-knowledge proof based on the multiple verification nodes to obtain a target verification result. The target verification result is used to indicate that the user's registration process in the blockchain meets the conditions for registration in the blockchain.
[0241] The sending submodule is used to send the target verification result to the third-party device;
[0242] A storage submodule is used to store the target verification result in the blockchain.
[0243] Optionally, the second verification submodule includes:
[0244] The calculation unit is used to perform verification calculations on the updated zero-knowledge proof based on the multiple verification nodes respectively, and obtain multiple Boolean values corresponding to the multiple verification nodes. The Boolean values are used to indicate the verification results of the corresponding verification nodes on the updated zero-knowledge proof.
[0245] A generation unit is used to generate the target verification result based on the plurality of Boolean values.
[0246] The technical solution of this application, upon receiving the first authentication request from the user, converts the N identity verification files corresponding to the first authentication request into N circuit functions and determines the constraint information corresponding to the N circuit functions. Then, a zero-knowledge proof is generated using the N circuit functions and the constraint information, allowing multiple verification nodes in the blockchain to verify the zero-knowledge proof and obtain the verification result. By using circuit functions in the user authentication process, the exposure of user data is avoided, protecting user privacy and thus improving privacy protection during blockchain verification.
[0247] This application also provides an electronic device. Please refer to [link to relevant documentation]. Figure 6 The electronic device may include a processor 601, a memory 602, and a program 6021 stored in the memory 602 and executable on the processor 601.
[0248] When program 6021 is executed by processor 601, it can achieve the following: Figure 1 Any step in the corresponding method embodiment:
[0249] During the user's identity registration process, a first identity verification request is received from the user. The first identity verification request is used to request identity verification in the blockchain. The first identity verification request includes N identity verification documents. The user information corresponding to different identity verification documents is different in the N identity verification documents, and N is an integer greater than 1.
[0250] The N identity verification documents are converted into circuit functions to obtain N circuit functions that correspond one-to-one with the N identity verification documents. The constraint information corresponding to the N circuit functions is determined. The circuit functions are used to represent the user information corresponding to the corresponding identity verification documents. The constraint information includes multiple constraint conditions used to constrain the value range of the parameters in the N circuit functions.
[0251] Based on the N circuit functions and the constraint information, a zero-knowledge proof is generated, which is used to verify whether the N identity verification documents are valid.
[0252] The zero-knowledge proof is verified by the multiple verification nodes to obtain a verification result, which is used to indicate whether the user meets the conditions for registration in the blockchain.
[0253] Optionally, the step of converting the N identity verification documents into circuit functions to obtain N circuit functions corresponding one-to-one with the N identity verification documents, and determining the constraint information corresponding to the N circuit functions, includes:
[0254] Hash calculations are performed on the N identity verification files respectively to obtain N hash calculation results that correspond one-to-one with the N identity verification files;
[0255] Each of the N hash calculation results is encrypted to obtain N encrypted indicators that correspond one-to-one with the N hash calculation results;
[0256] If the security of the N encryption indicators is verified based on the multiple verification nodes and the verification result is passed, the N identity verification files are converted into circuit functions respectively to obtain N circuit functions that correspond one-to-one with the N identity verification files.
[0257] Based on the N circuit functions, a system of constraint polynomials is constructed to obtain the constraint information corresponding to the N circuit functions.
[0258] Optionally, generating zero-knowledge proofs based on the N circuit functions and the constraint information includes:
[0259] Determine the user identifier corresponding to the first authentication request;
[0260] A private key corresponding to the user identifier is generated according to a preset encryption algorithm, and a public key corresponding to the user identifier is generated according to the preset encryption algorithm and the private key;
[0261] The zero-knowledge proof is generated based on the N circuit functions, the constraint information, and the public key.
[0262] Optionally, the verification of the zero-knowledge proof based on the multiple verification nodes to obtain the verification result includes:
[0263] The zero-knowledge proof is verified by the multiple verification nodes respectively, resulting in multiple sub-verification results and multiple node signatures corresponding to the multiple verification nodes, with each of the multiple sub-verification results corresponding to one of the multiple node signatures.
[0264] A verification result is generated based on the multiple sub-verification results, and the zero-knowledge proof is updated based on the multiple node signatures to obtain the updated zero-knowledge proof.
[0265] If the verification result indicates that the user terminal meets the conditions for registration in the blockchain, the user terminal is registered in the blockchain, and the verification result is sent to the user terminal.
[0266] The target information is stored in the blockchain, wherein the target information includes the user identifier, the updated zero-knowledge proof, and the generation time information of the first authentication request.
[0267] Optionally, after verifying the zero-knowledge proof based on the multiple verification nodes and obtaining the verification result, the method further includes:
[0268] Receive a second authentication request sent by a third-party device, the second authentication request being used to request the verification of the user's identity information in the blockchain;
[0269] Based on the second authentication request, obtain the user identifier corresponding to the user terminal and the updated zero-knowledge proof;
[0270] The user identifier and the updated zero-knowledge proof are verified based on the multiple verification nodes to obtain a target verification result. The target verification result is used to indicate that the user's registration process in the blockchain meets the conditions for registration in the blockchain.
[0271] The target verification result is sent to the third-party device;
[0272] The target verification result is stored in the blockchain.
[0273] Optionally, the step of verifying the user identifier and the updated zero-knowledge proof based on the multiple verification nodes to obtain the target verification result includes:
[0274] Based on the verification calculations performed on the updated zero-knowledge proof by the multiple verification nodes, multiple Boolean values corresponding to the multiple verification nodes are obtained. The Boolean values are used to indicate the verification results of the corresponding verification nodes on the updated zero-knowledge proof.
[0275] The target verification result is generated based on the multiple Boolean values.
[0276] The technical solution of this application, upon receiving the first authentication request from the user, converts the N identity verification files corresponding to the first authentication request into N circuit functions and determines the constraint information corresponding to the N circuit functions. Then, a zero-knowledge proof is generated using the N circuit functions and the constraint information, allowing multiple verification nodes in the blockchain to verify the zero-knowledge proof and obtain the verification result. By using circuit functions in the user authentication process, the exposure of user data is avoided, protecting user privacy and thus improving privacy protection during blockchain verification.
[0277] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the processes of the verification embodiments described above and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0278] This application also provides a computer program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above verification method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0279] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0280] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a communication device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0281] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A verification method, characterized in that, Applied to a blockchain, which includes multiple verification nodes, the method includes: During the user's identity registration process, a first identity verification request is received from the user. The first identity verification request is used to request identity verification in the blockchain. The first identity verification request includes N identity verification documents. The user information corresponding to different identity verification documents is different in the N identity verification documents, and N is an integer greater than 1. The N identity verification documents are converted into circuit functions to obtain N circuit functions that correspond one-to-one with the N identity verification documents. The constraint information corresponding to the N circuit functions is determined. The circuit functions are used to represent the user information corresponding to the corresponding identity verification documents. The constraint information includes multiple constraint conditions used to constrain the value range of the parameters in the N circuit functions. Based on the N circuit functions and the constraint information, a zero-knowledge proof is generated, which is used to verify whether the N identity verification documents are valid. The zero-knowledge proof is verified by the multiple verification nodes to obtain a verification result, which is used to indicate whether the user meets the conditions for registration in the blockchain.
2. The method according to claim 1, characterized in that, The step of converting the N identity verification documents into circuit functions to obtain N circuit functions corresponding one-to-one with the N identity verification documents, and determining the constraint information corresponding to the N circuit functions, includes: Hash calculations are performed on the N identity verification files respectively to obtain N hash calculation results that correspond one-to-one with the N identity verification files; Each of the N hash calculation results is encrypted to obtain N encrypted indicators that correspond one-to-one with the N hash calculation results; If the security of the N encryption indicators is verified based on the multiple verification nodes and the verification result is passed, the N identity verification files are converted into circuit functions respectively to obtain N circuit functions that correspond one-to-one with the N identity verification files. Based on the N circuit functions, a system of constraint polynomials is constructed to obtain the constraint information corresponding to the N circuit functions.
3. The method according to claim 1, characterized in that, The step of generating zero-knowledge proofs based on the N circuit functions and the constraint information includes: Determine the user identifier corresponding to the first authentication request; A private key corresponding to the user identifier is generated according to a preset encryption algorithm, and a public key corresponding to the user identifier is generated according to the preset encryption algorithm and the private key; The zero-knowledge proof is generated based on the N circuit functions, the constraint information, and the public key.
4. The method according to claim 3, characterized in that, The verification of the zero-knowledge proof based on the multiple verification nodes to obtain the verification result includes: The zero-knowledge proof is verified by the multiple verification nodes respectively, resulting in multiple sub-verification results and multiple node signatures corresponding to the multiple verification nodes, with each of the multiple sub-verification results corresponding to one of the multiple node signatures. A verification result is generated based on the multiple sub-verification results, and the zero-knowledge proof is updated based on the multiple node signatures to obtain the updated zero-knowledge proof. If the verification result indicates that the user terminal meets the conditions for registration in the blockchain, the user terminal is registered in the blockchain, and the verification result is sent to the user terminal. The target information is stored in the blockchain, wherein the target information includes the user identifier, the updated zero-knowledge proof, and the generation time information of the first authentication request.
5. The method according to claim 4, characterized in that, After verifying the zero-knowledge proof based on the multiple verification nodes and obtaining the verification result, the method further includes: Receive a second authentication request sent by a third-party device, the second authentication request being used to request the verification of the user's identity information in the blockchain; Based on the second authentication request, obtain the user identifier corresponding to the user terminal and the updated zero-knowledge proof; The user identifier and the updated zero-knowledge proof are verified based on the multiple verification nodes to obtain a target verification result. The target verification result is used to indicate that the user's registration process in the blockchain meets the conditions for registration in the blockchain. The target verification result is sent to the third-party device; The target verification result is stored in the blockchain.
6. The method according to claim 5, characterized in that, The process of verifying the user identifier and the updated zero-knowledge proof based on the multiple verification nodes to obtain the target verification result includes: Based on the verification calculations performed on the updated zero-knowledge proof by the multiple verification nodes, multiple Boolean values corresponding to the multiple verification nodes are obtained. The Boolean values are used to indicate the verification results of the corresponding verification nodes on the updated zero-knowledge proof. The target verification result is generated based on the multiple Boolean values.
7. A verification device, characterized in that, Applied to a blockchain, which includes multiple verification nodes, the device includes: The receiving module is used to receive a first identity verification request sent by the user terminal during the identity registration process. The first identity verification request is used to request identity verification in the blockchain. The first identity verification request includes N identity verification documents. The user information corresponding to different identity verification documents is different in the N identity verification documents, and N is an integer greater than 1. The conversion module is used to convert the N identity verification documents into circuit functions respectively, to obtain N circuit functions that correspond one-to-one with the N identity verification documents, and to determine the constraint information corresponding to the N circuit functions. The circuit functions are used to represent the user information corresponding to the corresponding identity verification documents, and the constraint information includes multiple constraint conditions for constraining the value range of the parameters in the N circuit functions. A generation module is used to generate zero-knowledge proofs based on the N circuit functions and the constraint information, wherein the zero-knowledge proofs are used to verify whether the N identity verification documents are valid; The verification module is used to verify the zero-knowledge proof based on the multiple verification nodes and obtain a verification result. The verification result is used to indicate whether the user meets the conditions for registration in the blockchain.
8. An electronic device, characterized in that, include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method as described in any one of claims 1 to 6.
10. A computer program product, characterized in that, Includes computer instructions that, when executed by a processor, implement the steps of the method as described in any one of claims 1 to 6.