Multi-signature method, multi-signature verification method and device for blockchain platform

By obtaining the signature address from the blockchain platform, encrypting the signature data using the local private key, and updating the user list, the application problem of multi-signature on the blockchain platform is solved, and the secure on-chain recording and verification of signature data is achieved.

CN116248283BActive Publication Date: 2025-12-05TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111491150.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-08
Publication Date
2025-12-05
Estimated Expiration
2041-12-08

AI Technical Summary

Technical Problem

Existing multi-signature schemes cannot be effectively applied to blockchain platforms.

Method used

A multi-signature method for a blockchain platform is provided. The method involves obtaining the signature address corresponding to the multi-signature transaction, encrypting the signature data using a locally pre-stored private key, updating the signature data based on the list of signing users and the list of users who have already signed, and finally performing the blockchain on-chain operation.

Benefits of technology

It enables the effective application of multi-signature schemes on blockchain platforms, ensuring the security and integrity of signature data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116248283B_ABST
    Figure CN116248283B_ABST
Patent Text Reader

Abstract

The application relates to a multi-signature method, a multi-signature verification method and a device of a blockchain platform. The multi-signature method of the application acquires a signature address corresponding to a multi-signature transaction, thereby determining signature data of the multi-signature transaction, and then encrypts user signature data in the signature data by using a locally pre-stored private key to cover the user signature data, thereby realizing an encryption process of the multi-signature. After the encryption is completed, a signature user list, an updated signed user list and a signature threshold are used to perform an operation of a blockchain chaining process, thereby broadcasting the updated signature data to the blockchain. The application can effectively apply a multi-signature scheme to the blockchain.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computers, in particular to a multi-signature method and a multi-signature verification method and device of a blockchain platform. BACKGROUND

[0002] With the development of computer technology and network technology, blockchain technology also emerges and develops continuously. Blockchain is a new application mode of distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm and other computer technologies. Blockchain, in essence, is a decentralized database, which is a series of data blocks associated using cryptographic methods. Each data block contains information about a batch of network transactions, which is used to verify the validity (anti-fake) of the information and generate the next block. Blockchain can include a blockchain underlying platform, a platform product service layer and an application service layer. In blockchain, digital signature technology is generally used for data asset encryption. Digital signature (also known as public key digital signature) is a digital string that only the sender of the information can produce and cannot be forged by others. This digital string is also a valid proof of the authenticity of the information sent by the sender. It is a kind of ordinary physical signature written on paper, but it is realized by using the technology in the field of public key encryption, and is a method for identifying digital information. A set of digital signatures usually defines two complementary operations, one for signing and the other for verification.

[0003] Currently, in the application of digital signature, sometimes multiple users need to sign and authenticate the same file. For example, a statement issued by a company involves the finance department, the development department, the sales department, the after-sales service department and other departments, which need to get the signature and approval of these departments, so these departments need to sign the statement file. A digital signature scheme that can realize multiple users signing the same file is called a multi-signature scheme. However, the current multi-signature scheme cannot be effectively applied to the blockchain platform. SUMMARY

[0004] Therefore, it is necessary to provide a multi-signature method and a multi-signature verification method and device of a blockchain platform which can be effectively applied to the blockchain platform.

[0005] In a first aspect, the present application provides a multi-signature method of a blockchain platform. The method comprises:

[0006] obtaining a signature address corresponding to a multi-signature transaction;

[0007] obtaining signature data according to the signature address, the signature data comprising a signature user list, a signed user list, user signature data and a signature threshold;

[0008] The user signature data is encrypted by using a locally pre-stored private key to obtain an encrypted signature data result;

[0009] The user signature data is encrypted by using a locally pre-stored private key to obtain an encrypted signature data result;

[0010] According to the signature user list, the updated signed user list, and the signature threshold, the updated signature data is subjected to a blockchain chaining operation.

[0011] In a second aspect, the application provides a multi-signature verification method of a blockchain platform. The method comprises:

[0012] A signature address corresponding to a multi-signature transaction is obtained.

[0013] A signed user list, user signature data, and a signature threshold are obtained according to the signature address.

[0014] When the length of the signed user list is equal to the signature threshold, a signed block public key is obtained according to the signed user list.

[0015] The user signature data is decrypted according to the signed block public key to obtain a verification result corresponding to the multi-signature transaction.

[0016] In a third aspect, the application further provides a multi-signature device of a blockchain platform. The device comprises:

[0017] A first address obtaining module is configured to obtain a signature address corresponding to a multi-signature transaction.

[0018] A first signature data obtaining module is configured to obtain signature data according to the signature address, wherein the signature data comprises a signature user list, a signed user list, user signature data, and a signature threshold.

[0019] A data encryption module is configured to encrypt the user signature data by using a locally pre-stored private key to obtain an encrypted signature data result.

[0020] A data updating module is configured to cover the user signature data in the signature data with the encrypted user signature data, and update the signed user list according to a locally pre-stored user identifier to obtain updated signature data.

[0021] A data chaining module is configured to perform a blockchain chaining operation on the updated signature data according to the signature user list, the updated signed user list, and the signature threshold.

[0022] In a fourth aspect, the present application provides a multi-signature verification device of a blockchain platform. The device comprises:

[0023] a second address obtaining module configured to obtain a signature address corresponding to the multi-signature transaction;

[0024] a second signature data obtaining module configured to obtain a signed user list, user signature data, and a signature threshold according to the signature address;

[0025] a public key searching module configured to obtain a signed block public key according to the signed user list when the length of the signed user list is equal to the signature threshold;

[0026] a signature verification module configured to decrypt the user signature data according to the signed block public key to obtain a verification result corresponding to the multi-signature transaction.

[0027] In a fifth aspect, the present application provides a computer device. The computer device comprises a memory and a processor. The memory stores a computer program, and the processor implements the following steps when executing the computer program:

[0028] obtaining a signature address corresponding to a multi-signature transaction;

[0029] obtaining signature data according to the signature address, wherein the signature data comprises a signature user list, a signed user list, user signature data, and a signature threshold;

[0030] encrypting the user signature data by using a locally pre-stored private key to obtain an encrypted result of the signature data;

[0031] overwriting the user signature data in the signature data with the encrypted result of the user signature data, and updating the signed user list according to a locally pre-stored user identifier to obtain updated signature data;

