Blockchain-based transaction supervision method and device, electronic equipment and storage medium
By constructing encrypted transaction information on the blockchain and utilizing KYC contracts and zero-knowledge proof mechanisms, the problem of regulating the compliance and legality of transaction information while ensuring data privacy is solved, thus achieving effective transaction regulation and privacy protection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-28
- Publication Date
- 2026-03-20
AI Technical Summary
When monitoring transaction information on the blockchain, how can we verify the compliance and legality of transactions while ensuring data privacy and preventing unrelated regulators or users from knowing the transaction information?
The payment client node constructs encrypted transaction information and uses KYC contracts and zero-knowledge proof mechanisms to encrypt the transaction information before uploading it to the blockchain. The associated regulatory node uses the regulatory private key to decrypt and verify the compliance and legality of the transaction information.
This approach ensures that relevant regulatory bodies can effectively monitor transaction information while protecting transaction privacy, thereby improving regulatory efficiency and security and avoiding resource waste.
Smart Images

Figure CN115953244B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of blockchains, and particularly relates to a transaction supervision method and device based on a blockchain, an electronic device and a storage medium. BACKGROUND
[0002] A blockchain is a chain storage structure composed of multiple blocks. Each block stores certain information, and the blocks are connected in a chain according to the time sequence of their generation. The transaction information in the form of ciphertext can be recorded in the blocks, and the transaction information includes a payee in the transaction, a payor in the transaction, a digital currency type, a transaction amount and a supervisor. The supervisors include a supervisor for monitoring the payee, a supervisor for monitoring the payor and a supervisor for monitoring the digital currency, and the supervisors verify the compliance and legality of the transaction information.
[0003] However, in the process of supervising the transaction information, the supervisors need to pay attention to the privacy of the transaction information, and the transaction information cannot be known by other users on the blockchain who are irrelevant to the transaction information, nor can the transaction information be known by supervisors who are irrelevant to the transaction information. Therefore, how the supervisors verify the compliance and legality of the transaction information while ensuring data privacy has become a problem to be solved. SUMMARY
[0004] Embodiments of the present application provide a transaction supervision method and device based on a blockchain, an electronic device and a storage medium, and the supervisors can supervise the compliance and legality of the transaction information while ensuring the privacy of the blockchain data.
[0005] To achieve the above object, embodiments of the present application adopt the following technical solutions:
[0006] In a first aspect, a blockchain-based transaction supervision method is provided. The method comprises: a payee client node obtaining transaction plaintext information of a transaction and constructing transaction ciphertext information based on the transaction plaintext information, the transaction involving one or more associated supervision nodes; the payee client node obtaining submission information according to a know your customer (KYC) contract and the transaction ciphertext information, and encrypting the submission information according to one or more supervision public keys corresponding to the one or more associated supervision nodes in the KYC contract to obtain one or more transaction supervision ciphertext information; the payee client node sending the transaction ciphertext information, the one or more transaction supervision ciphertext information and zero-knowledge proof to a blockchain, the zero-knowledge proof being used to prove whether the submission information is correct and complete; a blockchain verification node storing the transaction ciphertext information and the one or more transaction supervision ciphertext information in the blockchain under the condition that the zero-knowledge proof is verified to be true according to the transaction ciphertext information, the KYC contract and the one or more transaction supervision ciphertext information; and each of the one or more associated supervision nodes obtaining the one or more transaction supervision ciphertext information from the blockchain and decrypting the one or more transaction supervision ciphertext information according to a supervision private key to obtain and verify the submission information.
[0007] Optionally, in the blockchain-based transaction supervision method, the transaction plaintext information comprises payee identity information, a transaction amount and a payee identity information, and the transaction ciphertext information comprises an encrypted payee address, an encrypted transaction amount of the payee, an encrypted payee address and an encrypted transaction amount of the payee.
[0008] Optionally, in the blockchain-based transaction supervision method, the vector matrix elements in the KYC contract comprise a user identity vector, a supervision identity vector and a public key vector; the user identity vector corresponds to storage of the payee identity information and the payee identity information; the supervision identity vector corresponds to storage of identity information of the one or more associated supervision nodes; and the public key vector corresponds to storage of a payee public key, a payee public key and one or more supervision public keys.
[0009] Optionally, the payer client node obtains the submission information according to the KYC contract and the transaction ciphertext information, including: the payer client node signs the encrypted payer address according to the payer private key to obtain a signed payer address; the payer client node obtains a signed payee address corresponding to the encrypted payee address, the signed payee address being obtained by signing the encrypted payee address according to the payee private key; the payer client node merges the payer location information, the payee location information, the digital currency contract address location information, the signed payer address, the signed payee address, the first amount encryption parameter, and the transaction amount to generate the submission information; wherein the payer location information refers to the location information of the payer public key corresponding to the payer client node in the KYC contract; the payee location information refers to the location information of the payee public key corresponding to the payee client node in the KYC contract, the payee client node being the client node corresponding to the payee of the transaction; the digital currency contract address location refers to the location information of the digital currency management node of the digital currency type to which the transaction amount belongs in the KYC contract; and the first amount encryption parameter is used to encrypt the transaction amount to obtain the payer-encrypted transaction amount.
[0010] Optionally, in the above blockchain-based transaction supervision method, the one or more supervision public keys include: a first supervision public key, a second supervision public key, and a third supervision public key; the associated supervision party node corresponding to the first supervision public key has the authority of supervising the payer client in the supervision object related to the transaction, the associated supervision party node corresponding to the second supervision public key has the authority of supervising the payee client in the supervision object related to the transaction, and the associated supervision party node corresponding to the third supervision public key has the authority of supervising the digital currency type to which the transaction amount belongs in the supervision object related to the transaction.
[0011] The payer client node encrypts the submission information according to one or more supervision public keys corresponding to one or more associated supervision party nodes in the KYC contract to obtain one or more transaction supervision ciphertext information, including: the payer client node encrypts the submission information according to the first supervision public key, the second supervision public key, and the third supervision public key to obtain one or more transaction supervision ciphertext information; wherein the first supervision public key is the supervision public key corresponding to the payer location information in the KYC contract; the second supervision public key is the supervision public key corresponding to the payee location information in the KYC contract; and the third supervision public key is the supervision public key corresponding to the digital currency contract address location in the KYC contract.
[0012] Optionally, in the blockchain-based transaction supervision method, the zero-knowledge proof includes at least one of the following: the first amount encryption parameter, the encrypted transaction amount of the payer, and the Pedersen commitment, used to verify that the transaction amount in the reported information is greater than or equal to 0, and the account balance in the payee address is greater than or equal to the transaction amount; the payer public key and the signed payee address, used to verify whether the payee location information is correct; the payee public key and the signed payee address, used to verify whether the payee location information is correct; the first supervision public key, the second supervision public key, the third supervision public key, and the plurality of transaction supervision ciphertext information, used to verify that each transaction supervision ciphertext in the plurality of transaction supervision ciphertext information corresponds to the same reported information, and each transaction supervision ciphertext information is correct.
[0013] Optionally, in the blockchain-based transaction supervision method, the encrypted payee address is obtained by encrypting the payee address according to an asymmetric key pseudonym algorithm; and the encrypted payer address is obtained by encrypting the payer address according to the asymmetric key pseudonym algorithm.
[0014] Optionally, in the blockchain-based transaction supervision method, the encrypted payee amount is obtained by encrypting the transaction amount according to the Pedersen commitment, with the first amount encryption parameter as the confusion factor; and the encrypted payee amount is obtained by encrypting the transaction amount according to the Pedersen commitment, with the second amount encryption parameter as the confusion factor.
[0015] The technical scheme provided by the present application at least brings the following technical effects: the transaction ciphertext information is constructed by the payer client node to ensure the confidentiality of the transaction information, which can protect the degree of privacy information protection of the transaction information stored on the blockchain. According to the KYC contract and the zero-knowledge proof, the reported information on which the plurality of transaction supervision ciphertext information is encrypted is proved to be correct and complete, which can ensure that the plurality of transaction supervision ciphertext information supervised by the associated supervision node is correct and complete, thereby avoiding the waste of system resources of the associated supervision node caused by the invalid supervision of the plurality of transaction supervision ciphertext information. In addition, since the plurality of transaction supervision ciphertext information is encrypted according to the supervision public keys of all associated supervision nodes involved in the transaction, each associated supervision node can obtain the corresponding target transaction supervision information through the supervision private key, and the target transaction supervision information belongs to the information that can be supervised by the associated supervision node, and the information that is not supervised by itself in the reported information cannot be obtained, which can improve the supervision efficiency of the associated supervision node. Moreover, the relevant supervision information in the reported information can only be obtained by the corresponding associated supervision node, and other supervision nodes cannot obtain it, thereby improving the security of the transaction information.
[0016] In a second aspect, a blockchain-based transaction supervision method is provided, which is applied to a payer client node and includes: obtaining, by the payer client node, transaction plaintext information of a transaction, and constructing transaction ciphertext information based on the transaction plaintext information, the transaction involving one or more associated supervision node; obtaining report information according to a KYC (know your customer) contract and the transaction ciphertext information, and encrypting the report information according to one or more supervision public keys corresponding to the one or more associated supervision nodes in the KYC contract to obtain one or more transaction supervision ciphertext information; and sending the transaction ciphertext information, the one or more transaction supervision ciphertext information and zero-knowledge proof to a blockchain, the zero-knowledge proof being used to prove whether the report information is correct and complete, so that the one or more transaction supervision ciphertext information is decrypted and supervised by the corresponding associated supervision node when the zero-knowledge proof is verified to be correct.
[0017] Optionally, in the blockchain-based transaction supervision method, the transaction plaintext information includes payee identity information, a transaction amount and payer identity information, and the transaction ciphertext information includes an encrypted payer address, an encrypted transaction amount of the payee, an encrypted payee address and an encrypted transaction amount of the payer.
[0018] Optionally, in the blockchain-based transaction supervision method, the vector matrix elements in the KYC contract include a user identity vector, a supervision identity vector and a public key vector; the user identity vector corresponds to storage of the payee identity information and the payer identity information; the supervision identity vector corresponds to storage of identity information of the one or more associated supervision nodes; and the public key vector corresponds to storage of a payee public key, a payer public key and one or more supervision public keys.
[0019] Optionally, obtaining the report information according to the KYC contract and the transaction ciphertext information includes: signing, by the payer client node, the encrypted payer address according to a payer private key to obtain a signed payer address; obtaining, by the payer client node, a signed payee address corresponding to the encrypted payee address, the signed payee address being obtained by signing the encrypted payee address according to a payee private key; merging, by the payer client node, payer location information, payee location information, digital currency contract address location information, the signed payer address, the signed payee address, a first amount encryption parameter and the transaction amount to generate the report information; wherein the payer location information is location information of a payer public key corresponding to the payer client node in the KYC contract; the payee location information is location information of a payee public key corresponding to a payee client node in the KYC contract, the payee client node being a client node corresponding to a payee of the transaction; the digital currency contract address location is location information of a digital currency management node of a digital currency type to which the transaction amount belongs in the KYC contract; and the first amount encryption parameter is used to encrypt the transaction amount to obtain the encrypted transaction amount of the payer.
[0020] Optionally, in the blockchain-based transaction supervision method, the one or more supervision public keys include a first supervision public key, a second supervision public key, and a third supervision public key; the first supervision public key corresponds to an associated supervision party node that has the authority of a payee client in a supervision object related to the transaction; the second supervision public key corresponds to an associated supervision party node that has the authority of a payee client in a supervision object related to the transaction; the third supervision public key corresponds to an associated supervision party node that has the authority of a digital currency type to which the transaction amount belongs in a supervision object related to the transaction; the payee client node encrypts the submission information according to one or more supervision public keys of one or more associated supervision party nodes in the KYC contract to obtain one or more transaction supervision ciphertexts, including: the payee client node encrypts the submission information according to the first supervision public key, the second supervision public key, and the third supervision public key to obtain one or more transaction supervision ciphertexts; wherein the first supervision public key is a supervision public key corresponding to the payee location information in the KYC contract; the second supervision public key is a supervision public key corresponding to the payee location information in the KYC contract; and the third supervision public key is a supervision public key corresponding to the digital currency contract address location in the KYC contract.
[0021] Optionally, in the blockchain-based transaction supervision method, the zero-knowledge proof includes at least one of the following: a first amount encryption parameter, a transaction amount, and a Pedersen commitment, for verifying that the transaction amount in the submission information is greater than or equal to 0, and that the account balance in the payee address is greater than or equal to the transaction amount; a payee public key and a signed payee address, for verifying whether the payee location information is correct; a payee public key and a signed payee address, for verifying whether the payee location information is correct; a first supervision public key, a second supervision public key, a third supervision public key, and a plurality of transaction supervision ciphertexts, for verifying that the submission information corresponding to each transaction supervision ciphertext in the plurality of transaction supervision ciphertexts is the same, and verifying that each transaction supervision ciphertext is correct.
[0022] Optionally, in the blockchain-based transaction supervision method, the encrypted payee address is obtained by encrypting the payee address according to an asymmetric key pseudonym algorithm; and the encrypted payee address is obtained by encrypting the payee address according to an asymmetric key pseudonym algorithm.
[0023] Optionally, in the blockchain-based transaction supervision method, the encrypted payee amount is obtained by encrypting the transaction amount according to a Pedersen commitment with a first amount encryption parameter as a confusion factor; and the encrypted payee amount is obtained by encrypting the transaction amount according to a Pedersen commitment with a second amount encryption parameter as a confusion factor.
[0024] In a third aspect, a blockchain-based transaction supervision method is provided, which is applied to each of one or more associated supervision nodes. The method comprises: obtaining one or more transaction supervision ciphertexts from a blockchain, wherein the one or more transaction supervision ciphertexts are obtained by encrypting report information according to one or more supervision public keys of one or more associated supervision nodes in a know-your-customer (KYC) contract, the report information is obtained according to the KYC contract and transaction ciphertext information, the transaction ciphertext information is constructed based on transaction plaintext, and the transaction involves the one or more associated supervision nodes; and decrypting the one or more transaction supervision ciphertexts according to a supervision private key to obtain and supervise the report information.
[0025] Optionally, in the blockchain-based transaction supervision method, the vector matrix elements in the KYC contract include a user identity vector, a supervision identity vector, and a public key vector; the user identity vector corresponds to storage of payee identity information and payer identity information; the supervision identity vector corresponds to storage of identity information of the one or more associated supervision nodes; and the public key vector corresponds to storage of a payee public key, a payer public key, and one or more supervision public keys.
[0026] Optionally, in the blockchain-based transaction supervision method, the transaction plaintext information includes payee identity information, a transaction amount, and payer identity information, and the transaction ciphertext information includes an encrypted payer address, payee-encrypted transaction amount, encrypted payee address, and payer-encrypted transaction amount.
[0027] Optionally, in the blockchain-based transaction supervision method, the one or more supervision public keys include a first supervision public key, a second supervision public key, and a third supervision public key; the associated supervision node corresponding to the first supervision public key has a permission of a payer client in a supervision object related to the transaction; the associated supervision node corresponding to the second supervision public key has a permission of a payee client in the supervision object related to the transaction; and the associated supervision node corresponding to the third supervision public key has a permission of a digital currency type to which the transaction amount belongs in the supervision object related to the transaction.
[0028] In a fourth aspect, a blockchain-based transaction supervision system is provided, comprising: a payer client node, a blockchain verification node, and an associated supervision node; the payer client node is configured to obtain transaction plaintext information of a transaction by the payer client node, and construct transaction ciphertext information based on the transaction plaintext information, the transaction involving one or more associated supervision nodes; obtain report information according to a know-your-customer (KYC) contract and the transaction ciphertext information, and encrypt the report information according to one or more supervision public keys corresponding to the one or more associated supervision nodes in the KYC contract to obtain one or more transaction supervision ciphertext information; and send the transaction ciphertext information, the one or more transaction supervision ciphertext information, and zero-knowledge proof to a blockchain, the zero-knowledge proof being used to prove whether the report information is correct and complete; the blockchain verification node is configured to store the transaction ciphertext information and the one or more transaction supervision ciphertext information to the blockchain under the condition that the zero-knowledge proof is verified to be correct according to the transaction ciphertext information, the KYC contract, and the one or more transaction supervision ciphertext information; and the one or more associated supervision nodes are configured to obtain the one or more transaction supervision ciphertext information from the blockchain, decrypt the one or more transaction supervision ciphertext information according to a supervision private key, and obtain and supervise the report information.
[0029] In a fifth aspect, a blockchain-based transaction supervision device is provided, and is applied to a payer client node, comprising: a construction unit, an obtaining unit, and a sending unit; the construction unit is configured to obtain transaction plaintext information of a transaction by the payer client node, and construct transaction ciphertext information based on the transaction plaintext information, the transaction involving one or more associated supervision nodes; the obtaining unit is configured to obtain report information according to a know-your-customer (KYC) contract and the transaction ciphertext information, and encrypt the report information according to one or more supervision public keys corresponding to the one or more associated supervision nodes in the KYC contract to obtain one or more transaction supervision ciphertext information; and the sending unit is configured to send the transaction ciphertext information, the one or more transaction supervision ciphertext information, and zero-knowledge proof to a blockchain, the zero-knowledge proof being used to prove whether the report information is correct and complete, so that the one or more transaction supervision ciphertext information is decrypted and supervised by the corresponding associated supervision node under the condition that the zero-knowledge proof is verified to be correct.
[0030] In a sixth aspect, a transaction supervision device based on a blockchain is provided, which is applied to one or more associated supervision node, and includes an acquisition unit and a processing unit. The acquisition unit is configured to acquire one or more transaction supervision ciphertext information from the blockchain, the one or more transaction supervision ciphertext information being obtained by encrypting report information according to one or more supervision public keys corresponding to the one or more associated supervision nodes in a know your customer (KYC) contract, the report information being obtained according to the KYC contract and transaction ciphertext information, the transaction ciphertext information being constructed based on transaction plaintext, and the transaction involving the one or more associated supervision nodes. The processing unit is configured to decrypt the one or more transaction supervision ciphertext information according to a supervision private key to obtain and supervise the report information.
[0031] In a seventh aspect, an electronic device is provided, which includes a processor and a memory. The memory is configured to store computer execution instructions. When the electronic device is running, the processor executes the computer execution instructions stored in the memory, so that the electronic device executes the transaction supervision method based on the blockchain according to any one of the second aspect or the third aspect.
[0032] In an eighth aspect, a computer readable storage medium is provided, which stores instructions. When the instructions are run on a computer, the computer can execute the transaction supervision method based on the blockchain according to any one of the second aspect or the third aspect.
[0033] In a ninth aspect, a computer program product is provided, which includes instructions. When the instructions are run on a computer, the computer can execute the transaction supervision method based on the blockchain according to any one of the second aspect or the third aspect.
[0034] The technical effects brought by any one of the designs in the second aspect to the ninth aspect can refer to the technical effects brought by different designs in the first aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0035] Figure 1 A structure schematic diagram of a transaction supervision system based on a blockchain provided by an embodiment of the present application;
[0036] Figure 2 One of flow schematic diagrams of a transaction supervision method based on a blockchain provided by an embodiment of the present application;
[0037] Figure 3 Another of flow schematic diagrams of a transaction supervision method based on a blockchain provided by an embodiment of the present application;
[0038] Figure 4 Still another of flow schematic diagrams of a transaction supervision method based on a blockchain provided by an embodiment of the present application;
[0039] Figure 5 A data flow diagram of a transaction supervision method based on a block chain provided by an embodiment of the present application;
[0040] Figure 6 A structural block diagram of a transaction supervision system based on a block chain provided by an embodiment of the present application;
[0041] Figure 7 A structural schematic diagram of a transaction supervision device based on a block chain provided by an embodiment of the present application;
[0042] Figure 8 A structural schematic diagram of a transaction supervision device based on a block chain provided by an embodiment of the present application;
[0043] Figure 9 A structural schematic diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0044] The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application. In the description of the present application, unless otherwise specified, “ / ” represents an “or” relationship between the objects before and after the “ / ”, for example, A / B can represent A or B; “and / or” in the present application is only a description of the relationship between the associated objects, which means that there can be three relationships, for example, A and / or B, which means that there are three cases of A alone, A and B together, and B alone, where A and B can be singular or plural. In the description of the present application, unless otherwise specified, “multiple” means two or more than two. “At least one of the following” or similar expressions means any combination of these items, including any combination of single item or multiple items. For example, at least one of a, b, or c can mean a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, and c can be single or multiple. In addition, in order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, the same items or similar items with basically the same function and role are distinguished by using “first”, “second”, etc. The skilled in the art can understand that “first”, “second”, etc. do not limit the quantity and execution order, and “first”, “second”, etc. also do not necessarily mean different. At the same time, in the embodiments of the present application, the words “exemplary” or “for example” are used to represent an example, illustration or description. Any embodiment or design scheme described as “exemplary” or “for example” in the embodiments of the present application should not be interpreted as more preferred or more advantageous than other embodiments or design schemes. Rather, the use of “exemplary” or “for example” is intended to present the relevant concept in a specific manner, for understanding.
[0045] In addition, the blockchain architecture and the transaction supervision scenario described in the embodiments of the present application are used to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that the emergence of the blockchain architecture and the transaction supervision scenario, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.
[0046] The blockchain is a chain storage structure composed of multiple blocks. Each block stores certain information, and they are connected into a chain according to the time sequence of their generation. The blockchain has two core features: one is that the data is difficult to tamper with, and the other is decentralization. Based on these two features, the information recorded by the blockchain is more authentic and reliable.
[0047] The distributed storage of the ciphertext information on the blockchain can protect user privacy and improve the collaboration efficiency of the parties related to the ciphertext information. However, due to the consistency requirements of the blockchain ledger, the data privacy problem is involved, which is not conducive to the supervision of user transaction information. Assuming that the transaction recorded on the blockchain involves associated supervision parties including a supervision party for monitoring the payee of the transaction, a supervision party for monitoring the payer of the transaction, and a supervision party for monitoring the digital currency involved in the transaction, the associated supervision parties can know and verify the compliance and legality of the transaction information, while other supervision parties or users cannot obtain the transaction information. The associated supervision parties can supervise the transaction information in a post-supervision manner, that is, supervise the transaction information after the transaction is completed.
[0048] The transaction supervision method based on the blockchain provided by the embodiments of the present application can be applied to, for example Figure 1 The structure schematic diagram of the transaction supervision system based on the blockchain is shown. As shown in Figure 1 The associated supervision parties of the transaction supervision system based on the blockchain can verify the compliance and legality of the transaction information while ensuring the privacy of the blockchain data. The transaction supervision system based on the blockchain includes a payee client node, a payer client node, a blockchain, a blockchain verification node, and one or more associated supervision party nodes.
[0049] The payee client node refers to the client node corresponding to the user account authenticated on the blockchain, and in any transaction, the client node corresponding to the payee user account. In the transaction process, the payee client node and the payer client node reach an agreement on the transaction through the smart contract, and the payee client node provides the payee address and the transaction amount. In order to protect the privacy of the payee, the payer client node can use a preset encryption method to encrypt the payee address. When receiving the transaction amount paid by the payer client node at the encrypted payee address, the transaction amount is encrypted, and the encrypted transaction amount is transmitted during the payment process. After the payee client node receives the encrypted transaction amount, the actual transaction amount is decrypted according to the encrypted transaction amount, and the current account balance in the payee address is changed according to the decrypted actual transaction amount.
[0050] The payer client node refers to the client node corresponding to the user account authenticated on the blockchain, and in any transaction, the client node corresponding to the payee user account. In the transaction process, the payee client node and the payer client node reach an agreement on the transaction through the smart contract, and the payee client node provides the payee address and the transaction amount. In order to protect the privacy of the payee, the payer client node can use a preset encryption method to encrypt the payee address. When receiving the transaction amount paid by the payer client node at the encrypted payee address, the transaction amount is encrypted, and the encrypted transaction amount is transmitted during the payment process. After the payee client node receives the encrypted transaction amount, the actual transaction amount is decrypted according to the encrypted transaction amount, and the current account balance in the payee address is changed according to the decrypted actual transaction amount.
[0051] The blockchain verification node refers to the node for verification in the blockchain, which is used to verify whether the transaction ciphertext information can be stored in the blockchain, and to store the transaction ciphertext information that passes the verification in the blockchain.
[0052] One or more associated regulatory nodes are regulatory nodes for regulating the transaction. Since the regulatory object of the regulatory node is preset, according to the payer client node, the payee client node and the transaction amount corresponding to the digital currency type of the transaction, the one or more associated regulatory nodes for regulating the transaction are found in the regulatory node. The one or more associated regulatory nodes obtain a plurality of transaction regulatory ciphertext information of the transaction from the blockchain, and the regulatory private key corresponding to the one or more associated regulatory nodes can decrypt the transaction regulatory ciphertext information.
[0053] In order to ensure the compliance and legality of the transaction information while ensuring the privacy of the data, as shown in Figure 2 The application provides a transaction regulation method based on a blockchain, which comprises steps 201 to 205.
[0054] In step 201, the payer client node obtains transaction plaintext information of a transaction, and constructs transaction ciphertext information based on the transaction plaintext information.
[0055] In the embodiments of the present application, the transaction involves one or more associated regulatory nodes. Exemplarily, the one or more associated regulatory nodes can include a regulatory node for monitoring the payee, a regulatory node for monitoring the payer, and a regulatory node for monitoring a digital currency type of digital currency management node.
[0056] In the embodiments of the present application, relying on the underlying technology of the block chain, the digital asset account can directly conduct transactions, and the transaction ciphertext information is recorded on the block chain. After uploading the transaction ciphertext information to the block chain, the transaction is completed under the condition that the transaction ciphertext information is confirmed.
[0057] In the embodiments of the present application, the transaction plaintext information includes the payee identity information, the transaction amount, and the payer identity information. The transaction ciphertext information includes the encrypted payment address, the payee encrypted transaction amount, the encrypted payee address, and the payer encrypted transaction amount.
[0058] In this way, the transaction ciphertext information saved on the block chain is obtained according to the transaction plaintext information. For the transaction users (the payer user and the payee user), the transaction amount, the user account information, the payee address, and the payment address are protected and cannot be known by the user accounts other than the regulatory party, which can improve the degree of protection of user privacy.
[0059] Specifically, the payer client node can obtain the encrypted payee address and the transaction amount in the transaction. The transaction amount is the actual amount in the transaction process. In the process of constructing the transaction ciphertext information, the payee encrypted transaction amount and the encrypted payee address provided by the payee client node are first obtained, then the transaction amount is encrypted according to the Pedersen commitment to obtain the payer encrypted transaction amount, and finally the payment address is encrypted according to the asymmetric key pseudonym algorithm to obtain the encrypted payment address.
[0060] It should be noted that in the transaction process, the encrypted payee address obtained by the payer client node is obtained by encrypting the payee address according to the asymmetric key pseudonym algorithm. Similarly, the encrypted payment address is also obtained by encrypting the payment address according to the asymmetric key pseudonym algorithm.
[0061] It should also be noted that the payee client node can encrypt the payee address to obtain the encrypted payee address by using the above-mentioned asymmetric key pseudonym algorithm. For the payer client node, the transaction is completed by transferring digital currency to the encrypted payee address. In this way, the real identity information between the payer and the payee is cut off, which is conducive to protecting the privacy information of the payee client node.
[0062] In the embodiment of the present application, the asymmetric key pseudonym algorithm includes two keys (public key and private key), if the data is encrypted with the public key, only the corresponding private key can decrypt. Because encryption and decryption use two different keys, this algorithm is called asymmetric encryption algorithm. Asymmetric encryption algorithm does not need to exchange keys between the encryption and decryption parties, avoids the direction of key disclosure, and has better confidentiality. The asymmetric key pseudonym algorithm refers to the data processing method of replacing the original identifier with a new character. In the case of generating pseudonym through hash function and tokenization technology, a mapping table of pseudonym and original identifier is usually generated to restore the identifier.
[0063] It can be understood that the asymmetric key pseudonym algorithm is a general term for a class of algorithms, and two hash functions can be used as public key and private key respectively. The payment address or the collection address is encrypted by the public key, and the encrypted payment address or the encrypted collection address is decrypted by the private key in the transaction. The account balance of the payer user account or the payee user account is updated according to the transaction amount, and the account transaction flow and other information are updated. The asymmetric key pseudonym algorithm can be used to ensure the security of the shared key, such as Diffie-Hellman, Diffie-Hellman key exchange, asymmetric encryption algorithm Elgama l, knapsack algorithm, elliptic curve encryption algorithm, etc. In the embodiment of the present application, the specific method of the asymmetric key pseudonym algorithm is not limited.
[0064] In this way, for the collection address and the payment address, the asymmetric key pseudonym algorithm is used for encryption, that is, for any client node on the blockchain, whether as a payer client node or a payee client node, only one set of address encryption method needs to be deployed, which can improve the utilization rate of the asymmetric password pseudonym algorithm and save the system resources of any client node. In addition, the asymmetric key pseudonym algorithm has only one public key, and does not need to send the key to the decryption party, which can improve the security of the encrypted collection address or the encrypted payment address.
[0065] In the embodiment of the present application, the encrypted payment amount is obtained by encrypting the transaction amount according to the Pedersen commitment, taking the first amount encryption parameter as the confusion factor; and the encrypted collection amount is obtained by encrypting the transaction amount according to the Pedersen commitment, taking the second amount encryption parameter as the confusion factor. The transaction amount includes the amount and the type of digital currency, for example, 100 types of P digital currency and 20 types of Q digital currency.
[0066] It should be noted that the Pedersen commitment is a cryptographic algorithm that allows a prover to commit to a value without revealing or being able to change the value. During the transaction, the payee client node that processes the transaction amount is encrypted and opaque to the blockchain verification node and the associated regulatory node involved in the transaction process.
[0067] In this way, the payer client node and the payee client node both use Pedersen commitment and different confusion factors to encrypt the transaction amount, that is, to encrypt the transaction amount and prevent the association between the payer client node and the payee client node due to the same encrypted transaction amount, thereby improving the confidentiality of the transaction ciphertext information.
[0068] For example, assume that the payer client node A stores a digital currency T from the encrypted payment address address1 and constructs a transaction to the encrypted payment address address2 of the payee client node B. Assume that the payer client node A stores x digital currency T at address1, s1 is the first amount encryption parameter, s2 is the second amount encryption parameter, and 100 is the transaction amount. Accordingly, the payer client node constructs the transaction ciphertext information as follows:
[0069]
[0070] The meaning of the above transaction ciphertext information is that the number of g 100 ×h s2 (encrypted by Pedersen commitment with s2 as the confusion factor) of the digital currency T stored at address1 is transferred to address2, so that the current account balance of the digital currency T stored at address1 is g x-100 ×h s1-s2 (encrypted by Pedersen commitment with s1-s2 as the confusion factor).
[0071] In step 202, the payer client node obtains the submission information according to the KYC contract and the transaction ciphertext information, and encrypts the submission information according to one or more regulatory public keys corresponding to one or more associated regulatory nodes in the KYC contract to obtain one or more transaction regulatory ciphertext information.
[0072] In an embodiment of the present application, the know your customer (KYC) contract is a smart contract that has the characteristics of content disclosure, non-tamperability, permanent operation, decentralization, and trustlessness, and can complete transactions in an untrusted environment. In the KYC contract, the constraint conditions and the elements involved in the constraint conditions are included.
[0073] Optionally, in the embodiments of the present application, in order to realize the supervision of the transaction, the vector matrix elements in the KYC contract include a user identity vector, a supervision identity vector and a public key vector; the user identity vector corresponds to store the payee identity information and the payer identity information; the supervision identity vector corresponds to store the identity information of one or more associated supervision node; the public key vector corresponds to store the payee public key, the payer public key and one or more supervision public keys.
[0074] Among them, the user public key (including the payee public key and the payer public key) is used to encrypt the information sent to the payee client node or the payer client node, and the encrypted information can be decrypted according to the user private key. The user private key can be used to sign the data, and the signed data is verified by the user public key. The supervision public key is similar to the user public key, which is used to encrypt the information sent to the associated supervision node, and the encrypted information can be decrypted according to the supervision private key. The supervision private key can be used to sign the data, and the signed data is verified by the supervision public key. The digital currency contract address is used to record the smart contract information required to be followed by the digital currency involved in the transaction, such as transaction amount, transaction time, etc.
[0075] In the embodiments of the present application, any of the one or more associated supervision nodes has the authority to supervise at least one of the following supervision objects related to the transaction: the payer client, the payee client, and the digital currency type to which the transaction amount belongs. That is, for any associated supervision node of the transaction, it may supervise one supervision object, or it may supervise two supervision objects, or it may supervise three supervision objects.
[0076] It should be noted that any associated supervision node is not a point-to-point supervision of other supervision nodes, but a supervision of the full amount of information in a transaction. The full amount of information in the transaction refers to the payee, the payee, the digital currency type and the transaction amount involved in the transaction.
[0077] For example, in the transaction process, the first client pays the second client digital currency of the third digital currency type, then the first supervision node for supervising the first client can obtain the full amount of information of this transaction, the second supervision node for supervising the second client can obtain the full amount of information of this transaction, and the third supervision node for supervising the third digital currency type can also obtain the full amount of information of this transaction.
[0078] It should be noted that the associated supervision node and the supervision public key are one-to-one correspondence. If the associated supervision node is the same, then the supervision public key used in the random symmetric key encryption process is also the same, that is, the first supervision public key, the second supervision public key and the third supervision public key may not be the same, may not all be the same, or may all be the same.
[0079] In one case, the first regulatory public key is data 1, the second regulatory public key is data 2, and the third regulatory public key is data 3.
[0080] In another case, the first regulatory public key is data 4, the second regulatory public key and the third regulatory public key are both data 5.
[0081] In still another case, the first regulatory public key, the second regulatory public key, and the third regulatory public key are all data 6.
[0082] In this way, by recording the rules required for the transaction through the KYC contract, the transaction is constrained to facilitate the on-chain confirmation and regulation of the transaction and improve the reliability of the transaction.
[0083] Optionally, in the embodiments of the present application, as shown in Figure 3 According to the KYC contract and the transaction ciphertext information, the sending information obtained in step 202 can be implemented through steps 301 to 303.
[0084] In step 301, the payer client node signs the encrypted payer address according to the payer private key to obtain a signed payer address.
[0085] In the embodiments of the present application, in the transmission and decryption process, the signed payer address obtained by the signing method can ensure the security of the payer address, and also enable the blockchain verification node to clearly identify the payer of the signed payer address, so that the blockchain verification node verifies the information and confirms that there is no error in the decryption process, that is, the encrypted payer address received by the blockchain verification node is the same as the encrypted payer address sent by the payer client node.
[0086] In step 302, the payer client node obtains a signed payee address corresponding to the encrypted payee address, which is obtained by signing the encrypted payee address according to the payee private key.
[0087] In the embodiments of the present application, similar to step 201, in the transmission and decryption process, the signed payee address can ensure the security of the payee address, and also enable the blockchain verification node to clearly identify the payee of the signed payee address, so that the blockchain verification node verifies the information and confirms that there is no error in the decryption process, that is, the encrypted payee address received by the blockchain verification node is the same as the encrypted payee address sent by the payee client node.
[0088] In step 303, the payer client node merges the payer location information, the payee location information, the digital currency contract address location information, the signed payer address, the signed payee address, the first amount encryption parameter, and the transaction amount to generate the sending information.
[0089] In the embodiments of the present application, the payment location information refers to the location information of the payment party public key corresponding to the payment party client node in the KYC contract; the receiving location information refers to the location information of the receiving party public key corresponding to the receiving party client node in the KYC contract, the receiving party client node being the client node corresponding to the receiving party of the transaction; the digital currency contract address location refers to the location information of the digital currency contract address corresponding to the type of the digital currency to which the transaction amount belongs in the KYC contract; and the first amount encryption parameter is used to encrypt the transaction amount to obtain the payment party encrypted transaction amount.
[0090] In the embodiments of the present application, the submission information includes part of the information related to the transaction and part of the information related to the KYC contract of the transaction.
[0091] For example, it is assumed that the payment party client node A stores the digital currency T from the encrypted payment address address1 and constructs a transaction to the encrypted receiving address address2 of the receiving party client node B. On the basis of the above example, the generated submission information is as follows:
[0092] info=[i,j,index,sign sk A (address1),sign sk B (address2),s1,100]
[0093] Wherein, i is the payment location information, j is the receiving location information, index is the digital currency contract address location of the digital currency T, sign sk A (address1) is the signature payment address, sign sk B (address2) is the signature receiving address, s1 is the first amount encryption parameter, and 100 is the transaction amount.
[0094] In this way, the signature payment address, the signature receiving address, the first amount encryption parameter and the transaction amount related to the transaction are combined with the payment location information, the receiving location information and the digital currency contract address location information related to the KYC contract to generate the submission information, so that the submission information includes all the information related to the transaction, and the correctness, completeness and legality of the transaction can be confirmed through the submission information, thereby improving the speed of verifying and completing the transaction.
[0095] Further optionally, in the embodiments of the present application, on the basis of Figure 3 , as shown in Figure 4 , the step 202 of encrypting the submission information according to the plurality of supervision public keys in the KYC contract to obtain a plurality of transaction supervision ciphertext information can be implemented through the following step 401.
[0096] Step 401, the payer client node encrypts the submission information according to the first supervision public key, the second supervision public key and the third supervision public key respectively to obtain one or more transaction supervision ciphertext information.
[0097] In the embodiments of the present application, the one or more supervision public keys include: the first supervision public key, the second supervision public key and the third supervision public key; the first supervision public key corresponds to the associated supervision party node for supervising the payer client node, the second supervision public key corresponds to the associated supervision party node for supervising the payee client node, and the third supervision public key corresponds to the associated supervision party node for supervising the digital currency management node of the type of digital currency to which the transaction amount belongs. The first supervision public key is the supervision public key corresponding to the payee location information in the KYC contract; the second supervision public key is the supervision public key corresponding to the payee location information in the KYC contract; and the third supervision public key is the supervision public key corresponding to the digital currency contract address location in the KYC contract.
[0098] It can be understood that the associated supervision parties corresponding to the transaction parties (the payer and the payee) involved in the transaction, and the associated supervision party corresponding to the transaction amount, respectively encrypt the submission information according to the supervision public key corresponding to the above-mentioned associated supervision, to obtain one or more transaction supervision ciphertext information.
[0099] For example, it is assumed that the payer client node A stores digital currency T from the encrypted payee address address1, and constructs a transaction to the encrypted payee address address2 of the payee client node B. On the basis of the above example, the plurality of transaction supervision ciphertext information can be recorded in the same vector, and the plurality of transaction supervision ciphertext information is:
[0100] metadata=[Enc cbpk 100 (info),Enc cbpk s2 (info),Enc cbpk 100 (info)]
[0101] Wherein, cbpk s1 is the first supervision public key, Enc cbpk 100 (info) is the transaction supervision ciphertext information obtained by encrypting the submission information according to the first supervision public key, cbpk s2 is the second supervision public key, Enc cbpk 100 (info) is the transaction supervision ciphertext information obtained by encrypting the submission information according to the second supervision public key, and cbpk s1 is the third supervision public key, and Enc cbpk (info) is the transaction supervision ciphertext information obtained by encrypting the submission information according to the third supervision public key.
[0102] Thus, one of the plurality of transaction supervision ciphertext information can be decrypted by any one of the associated supervision parties corresponding to the transaction parties (the payer and the payee) involved in the transaction and the associated supervision parties corresponding to the transaction amount, so that the associated supervision party node can decrypt one of the plurality of transaction supervision ciphertext information sent to the blockchain, so as to supervise the transaction supervision ciphertext information.
[0103] In step 203, the payer client node sends the transaction ciphertext information, one or more transaction supervision ciphertext information and zero-knowledge proof to the blockchain.
[0104] In the embodiment of the present application, the zero-knowledge proof is used to prove whether the reported information is correct and complete.
[0105] In the embodiment of the present application, the zero-knowledge proof includes at least one of the following: the first amount encryption parameter, the payer-encrypted transaction amount and the Pedersen commitment, which are used to verify that the transaction amount in the reported information is greater than or equal to 0, and the account balance in the payee address is greater than or equal to the transaction amount; the payer public key and the signed payee address, which are used to verify whether the payer location information is correct; the payee public key and the signed payee address, which are used to verify whether the payee location information is correct; the first supervision public key, the second supervision public key, the third supervision public key and the plurality of transaction supervision ciphertext information, which are used to verify that the reported information corresponding to each transaction supervision ciphertext in the plurality of transaction supervision ciphertext information is the same, and each transaction supervision ciphertext information is correct.
[0106] In the first example, the Pedersen commitment means that the verifiable and are equal, that is, the transaction amount is encrypted so that the blockchain verification node can verify whether the transaction violates the creation or destruction of funds. Based on the above example, if And info[6] >= 0, that is, the payee-encrypted transaction amount g 100 ×h s2 Is equal to the payer-encrypted transaction amount g 100 ×h s1 , and the seventh vector in the reported information is greater than or equal to 0. Wherein, the payee-encrypted transaction amount g 100 ×h s2 Is: according to the Pedersen commitment, the transaction amount 100 is encrypted with s2 as the confusion factor. The payer-encrypted transaction amount g 100 ×h s1To: according to Pedersen's commitment, the seventh vector (100) in the submission information is encrypted with the sixth vector (s1) in the submission information as the confusion factor. By proving that the above two encrypted transaction amounts are the same, it can be verified that the transaction amount in the submission information is greater than or equal to 0, and the account balance in the payment address is greater than or equal to the transaction amount.
[0107] In the second example, in the KYC contract, find the payer public key corresponding to the payment location information. If the payer public key corresponding to the payment location information can decrypt the signed payment address, it is verified that the payment location information is correct. Based on the above example, the verification formula that can be used is: checksig(KYC_info[0][info[0]], address1, info[3]) = True, where KYC_info[0][info[0]] is the payer public key corresponding to the payment location information in the KYC contract, address1 is the encrypted payment address, and info[3] is the signed payment address. The above verification formula can decrypt the signed payment address according to the payer public key corresponding to the payment location information in the submission information. If the encrypted payment address can be obtained, it is verified that the payment location information is correct.
[0108] In the third example, in the KYC contract, find the receiver public key corresponding to the receiver location information. If the receiver public key corresponding to the receiver location information can decrypt the signed receiver address, it is verified that the receiver location information is correct. Based on the above example, the verification formula that can be used is: checksig(KYC_info[0][info[1]], address2, info[4]) = True, where KYC_info[0][info[1]] is the receiver public key corresponding to the receiver location information in the KYC contract, address2 is the encrypted receiver address, and info[3] is the signed receiver address. The above verification formula can decrypt the signed receiver address according to the receiver public key corresponding to the receiver location information in the submission information. If the encrypted receiver address can be obtained, it is verified that the receiver location information is correct.
[0109] In the fourth example, in the KYC contract, the first regulatory public key corresponding to the payment location information, the second regulatory public key corresponding to the receiving location information, and the third regulatory public key corresponding to the digital currency contract address location information are found according to the payment location information, the receiving location information, and the digital currency contract address location information in the report information, and three transaction regulatory ciphertext information is obtained by encrypting the report information. In this way, it is verified that each transaction regulatory ciphertext in the multiple transaction regulatory ciphertext information corresponds to the same report information, and each transaction regulatory ciphertext information is correct. Based on the above examples, the multiple transaction regulatory ciphertext information is metadata[0] = Enc(KYC_info[1][KYC_info[0][info[0]]], info), metadata[1] = Enc(KYC_info[1][KYC_info[0][info[1]]], info), and metadata[2] = Enc(KYC_info[3][KYC_info[2][info[2]]], info). First, the first regulatory public key, the second regulatory public key, and the third regulatory public key corresponding to the payment location information, the receiving location information, and the digital currency contract address location information in the report information are found, and it is verified whether the report information is consistent with each transaction regulatory ciphertext information. Each transaction regulatory ciphertext information is consistent with the report information, that is, the report is correct. In the case where the three report information corresponding to each transaction regulatory ciphertext information is the same, the correctness is verified.
[0110] It can be understood that the payer client node constructs a zero-knowledge proof, the public input of which includes transaction ciphertext information, contract information associated with the above report information in the KYC contract, and multiple transaction regulatory ciphertext information, and the private input is the report information. By comparing the information of the public input and the private input, it is proved whether the report information is correct and complete.
[0111] In this way, through the zero-knowledge proof and Pedersen commitment, the correctness and integrity of the transaction ciphertext information and the multiple transaction regulatory ciphertext information can be verified without the transaction plaintext blockchain verification node. Since the transaction-related information stored on the blockchain is tamper-proof, the correctness and integrity of the transaction-related information stored on the blockchain are ensured, and the storage resources on the blockchain are also saved.
[0112] In step 204, the blockchain verification node stores the transaction ciphertext information and one or more transaction regulatory ciphertext information to the blockchain in the case where the zero-knowledge proof is verified to be correct according to the transaction ciphertext information, the KYC contract, and one or more transaction regulatory ciphertext information.
[0113] In the embodiments of the present application, the blockchain verification node is a node on the blockchain for verifying the data information on the chain. Only the data information that passes the verification can be stored on the blockchain.
[0114] In the embodiment of the present application, the blockchain verification node inputs the transaction ciphertext information, the KYC contract and one or more transaction supervision ciphertext information into the preset verification program according to the verification target of the zero-knowledge proof, and the conclusion of whether the zero-knowledge proof is established can be obtained.
[0115] In the embodiment of the present application, after the one or more transaction supervision ciphertext information is stored to the blockchain, the transaction ciphertext information and the one or more transaction supervision ciphertext information can be viewed, but only the payee, the collection method or the associated regulatory party related to the transaction can decrypt the transaction supervision ciphertext information to obtain the transaction plaintext information.
[0116] In the embodiment of the present application, the one or more associated regulatory nodes obtain the one or more transaction supervision ciphertext information from the blockchain, and decrypt the one or more transaction supervision ciphertext information according to the regulatory private key to obtain and supervise the submission information.
[0117] In the embodiment of the present application, the associated regulatory node obtains the one or more transaction supervision ciphertext information from the blockchain according to the preset period, and the one or more transaction supervision ciphertext information corresponds to the same transaction. If the regulatory private key of the associated regulatory node can decrypt the one or more transaction supervision ciphertext information, the regulatory private key corresponding to the associated regulatory node can only decrypt the transaction supervision ciphertext information encrypted according to the regulatory public key constituting a key pair with the regulatory private key, and therefore, the transaction corresponding to the submission information decrypted according to the regulatory private key must involve the associated regulatory node.
[0118] In the embodiment of the present application, if the associated regulatory node is used to supervise the payee information involved in the transaction ciphertext information, the regulatory submission information includes: extracting the payee information (the payee location information and the signed payee address) involved in the submission information, obtaining the payee public key corresponding to the payee location information in the KYC contract, and verifying that the signed payee address is real and valid according to the payee public key, so as to confirm the identity of the payee.
[0119] In the embodiment of the present application, if the associated regulatory node is used to supervise the payee information involved in the transaction ciphertext information, the regulatory submission information includes: extracting the payee information (the payee location information and the signed payee address) involved in the submission information, obtaining the payee public key corresponding to the payee location information in the KYC contract, and verifying that the signed payee address is real and valid according to the payee public key, so as to confirm the identity of the payee.
[0120] Specifically, if the associated regulatory node is used to monitor the cryptocurrency information involved in the encrypted transaction information, the regulatory reporting information includes: extracting the cryptocurrency information involved in the reporting information (cryptocurrency contract address location information, amount encryption contract and first amount encryption parameter), obtaining the amount encryption contract corresponding to the cryptocurrency contract address location information in the KYC contract, verifying that the cryptocurrency type corresponding to the transaction amount is real and valid based on the amount encryption contract, thereby confirming the cryptocurrency type.
[0121] Optionally, in this embodiment, if the submitted information passes verification, the associated regulatory node signs the encrypted transaction information in the submitted information and sends the signed encrypted transaction information to the blockchain. If the associated regulatory node sends signed encrypted transaction information to each of one or more associated regulatory nodes, it indicates that the transaction has passed the supervision of the associated regulatory node.
[0122] For example, such as Figure 5 As illustrated, assuming that payer client node A constructs a transaction from encrypted payment address address1 (containing cryptocurrency T) to encrypted receiving address address2 (containing receiving currency) of payee client node B. Assume payer client node A stores x units of cryptocurrency T in address1, s1 is the first encrypted amount parameter, s2 is the second encrypted amount parameter, and 100 is the transaction amount. This transaction is sent to the blockchain. After the blockchain verification node verifies the transaction, the transaction is completed, and the associated encrypted transaction information and one or more signed encrypted transaction information are stored on the blockchain. The associated regulatory node retrieves one or more encrypted transaction information from the blockchain and decrypts them using the regulatory private key to obtain and report the regulatory information.
[0123] Thus, the transaction ciphertext information is constructed by the payer client node to ensure the privacy of the transaction information, and the protection degree of the transaction information stored on the blockchain on the privacy information can be ensured. According to the KYC contract and the zero-knowledge proof, it is proved that the report information on which the plurality of transaction supervision ciphertext information is encrypted is correct and complete, and it is ensured that the plurality of transaction supervision ciphertext information supervised by the associated regulatory node is correct and complete. In this way, the invalid supervision of the plurality of transaction supervision ciphertext information by the associated regulatory node is avoided, and the system resources of the associated regulatory node are wasted. In addition, since the plurality of transaction supervision ciphertext information is encrypted according to the supervision public key corresponding to all associated regulatory nodes involved in the transaction, each associated regulatory node can obtain the corresponding target transaction supervision information through the supervision private key, and the target transaction supervision information belongs to the information that can be supervised by the associated regulatory node, and the information that is not supervised by itself in the report information cannot be obtained, which can improve the supervision efficiency of the associated regulatory node. Moreover, the relevant regulatory information in the report information can only be obtained by the corresponding associated regulatory node, and other regulatory nodes cannot obtain it, thereby improving the security of the transaction information.
[0124] The above mainly introduces the scheme of the embodiment of the disclosure from the perspective of the system method. From the perspective of the single-side method, if applied to the payer client node, the method includes: the payer client node obtains transaction plaintext information of a transaction, and constructs transaction ciphertext information based on the transaction plaintext information, the transaction involving one or more associated regulatory nodes; according to the know-your-customer KYC contract and the transaction ciphertext information, report information is obtained, and one or more transaction supervision ciphertext information is obtained by respectively encrypting the report information according to one or more supervision public keys corresponding to the one or more associated regulatory nodes in the KYC contract; the transaction ciphertext information, the one or more transaction supervision ciphertext information and the zero-knowledge proof are sent to the blockchain, and the zero-knowledge proof is used to prove whether the report information is correct and complete, so that in the case that the zero-knowledge proof is verified to be correct, the one or more transaction supervision ciphertext information is decrypted and supervised by the corresponding associated regulatory node.
[0125] Thus, the transaction ciphertext information is constructed by the payer client node to ensure the privacy of the transaction information, and the protection degree of the transaction information stored on the blockchain on the privacy information can be ensured. According to the KYC contract and the zero-knowledge proof, it is proved that the report information on which the plurality of transaction supervision ciphertext information is encrypted is correct and complete, and it is ensured that the plurality of transaction supervision ciphertext information supervised by the associated regulatory node is correct and complete. In this way, the invalid supervision of the plurality of transaction supervision ciphertext information by the associated regulatory node is avoided, and the system resources of the associated regulatory node are wasted. In addition, since the plurality of transaction supervision ciphertext information is encrypted according to the supervision public key corresponding to all associated regulatory nodes involved in the transaction, each associated regulatory node can obtain the corresponding target transaction supervision information through the supervision private key, and the target transaction supervision information belongs to the information that can be supervised by the associated regulatory node, and the information that is not supervised by itself in the report information cannot be obtained, which can improve the supervision efficiency of the associated regulatory node. Moreover, the relevant regulatory information in the report information can only be obtained by the corresponding associated regulatory node, and other regulatory nodes cannot obtain it, thereby improving the security of the transaction information.
[0126] From the perspective of the single-side method, if applied to each of the one or more associated regulatory nodes, the method comprises: obtaining one or more transaction regulatory ciphertext information from the blockchain, the one or more transaction regulatory ciphertext information being obtained by encrypting the submission information according to one or more regulatory public keys corresponding to the one or more associated regulatory nodes in the know your customer (KYC) contract by the payer client node, the submission information being obtained according to the KYC contract and the transaction ciphertext information, the transaction ciphertext information being constructed based on the transaction plaintext, the transaction involving multiple associated regulatory nodes; and decrypting the one or more transaction regulatory ciphertext information according to the regulatory private key to obtain and regulate the submission information.
[0127] Thus, since the one or more transaction regulatory ciphertext information is obtained according to the regulatory public keys corresponding to all the associated regulatory nodes involved in the transaction, each associated regulatory node can decrypt the corresponding transaction regulatory ciphertext information through the regulatory private key, and the submission information includes the information that needs to be regulated in the associated regulatory information, thereby improving the regulatory efficiency of the associated regulatory node. Moreover, the submission information can only be obtained by the corresponding associated regulatory node, and other non-associated regulatory nodes cannot obtain it, thereby improving the security of the transaction-related information.
[0128] It can be understood that, in order to implement the above functions, the transaction regulatory device based on the blockchain comprises at least one of the hardware structures and software modules for executing the respective functions. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of the examples described in the embodiments disclosed herein, the present disclosure can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is implemented in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. The skilled person can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present disclosure.
[0129] The embodiments of the present disclosure can divide the functional units of the transaction regulatory device based on the blockchain according to the above method examples. For example, each functional unit can be divided according to each function, or two or more functions can be integrated in one processing unit. The integrated unit can be implemented in the form of hardware or software functional unit. It should be noted that the division of units in the embodiments of the present disclosure is illustrative, and is only a logical functional division. When actually implemented, there can be another division manner.
[0130] Figure 6 A structural schematic diagram of a transaction regulatory system based on the blockchain provided by the embodiments of the present disclosure is shown in FIG. 1. Referring to FIG. 1, the transaction regulatory system based on the blockchain comprises a transaction regulatory device 1 and a transaction regulatory device 2. Figure 6As shown, the transaction supervision system based on the blockchain provided by the embodiment of the disclosure includes: a payer client node 601, a blockchain verification node 602, and an associated supervision party node 603.
[0131] The payer client node 601 is configured to obtain transaction plaintext information of a transaction by the payer client node, and construct transaction ciphertext information based on the transaction plaintext information, the transaction involving one or more associated supervision party nodes; obtain report information according to a know your customer (KYC) contract and the transaction ciphertext information, and respectively encrypt the report information according to one or more supervision public keys corresponding to the one or more associated supervision party nodes in the KYC contract to obtain one or more transaction supervision ciphertext information; and send the transaction ciphertext information, the one or more transaction supervision ciphertext information, and zero-knowledge proof to the blockchain, the zero-knowledge proof being used to prove whether the report information is correct and complete.
[0132] The blockchain verification node 602 is configured to store the transaction ciphertext information and the one or more transaction supervision ciphertext information to the blockchain in a case where the zero-knowledge proof is verified to be correct according to the transaction ciphertext information, the KYC contract, and the one or more transaction supervision ciphertext information.
[0133] The associated supervision party node 603 is configured to obtain the one or more transaction supervision ciphertext information from the blockchain, the one or more transaction supervision ciphertext information being obtained by encrypting report information according to one or more supervision public keys corresponding to the one or more associated supervision party nodes in the KYC contract by the payer client node, the report information being obtained according to the KYC contract and the transaction ciphertext information, the transaction ciphertext information being constructed based on transaction plaintext, and the transaction involving multiple associated supervision party nodes; and decrypt the one or more transaction supervision ciphertext information according to a supervision private key to obtain and supervise the report information.
[0134] Figure 7 FIG. 1 is a structural schematic diagram of a transaction supervision device based on a blockchain provided by an embodiment of the present application. Referring to FIG. 1, Figure 7 As shown, the transaction supervision device based on the blockchain provided by the embodiment of the disclosure is applied to a payer client node, and includes a construction unit 701, an obtaining unit 702, and a sending unit 703.
[0135] The construction unit 701 is configured to obtain transaction plaintext information of a transaction by the payer client node, and construct transaction ciphertext information based on the transaction plaintext information, the transaction involving one or more associated supervision party nodes.
[0136] The obtaining unit 702 is configured to obtain report information according to a know your customer (KYC) contract and the transaction ciphertext information, and respectively encrypt the report information according to one or more supervision public keys corresponding to the one or more associated supervision party nodes in the KYC contract to obtain one or more transaction supervision ciphertext information.
[0137] Sending unit 703 is used to send transaction encrypted information, one or more transaction supervision encrypted information and zero-knowledge proof to the blockchain. The zero-knowledge proof is used to prove whether the reported information is correct and complete, so that if the zero-knowledge proof is verified to be true, one or more transaction supervision encrypted information can be decrypted and supervised by the corresponding associated regulatory party.
[0138] Optionally, in the aforementioned blockchain-based transaction monitoring device, the plaintext transaction information includes the recipient's identity information, the transaction amount, and the payer's identity information, while the encrypted transaction information includes the encrypted payment address, the recipient's encrypted transaction amount, the encrypted receiving address, and the payer's encrypted transaction amount.
[0139] Optionally, in the aforementioned blockchain-based transaction monitoring device, the vector matrix elements in the KYC contract include a user identity vector, a regulatory identity vector, and a public key vector; the user identity vector stores the identity information of the payee and the payer; the regulatory identity vector stores the identity information of one or more associated regulatory nodes; and the public key vector stores the payee's public key, the payer's public key, and one or more regulatory public keys.
[0140] Optionally, unit 702 is specifically used for: the payer client node signing the encrypted payment address based on the payer's private key to obtain a signed payment address; the payer client node obtaining the signed receiving address corresponding to the encrypted receiving address, which is obtained by signing the encrypted receiving address based on the receiving party's private key; the payer client node merging the payment location information, receiving location information, digital currency contract address location information, signed payment address, signed receiving address, first amount encryption parameter, and transaction amount to generate reporting information; wherein, the payment location information refers to the location information of the payer's public key corresponding to the payer client node in the KYC contract; the receiving location information refers to the location information of the receiving party's public key corresponding to the receiving party client node in the KYC contract, and the receiving party client node is the client node corresponding to the receiving party of the transaction; the digital currency contract address location refers to the location information of the digital currency management node of the digital currency type to which the transaction amount belongs in the KYC contract; the first amount encryption parameter is used to encrypt the transaction amount to obtain the payer's encrypted transaction amount.
[0141] Optionally, in the blockchain-based transaction supervision device, the one or more supervision public keys include a first supervision public key, a second supervision public key, and a third supervision public key; the first supervision public key corresponds to an associated supervision party node for supervising a payer client node, the second supervision public key corresponds to an associated supervision party node for supervising a payee client node, and the third supervision public key corresponds to an associated supervision party node for supervising a digital currency management node of a digital currency type to which a transaction amount belongs; the obtaining unit 702 is specifically further configured to: the payer client node respectively encrypts the submission information according to the first supervision public key, the second supervision public key, and the third supervision public key to obtain a plurality of transaction supervision ciphertext information; the first supervision public key is a supervision public key corresponding to a payer location information in the KYC contract; the second supervision public key is a supervision public key corresponding to a payee location information in the KYC contract; and the third supervision public key is a supervision public key corresponding to a digital currency contract address location in the KYC contract.
[0142] Optionally, in the blockchain-based transaction supervision device, the zero-knowledge proof includes at least one of the following: a first amount encryption parameter, a payer-encrypted transaction amount, and a Pedersen commitment, for verifying that the transaction amount in the submission information is greater than or equal to 0, and that an account balance in the payer address is greater than or equal to the transaction amount; a payer public key and a signed payer address, for verifying whether the payer location information is correct; a payee public key and a signed payee address, for verifying whether the payee location information is correct; the first supervision public key, the second supervision public key, the third supervision public key, and the plurality of transaction supervision ciphertext information, for verifying that the submission information corresponding to each transaction supervision ciphertext in the plurality of transaction supervision ciphertext information is the same, and verifying that each transaction supervision ciphertext information is correct.
[0143] Optionally, in the blockchain-based transaction supervision device, the encrypted payee address is obtained by encrypting the payee address according to an asymmetric key pseudonym algorithm; and the encrypted payer address is obtained by encrypting the payer address according to the asymmetric key pseudonym algorithm.
[0144] Optionally, in the blockchain-based transaction supervision device, the encrypted payer amount is obtained by encrypting the transaction amount according to the Pedersen commitment, with the first amount encryption parameter as a confusion factor; and the encrypted payee amount is obtained by encrypting the transaction amount according to the Pedersen commitment, with the second amount encryption parameter as the confusion factor.
[0145] Figure 8 FIG. 2 is a structural schematic diagram of a blockchain-based transaction supervision device provided by an embodiment of the present application. Figure 8 As shown in FIG. 2, the blockchain-based transaction supervision device provided by the embodiment of the present application is applied to each of one or more associated supervision party nodes, and includes an obtaining unit 801 and a processing unit 802.
[0146] The acquisition unit 801 is used to acquire one or more transaction regulatory encrypted information from the blockchain. The one or more transaction regulatory encrypted information is obtained by the payer customer node encrypting the reporting information according to one or more regulatory public keys corresponding to one or more associated regulatory party nodes in the customer KYC contract. The reporting information is obtained based on the KYC contract and the transaction encrypted information. The transaction encrypted information is constructed based on the transaction plaintext. The transaction involves multiple associated regulatory party nodes.
[0147] Processing unit 802 is used to decrypt one or more transaction supervision encrypted messages based on the supervision private key to obtain and supervise the reporting information.
[0148] Optionally, in the aforementioned blockchain-based transaction monitoring device, the vector matrix elements in the KYC contract include a user identity vector, a regulatory identity vector, and a public key vector; the user identity vector stores the identity information of the payee and the payer; the regulatory identity vector stores the identity information of one or more associated regulatory nodes; and the public key vector stores the payee's public key, the payer's public key, and one or more regulatory public keys.
[0149] Optionally, in the aforementioned blockchain-based transaction monitoring device, the plaintext transaction information includes the recipient's identity information, the transaction amount, and the payer's identity information, while the encrypted transaction information includes the encrypted payment address, the recipient's encrypted transaction amount, the encrypted receiving address, and the payer's encrypted transaction amount.
[0150] Optionally, in the aforementioned blockchain-based transaction monitoring device, one or more monitoring public keys include: a first monitoring public key, a second monitoring public key, and a third monitoring public key; the associated monitoring node corresponding to the first monitoring public key is used to monitor the payer client node, the associated monitoring node corresponding to the second monitoring public key is used to monitor the payee client node, and the associated monitoring node corresponding to the third monitoring public key is used to monitor the digital currency management node of the digital currency type to which the transaction amount belongs.
[0151] Regarding the apparatus in the above embodiments, the specific manner in which each unit performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.
[0152] Figure 9 This is the associated regulatory node provided in the embodiments of this application. For example... Figure 9 As shown, the electronic device may include a processor 901 and a memory 902 for storing executable instructions of the processor 901; wherein the processor 901 is configured to execute the instructions to implement the blockchain-based transaction supervision method in the above embodiments.
[0153] In addition, the electronic device may also include a communication bus 903 and at least one communication interface 904.
[0154] The processor 901 can be a central processing unit (CPU), a micro processing unit, an application specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of programs of the present disclosure.
[0155] The communication bus 903 is a signal path for transmitting information between the above-mentioned components.
[0156] The communication interface 904 uses any transceiver-like mechanism for communicating with other devices or communication networks, such as an Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc.
[0157] The memory 902 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, a magnetic disk storage or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and that can be accessed by a computer, but not limited to. The memory 902 can exist independently, and is connected to the processor 901 through the communication bus 903. The memory 902 can also be integrated with the processor 901.
[0158] The memory 902 is used to store instructions for executing the present disclosure, and the processor 901 is used to control the execution. The processor 901 is used to execute the programs or instructions stored in the memory 902, thereby realizing the functions in the present method.
[0159] As an example, in combination with Figure 7 The blockchain-based transaction supervision device is applied to a payee client node, and includes a construction unit 701, a obtaining unit 702, and a sending unit 703. Figure 9The functions of the processor 901 in the above embodiments are the same.
[0160] As another example, in conjunction with Figure 8 the blockchain-based transaction supervision apparatus is applied to an associated supervision node, and includes: the functions implemented by the acquisition unit 801 and the processing unit 802 are the same as those of the processor 901 in the above embodiments. Figure 9
[0161] In a specific implementation, as an example, the processor 901 can include one or more CPUs, for example, CPU0 and CPU1 in the above embodiments. Figure 9
[0162] In a specific implementation, as an example, the electronic device can include a plurality of processors 901, each of which can be a single-CPU processor or a multi-CPU processor. The processor 901 here can refer to one or more devices, circuits, and / or processing cores for processing data (for example, computer program instructions).
[0163] In a specific implementation, as an example, the electronic device can further include an output device 905 and an input device 906. The output device 905 communicates with the processor 901 and can display information in various ways. For example, the output device 905 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 906 communicates with the processor 901 and can accept user input in various ways. For example, the input device 906 can be a mouse, a keyboard, a touch screen device, or a sensor device, etc.
[0164] Those skilled in the art can understand that Figure 9 the structure shown in the above embodiments does not limit the electronic device, and the electronic device can include more or fewer components than those shown in the figure, or combine certain components, or adopt a different component arrangement. Figure 9 The electronic device in the above embodiments can be a server, a client, or other devices.
[0165] In addition, the present disclosure also provides a computer readable storage medium, and the computer readable storage medium stores programs or instructions, when the instructions in the above readable storage medium are executed by a processor, the electronic device can execute the blockchain-based transaction supervision method provided by the above embodiments. Optionally, the readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.
[0166] In addition, the present disclosure also provides a computer program product comprising computer programs / instructions stored in a non-transitory readable storage medium, which, when executed by at least one processor, causes an electronic device to perform the blockchain-based transaction supervision method provided by the above-mentioned embodiments.
[0167] Other embodiments of the present disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the features disclosed herein. It is intended that the present disclosure cover any and all variations of the present disclosure including those variations that are now deemed to fall within the general principles of the present disclosure and including those variations that are deemed to fall within the common general knowledge of the art. The specification and examples are illustrative only and not restrictive of the true scope and spirit of the present disclosure, which is set forth in the following claims.
[0168] It should be understood that the present disclosure is not limited to the precise structures as herein described and illustrated in the drawings, and that various modifications and changes can be made without departing from its scope. The scope of the present disclosure is limited only by the claims that follow.
Claims
1. A blockchain-based transaction supervision method, characterized in that, include: The payer's client node obtains the plaintext information of the transaction and constructs encrypted transaction information based on the plaintext information. The transaction involves one or more associated regulatory nodes. The plaintext information includes the payee's identity information, the transaction amount, and the payer's identity information. The encrypted transaction information includes an encrypted payment address, an encrypted transaction amount for the payee, an encrypted receiving address, and an encrypted transaction amount for the payer. The payer client node obtains reporting information based on the KYC contract and the encrypted transaction information, and encrypts the reporting information using one or more regulatory public keys corresponding to one or more associated regulatory nodes in the KYC contract to obtain one or more encrypted transaction regulatory information. The vector matrix elements in the KYC contract include a user identity vector, a regulatory identity vector, and a public key vector. The user identity vector stores the payee's identity information and the payer's identity information. The regulatory identity vector stores the identity information of one or more associated regulatory nodes. The public key vector stores the payee's public key, the payer's public key, and the one or more regulatory public keys. The payer client node sends the transaction encrypted information, the one or more transaction supervision encrypted information, and the zero-knowledge proof to the blockchain. The zero-knowledge proof is used to prove whether the reported information is correct and complete. When a blockchain verification node verifies the validity of the zero-knowledge proof based on the encrypted transaction information, the KYC contract, and one or more encrypted transaction supervision information, it stores the encrypted transaction information and the one or more encrypted transaction supervision information in the blockchain. Each of the one or more associated regulatory nodes obtains the one or more transaction regulatory encrypted information from the blockchain, and decrypts the one or more transaction regulatory encrypted information according to the regulatory private key to obtain and supervise the reporting information.
2. The method according to claim 1, characterized in that, The payer client node obtains reporting information based on the KYC contract and the encrypted transaction information, including: The payer client node signs the encrypted payment address based on the payer's private key to obtain a signed payment address; The payer client node obtains the signed receiving address corresponding to the encrypted receiving address, which is obtained by signing the encrypted receiving address based on the receiving party's private key. The payer client node merges the payment location information, the receiving location information, the digital currency contract address location information, the signed payment address, the signed receiving address, the first amount encryption parameter, and the transaction amount to generate the reporting information; The payment location information refers to the location information of the payer's public key corresponding to the payer's client node in the KYC contract. The payment location information refers to the location information of the public key of the payee corresponding to the payee client node in the KYC contract, where the payee client node is the client node corresponding to the payee of the transaction; The digital currency contract address location refers to the location information of the digital currency management node to which the transaction amount in the KYC contract belongs; The first amount encryption parameter is used to encrypt the transaction amount to obtain the encrypted transaction amount of the payer.
3. The method according to claim 2, characterized in that, The one or more regulatory public keys include: a first regulatory public key, a second regulatory public key, and a third regulatory public key; the associated regulatory node corresponding to the first regulatory public key has the authority to regulate the payer client in the regulatory object related to the transaction, the associated regulatory node corresponding to the second regulatory public key has the authority to regulate the payee client in the regulatory object related to the transaction, and the associated regulatory node corresponding to the third regulatory public key has the authority to regulate the digital currency type to which the transaction amount belongs in the regulatory object related to the transaction; The payer client node encrypts the reported information using one or more regulatory public keys corresponding to one or more associated regulatory nodes in the KYC contract to obtain one or more transaction regulatory ciphertext messages, including: The payer client node encrypts the reported information according to the first regulatory public key, the second regulatory public key, and the third regulatory public key to obtain one or more transaction regulatory ciphertext information; Wherein, the first regulatory public key is the regulatory public key corresponding to the payment location information in the KYC contract; The second regulatory public key is the regulatory public key corresponding to the payment location information in the KYC contract; The third regulatory public key is the regulatory public key corresponding to the address of the digital currency contract in the KYC contract.
4. The method according to claim 3, characterized in that, The zero-knowledge proof includes at least one of the following: The first amount encryption parameter, the transaction amount, and the Pedersen commitment are used to verify that the transaction amount in the reported information is greater than or equal to 0, and that the account balance in the payment address is greater than or equal to the transaction amount; The payer's public key and the signature payment address are used to verify whether the payment location information is correct; The recipient's public key and the signature receiving address are used to verify whether the receiving location information is correct; The first regulatory public key, the second regulatory public key, the third regulatory public key, and the plurality of transaction regulatory encrypted information are used to verify that the reporting information corresponding to each transaction regulatory encrypted information is the same, and to verify that each of the transaction regulatory encrypted information is correct.
5. The method according to any one of claims 2-4, characterized in that, The encrypted receiving address is obtained by encrypting the receiving address using an asymmetric key pseudonym algorithm; the encrypted payment address is obtained by encrypting the payment address using the same asymmetric key pseudonym algorithm.
6. The method according to any one of claims 2-4, characterized in that, The transaction amount encrypted by the payer is obtained by encrypting the transaction amount according to the Pedersen commitment, using the first amount encryption parameter as a confusion factor; The encrypted transaction amount by the payee is obtained by encrypting the transaction amount using a second amount encryption parameter as a confusion factor, based on the Pedersen commitment.
7. A blockchain-based transaction supervision method, characterized in that, Applied to the payer's client node, including: The payer's client node obtains the plaintext information of the transaction and constructs encrypted transaction information based on the plaintext information. The transaction involves one or more associated regulatory nodes. The plaintext information includes the payee's identity information, the transaction amount, and the payer's identity information. The encrypted transaction information includes an encrypted payment address, an encrypted transaction amount for the payee, an encrypted receiving address, and an encrypted transaction amount for the payer. Based on the customer KYC contract and the encrypted transaction information, reporting information is obtained. This reporting information is then encrypted using one or more regulatory public keys corresponding to one or more associated regulatory nodes in the KYC contract to obtain one or more encrypted transaction regulatory information. The vector matrix elements in the KYC contract include a user identity vector, a regulatory identity vector, and a public key vector. The user identity vector stores the payee's identity information and the payer's identity information. The regulatory identity vector stores the identity information of one or more associated regulatory nodes. The public key vector stores the payee's public key, the payer's public key, and the one or more regulatory public keys. The encrypted transaction information, the one or more encrypted transaction supervision information, and the zero-knowledge proof are sent to the blockchain. The zero-knowledge proof is used to prove whether the reported information is correct and complete, so that if the zero-knowledge proof is verified to be true, the one or more encrypted transaction supervision information will be decrypted and supervised by the corresponding associated regulatory node.
8. A blockchain-based transaction supervision method, characterized in that, Applied to each of one or more associated regulatory nodes, including: One or more transaction regulatory encrypted information is obtained from the blockchain. The one or more transaction regulatory encrypted information is obtained by the payer customer node encrypting the reporting information according to one or more regulatory public keys corresponding to the one or more associated regulatory party nodes in the customer KYC contract. The reporting information is obtained based on the KYC contract and the transaction encrypted information. The transaction encrypted information is constructed based on the transaction plaintext. The transaction involves one or more of the associated regulatory party nodes. The KYC contract's vector matrix elements include a user identity vector, a regulatory identity vector, and a public key vector. The user identity vector stores the payee's identity information and the payer's identity information. The regulatory identity vector stores the identity information of one or more associated regulatory nodes. The public key vector stores the payee's public key, the payer's public key, and one or more regulatory public keys. The plaintext transaction information includes the payee's identity information, the transaction amount, and the payer's identity information. The ciphertext transaction information includes an encrypted payment address, an encrypted transaction amount from the payee, an encrypted receiving address, and an encrypted transaction amount from the payer. The one or more transaction monitoring encrypted messages are decrypted using the monitoring private key to obtain and monitor the reported information.
9. A blockchain-based transaction monitoring system, characterized in that, include: Payer client node, blockchain verification node, and associated regulatory node; The payer client node is used to obtain the plaintext information of the transaction and construct the encrypted information of the transaction based on the plaintext information. The transaction involves one or more associated regulatory nodes. Based on the customer's KYC contract and the encrypted transaction information, reporting information is obtained, and the reporting information is encrypted with one or more regulatory public keys corresponding to one or more associated regulatory nodes in the KYC contract to obtain one or more transaction regulatory encrypted information. The transaction encrypted information, the one or more transaction supervision encrypted information and the zero-knowledge proof are sent to the blockchain, and the zero-knowledge proof is used to prove whether the reported information is correct and complete. The plaintext transaction information includes the recipient's identity information, the transaction amount, and the payer's identity information; the ciphertext transaction information includes an encrypted payment address, an encrypted transaction amount for the recipient, an encrypted receiving address, and an encrypted transaction amount for the payer; the vector matrix elements in the KYC contract include a user identity vector, a supervisor identity vector, and a public key vector; the user identity vector stores the recipient's identity information and the payer's identity information; the supervisor identity vector stores the identity information of one or more associated supervisory nodes; and the public key vector stores the recipient's public key, the payer's public key, and one or more supervisory public keys. A blockchain verification node is used to store the transaction ciphertext and the one or more transaction supervision ciphertexts into the blockchain when the zero-knowledge proof is verified to be valid based on the transaction ciphertext, the KYC contract, and the one or more transaction supervision ciphertexts. The associated regulatory node is used to obtain one or more transaction regulatory encrypted information from the blockchain; decrypt the one or more transaction regulatory encrypted information according to the regulatory private key to obtain and supervise the reporting information.
10. A blockchain-based transaction monitoring device, characterized in that, Applied to the payer's client node, it includes: a construction unit, a receiving unit, and a sending unit; The construction unit is used to obtain the plaintext information of the transaction and construct the ciphertext information of the transaction based on the plaintext information. The transaction involves one or more associated regulatory nodes. The plaintext information of the transaction includes the identity information of the payee, the transaction amount, and the identity information of the payer. The ciphertext information of the transaction includes an encrypted payment address, an encrypted transaction amount of the payee, an encrypted receiving address, and an encrypted transaction amount of the payer. The obtaining unit is configured to obtain reporting information based on the customer KYC contract and the transaction encrypted information, and encrypt the reporting information according to one or more regulatory public keys corresponding to one or more associated regulatory nodes in the KYC contract to obtain one or more transaction regulatory encrypted information; wherein, the vector matrix elements in the KYC contract include a user identity vector, a regulatory identity vector, and a public key vector; the user identity vector corresponds to storing the payee's identity information and the payer's identity information; the regulatory identity vector corresponds to storing the identity information of one or more associated regulatory nodes; and the public key vector corresponds to storing the payee's public key, the payer's public key, and the one or more regulatory public keys; The sending unit is used to send the transaction encrypted information, the one or more transaction supervision encrypted information and the zero-knowledge proof to the blockchain. The zero-knowledge proof is used to prove whether the reported information is correct and complete, so that if the zero-knowledge proof is verified to be true, the one or more transaction supervision encrypted information can be decrypted and supervised by the corresponding associated regulatory party.
11. A blockchain-based transaction monitoring device, characterized in that, Applied to one or more associated regulatory nodes, including: an acquisition unit and a processing unit; The acquisition unit is used to acquire one or more transaction regulatory encrypted information from the blockchain. The one or more transaction regulatory encrypted information is obtained by the payer customer node encrypting the reporting information according to one or more regulatory public keys corresponding to the one or more associated regulatory party nodes in the customer KYC contract. The reporting information is obtained based on the KYC contract and the transaction encrypted information. The transaction encrypted information is constructed based on the transaction plaintext. The transaction involves one or more of the associated regulatory party nodes. The plaintext transaction information includes the recipient's identity information, the transaction amount, and the payer's identity information; the ciphertext transaction information includes an encrypted payment address, an encrypted transaction amount for the recipient, an encrypted receiving address, and an encrypted transaction amount for the payer; the vector matrix elements in the KYC contract include a user identity vector, a supervisor identity vector, and a public key vector; the user identity vector stores the recipient's identity information and the payer's identity information; the supervisor identity vector stores the identity information of one or more associated supervisory nodes; and the public key vector stores the recipient's public key, the payer's public key, and one or more supervisory public keys. The processing unit is used to decrypt the one or more transaction supervision encrypted messages according to the supervision private key, and obtain and supervise the reporting information.
12. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the instructions to implement the blockchain-based transaction supervision method as described in claim 7 or 8.
13. A computer-readable storage medium, characterized in that, When the instructions in the computer-readable storage medium are executed by a processor, the blockchain-based transaction monitoring method as described in claim 7 or 8 is implemented.
Citation Information
Patent Citations
Anonymous transfer method and system based on block chain, and storage medium
CN108764874A
KYC data sharing system with confidentiality and method thereof
CN111147432A