Blockchain-based transfer processing method, apparatus, and system
The blockchain-based transfer processing method, which uses symmetric key encryption and regulatory node verification, solves the problems of slow remittance speed, high costs, and low transparency in cross-border payments. It enables proactive regulation and data privacy protection, thereby improving the efficiency and security of cross-border payments.
Patent Information
- Application Number
- CN202110406896.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-15
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2041-04-15
AI Technical Summary
Cross-border payment transactions are characterized by slow remittance speeds, high costs, and low transparency, making it difficult for existing blockchain solutions to achieve effective regulation and data privacy protection.
By encrypting transfer transactions with symmetric keys and utilizing regulatory nodes to verify and construct on-chain transaction data, including asymmetric encryption key ciphertext, regulatory oversight is moved forward and data privacy is protected.
It has improved the effectiveness of cross-border payment supervision and the privacy of transaction data, and reduced the timeliness of supervision and the risk of data leakage.
Smart Images

Figure CN113159767B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of block chain, and particularly relates to a transfer processing method, device and system based on block chain. BACKGROUND
[0002] The block chain technology, also known as distributed ledger technology, combines cryptography, P2P communication, consensus algorithm and other technologies at the bottom, and provides a new computing paradigm and collaboration mode for establishing trust at low cost in a weak trust environment. The main features of the block chain include decentralization, openness, tamper resistance and traceability.
[0003] At present, the main pain points in the cross-border payment business scenario include: (1) slow remittance speed, a cross-border payment business needs to pass through the systems of multiple banks to complete clearing and accounting between accounts, and the whole remittance process generally needs 2-3 days to complete; (2) high remittance cost, customers need to pay service charge and telegraph charge, the service charge is usually 0.1% of the remittance amount, the telegraph charge is 80 yuan or 150 yuan, in addition, there are transfer fees, cash exchange fees, etc., the overall cost is high; (3) low transparency, cross-border payment involves multiple countries or regions, payment messages are transmitted in a serial manner between banks layer by layer, and the traceability is poor, which leads to poor information communication feedback and low information transparency.
[0004] The application of block chain technology to build a cross-border payment ecological alliance and build a new payment network can avoid simple dependence on swift, speed up transaction processing, and improve the traceability of the whole transaction process. At present, most of the existing cross-border payment solutions deploy a block chain node to synchronize all ledger data in the transaction consensus process, and use the God's view to monitor the global ledger data after the event, which has low timeliness and is difficult to change the execution result of the transaction. Moreover, there is a risk of leakage of user account data and transaction data, and it is difficult to ensure the privacy of the data. SUMMARY
[0005] Therefore, the present application provides a transfer processing method, device and system based on block chain, which can support the whole process supervision of digital asset transaction by the regulatory department, move part of the supervision from the supervision during and after the event to the supervision before the event, and improve the effectiveness of the supervision. In addition, by combining the use of cryptography technology, the privacy of user account data and transaction data is ensured under the premise of security and verifiability.
[0006] To achieve the above-mentioned purpose, according to the first aspect of the present application, a transfer processing method based on block chain is provided.
[0007] The blockchain-based transfer processing method of the present application is executed by a transfer-out node and includes: symmetrically encrypting a transfer transaction according to a symmetric key to obtain transaction ciphertext; sending a verification request carrying the transaction ciphertext to a first supervision node, so that the first supervision node verifies the transfer transaction decrypted from the transaction ciphertext; after receiving the response information returned by the first supervision node that the verification is passed, constructing on-chain transaction data, and sending the on-chain transaction data to a blockchain; the on-chain transaction data includes: transaction ciphertext, and at least one of the first to fourth key ciphertexts obtained by asymmetrically encrypting the symmetric key based on the public key of the transfer-out node, the public key of the first supervision node, the public key of the receiving node, and the public key of the second supervision node; the first supervision node is a supervision node corresponding to the transfer-out node, and the second supervision node is a supervision node corresponding to the receiving node.
[0008] Optionally, before sending the verification request carrying the transaction ciphertext to the first supervision node, the method further includes: asymmetrically encrypting the symmetric key using the public key of the first supervision node to obtain a second key ciphertext, and carrying the second key ciphertext in the verification request, so that the first supervision node decrypts the transaction ciphertext based on the symmetric key decrypted from the second key ciphertext.
[0009] Optionally, before sending the verification request carrying the transaction ciphertext to the first supervision node, the method further includes: signing the hash code of the transaction ciphertext using the private key of the transfer-out node, and carrying the generated signature of the transfer-out node in the verification request, so that the first supervision node verifies the signature of the transfer-out node.
[0010] Optionally, the response information includes a signature of the first supervision node; the method further includes: adding the signature of the first supervision node and / or the signature of the transfer-out node to the on-chain transaction data.
[0011] Optionally, the method further includes: after the on-chain transaction data is successfully chained, modifying the transfer-out account balance in the local database corresponding to the transfer-out node.
[0012] To achieve the above-mentioned purpose, according to the second aspect of the present application, another blockchain-based transfer processing method is provided.
[0013] The blockchain-based transfer processing method of the application is executed by a first supervision node, comprising: in response to a verification request sent by a transfer-out node, decrypting transaction ciphertext carried by the verification request to obtain a transfer transaction, and verifying the transfer transaction; the transaction ciphertext is obtained by symmetric encryption of the transfer transaction by the transfer-out node according to a symmetric key; in the case that the transfer transaction is verified, sending response information of verification passing to the transfer-out node, so that the transfer-out node constructs on-chain transaction data after receiving the response information, and sends the on-chain transaction data to the blockchain; the on-chain transaction data includes: transaction ciphertext, and at least one of first to fourth key ciphertexts obtained by asymmetric encryption of the symmetric key based on the public key of the transfer-out node, the public key of the first supervision node, the public key of the receiving node, and the public key of the second supervision node; the first supervision node is a supervision node corresponding to the transfer-out node, and the second supervision node is a supervision node corresponding to the receiving node.
[0014] Optionally, the verification request further includes a second key ciphertext; the second key ciphertext is obtained by asymmetric encryption of the symmetric key by the transfer-out node using the public key of the first supervision node; the decryption of the transaction ciphertext carried by the verification request to obtain the transfer transaction includes: decrypting the second key ciphertext using the private key of the first supervision node to obtain the symmetric key; decrypting the transaction ciphertext based on the symmetric key to obtain the transfer transaction.
[0015] Optionally, the transfer transaction includes transfer-out information, receiving information, and transaction amount information; the verification of the transfer transaction includes: querying a local database according to the transfer-out information to determine the total amount of digital assets in the transfer-out account; verifying whether there are sufficient digital assets in the transfer-out account according to the total amount of digital assets in the transfer-out account and the transaction amount information; if yes, the transfer transaction is verified; the method further comprises: after the transfer transaction is verified, setting the digital assets in the transfer-out account in the local database corresponding to the first supervision node to a frozen state.
[0016] Optionally, the verification request further includes a signature of the transfer-out node; the method further comprises: before verifying the transfer transaction, verifying the signature of the transfer-out node and confirming that the signature of the transfer-out node is verified.
[0017] Optionally, the method further comprises: after the transfer transaction is verified, signing the hash code of the transaction ciphertext using the private key of the first supervision node, and carrying the generated signature of the first supervision node in the response information of verification passing.
[0018] Optionally, the method further comprises: after the on-chain transaction data is successfully chained, modifying the outgoing party account balance in the local database corresponding to the first regulatory node.
[0019] To achieve the above object, according to a third aspect of the present application, a blockchain-based transfer processing device is provided.
[0020] The blockchain-based transfer processing device of the present application is arranged at the outgoing party node and comprises: an encryption module configured to symmetrically encrypt a transfer transaction based on a symmetric key to obtain transaction ciphertext; a verification request module configured to send a verification request carrying the transaction ciphertext to a first regulatory node, so that the first regulatory node verifies the transfer transaction decrypted from the transaction ciphertext; and an on-chain module configured to, after receiving response information returned by the first regulatory node indicating that the verification is passed, construct on-chain transaction data and send the on-chain transaction data to a blockchain; the on-chain transaction data comprises: the transaction ciphertext, and at least one of first to fourth key ciphertexts obtained by asymmetrically encrypting the symmetric key based on a public key of the outgoing party node, a public key of the first regulatory node, a public key of a receiving party node, and a public key of a second regulatory node; the first regulatory node is a regulatory node corresponding to the outgoing party node, and the second regulatory node is a regulatory node corresponding to the receiving party node.
[0021] To achieve the above object, according to a fourth aspect of the present application, a blockchain-based transfer processing device is provided.
[0022] The blockchain-based transfer processing device of the present application is arranged at the first regulatory node and comprises: a verification module configured to, in response to a verification request sent by an outgoing party node, decrypt transaction ciphertext carried by the verification request to obtain a transfer transaction and verify the transfer transaction; the transaction ciphertext is obtained by symmetrically encrypting the transfer transaction based on a symmetric key by the outgoing party node; and a response module configured to, in the case that the transfer transaction passes the verification, send response information indicating that the verification is passed to the outgoing party node, so that the outgoing party node constructs on-chain transaction data after receiving the response information and sends the on-chain transaction data to a blockchain; the on-chain transaction data comprises: the transaction ciphertext, and at least one of first to fourth key ciphertexts obtained by asymmetrically encrypting the symmetric key based on a public key of the outgoing party node, a public key of the first regulatory node, a public key of a receiving party node, and a public key of a second regulatory node; the first regulatory node is a regulatory node corresponding to the outgoing party node, and the second regulatory node is a regulatory node corresponding to the receiving party node.
[0023] To achieve the above object, according to a fifth aspect of the present application, a blockchain-based transfer processing system is provided.
[0024] The blockchain-based transfer processing system of the present application comprises a transferor node and a first supervision node; the transferor node is configured to symmetrically encrypt a transfer transaction based on a symmetric key to obtain transaction ciphertext, and send a verification request carrying the transaction ciphertext to the first supervision node; the first supervision node is configured to decrypt the transaction ciphertext carried by the verification request to obtain the transfer transaction, and verify the transfer transaction; and further configured to send response information of verification pass to the transferor node if the transfer transaction passes the verification; the transferor node is further configured to construct on-chain transaction data after receiving the response information of verification pass, and send the on-chain transaction data to a blockchain; the on-chain transaction data comprises the transaction ciphertext, and at least one of first to fourth key ciphertexts obtained by asymmetrically encrypting the symmetric key based on a public key of the transferor node, a public key of the first supervision node, a public key of a receiver node, and a public key of a second supervision node; the first supervision node is a supervision node corresponding to the transferor node, and the second supervision node is a supervision node corresponding to the receiver node.
[0025] To achieve the above object, according to a sixth aspect of the present application, an electronic device is provided.
[0026] The electronic device of the present application comprises one or more processors, and a storage device configured to store one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the blockchain-based transfer processing method of the present application.
[0027] To achieve the above object, according to a seventh aspect of the present application, a computer readable medium is provided.
[0028] The computer readable medium of the present application has a computer program stored thereon, which is executed by a processor to implement the blockchain-based transfer processing method of the present application.
[0029] One embodiment of the above application has the following advantages or beneficial effects: by encrypting a transfer transaction based on a symmetric key to obtain transaction ciphertext, sending a verification request to a first supervision node to make the first supervision node verify the transfer transaction, and constructing on-chain transaction data comprising the transaction ciphertext and at least one of first to fourth key ciphertexts after receiving response information of verification pass, part of supervision can be moved from after-the-fact supervision to pre-event supervision, improving the effectiveness of supervision, and by combining the use of cryptography, the privacy of user account data and transaction data is ensured under the premise of security and verifiability.
[0030] The further effects of the above-mentioned non-conventional optional mode will be described in the following combined with the specific embodiments. BRIEF DESCRIPTION OF DRAWINGS
[0031] The accompanying drawings are used to help better understand the present application and are not intended to limit the present application unduly. Of the drawings:
[0032] Figure 1 is an exemplary system architecture diagram to which embodiments of the present application can be applied;
[0033] Figure 2 is a main flow diagram of a blockchain-based transfer processing method according to a first embodiment of the present application;
[0034] Figure 3 is a main flow diagram of a blockchain-based transfer processing method according to a second embodiment of the present application;
[0035] Figure 4 is a main flow diagram of a blockchain-based transfer processing method according to a third embodiment of the present application;
[0036] Figure 5 is a main module diagram of a blockchain-based transfer processing apparatus according to a fourth embodiment of the present application;
[0037] Figure 6 is a main module diagram of a blockchain-based transfer processing apparatus according to a fifth embodiment of the present application;
[0038] Figure 7 is a main module diagram of a blockchain-based transfer processing system according to a sixth embodiment of the present application;
[0039] Figure 8 is a structural diagram of a computer system of an electronic device suitable for implementing embodiments of the present application. DETAILED DESCRIPTION
[0040] Exemplary embodiments of the present application will be described hereinafter with reference to the accompanying drawings, in which various specific details are set forth in order to provide a thorough understanding of the present application. It should be understood that the embodiments described herein are only exemplary and that many variations and modifications are possible without departing from the scope and spirit of the present application. Also, the present application is not intended to be limited to the embodiments described herein, but is to provide a solution, which fulfills at least one object of the present application. Therefore, the scope of the present application should be determined by the appended claims, rather than by the embodiments described herein. In the drawings, the same reference numerals are used to represent the same elements throughout the several views.
[0041] It should be noted that the embodiments and technical features in the present application can be combined with each other without affecting the implementation of the present application.
[0042] Figure 1 An exemplary system architecture 100 of a blockchain-based transfer processing method or a blockchain-based transfer processing apparatus to which embodiments of the present application can be applied is shown.
[0043] AsFigure 1 As shown, the system architecture 100 can include transferor nodes 101, 102, 103, a network 104, and a regulatory node 105. The network 104 is a medium for providing communication links between the transferor nodes 101, 102, 103 and the regulatory node 105. The network 104 can include various connection types, such as wired, wireless communication links, or fiber optic cables, etc.
[0044] The transferor nodes 101, 102, 103 can interact with the regulatory node 105 through the network 104 to receive or send messages, etc. The transferor nodes 101, 102, 103 can be servers corresponding to parties initiating a transfer transaction. The transferor nodes 101, 102, 103 can be servers providing various services, such as shopping application services, bank financial application services, etc.
[0045] The regulatory node 105 can be a server corresponding to an institution regulating transfer transactions of the transferor nodes, etc.
[0046] The transferor nodes 101, 102, 103 can encrypt a transfer transaction initiated by a user, and send the encrypted transaction ciphertext to the regulatory node 105 for verification, and after receiving the response information returned by the regulatory node that the verification is passed, construct transaction data for chaining, and send the transaction data for chaining to the blockchain.
[0047] It should be noted that the blockchain-based transfer processing method provided by an embodiment of the present application can be executed by a transferor node, and accordingly, the blockchain-based transfer processing apparatus is generally provided in the transferor node. The blockchain-based transfer processing method provided by another embodiment of the present application can be executed by a regulatory node, and accordingly, the blockchain-based transfer processing apparatus is generally provided in the regulatory node.
[0048] It should be understood that Figure 1 The number of transferor nodes, networks, and regulatory nodes in the system architecture 100 is only illustrative. According to the needs of implementation, there can be any number of transferor nodes, networks, and regulatory nodes.
[0049] Figure 2 is a main flow diagram of the blockchain-based transfer processing method according to the first embodiment of the present application. The method of the embodiment of the present application is executed by a transferor node. As shown in Figure 2 The blockchain-based transfer processing method of the embodiment of the present application includes:
[0050] Step S201: symmetrically encrypting a transfer transaction according to a symmetric key to obtain a transaction ciphertext.
[0051] Exemplarily, the transfer transaction can include transferor information, receiver information and transaction amount information. The transferor information can specifically include an account name of the transferor, and / or a transferor name and the like. The receiver information can specifically include an account name of the receiver, and / or a receiver name and the like. In specific implementation, the transferor and the receiver can be individuals or enterprises.
[0052] In step S201, the transfer transaction can be symmetrically encrypted by using a symmetric encryption algorithm such as SM4 (a national encryption algorithm), AES (Advanced Encryption Standard), or 3DES (Triple Data Encryption Algorithm).
[0053] In step S202, a verification request carrying the transaction ciphertext is sent to the first supervision node, so that the first supervision node verifies the transfer transaction decrypted from the transaction ciphertext.
[0054] After obtaining the transaction ciphertext through step S201, the transaction ciphertext can be carried in a verification request, and the verification request is sent to the first supervision node, i.e., the supervision node corresponding to the transferor. After receiving the verification request, the first supervision node decrypts the transaction ciphertext carried in the verification request, and then verifies the transfer transaction obtained by decryption.
[0055] In an optional example, in order to further improve the security of the transfer transaction data, the method further includes, before step S202, asymmetrically encrypting the symmetric key by using a public key of the first supervision node to obtain second key ciphertext, and carrying the second key ciphertext and the transaction ciphertext obtained in step S201 in the verification request. In specific implementation, the transferor node can encrypt the symmetric key by using an asymmetric encryption algorithm such as SM2 (a national encryption algorithm) or RSA. In an optional example, in order to sufficiently guarantee the encryption effect of the symmetric key and improve the security of the symmetric key, the algorithm encryption level can be not less than SM2. After receiving the verification request, the first supervision node decrypts the second key ciphertext based on the private key of the first supervision node to obtain the symmetric key, and then decrypts the transaction ciphertext based on the symmetric key to obtain the transfer transaction.
[0056] In another optional example, in order to further improve the security of the transfer transaction data, the method further comprises, before step S202, signing the hash code of the transaction ciphertext obtained in step S201 using the private key of the transferor node, and carrying the generated signature of the transferor node and the transaction ciphertext in the verification request. The first regulatory node verifies the signature of the transferor node after receiving the verification request, and decrypts the transaction ciphertext. In implementation, the first regulatory node can first verify the signature of the transferor node, and then decrypt the transaction ciphertext after the signature of the transferor node is verified, and then verify the content of the transfer transaction; or the first regulatory node can first decrypt the transaction ciphertext, and then verify the signature of the transferor node, and then verify the content of the transfer transaction after the signature of the transferor node is verified.
[0057] Step S203: After receiving the response information of the verification passed returned by the first regulatory node, constructing the on-chain transaction data, and sending the on-chain transaction data to the block chain.
[0058] The on-chain transaction data includes: transaction ciphertext, and at least one of the first to fourth key ciphertexts obtained by asymmetrically encrypting the symmetric key based on the public key of the transferor node, the public key of the first regulatory node, the public key of the receiver node, and the public key of the second regulatory node (i.e. the regulatory node corresponding to the receiver node).
[0059] For example, in one specific example, the on-chain transaction data includes transaction ciphertext, and the first to fourth key ciphertexts obtained by asymmetrically encrypting the symmetric key based on the public key of the transferor node, the public key of the first regulatory node, the public key of the receiver node, and the public key of the second regulatory node. In the embodiment of the application, by encrypting the transfer transaction and including at least one of the first to fourth key ciphertexts in the on-chain transaction data, only the transaction associated party can decrypt the transaction ciphertext, thereby ensuring the security of the transaction data while protecting the privacy of the transaction data to the greatest extent.
[0060] In one optional example, in addition to including transaction ciphertext and at least one of the first to fourth key ciphertexts, the on-chain transaction data further includes: the signature of the receiver node, and / or the signature of the first regulatory node. For example, in one specific example, the on-chain transaction data includes: transaction ciphertext, the first to fourth key, the signature of the receiver node, and the signature of the first regulatory node.
[0061] In an optional example, the method of the embodiment of the present application can further include the following steps: after the on-chain transaction data is successfully on-chained, the pay-out node modifies the pay-out account balance in the local database corresponding to the pay-out node to realize the deduction of the digital assets.
[0062] In the embodiment of the present application, the supervision node is introduced in the transfer processing flow to ensure that the whole transaction process is supervisable; the transaction content is verified by the supervision node of the initiator before the transaction data is sent to the block chain, which realizes the forward supervision and improves the effectiveness of the supervision; in addition, the transaction data is encrypted and on-chained, and other cryptography techniques are used to ensure that the transaction data is only visible to the nodes associated with the transaction, and the nodes not associated with the transaction cannot decrypt the data, thereby ensuring the privacy of the user account data and the transaction data.
[0063] Figure 3 is the main flow diagram of the block chain-based transfer processing method according to the second embodiment of the present application. The method of the embodiment of the present application is executed by the first supervision node, that is, the supervision node corresponding to the pay-out node. As shown in Figure 3 the block chain-based transfer processing method of the embodiment of the present application includes:
[0064] Step S301: In response to the verification request sent by the pay-out node, the transaction ciphertext carried by the verification request is decrypted to obtain the transfer transaction.
[0065] After receiving the verification request sent by the pay-out node, the first supervision node decrypts the transaction ciphertext carried by the verification request to obtain the transfer transaction. The transaction ciphertext is obtained by symmetrically encrypting the transfer transaction by the pay-out node according to the symmetric key. In specific implementation, the pay-out node can use symmetric encryption algorithms such as SM4 (a national encryption algorithm), AES (Advanced Encryption Standard), or 3DES (Triple Data Encryption Algorithm) to symmetrically encrypt the transfer transaction. Further, in order to fully guarantee the encryption effect of the transfer transaction data and improve the security of the transfer transaction data, the encryption level of the symmetric encryption algorithm can be not less than SM4.
[0066] In an optional example, in order to further improve the security of the transfer transaction data, the verification request further includes a second key ciphertext, and the second key ciphertext is obtained by asymmetrically encrypting the symmetric key by the pay-out node using the public key of the first supervision node. In this optional example, step S301 specifically includes: the first supervision node uses the private key of the first supervision node to decrypt the second key ciphertext to obtain the symmetric key; and the first supervision node decrypts the transaction ciphertext based on the symmetric key to obtain the transfer transaction.
[0067] In another optional example, in order to further improve the security of the transfer transaction data, the verification request further comprises a signature of the transferor node. In this optional example, the method further comprises: before step S302, verifying the signature of the transferor node and confirming that the signature of the transferor node is verified. In implementation, the first supervision node can first verify the signature of the transferor node, then decrypt the transaction ciphertext after the signature of the transferor node is verified, and then verify the content of the transfer transaction; or the first supervision node can first decrypt the transaction ciphertext, then verify the signature of the transferor node, and then verify the content of the transfer transaction after the signature of the transferor node is verified.
[0068] Step S302: verifying the transfer transaction.
[0069] Exemplarily, the transfer transaction comprises transferor information, receiver information, and transaction amount information. In this example, verifying the transfer transaction specifically comprises: the first supervision node queries the local database according to the transferor information to determine the total amount of digital assets in the transferor account; the first supervision node verifies whether there are sufficient digital assets in the transferor account according to the total amount of digital assets in the transferor account and the transaction amount information. If there are sufficient digital assets in the transferor account, i.e., the total amount of digital assets in the transferor account can meet the demand of this transaction, the transfer transaction is verified; otherwise, the transfer transaction is not verified.
[0070] Further, the method of the embodiment of the present application can further comprise the following steps: after the transfer transaction is verified, the first supervision node sets the digital assets in the transferor account in the local database corresponding to the first supervision node to a frozen state. By verifying the content of the transfer transaction and freezing the digital assets in the transferor account after verification, transaction double spending can be effectively avoided.
[0071] Step S303: in the case where the transfer transaction is verified, sending response information of verification to the transferor node, so that the transferor node constructs transaction data for chaining after receiving the response information, and sends the transaction data for chaining to the block chain.
[0072] The on-chain transaction data includes: transaction ciphertext, and at least one of first to fourth key ciphertexts obtained by asymmetrically encrypting the symmetric key based on the public key of the transfer-out node, the public key of the first supervision node, the public key of the receiving node, and the public key of the second supervision node (i.e., the supervision node corresponding to the receiving node). For example, in a specific example, the on-chain transaction data includes transaction ciphertext, and the first to fourth key ciphertexts obtained by asymmetrically encrypting the symmetric key based on the public key of the transfer-out node, the public key of the first supervision node, the public key of the receiving node, and the public key of the second supervision node.
[0073] In an optional example, the method of the embodiment of the application further includes the following steps: after the transfer transaction is verified, signing the hash code of the transaction ciphertext using the private key of the first supervision node, and carrying the generated signature of the first supervision node in the response information of the verification passing. Further, in this optional example, in addition to the transaction ciphertext and at least one of the first to fourth key ciphertexts, the on-chain transaction data can further include: the signature of the receiving node, and / or the signature of the first supervision node. For example, in a specific example, the on-chain transaction data includes: transaction ciphertext, first to fourth key, signature of the receiving node, and signature of the first supervision node.
[0074] In an optional example, the method of the embodiment of the application further includes the following steps: after the on-chain transaction data is successfully chained, the first supervision node modifies the transfer-out account balance in the local database corresponding to itself to realize the deduction of the digital assets.
[0075] In the embodiment of the application, through the above steps, the partial supervision of the transfer transaction is moved from the supervision during and after the event to the supervision before the event, the supervision effectiveness is improved, and through the combined use of the cryptography technology, the privacy of the user account data and the transaction data is ensured under the premise of security and verifiability.
[0076] Figure 4 is the main flow diagram of the transfer processing method based on the block chain according to the third embodiment of the application. As shown in Figure 4 The transfer processing method based on the block chain of the embodiment of the application includes:
[0077] Step S401: The transfer-out node constructs a transfer transaction s.
[0078] Exemplarily, the transfer-out party can be an individual, or a group organization such as an enterprise, and the transfer-out node can be specifically a terminal or a server used by the transfer-out party, or an electronic device such as a server.
[0079] The transfer transaction s can include transferor information, receiver information, and transaction amount information.
[0080] Step S402: The transferor node encrypts the transaction s using the symmetric key key to obtain transaction ciphertext s(key).
[0081] In this step, the transferor node can use a symmetric encryption algorithm such as SM4 (a national encryption algorithm), AES (Advanced Encryption Standard), or 3DES (Triple Data Encryption Algorithm) to symmetrically encrypt the transfer transaction. To fully ensure the encryption effect of the transfer transaction data and improve the security of the transfer transaction data, the algorithm encryption level can be no less than SM4.
[0082] Further, before step S402, the method of the embodiment of the application further includes: the transferor node randomly generates a symmetric key key. By randomly generating a symmetric key, the symmetric key can be effectively prevented from being leaked, thereby helping to improve the security of the transfer transaction data.
[0083] Step S403: The transferor node encrypts the key using the public keys pub-a, pub-A, pub-b, and pub-B to obtain key ciphertexts key(pub-a), key(pub-A), key(pub-b), and key(pub-B).
[0084] The pub-a is the public key of the transferor node, the pub-A is the public key of the first supervision node, i.e., the supervision node corresponding to the transferor, the pub-b is the public key of the receiver node, and the pub-B is the public key of the second supervision node, i.e., the supervision node corresponding to the receiver. In step S403, the symmetric key key is asymmetrically encrypted using pub-a to obtain the key ciphertext key(pub-a), the symmetric key key is asymmetrically encrypted using pub-A to obtain the key ciphertext key(pub-A), the symmetric key key is asymmetrically encrypted using pub-b to obtain the key ciphertext key(pub-b), and the symmetric key key is asymmetrically encrypted using pub-B to obtain the key ciphertext key(pub-B).
[0085] In specific implementation, the transferor node can use an asymmetric encryption algorithm such as SM2 or RSA to encrypt the symmetric key. To fully ensure the encryption effect of the symmetric key and improve the security of the symmetric key, the encryption level of the asymmetric encryption algorithm can be no less than SM2.
[0086] Step S404: The pay-from node signs the hash code of s(key) using the private key pri-a to obtain a signature signature(a).
[0087] Step S405: The pay-from node sends a verification request carrying signature(a), s(key) and key(pub-A) to the first supervision node.
[0088] The first supervision node is the supervision node corresponding to the pay-from party. For example, in the cross-border payment scenario, the supervision node of a bank in country A can be a server corresponding to the central bank of country A, and the supervision node of a bank in country B can be a server corresponding to the central bank of country B.
[0089] Step S406: The first supervision node verifies signature(a).
[0090] After receiving the verification request, the first supervision node verifies the signature signature(a) of the pay-from node carried in the verification request, and performs step S407 after verification.
[0091] Step S407: The first supervision node uses the private key pri-A to decrypt key(pub-A) to obtain key, and uses key to decrypt s(key) to obtain s.
[0092] In this step, the first supervision node can first use its own private key pri-A to perform asymmetric decryption on the secret key ciphertext key(pub-A) to obtain the symmetric secret key key; then, the first supervision node uses the symmetric secret key key to perform symmetric decryption on the transaction ciphertext s(key) to obtain the transfer transaction s.
[0093] Step S408: The first supervision node verifies the transfer transaction s.
[0094] Specifically, step S408 includes: the first supervision node queries a local database according to the pay-from information in the transfer transaction s to determine the total amount of digital assets in the pay-from account; and the first supervision node verifies whether there are sufficient digital assets in the pay-from account according to the total amount of digital assets in the pay-from account and the transaction amount information in the transfer transaction s. If there are sufficient digital assets in the pay-from account, i.e., the total amount of digital assets in the pay-from account can meet the demand of this transaction, the transfer transaction passes the verification, and the next step S409 can be performed; otherwise, the transfer transaction fails the verification, and the first supervision node can return response information indicating that the verification fails to the pay-from node.
[0095] Further, after the transfer transaction s is verified, the first regulatory node can further perform the following steps: setting the digital assets in the transferor's account in the local database to a frozen state. By verifying the content of the transfer transaction and freezing the digital assets in the transferor's account after verification, transaction double spending can be effectively avoided. In addition, in order to further improve the security of the account data, the account data can be stored only in the local databases corresponding to the transferor node, the receiver node, the first regulatory node and the second regulatory node.
[0096] Step S409: The first regulatory node sends response information of verification success.
[0097] The response information includes a signature signature(A) of the first regulatory node, which is obtained by signing the hash code of the transaction ciphertext s(key) using the private key pri-A of the first regulatory node.
[0098] Step S410: The transferor node constructs transaction data for chaining.
[0099] After receiving the response information of verification success, the transferor node constructs transaction data for chaining. The transaction data for chaining includes the following information: s(key), key(pub-a), key(pub-A), key(pub-b), key(pub-B), signature(a), signature(A).
[0100] Step S411: The transferor node sends the transaction data for chaining to the blockchain.
[0101] Further, after step S411, the transaction data for chaining can be packaged into a block according to the rules of the distributed ledger, and the block data is consensus in the blockchain network.
[0102] For non-transaction-related nodes in the blockchain network, verifying the signature correctness of the hash code of the transaction ciphertext s(key) includes verifying the correctness of the signature signature(a) of the transferor node and the signature signature(A) of the first regulatory node. After successful consensus, the non-transaction-related node directly writes the block into the ledger. For the transferor node and the first regulatory node, in addition to writing the block into the ledger after successful consensus, the transferor's account balance in the local database is also modified to realize the deduction of digital assets. For the receiver node and the second regulatory node, in addition to writing the block into the ledger after successful consensus, the transaction ciphertext s(key) is decrypted to obtain the transfer amount information, and then the receiver's account balance in the local database is modified according to the transfer amount information to realize the increase of digital assets.
[0103] In the embodiments of the present application, the partial supervision of the transfer transaction is moved from supervision during and after the event to supervision before the event through the above steps, the supervision effectiveness is improved, and the privacy of the user account data and the transaction data is ensured under the premise of security and verifiability through the combined use of the cryptography technology.
[0104] Figure 5 is a schematic diagram of main modules of a blockchain-based transfer processing apparatus according to a fourth embodiment of the present application. The blockchain-based transfer processing apparatus in the embodiments of the present application is arranged in a transferor node. As shown in the figure, the blockchain-based transfer processing apparatus 500 in the embodiments of the present application includes an encryption module 501, a verification request module 502, and a chain-up module 503. Figure 5
[0105] The encryption module 501 is configured to symmetrically encrypt the transfer transaction according to a symmetric key to obtain transaction ciphertext.
[0106] Exemplarily, the transfer transaction can include transferor information, receiver information, and transaction amount information. The transferor information can specifically include the account name of the transferor, and / or the name of the transferor and other information; the receiver information can specifically include the account name of the receiver, and / or the name of the receiver and other information. In specific implementation, the transferor and the receiver can be individuals or enterprises.
[0107] In specific implementation, the encryption module 501 can use a symmetric encryption algorithm such as SM4 (a national encryption algorithm), AES (Advanced Encryption Standard), or 3DES (Triple Data Encryption Algorithm) to symmetrically encrypt the transfer transaction. In order to fully ensure the encryption effect of the transfer transaction data and improve the security of the transfer transaction data, the algorithm encryption level can be not less than SM4.
[0108] In an optional example, the encryption module 501 is further configured to asymmetrically encrypt the symmetric key using the public key of the first supervision node to obtain second key ciphertext, and carry the second key ciphertext and the transaction ciphertext in the verification request together. In specific implementation, the encryption module 501 can use a non-symmetric encryption algorithm such as SM2 (a national encryption algorithm) or RSA to encrypt the symmetric key. In order to fully ensure the encryption effect of the symmetric key and improve the security of the symmetric key, the algorithm encryption level can be not less than SM2.
[0109] In another optional example, in order to further improve the security of the transfer transaction data, the encryption module 501 is further configured to sign the hash code of the transaction ciphertext using the private key of the transferor node, and carry the generated signature of the transferor node and the transaction ciphertext in the verification request together.
[0110] The verification request module 502 is configured to send a verification request carrying the transaction ciphertext to the first supervision node, so that the first supervision node verifies the transfer transaction decrypted from the transaction ciphertext.
[0111] After obtaining the transaction ciphertext, the verification request module 502 can carry the transaction ciphertext in the verification request and send the verification request to the first supervision node, i.e., the supervision node corresponding to the transferor. After receiving the verification request, the first supervision node decrypts the transaction ciphertext carried in the verification request, and then verifies the transfer transaction obtained by decryption. After the transfer transaction is verified, the first supervision node returns response information of verification to the transferor node.
[0112] The on-chain module 503 is configured to, after receiving the response information of verification returned by the first supervision node, construct on-chain transaction data, and send the on-chain transaction data to the block chain.
[0113] The on-chain transaction data includes: the transaction ciphertext, and at least one of the first to fourth key ciphertexts obtained by asymmetrically encrypting the symmetric key based on the public key of the transferor node, the public key of the first supervision node, the public key of the receiver node, and the public key of the second supervision node. The second supervision node is the supervision node corresponding to the receiver. In the embodiment of the application, by encrypting the transfer transaction and including at least one of the first to fourth key ciphertexts in the on-chain transaction data, only the transaction associated party can decrypt the transaction ciphertext, thereby ensuring the security of the transaction data while maximizing the privacy of the transaction data.
[0114] In the embodiment of the application, the above device can verify the transfer transaction before the transaction data is chained, thereby moving the partial supervision of the transfer transaction from the transaction to the post-transaction to the pre-transaction, improving the supervision effectiveness; and by combining the use of cryptographic techniques, the privacy of the user account data and the transaction data is ensured under the premise of security and verifiability.
[0115] Figure 6 is the main module schematic diagram of the block chain-based transfer processing device according to the fifth embodiment of the application. The block chain-based transfer processing device in the embodiment of the application is arranged in the first supervision node. As shown in the figure, the block chain-based transfer processing device 600 in the embodiment of the application includes a verification module 601 and a response module 602. Figure 6
[0116] The verification module 601 is configured to, in response to the verification request sent by the transferor node, decrypt the transaction ciphertext carried in the verification request to obtain the transfer transaction, and verify the transfer transaction.
[0117] The transaction ciphertext is obtained by symmetric encryption of the transfer transaction by the transfer-out node according to a symmetric key. In specific implementation, the transfer-out node can use a symmetric encryption algorithm such as SM4 (a national encryption algorithm), AES (Advanced Encryption Standard), or 3DES (Triple Data Encryption Algorithm) to symmetrically encrypt the transfer transaction. In order to fully guarantee the encryption effect of the transfer transaction data and improve the security of the transfer transaction data, the encryption level of the symmetric encryption algorithm can be no less than SM4.
[0118] In an optional example, the transfer transaction includes transfer-out information, receiver information, and transaction amount information. In this example, the verification of the transfer transaction by the verification module 601 specifically includes: the verification module 601 queries the local database according to the transfer-out information to determine the total amount of digital assets in the transfer-out account; and the verification module 601 verifies whether there are sufficient digital assets in the transfer-out account according to the total amount of digital assets in the transfer-out account and the transaction amount information. If there are sufficient digital assets in the transfer-out account, i.e., the total amount of digital assets in the transfer-out account can meet the demand of this transaction, the transfer transaction passes the verification; otherwise, the transfer transaction fails the verification.
[0119] Further, the device of the embodiment of the application can further include an account setting module. The account setting module is configured to set the digital assets in the transfer-out account in the local database corresponding to the account setting module to a frozen state after the transfer transaction passes the verification. By verifying the content of the transfer transaction and freezing the digital assets in the transfer-out account after the verification passes, transaction double spending can be effectively avoided.
[0120] The response module 602 is configured to send response information of passing the verification to the transfer-out node in the case that the transfer transaction passes the verification, so that the transfer-out node constructs transaction data for chaining after receiving the response information and sends the transaction data for chaining to the blockchain.
[0121] The transaction data for chaining includes: a transaction ciphertext, and at least one of first to fourth key ciphertexts obtained by asymmetric encryption of the symmetric key based on a public key of the transfer-out node, a public key of a first supervision node, a public key of a receiver node, and a public key of a second supervision node; the first supervision node is a supervision node corresponding to the transfer-out node, and the second supervision node is a supervision node corresponding to the receiver node.
[0122] In the embodiments of the present application, the above device can verify the transfer transaction before the transaction data is chained, thereby moving part of the supervision of the transfer transaction from supervision during and after the event to supervision before the event, improving the effectiveness of supervision; and by combining the use of cryptographic techniques to encrypt the transaction data for chaining, the privacy of user account data and transaction data can be ensured under the premise of security and verifiability.
[0123] Figure 7 is a schematic diagram of the main modules of the blockchain-based transfer processing system according to the sixth embodiment of the present application. As shown in Figure 7 the blockchain-based transfer processing system of the embodiments of the present application includes a transferor node 701, a first supervision node 702.
[0124] The transferor node 701 is configured to symmetrically encrypt the transfer transaction according to a symmetric key to obtain transaction ciphertext, and is further configured to send a verification request carrying the transaction ciphertext to the first supervision node 702.
[0125] For example, the transferor node 701 can use a symmetric encryption algorithm such as SM4 (a national encryption algorithm), AES (Advanced Encryption Standard), or 3DES (Triple Data Encryption Algorithm) to symmetrically encrypt the transfer transaction. In order to fully guarantee the encryption effect of the transfer transaction data and improve the security of the transfer transaction data, the encryption level of the symmetric encryption algorithm can be no less than SM4.
[0126] In an optional example, before symmetrically encrypting the transfer transaction according to the symmetric key to obtain the transaction ciphertext, the transferor node 701 is further configured to randomly generate a symmetric key. By randomly generating a symmetric key, it can effectively prevent the symmetric key from being leaked, thereby helping to improve the security of the transfer transaction data.
[0127] The first supervision node 702 is configured to decrypt the transaction ciphertext carried by the verification request to obtain the transfer transaction, and verify the transfer transaction; and is further configured to send response information indicating that the verification is passed to the transferor node 702 if the transfer transaction passes the verification.
[0128] Specifically, the first supervision node 702 verifies the transfer transaction, including: the first supervision node 702 queries a local database according to the transferor information in the transfer transaction to determine the total amount of digital assets in the transferor account; the first supervision node 702 verifies whether there are enough digital assets in the transferor account according to the total amount of digital assets in the transferor account and the transaction amount information in the transfer transaction. If there are enough digital assets in the transferor account, i.e. the total amount of digital assets in the transferor account can meet the demand of this transaction, the transfer transaction passes the verification; otherwise, the transfer transaction fails the verification.
[0129] In an optional example, before sending the verification request carrying the transaction ciphertext to the first supervision node 702, the transfer-out node is further configured to asymmetrically encrypt the symmetric key using the public key of the first supervision node to obtain second key ciphertext, and sign the hash code of the transaction ciphertext using the private key of the transfer-out node to obtain the signature of the transfer-out node, and carry the second key ciphertext and the signature of the transfer-out node and the transaction ciphertext in the verification request. In this optional example, after receiving the verification request, the first supervision node verifies the signature of the transfer-out node, and after verification, uses the private key of the first supervision node to decrypt the second key ciphertext to obtain the symmetric key, and then uses the symmetric key to decrypt the transaction ciphertext to obtain the transfer transaction.
[0130] The transfer-out node 701 is further configured to construct on-chain transaction data after receiving the response information that the verification is passed, and send the on-chain transaction data to the blockchain 703.
[0131] The on-chain transaction data includes: transaction ciphertext, and at least one of the first to fourth key ciphertexts obtained by asymmetrically encrypting the symmetric key based on the public key of the transfer-out node, the public key of the first supervision node, the public key of the receiving node, and the public key of the second supervision node; the first supervision node is a supervision node corresponding to the transfer-out node, and the second supervision node is a supervision node corresponding to the receiving node.
[0132] Further, after sending the on-chain transaction data to the blockchain 703, the on-chain transaction data can be packaged into a block according to the existing rules of the distributed ledger, and the block data is consensus in the blockchain network. For the transfer-out node 701 and the first supervision node 702, in addition to writing the block into the ledger after the consensus is successful, the transfer-out account balance in the local database is modified to realize the deduction of the digital assets.
[0133] Further, the blockchain-based transfer processing system in the embodiment of the application can further include a receiving node 704 and a second supervision node 705. For the receiving node 704 and the second supervision node 705, in addition to writing the block into the ledger after the consensus is successful, the transaction ciphertext s(key) is decrypted to obtain the transfer amount information, and then the receiving account balance in the local database is modified according to the transfer amount information to realize the increase of the digital assets. In order to further improve the security of the account data, the account data can be stored only in the local databases corresponding to the transfer-out node, the receiving node, the first supervision node and the second supervision node.
[0134] In the embodiment of the present application, the whole process of the transaction is supervised by introducing a supervision node; and the transaction data is verified by the first supervision node before being sent to the blockchain network, so that the supervision is moved forward and the effectiveness of the supervision is improved; by storing the account data of the transfer-out party only in the transfer-out party node and the first supervision node, the privacy of the account data can be ensured; by encrypting the transaction data and encrypting the symmetric key used for encryption by cooperating with other cryptography techniques, the data cannot be decrypted by non-transaction-related parties, so that the privacy of the user transaction data is maximally ensured.
[0135] Reference will now be made to the following description Figure 8 which shows a structural schematic diagram of a computer system 800 suitable for implementing the electronic device of the embodiment of the present application. Figure 8 The illustrated computer system is only an example and should not bring any limitation to the function and use range of the embodiment of the present application.
[0136] As shown in Figure 8 , the computer system 800 includes a central processing unit (CPU) 801 which can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 802 or loaded from a storage portion 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the system 800 are also stored. The CPU 801, the ROM 802 and the RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0137] The following components are connected to the I / O interface 805: an input portion 806 including a keyboard, a mouse, etc.; an output portion 807 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage portion 808 including a hard disk, etc.; and a communication portion 809 including a network interface card such as a LAN card, a modem, etc. The communication portion 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the I / O interface 805 as necessary. A removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc. is mounted on the drive 810 as necessary, so that a computer program read therefrom is installed in the storage portion 808 as necessary.
[0138] In particular, the processes described above with reference to the flow charts can be implemented as a computer software program in accordance with the embodiments disclosed herein. For example, embodiments disclosed herein include a computer program product which includes a computer program tangibly embodied on a computer readable medium, the computer program containing program code for executing the methods illustrated by the flow charts. In such embodiments, the computer program can be downloaded and installed from a network via the communication portion 809 and / or installed from a removable media 811. When the computer program is executed by the central processing unit (CPU) 801, the above-described functions defined in the system of the present invention are executed.
[0139] It should be noted that the computer readable medium shown in the present invention can be a computer readable signal medium or a computer readable storage medium or any combination thereof. The computer readable storage medium may, for example, be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination thereof. More specific examples of the computer readable storage medium can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present invention, the computer readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus or device. In the present invention, the computer readable signal medium can include a data signal propagated in a baseband or as a carrier wave in a propagated data signal, in which the computer readable program code is carried. Such a propagated data signal can take many forms, including but not limited to, an electromagnetic signal, an optical signal or any suitable combination thereof. The computer readable signal medium can also be any computer readable medium that can send, propagate or transfer a program for use by or in connection with an instruction execution system, apparatus or device. The program code contained on the computer readable medium can be transmitted using any suitable medium, including but not limited to, wireless, wire line, optical fiber cable, RF, etc., or any suitable combination thereof.
[0140] The computer program product of the present application can be a computer program embodied on a computer readable medium. When the computer program runs on a computing device, a series of operational steps run to perform the tasks of the example embodiments. The computer program in the present application includes program instructions. When the program instructions are run on a computing device, a series of operational steps run to perform the tasks of the example embodiments. The computer program in the present application includes program instructions. When the program instructions are run on a computing device, a series of operational steps run to perform the tasks of the example embodiments.
[0141] The modules described in the embodiments of the present application can be implemented by software, or can be implemented by hardware. The described modules can also be arranged in a processor, for example, a processor can be described as: a processor includes an encryption module, a verification request module, and a chain module. In some cases, the names of these modules do not constitute a limitation on the modules themselves, for example, the encryption module can also be described as "a module for encrypting a transfer transaction".
[0142] As another aspect, the present application also provides a computer readable medium, which can be included in the device described in the above embodiments, or can exist independently without being assembled into the device. The computer readable medium carries one or more programs, which, when executed by the device, cause the device to perform the following processes: symmetrically encrypting a transfer transaction according to a symmetric key to obtain transaction ciphertext; sending a verification request carrying the transaction ciphertext to a first supervision node, so that the first supervision node verifies the transfer transaction decrypted from the transaction ciphertext; after receiving the response information returned by the first supervision node that the verification is passed, constructing chain transaction data, and sending the chain transaction data to a block chain; the chain transaction data includes: transaction ciphertext, and at least one of the first to fourth key ciphertexts obtained by asymmetrically encrypting the symmetric key based on the public key of the transferor node, the public key of the first supervision node, the public key of the receiver node, and the public key of the second supervision node; the first supervision node is the supervision node corresponding to the transferor node, and the second supervision node is the supervision node corresponding to the receiver node.
[0143] According to the technical scheme of the embodiment of the present application, part of the supervision is moved from the supervision during and after the event to the supervision before the event, the supervision effectiveness is improved, and through the combined use of the cryptography technology, the privacy of the user account data and the transaction data is ensured under the premise of safety and verifiability.
[0144] The foregoing detailed description does not limit the scope of the application. It is to be understood that various modifications, combinations, sub-combinations, and alternatives can occur to one of ordinary skill in the art based on the teachings of the present application. Any modifications, changes, and improvements that have not yet been explicitly described above should be considered to be within the scope of the present application.
Claims
1. A blockchain-based transfer processing method, characterized in that, The method is executed by the sending node and includes: The transfer transaction is symmetrically encrypted using a symmetric key to obtain the ciphertext of the transaction; wherein, the encryption level of the transfer transaction is configured, the encryption level is located according to the requirements, and the symmetric encryption algorithm corresponding to the encryption level is obtained; A verification request carrying the ciphertext of the transaction is sent to the first supervisory node so that the first supervisory node can verify the transfer transaction decrypted from the ciphertext of the transaction. After receiving the verification success response from the first supervisory node, the on-chain transaction data is constructed and sent to the blockchain. The on-chain transaction data includes: transaction ciphertext, and at least one of the first to fourth key ciphertexts obtained by asymmetric encryption of the symmetric key based on the public key of the sending node, the public key of the first supervisory node, the public key of the receiving node, and the public key of the second supervisory node. The first supervisory node is the supervisory node corresponding to the sending node, and the second supervisory node is the supervisory node corresponding to the receiving node. Before sending a verification request carrying the transaction ciphertext to the first supervisory node, the method further includes: using the public key of the first supervisory node to perform asymmetric encryption on the symmetric key to obtain a second key ciphertext, and carrying the second key ciphertext in the verification request, so that the first supervisory node can decrypt the transaction ciphertext based on the symmetric key decrypted from the second key ciphertext; The hash code of the transaction ciphertext is signed using the private key of the sending node, and the generated signature of the sending node is carried in the verification request so that the first supervisory node can verify the signature of the sending node. The response information includes: the signature of the first regulatory node; the method further includes: adding the signature of the first regulatory node, and / or the signature of the transferring node, to the on-chain transaction data.
2. The method according to claim 1, characterized in that, The method further includes: After the transaction data is successfully uploaded to the blockchain, the balance of the sender's account in the local database corresponding to the sender node is modified.
3. A blockchain-based transfer processing method, characterized in that, The method is executed by the first monitoring node and includes: In response to a verification request sent by the sending node, the transaction ciphertext carried in the verification request is decrypted to obtain the transfer transaction, and the transfer transaction is verified. The transaction ciphertext is obtained by the sending node symmetrically encrypting the transfer transaction using a symmetric key. The encryption level of the transfer transaction is configured, the encryption level is located according to the requirements, and the symmetric encryption algorithm corresponding to the encryption level is obtained. If the transfer transaction passes verification, a verification success response is sent to the sending node, enabling the sending node to construct on-chain transaction data upon receiving the response and send the on-chain transaction data to the blockchain. The on-chain transaction data includes: transaction ciphertext, and at least one of the following: first to fourth key ciphertexts obtained by asymmetric encryption of the symmetric key based on the public key of the sending node, the public key of the first supervisory node, the public key of the receiving node, and the public key of the second supervisory node; the first supervisory node is the supervisory node corresponding to the sending node, and the second supervisory node is the supervisory node corresponding to the receiving node. The verification request also includes a second key ciphertext; the second key ciphertext is obtained by the sending node using the public key of the first monitoring node to perform asymmetric encryption on the symmetric key; The step of decrypting the ciphertext of the verification request to obtain the transfer transaction includes: using the private key of the first supervisory node to decrypt the second key ciphertext to obtain the symmetric key; and decrypting the ciphertext of the transaction based on the symmetric key to obtain the transfer transaction. After the transfer transaction is verified, the hash code of the transaction ciphertext is signed using the private key of the first supervisory node, and the generated signature of the first supervisory node is carried in the verification successful response information; The verification request also includes the signature of the sending node; the method further includes: verifying the signature of the sending node before verifying the transfer transaction, and confirming that the signature of the sending node passes verification.
4. The method according to claim 3, characterized in that, The transfer transaction includes information about the sender, the recipient, and the transaction amount. The verification of the transfer transaction includes: querying a local database based on the sender's information to determine the total amount of digital assets in the sender's account; verifying whether the sender's account has sufficient digital assets based on the total amount of digital assets in the sender's account and the transaction amount information; if so, the transfer transaction passes verification. The method further includes: after the transfer transaction is verified, setting the digital assets in the transferor's account in the local database corresponding to the first regulatory node to a frozen state.
5. The method according to claim 3, characterized in that, The method further includes: After the transaction data is successfully uploaded to the blockchain, the balance of the transferor's account in the local database corresponding to the first regulatory node is modified.
6. A blockchain-based transfer processing device, characterized in that, The device is located at the outgoing node and includes: An encryption module is used to perform symmetric encryption on transfer transactions using a symmetric key to obtain ciphertext for the transactions; wherein, the encryption level of the transfer transactions is configured, the encryption level is determined according to requirements, and the symmetric encryption algorithm corresponding to the encryption level is obtained; The verification request module is used to send a verification request carrying the transaction ciphertext to the first supervisory node, so that the first supervisory node can verify the transfer transaction decrypted from the transaction ciphertext. The on-chain module is used to construct on-chain transaction data and send the on-chain transaction data to the blockchain after receiving the verification success response information returned by the first supervisory node. The on-chain transaction data includes: transaction ciphertext, and at least one of the first to fourth key ciphertexts obtained by asymmetric encryption of the symmetric key based on the public key of the sending node, the public key of the first supervisory node, the public key of the receiving node, and the public key of the second supervisory node. The first supervisory node is the supervisory node corresponding to the sending node, and the second supervisory node is the supervisory node corresponding to the receiving node. Before sending a verification request carrying the transaction ciphertext to the first supervisory node, the verification request module is further configured to: use the public key of the first supervisory node to perform asymmetric encryption on the symmetric key to obtain a second key ciphertext, and carry the second key ciphertext in the verification request, so that the first supervisory node can decrypt the transaction ciphertext based on the symmetric key decrypted from the second key ciphertext; The hash code of the transaction ciphertext is signed using the private key of the sending node, and the generated signature of the sending node is carried in the verification request so that the first supervisory node can verify the signature of the sending node. The response information includes: the signature of the first regulatory node; the on-chain module is further configured to: add the signature of the first regulatory node, and / or the signature of the transferor node, to the on-chain transaction data.
7. A blockchain-based transfer processing device, characterized in that, The device is installed at the first monitoring node and includes: The verification module is used to respond to a verification request sent by the sending node, decrypt the transaction ciphertext carried in the verification request to obtain the transfer transaction, and verify the transfer transaction; the transaction ciphertext is obtained by the sending node symmetrically encrypting the transfer transaction using a symmetric key; wherein, the encryption level of the transfer transaction is configured, the encryption level is located according to the requirements, and the symmetric encryption algorithm corresponding to the encryption level is obtained. The response module is used to send a verification-passed response message to the sending node when the transfer transaction passes verification, so that the sending node constructs on-chain transaction data after receiving the response message and sends the on-chain transaction data to the blockchain; the on-chain transaction data includes: transaction ciphertext, and at least one of the first to fourth key ciphertexts obtained by asymmetric encryption of the symmetric key based on the public key of the sending node, the public key of the first supervisory node, the public key of the receiving node, and the public key of the second supervisory node; the first supervisory node is the supervisory node corresponding to the sending node, and the second supervisory node is the supervisory node corresponding to the receiving node; The verification request also includes a second key ciphertext; the second key ciphertext is obtained by the sending node using the public key of the first monitoring node to perform asymmetric encryption on the symmetric key; The verification module decrypts the ciphertext of the verification request to obtain the transfer transaction by: using the private key of the first supervisory node to decrypt the second key ciphertext to obtain the symmetric key; and decrypting the ciphertext of the transaction based on the symmetric key to obtain the transfer transaction. After the transfer transaction is verified, the verification module uses the private key of the first supervisory node to sign the hash code of the transaction ciphertext, and carries the generated signature of the first supervisory node in the verification success response information. The verification request also includes the signature of the sending node; the verification module is further configured to: verify the signature of the sending node before verifying the transfer transaction, and confirm that the signature of the sending node passes verification.
8. A transfer processing system based on the blockchain transfer processing method of claim 1, characterized in that, The system includes a transferor node and a first monitoring node; The sending node is used to perform symmetric encryption on the transfer transaction using a symmetric key to obtain the transaction ciphertext, and is also used to send a verification request carrying the transaction ciphertext to the first supervisory node. The first supervisory node is configured to decrypt the ciphertext of the transaction carried in the verification request to obtain the transfer transaction, and to verify the transfer transaction; it is also configured to send a verification success response to the sending node if the transfer transaction passes verification. The sending node is also used to construct on-chain transaction data and send the on-chain transaction data to the blockchain after receiving the verification successful response information; The on-chain transaction data includes: transaction ciphertext, and at least one of the first to fourth key ciphertexts obtained by asymmetric encryption of the symmetric key based on the public key of the sending node, the public key of the first supervisory node, the public key of the receiving node, and the public key of the second supervisory node; the first supervisory node is the supervisory node corresponding to the sending node, and the second supervisory node is the supervisory node corresponding to the receiving node.
9. An electronic device, characterized in that, include: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1, 2, 3-5.
10. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1, 2, 3-5.
Citation Information
Patent Citations
Inter-agency client verification method based on block chain, transaction supervision method and device
CN108765240A
Password management method and device based on block chain and computer readable storage medium
CN111241533A