[0032] performing a blockchain on-chain operation on the updated signature data according to the signature user list, the updated signed user list, and the signature threshold.

[0033] In a sixth aspect, the present application provides another computer device. The computer device comprises a memory and a processor. The memory stores a computer program, and the processor implements the following steps when executing the computer program:

[0034] obtaining a signature address corresponding to a multi-signature transaction;

[0035] obtaining a signed user list, user signature data, and a signature threshold according to the signature address;

[0036] when the length of the signed user list is equal to the signature threshold, obtaining a signed block public key according to the signed user list;

[0037] decrypting the user signature data according to the signed block public key to obtain a verification result corresponding to the multi-signature transaction.

[0038] In a seventh aspect, the present application also provides a computer readable storage medium. The computer readable storage medium has a computer program stored thereon, and the computer program, when executed by a processor, implements the following steps:

[0039] obtaining a signature address corresponding to a multi-signature transaction;

[0040] obtaining signature data according to the signature address, the signature data including a signature user list, a signed user list, user signature data, and a signature threshold;

[0041] encrypting the user signature data by using a locally pre-stored private key to obtain an encrypted result of the signature data;

[0042] overwriting the user signature data in the signature data with the encrypted result of the user signature data, and updating the signed user list according to a locally pre-stored user identifier to obtain updated signature data;

[0043] performing a block chain operation on the updated signature data according to the signature user list, the updated signed user list, and the signature threshold.

[0044] In an eighth aspect, the present application also provides another computer readable storage medium. The computer readable storage medium has a computer program stored thereon, and the computer program, when executed by a processor, implements the following steps:

[0045] obtaining a signature address corresponding to a multi-signature transaction;

[0046] obtaining a signed user list, user signature data, and a signature threshold according to the signature address;

[0047] when the length of the signed user list is equal to the signature threshold, obtaining a signed block public key according to the signed user list;

[0048] decrypting the user signature data according to the signed block public key to obtain a verification result corresponding to the multi-signature transaction.

[0049] In a ninth aspect, the present application also provides a computer program product. The computer program product includes a computer program, and the computer program, when executed by a processor, implements the following steps:

[0050] obtain a signature address corresponding to the multi-signature transaction;

[0051] obtain signature data according to the signature address, the signature data including a signature user list, a signed user list, user signature data, and a signature threshold;

[0052] encrypt the user signature data by using a locally pre-stored private key to obtain an encrypted result of the user signature data;

[0053] cover the user signature data in the signature data with the encrypted result of the user signature data, and update the signed user list according to a locally pre-stored user identifier to obtain updated signature data;

[0054] perform a blockchain chaining operation on the updated signature data according to the signature user list, the updated signed user list, and the signature threshold.

[0055] In a tenth aspect, the present application further provides another computer program product. The computer program product comprises a computer program which, when executed by a processor, implements the following steps:

[0056] obtain a signature address corresponding to the multi-signature transaction;

[0057] obtain a signed user list, user signature data, and a signature threshold according to the signature address;

[0058] obtain a signed block public key according to the signed user list when the length of the signed user list is equal to the signature threshold;

[0059] decrypt the user signature data according to the signed block public key to obtain a verification result corresponding to the multi-signature transaction.

[0060] The multi-signature method, device, computer device, storage medium, and computer program product of the blockchain platform, wherein the method, when performing a multi-signature transaction, first obtains a signature address corresponding to the multi-signature transaction to determine signature data of the multi-signature transaction, and then encrypts user signature data in the signature data by using a locally pre-stored private key to cover the user signature data, thereby implementing an encryption process of multi-signature. After the encryption is completed, a blockchain chaining process is operated by using a signature user list, an updated signed user list, and a signature threshold, thereby broadcasting updated signature data to the blockchain. The present application can effectively apply a multi-signature scheme to a blockchain.

[0061] The multi-signature verification method, device, computer equipment, storage medium and computer program product of the blockchain platform, wherein the method comprises the following steps: when verifying the multi-signature transaction, first acquiring the signature address corresponding to the multi-signature transaction to determine the signature data of the multi-signature transaction, and when the length of the signed user list is equal to the signature threshold, identifying that the multi-signature has been completed, and then acquiring the signed block public key according to the signed user list; and decrypting and verifying the user signature data according to the signed block public key to acquire the verification result corresponding to the multi-signature transaction, so as to effectively verify the multi-signature data locally, and the application can effectively apply the multi-signature scheme to the blockchain. BRIEF DESCRIPTION OF DRAWINGS

[0062] Figure 1 A structural schematic diagram of a distributed system applied to a blockchain system in an embodiment;

[0063] Figure 2 A schematic diagram of a block structure in an embodiment;

[0064] Figure 3 A flowchart of a multi-signature method of a blockchain platform in an embodiment;

[0065] Figure 4 A flowchart of a blockchain on-chain operation step in an embodiment;

[0066] Figure 5 A flowchart of a multi-signature verification method of a blockchain platform in an embodiment;

[0067] Figure 6 A flowchart of a signed block public key searching step in an embodiment;

[0068] Figure 7 A flowchart of a multi-signature transaction verification step in an embodiment;

[0069] Figure 8 A timing schematic diagram of a multi-signature method of a blockchain platform in an embodiment;

[0070] Figure 9 A flowchart of a multi-signature verification method of a blockchain platform in another embodiment;

[0071] Figure 10 A structural block diagram of a multi-signature device of a blockchain platform in an embodiment;

[0072] Figure 11 A structural block diagram of a multi-signature verification device of a blockchain platform in an embodiment;

[0073] Figure 12Fig. 1 is a diagram of an internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0074] For the purpose, technical solutions and advantages of the present application to be more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely intended to explain the present application and not to limit the present application.

[0075] Blockchain is a new application mode of distributed data storage, peer-to-peer transmission, consensus mechanism, encryption algorithm and other computer technologies. Blockchain, in essence, is a decentralized database, which is a chain of data blocks associated using cryptographic methods, each data block containing information of a batch of network transactions, for verifying the validity of the information (anti-fake) and generating the next block. The blockchain can include a blockchain underlying platform, a platform product service layer and an application service layer.

[0076] The blockchain underlying platform can include user management, basic services, smart contracts and operation monitoring processing modules. Among them, the user management module is responsible for the identity information management of all blockchain participants, including maintaining the generation of public and private keys (account management), key management and the maintenance of the correspondence between the real identity of the user and the blockchain address (permission management), etc., and under authorization, supervising and auditing the transaction of certain real identities, providing rule configuration for risk control (risk audit); the basic service module is deployed on all blockchain node devices to verify the validity of business requests, and after consensus, the valid requests are recorded on the storage. For a new business request, the basic service first performs interface adaptation analysis and authentication processing (interface adaptation), then encrypts the business information through a consensus algorithm (consensus management), and after encryption, the complete and consistent information is transmitted to the shared ledger (network communication) and recorded and stored; the smart contract module is responsible for the registration and issuance of contracts, as well as the triggering and execution of contracts. Developers can define contract logic through a certain programming language, publish it to the blockchain (contract registration), call keys or other events to trigger execution according to the logic of the contract terms, complete the contract logic, and also provide functions for contract upgrade and cancellation; the operation monitoring module is mainly responsible for the deployment, configuration modification, contract setting, cloud adaptation during product release, and real-time state visualization output during product operation, such as alarm, monitoring network conditions, monitoring node device health status, etc.

[0077] The platform product service layer provides basic capabilities and implementation frameworks for typical applications. Developers can stack business characteristics based on these basic capabilities to complete the blockchain implementation of business logic. The application service layer provides application services based on the blockchain solution for business participants to use.

[0078] The system related to the embodiments of the present application can be a distributed system formed by a client, a plurality of nodes (any form of computing device in an access network, such as a server, a user terminal) connected through network communication.

[0079] Taking the distributed system as a blockchain system, see Figure 1 , Figure 1 is an optional structure diagram of the distributed system 100 provided by the embodiments of the present application applied to the blockchain system, formed by a plurality of nodes (any form of computing device in an access network, such as a server, a user terminal, a vehicle terminal, etc.) and a client, the nodes form a point-to-point (P2P, Peer To Peer) network, and the P2P protocol is an application layer protocol running on a transmission control protocol (TCP, Transmission Control Protocol) protocol. In the distributed system, any machine such as a server or a terminal can join to become a node, and the node includes a hardware layer, an intermediate layer, an operating system layer, and an application layer.

[0080] See Figure 1 the functions of each node in the blockchain system shown, the functions involved include:

[0081] 1) Routing, a basic function of the node, used to support communication between nodes.

[0082] In addition to the routing function, the node can also have the following functions:

[0083] 2) Application, used to be deployed in the blockchain, to implement specific services according to actual business needs, record data related to the implementation of the function to form record data, carry a digital signature in the record data to represent the source of the task data, and send the record data to other nodes in the blockchain system, so that other nodes can add the record data to the temporary block when the verification of the source and integrity of the record data is successful.

[0084] For example, the services implemented by the application include:

[0085] 2.1) Wallet, used to provide the function of conducting electronic currency transactions, including initiating a transaction (i.e., sending the transaction record of the current transaction to other nodes in the blockchain system, and after the verification of the other nodes is successful, as a response to acknowledging the validity of the transaction, storing the record data of the transaction in the temporary block of the blockchain; of course, the wallet also supports querying the remaining electronic currency in the electronic currency address;

[0086] 2.2) Shared Ledger, which provides the function of storing, querying and modifying the account data, sends the record data of the operation on the account data to other nodes in the blockchain system, and after the other nodes verify the validity, as a response to acknowledging the validity of the account data, stores the record data in the temporary block, and can also send a confirmation to the node that initiated the operation.

[0087] 2.3) Smart Contract, a computerized protocol that can execute the terms of a certain contract, implemented by code deployed on the shared ledger for execution when certain conditions are met, according to the actual business needs, the code is used to complete the automated transaction, such as querying the logistics status of the goods purchased by the buyer, and transferring the electronic currency of the buyer to the address of the merchant after the buyer signs for the goods; of course, the smart contract is not limited to executing the contract for the transaction, but also can execute the contract for processing the received information.

[0088] 3) Blockchain, which includes a series of blocks connected in chronological order according to the time of generation, once a new block is added to the blockchain, it will not be removed, and the block records the record data submitted by the nodes in the blockchain system.

[0089] Referring to Figure 2 , Figure 2 is an optional schematic diagram of the block structure provided by the embodiments of the present application, each block includes the hash value of the transaction record stored in the block (the hash value of the block) and the hash value of the previous block, and each block is connected by the hash value to form a blockchain. In addition, the block can also include information such as the time stamp when the block is generated. Blockchain, in essence, is a decentralized database, which is a series of data blocks associated using cryptographic methods, each data block contains relevant information, which is used to verify the validity of the information (anti-fake) and generate the next block.

[0090] The multi-signature method of the blockchain platform provided by the embodiments of the present application can be applied to, for example Figure 1The application environment shown. Among them, the distributed system 100 contains a plurality of blockchain nodes (referred to as nodes) 200, which form a point-to-point communication between each other, and any one corresponding to the user's node can respond to the user's operation, and execute the multi-signature method of the blockchain platform of the present application. When the user needs to perform multi-signature, the node corresponding to the user can obtain the multi-signature request corresponding to the to-be-signed data from the blockchain; determine the signature user list, the signed user list, the user signature data and the signature threshold corresponding to the multi-signature request; create a multi-signature transaction on the blockchain platform according to the signature user list, the signed user list, the user signature data and the signature threshold, and broadcast the signature address corresponding to the multi-signature transaction. When the blockchain node 200 needs to verify the multi-signature, the signature address corresponding to the multi-signature transaction is obtained; the signed user list, the user signature data and the signature threshold are obtained according to the signature address; when the length of the signed user list is equal to the signature threshold, the signed block public key is obtained according to the signed user list; the user signature data is decrypted according to the signed block public key to obtain the verification result corresponding to the multi-signature transaction

[0091] In one embodiment, as shown in Figure 3 , a multi-signature method of a blockchain platform is provided, which is applied to Figure 1 the blockchain node 200 in the application environment for example, including the following steps:

[0092] Step 302, obtaining the signature address corresponding to the multi-signature transaction.

[0093] Wherein, the multi-signature is relative to the signature, and the signature is a digital signature, that is, some data attached to a data unit or a password transformation made to the data unit. The data or transformation allows the recipient of the data unit to confirm the source of the data unit and the integrity of the data unit and protect the data from being forged by a person (for example, the recipient). It is a method of signing a message in electronic form, and a signed message can be transmitted in a communication network. Digital signatures can be obtained based on public key cryptography and private key cryptography, mainly based on public key cryptography. Including ordinary digital signature and special digital signature. The ordinary digital signature algorithm includes RSA, ElGamal, Fiat-Shamir, Guillou-Quisquarter, Schnorr, Ong-Schnorr-Shamir digital signature algorithm, Des / DSA, elliptic curve digital signature algorithm and finite automaton digital signature algorithm. Special digital signature includes blind signature, proxy signature, group signature, undeniable signature, fair blind signature, threshold signature, message recovery function signature, etc., which is closely related to the specific application environment. In real life, a document often needs to be signed (or stamped) by several units or departments to be effective, and the multi-signature technology is a method for solving such problems in a network environment, which is used for the situation that the same document must be signed by multiple people to be effective. Multi-signature is commonly referred to as multiple signers participating in the signature of an electronic document. Multi-signature includes signature system and signature structure. For the signature system, in a multi-signature system, the set of all participating signers is relatively independent and is associated according to certain rules, which is called a signature system. The signature subsystem is a subset of all signers. For the signature structure, in a multi-signature system, each member of any subsystem in the signature system signs a certain file according to a specific engagement relationship, and this engagement relationship is called a signature structure of the signature system. The signature structure can be represented by a directed graph, wherein the vertex represents the entity participating in the signature, and the directed edge represents the engagement relationship, that is, the flow direction of the data. And the signature address specifically refers to the contract address of the smart contract corresponding to the multi-signature transaction, and the specific transaction information corresponding to the multi-signature transaction can be queried through the signature address. The multi-signature method of the present application is specifically used for digitally signing the to-be-signed data.

[0094] In the scheme of the present application, any user in the blockchain can initiate a "create multi-signature" transaction according to the to-be-signed data, and specify other users participating in the multi-signature. Then the other users can obtain the signature address corresponding to the multi-signature transaction, so as to start the multi-signature. Therefore, when performing the multi-signature task, the signature address corresponding to the multi-signature transaction needs to be obtained from the blockchain.

[0095] At step 304, the signature data is obtained according to the signature address, and the signature data includes a signature user list, a signed user list, user signature data, and a signature threshold.

[0096] The signature data specifically refers to all data related to the current multi-signature. These data are set by the initiator of the multi-signature transaction and can be modified by subsequent users participating in the multi-signature transaction. The signature data specifically includes a signature user list, a signed user list, user signature data, and a signature threshold, etc. The signature user list is set by the user initiating the multi-signature transaction, which specifies which users in the blockchain can participate in the current multi-signature transaction. For example, the blockchain includes six users A, B, C, D, E, and F. When user A initiates a multi-signature transaction, it can specify that [B, C, D] three users in the blockchain can participate in the current multi-signature transaction through the signature user list. B, C, and D can obtain the signature address corresponding to the multi-signature transaction and start multi-signature, and upload the multi-signature result data to the chain through their own blocks. E and F cannot upload the signature data to the chain. The signed user list is used to record the user signature sequence for signature verification. It can record the users who have completed the multi-signature transaction. When each user completes the multi-signature transaction, their name can be recorded in the signed user list. The user signature data is used for multi-signature transaction signature data. The user signature data is initially set by the user initiating the multi-signature transaction, and the hash value of the to-be-signed data can be calculated, and then the hash value of the to-be-signed data is used as the user signature data. Then, at each time the user performs multi-signature transaction, the private key can be updated and covered to obtain new user signature data. The signature threshold is used to limit the number of users involved in the multi-signature transaction. For example, if the multi-signature transaction specifies that [B, C, D, E] four users participate in the current multi-signature transaction, the signature threshold can be set to 4 at most.

[0097] Specifically, when performing a multi-signature transaction on a blockchain platform, the creator of the multi-signature transaction can broadcast the signature address corresponding to the multi-signature transaction, and the participating users can obtain the signature data according to the signature address and perform multi-signature according to the signature data. The signature data specifically includes a signature user list, a signed user list, user signature data, and a signature threshold. The user can modify part of the data to complete the signature task in the multi-signature transaction.

[0098] At step 306, the user signature data is encrypted by the locally pre-stored private key to obtain the user signature data encryption result.

[0099] Step 308, the user signature data encryption result is overlaid on the user signature data in the signature data, and the signed user list is updated according to the locally pre-stored user identifier, to obtain updated signature data.

[0100] The private key is relative to the public key, that is, the key reserved locally, and the private key encryption algorithm uses a single private key to encrypt and decrypt data. Since any party with the key can decrypt the data, the key must be protected from unauthorized agents. Private key encryption, also known as symmetric encryption, because the same key is used for both encryption and decryption. Private key encryption algorithms are very fast (compared to public key algorithms), and are particularly suitable for performing encryption conversion on large data streams. Typically, private key algorithms (referred to as block ciphers) are used to encrypt one data block at a time.

[0101] Specifically, after obtaining the signature data, the local block chain node 200 can sign based on the signature data. The signature is mainly performed by encrypting the user signature data by the locally pre-stored private key. After encrypting the user signature data by the locally pre-stored private key, the user signature data encryption result is obtained. Then, the user signature data encryption result is used to overlay the user signature data in the original signature data, so that the multi-signature in the current block is realized. In one embodiment, the multi-signature method of the block chain platform of the present application is based on RSA algorithm for encryption and decryption. RSA algorithm is a non-symmetric encryption algorithm, which supports public key encryption and private key decryption, or private key encryption and public key decryption. In the scheme of the present application, the method of private key encryption and public key decryption is mainly used, and the user signature data can be encrypted by the local RSA private key. After the user signature data encryption result is overlaid on the user signature data in the signature data, because the current user has completed the signature, the signed user list can also be updated according to the locally pre-stored user identifier, so that the length of the signed user list is increased by one. After the operation, the updated signature data is obtained.

[0102] Step 310, according to the signature user list, the updated signed user list, and the signature threshold, the updated signature data is operated on the block chain.

[0103] After obtaining the updated signature data, the on-chain operation of the signature data can be performed, and the updated signature data is broadcast to other blocks of the block chain. This process needs to first judge whether it is allowed to be chained. Therefore, it is necessary to judge whether the current user has the qualification of multi-signature according to the signature user list, the updated signed user list, and the signature threshold. When the user has the on-chain qualification, the updated signature data is operated on the block chain.

[0104] In one embodiment, as shown in Figure 4 Step 310 specifically includes:

[0105] Step 401, according to the signature threshold and the length of the updated signed user list, determine the transaction progress state of the multi-signature transaction.

[0106] Step 403, when the transaction progress state of the multi-signature transaction is in transaction, and the locally pre-stored user identifier is in the signature user list, perform the on-chain operation of the updated signature data on the blockchain.

[0107] Specifically, the signature threshold refers to the number of users involved in the multi-signature transaction. When the number of participating users in the multi-signature transaction reaches the signature threshold, it can be considered that the multi-signature has been completed, and therefore the multi-signature data cannot be modified thereafter. Therefore, when the signature data is chained, it is necessary to first determine the transaction progress state of the multi-signature transaction according to the signature threshold and the length of the updated signed user list, and determine whether the multi-signature transaction is completed. When the transaction progress state of the multi-signature transaction is in transaction, it is also necessary to determine whether the current user is in the signature user list set by the multi-signature initiator and whether it is a designated participant of the multi-signature. Only when the length of the updated signed user list does not reach the signature threshold and the locally pre-stored user identifier is in the signature user list, can it be determined that the current user has the qualification of multi-signature. At this time, the corresponding signature data can be chained.

[0108] In one embodiment, the multi-signature method of the present application further includes a creation process of the multi-signature transaction. Any account in the blockchain can initiate the "create multi-signature" transaction. After the client initiating the signature obtains the multi-signature request of the user to the to-be-signed data, it can determine the signature user list corresponding to the multi-signature request, the signed user list, the user signature data, and the signature threshold. Then, according to the signature user list, the signed user list, the user signature data, and the signature threshold, create the multi-signature transaction on the blockchain platform, and broadcast the signature address corresponding to the multi-signature transaction to other blocks in the blockchain.

[0109] The above multi-signature method of the blockchain platform, wherein the method determines the signature data of the multi-signature transaction by first obtaining the signature address corresponding to the multi-signature transaction when performing the multi-signature transaction, and then encrypts the user signature data in the signature data by using the locally pre-stored private key to implement the encryption process of the multi-signature. After the encryption is completed, the on-chain process operation is performed through the signature user list, the updated signed user list, and the signature threshold, so as to broadcast the updated signature data to the blockchain. The present application can effectively apply the multi-signature scheme to the blockchain.

[0110] In one embodiment, the present application further provides a multi-signature verification method of a blockchain platform. The method is applied to Figure 1The blockchain node 200 in the blockchain platform 100 is taken as an example for illustration, as shown in Figure 5 includes the following steps:

[0111] Step 502, obtaining a signature address corresponding to the multi-signature transaction.

[0112] Step 504, obtaining a signed user list, user signature data and a signature threshold according to the signature address.

[0113] The signature decryption process corresponds to the signature encryption process. The encryption process is to encrypt data by a key to obtain ciphertext, and the decryption is to decrypt the ciphertext by the key to obtain the original data. The signature address specifically refers to the contract address of the blockchain smart contract corresponding to the multi-signature transaction. The specific transaction information corresponding to the multi-signature transaction can be queried through the signature address. The data used in the digital signature decryption process specifically includes the signed user list, the user signature data and the signature threshold. The signed user list records the identity information of all users who have participated in the multi-signature. The user signature data is the ciphertext data encrypted by all users in the signed user list. The signature threshold is used to limit the number of users participating in the multi-signature.

[0114] Specifically, after completing the multi-signature, when the user needs to decrypt the multi-signature, the signature address corresponding to the multi-signature transaction to be decrypted needs to be obtained from the blockchain platform. Based on the signature address, the signature data of the multi-signature is obtained from the blockchain, and the signed user list, the user signature data and the signature threshold are obtained. The signature user list and the signature threshold can be used to judge whether the multi-signature has been completed. The user signature data is used to decrypt and restore the original data.

[0115] Step 506, when the length of the signed user list is equal to the signature threshold, obtaining a signed block public key according to the signed user list.

[0116] The length of the signed user list being equal to the signature threshold indicates that all users in the current multi-signature transaction have participated in and completed their own multi-signature transaction tasks, and the signed results are uploaded to the chain. At this time, the decryption task of the multi-signature can be executed. The user identification is recorded in the signed user list, and the user address can be obtained according to the user identification, so as to obtain the signed block public key. The public key corresponds to the private key, and the public key has been published in the blockchain. All users in the blockchain can query the public key of a certain user.

[0117] Specifically, after obtaining the signed user list, the user signature data and the signature threshold, it is necessary to first determine whether the multi-signature process is completed, that is, whether the multi-signature transaction is completed by the signed user list and the signature threshold. The length of the signed user list is the number of users participating in the multi-signature transaction. When the length of the signed user list is equal to the signature threshold, it means that the multi-signature transaction has been completed. At this time, the signed block public key corresponding to different signed users can be obtained according to the signed user list. Then, based on these signed block public keys, the decryption verification of the multi-signature is carried out. In one embodiment, the user encrypts the user signature data by using the RSA private key. At this time, the user signature data can be decrypted by using the RSA public key.

[0118] Step 508, decrypt the user signature data according to the signed block public key to obtain the verification result corresponding to the multi-signature transaction.

[0119] The verification result specifically refers to verifying whether the local to-be-signed data corresponds to the decrypted user signature data. When the multi-signature task is created, the creator calculates the initial user signature data according to the to-be-signed data. Then, in the process of multi-signature, after each user completes a signature, the user signature data obtained is encrypted by using the local pre-stored private key of the user. Therefore, after completing the multi-signature, the user signature data in the signature data is encrypted for a number of times equal to the number of users in the signed user list. Therefore, in the decryption process, the user signature data needs to be decrypted multiple times by using the signed block public key to obtain the final decryption data. Then, the final verification result is obtained by comparing the decryption data with the to-be-signed data.

[0120] Specifically, in the scheme of the present application, the user signature data is encrypted by using the asymmetric encryption method for multi-signature. Therefore, in the encryption process, the user signature data is encrypted by using the local pre-stored private key of each user in turn. In the decryption process, the public keys corresponding to all the users need to be obtained for decryption. After obtaining the signed block public keys of all the users according to the signed user list, the user signature data can be decrypted to obtain the decryption data according to the user attributes of the signed user list. Then, based on the decryption data, the verification of the multi-signature transaction is carried out to obtain the corresponding verification result.

[0121] The multi-signature verification method of the blockchain platform, wherein the method comprises the following steps: when verifying the multi-signature transaction, first obtaining the signature address corresponding to the multi-signature transaction to determine the signature data of the multi-signature transaction; when the length of the signed user list is equal to the signature threshold, identifying that the multi-signature is completed; obtaining the signed block public key from the signed user list; and decrypting and verifying the user signature data according to the signed block public key to obtain the verification result corresponding to the multi-signature transaction, thereby effectively verifying the multi-signature data locally, and effectively applying the multi-signature scheme to the blockchain.

[0122] In one embodiment, as shown in FIG. 6, step 506 comprises the following steps: Figure 6

[0123] Step 601: sequentially obtaining the user identifiers in the signed user list in reverse order.

[0124] Step 603: obtaining the block addresses according to the user identifiers.

[0125] Step 605: finding the signed block public keys corresponding to the users in the signed user list according to the block addresses.

[0126] The user identifier is used to identify the user block address, and the user block address can be found in the blockchain platform according to the user identifier to determine the block addresses of the users in the signed user list.

[0127] Specifically, when finding the signed block public key, the signed block public key that has been disclosed needs to be read from the block corresponding to the user based on the block address of the user. At this time, the user identifiers in the signed user list can be sequentially obtained in reverse order. Since the later signed user is located at the later position of the signed user list when the multi-signature is performed, the encryption order of the user is also at the later position, and the decryption order is opposite to the encryption order, that is, the earlier encrypted user is decrypted later. Therefore, the user identifiers in the signed user list are sequentially obtained in reverse order, the block addresses are obtained according to the user identifiers, the signed block public keys corresponding to the users in the signed user list are found according to the block addresses, and finally the user signature data is decrypted in sequence according to the signed block public keys to obtain the final decrypted signature data. In another embodiment, the user identifiers in the signed user list can be sequentially obtained in sequence, and the signed block public keys in sequence are obtained, and then the user signature data is decrypted in reverse order according to the signed block public keys in sequence to obtain the final decrypted signature data. In this embodiment, the user identifiers and the block addresses are obtained in reverse order, and then the user signature data is decrypted at one time, which can effectively decrypt the user signature data and ensure the accuracy of the decryption process, thereby ensuring the effectiveness of the verification result corresponding to the multi-signature transaction.

[0128] ​In one of the embodiments, as shown in Figure 7 Step 508 includes:

[0129] Step 702, according to the signed user list in the user corresponding to the signed block public key, in turn, the user signature data decryption, get decryption signature data.

[0130] Step 704, the local to be signed data for hash operation, get signature data hash result.

[0131] Step 706, when the signature data hash result and the decryption signature data are the same, determine the verification result corresponding to the multi-signature transaction is verified successfully.

[0132] Among them, hash operation is mainly used for information digest operation. In creating multi-signature transaction, the creator will be according to the multi-signature transaction corresponding to the to be signed data for hash operation to create user signature data, so in the process of multi-signature verification, also need to verify whether the final user signature data can be restored to the hash value of to be signed data.

[0133] Specifically, in the process of decryption verification, first need to carry out user signature data decryption. At this time, can be according to the signed user list in the user corresponding to the signed block public key, and then in turn, the user signature data decryption, get decryption signature data. After decryption, can carry out multi-signature verification, verification can be carried out on the local to be signed data for hash operation, get the signature data hash result corresponding to the local to be signed data, if the signature data hash result and the decryption signature data are the same, it is proved that the process of multi-signature is correct, the user signature data obtained is the normal data after multi-signature. And if the signature data hash result and the decryption signature data are not the same, it is proved that the process of multi-signature is wrong, at this time, can be informed to other block in the block chain platform. In this embodiment, the signature data hash result and the decryption signature data are used to verify the process corresponding to the multi-signature transaction, which can effectively verify the validity of the multi-signature transaction process and ensure the smooth progress of the multi-signature.

[0134] The application also provides an application scenario, which applies the multi-signature method of the block chain platform and the multi-signature verification method of the block chain platform. Specifically, the multi-signature method and verification method of the block chain platform are applied in the application scenario as follows:

[0135] When the user needs to carry out a multi-party authorization task of the block chain platform, it is necessary to carry out multi-signature based on the multi-party authorization task, so the user can initiate the multi-signature transaction corresponding to the multi-party authorization through the block where the user is located. The timing diagram of the multi-signature transaction process can be referred to as shown in Figure 8 Figure 8 ​As shown, the participants of multi-party authorization specifically include users A, B and C. User A can initiate a "create multi-signature" transaction in the blockchain network, but before that, user A needs to set the signature data used for multi-signature, which specifically includes setting the signature user list, user signature data and signature threshold, and can also include an empty signed user list. First, set the signature user list according to the participants, with a length of N, which is set to 3, i.e. [A, B, C], and then set the data field of the user signature data, which can be obtained by hashing the to-be-signed data (multi-party authorization data). Then set the signature threshold, which is set to 2 by default if not set, and the signature threshold M=N is set to 3 here. At the same time, add user A to the signed user list, which is now [A]. After setting, the multi-signature transaction can be published to the blockchain network of the blockchain platform. After receiving the initiation request of the multi-signature transaction, the blockchain network confirms the transaction and obtains the signature address (contract address). Then, when user B processes the multi-party authorization, user B can first obtain the user signature data in the signature data according to the signature address, and then encrypt the user signature data with the local pre-stored private key corresponding to user B to obtain new user signature data, and add user B to the signed user list, which is now [A, B]. Then update the signature data and perform on-chain operation. After the blockchain network confirms the transaction, the subsequent signature can be executed. User C performs the operation of user B, user C encrypts the updated user signature data of user B with the local pre-stored private key to obtain new user signature data, and adds user C to the signed user list, which is now [A, B, C]. Then, when the blockchain network identifies that the signed user list is [A, B, C] and its length is equal to the signature threshold, it is determined that the multi-signature transaction is complete, and the multi-signature data cannot be modified thereafter. After the multi-signature transaction is completed, the verification of the multi-signature transaction can be performed, and users A, B and C can all initiate the verification of the multi-signature transaction. The verification process of the multi-signature transaction can be referred to Figure 9As shown, first, the need to perform the block synchronizes the latest data of the block chain, and then based on the signature address of the multi-signature transaction, the signature data is obtained, including the signed user list, the user signature data and the signature threshold, etc. Then it is judged whether the length of the signed user list is equal to the signature threshold. When the two are equal, it is determined that the multi-signature transaction has been completed, and verification can be performed. If they are not equal, the verification process is ended. When verifying, the user identifier of the signed user list is obtained in reverse order. When there is still a user identifier of the signed user, the user address (the address of the block where the user is located) is found according to the user identifier, and the signed block public key is obtained according to the user address, and the data is decrypted and covered through the signed block public key. When there is no user identifier of the signed user, it means that the decryption is completed. At this time, the final user signature data obtained is the final decryption signature data. At this time, verification can be performed. First, the hash value of the multi-party authorized data is calculated locally, and then it is judged whether the hash value is the same as the decryption signature data. If they are the same, it means that the verification is successful, and the multi-signature transaction is correct. If they are not the same, it means that the verification fails, and the multi-signature transaction has a problem.

[0136] It should be understood that although each step in the flowchart involved in each of the above embodiments is shown in sequence according to the arrow, these steps are not necessarily executed in sequence according to the arrow. Unless otherwise specified herein, the execution of these steps is not strictly limited in sequence, and these steps can be executed in other sequences. Moreover, at least part of the steps in the flowchart involved in each of the above embodiments can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution sequence of these steps or stages is not necessarily sequential, but can be executed alternately or alternately with at least part of other steps or steps or stages in other steps.

[0137] Based on the same inventive concept, the embodiments of the present application also provide a multi-signature device of a block chain platform for implementing the multi-signature method of the block chain platform as described above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more multi-signature device embodiments of the block chain platform provided below can refer to the limitations of the multi-signature method of the block chain platform in the above text, which will not be repeated here.

[0138] In one embodiment, as shown in Figure 10 A multi-signature device of a block chain platform is provided, comprising:

[0139] The first address acquisition module 1001 is configured to acquire a signature address corresponding to a multi-signature transaction.

[0140] The first signature data acquisition module 1003 is configured to acquire signature data according to a signature address, wherein the signature data comprises a signature user list, a signed user list, user signature data and a signature threshold.

[0141] The data encryption module is configured to encrypt the user signature data by using a locally pre-stored private key to obtain an encrypted result of the signature data 1005.

[0142] The data updating module 1007 is configured to overwrite the user signature data in the signature data with the encrypted result of the user signature data, and update the signed user list according to a locally pre-stored user identifier to obtain updated signature data.

[0143] The data chaining module 1009 is configured to perform a blockchain chaining operation on the updated signature data according to the signature user list, the updated signed user list and the signature threshold.

[0144] The multi-signature device of the blockchain platform described above can, when verifying a multi-signature transaction, first acquire a signature address corresponding to the multi-signature transaction, thereby determining signature data of the multi-signature transaction, and when the length of the signed user list is equal to the signature threshold, identifying that the multi-signature has been completed, and then acquiring a signed block public key according to the signed user list; and verifying the user signature data according to the signed block public key to acquire a verification result corresponding to the multi-signature transaction, thereby effectively verifying the multi-signature data locally. The application can effectively apply the multi-signature scheme to the blockchain.

[0145] In one embodiment, the data chaining module 1009 is specifically configured to determine a transaction progress state of the multi-signature transaction according to the signature threshold and the length of the updated signed user list; and perform a blockchain chaining operation on the updated signature data when the transaction progress state of the multi-signature transaction is in transaction and the locally pre-stored user identifier is in the signature user list.

[0146] In one embodiment, as shown in Figure 11 , a multi-signature verification device of a blockchain platform is provided, comprising:

[0147] The second address acquisition module 1102 is configured to acquire a signature address corresponding to a multi-signature transaction.

[0148] The second signature data acquisition module 1104 is configured to acquire a signed user list, user signature data and a signature threshold according to the signature address.

[0149] The public key searching module 1106 is configured to acquire a signed block public key according to the signed user list when the length of the signed user list is equal to the signature threshold.

[0150] The signature verification module 1108 is configured to decrypt the user signature data according to the signed block public key, and obtain the verification result corresponding to the multi-signature transaction.

[0151] The multi-signature verification device of the blockchain platform can determine the signature data of the multi-signature transaction by obtaining the signature address corresponding to the multi-signature transaction when verifying the multi-signature transaction, and can determine that the multi-signature is completed when the length of the signed user list is equal to the signature threshold, and can obtain the signed block public key according to the signed user list. The signed block public key is used to decrypt and verify the user signature data, so as to obtain the verification result corresponding to the multi-signature transaction. Therefore, the data of the multi-signature transaction can be effectively verified locally, and the multi-signature scheme can be effectively applied to the blockchain.

[0152] In one of the embodiments, the public key searching module 1106 is specifically configured to: obtain the user identifiers in the signed user list in reverse order; obtain the block addresses according to the user identifiers; and search for the signed block public keys corresponding to the users in the signed user list according to the block addresses.

[0153] In one of the embodiments, the signature verification module 1108 is specifically configured to: decrypt the user signature data according to the signed block public keys corresponding to the users in the signed user list, and obtain the decrypted signature data; perform a hash operation on the local to-be-signed data, and obtain a signature data hash result; and when the signature data hash result is the same as the decrypted signature data, determine that the verification result corresponding to the multi-signature transaction is successful.

[0154] The modules in the multi-signature device of the blockchain platform and the multi-signature verification device of the blockchain platform can be all or partially implemented by software, hardware, and a combination thereof. The modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory in the computer device in the form of software, so as to be called and executed by the processor to perform the operations corresponding to the modules.

[0155] In one embodiment, a computer device is provided, which can be a server, and the internal structure diagram of the computer device can be as shown in Figure 12As shown in the figure. The computer device includes a processor, a memory and a network interface connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store trajectory image data. The network interface of the computer device is used to communicate with external terminals through network connection. The computer program is executed by the processor to implement a multi-signature method of a blockchain platform or a multi-signature verification method of a blockchain platform.

[0156] Those skilled in the art can understand that, Figure 12 The structure shown in the figure is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computer device to which the scheme of the present application is applied. The specific computer device can include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.

[0157] In one embodiment, a computer device is also provided, including a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps in each of the method embodiments described above.

[0158] In one embodiment, a computer readable storage medium is provided, storing a computer program, which is executed by a processor to implement the steps in each of the method embodiments described above.

[0159] In one embodiment, a computer program product or computer program is provided, which includes computer instructions stored in a computer readable storage medium. The processor of the computer device reads the computer instructions from the computer readable storage medium, and the processor executes the computer instructions to make the computer device execute the steps in each of the method embodiments described above.

[0160] It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties.

[0161] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when the computer program is executed, the processes of the above-mentioned embodiments of the methods can be included. Any reference to memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. The non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric memory (FRAM), phase change memory (PCM), graphene memory, etc. The volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration but not limitation, the RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., without being limited thereto.

[0162] Any combination of the technical features of the above embodiments can be made. In order to make the description simple, all possible combinations of the technical features in the above embodiments are not described, however, as long as the combination of the technical features does not exist, it should be considered as the scope of the present application.

[0163] The above embodiments only express several implementation manners of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent of the present application. It should be pointed out that for ordinary skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are within the scope of protection of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.

Claims

1. A multi-signature method for a blockchain platform, characterized in that, The method includes: Obtain the signature address corresponding to the multi-signature transaction; The signature data is obtained based on the signature address. The signature data includes a list of signing users, a list of signed users, user signature data, and a signature threshold. The user signature data is encrypted using a locally pre-stored private key to obtain the encrypted user signature data result; The encrypted result of the user signature data is overwritten with the user signature data in the signature data, and the list of signed users is updated according to the pre-stored user identifiers to obtain the updated signature data; The transaction progress status of the multi-signature transaction is determined based on the signature threshold and the length of the updated list of signed users. If the length of the updated list of signed users does not reach the signature threshold, the transaction process status of the multi-signature transaction is determined to be "in progress". When the transaction process status of the multi-signature transaction is "in progress" and the locally pre-stored user identifier is in the list of signing users, the updated signature data is uploaded to the blockchain.

2. A multi-signature verification method for a blockchain platform, characterized in that, The method includes: Obtain the signature address corresponding to the multi-signature transaction, wherein the multi-signature transaction is a multi-signature transaction that completes the multi-signature through the multi-signature method of claim 1; Based on the signature address, obtain the list of signed users, user signature data, and signature threshold; When the length of the signed user list is equal to the signing threshold, the public key of the signed block corresponding to different signed users is obtained according to the signed user list; The user signature data is decrypted using the public key of the signed block to obtain the verification result corresponding to the multi-signature transaction.

3. The method according to claim 2, characterized in that, The step of obtaining the public key of the signed block corresponding to different signed users based on the list of signed users includes: Retrieve the user identifiers from the list of signed users in reverse order; Obtain the block address based on the user identifier; Based on the block address, find the public key of the signed block corresponding to different signed users in the list of signed users.

4. The method according to claim 3, characterized in that, The step of decrypting the user signature data based on the public key of the signed block to obtain the verification result corresponding to the multi-signature transaction includes: Based on the public key of the signed block corresponding to the user in the list of signed users, the user signature data is decrypted sequentially to obtain the decrypted signature data. Perform a hash operation on the local data to be signed to obtain the hash result of the signed data; When the hash result of the signature data is the same as the decrypted signature data, the verification result corresponding to the multi-signature transaction is determined to be successful.

5. A multi-signature device for a blockchain platform, characterized in that, The device includes: The first address acquisition module is used to obtain the signature address corresponding to the multi-signature transaction; The first signature data acquisition module is used to acquire signature data according to the signature address. The signature data includes a list of signing users, a list of signed users, user signature data, and a signature threshold. The data encryption module is used to encrypt the user signature data using a locally pre-stored private key and obtain the encryption result of the signature data. The data update module is used to overwrite the user signature data in the signature data with the encrypted result of the user signature data, and update the list of signed users according to the locally pre-stored user identifiers to obtain the updated signature data; The data upload module is used to determine the transaction progress status of a multi-signature transaction based on the signature threshold and the length of the updated signed user list; if the length of the updated signed user list does not reach the signature threshold, the transaction progress status of the multi-signature transaction is determined to be "in progress"; when the transaction progress status of the multi-signature transaction is "in progress" and the locally pre-stored user identifier is in the signed user list, the updated signature data is uploaded to the blockchain.

6. A multi-signature verification device for a blockchain platform, characterized in that, The device includes: The second address acquisition module is used to acquire the signature address corresponding to the multi-signature transaction, wherein the multi-signature transaction is a multi-signature transaction that completes the multi-signature through the multi-signature device of claim 5; The second signature data acquisition module is used to obtain a list of signed users, user signature data, and signature threshold based on the signature address. The public key lookup module is used to obtain the public key of the signed block corresponding to different signed users based on the signed user list when the length of the signed user list is equal to the signing threshold. The signature verification module is used to decrypt the user signature data based on the public key of the signed block and obtain the verification result corresponding to the multi-signature transaction.

7. The apparatus according to claim 6, characterized in that, The public key lookup module is specifically used for: retrieving user identifiers from the list of signed users in reverse order; obtaining block addresses based on the user identifiers; and searching for the public keys of signed blocks corresponding to different signed users in the list of signed users based on the block addresses.

8. The apparatus according to claim 7, characterized in that, The signature verification module is specifically used for: decrypting the user signature data sequentially according to the public key of the signed block corresponding to the user in the signed user list to obtain decrypted signature data; and performing a hash operation on the local data to be signed to obtain the signature data hash result. When the hash result of the signature data is the same as the decrypted signature data, the verification result corresponding to the multi-signature transaction is determined to be successful.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 4.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 4.

11. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Electronic contract signing method and device, storage medium and computer equipment

    CN113411188A