WO2019100865A1 - 资源转移和资金转移的方法和装置 - Google Patents
资源转移和资金转移的方法和装置 Download PDFInfo
- Publication number
- WO2019100865A1 WO2019100865A1 PCT/CN2018/110034 CN2018110034W WO2019100865A1 WO 2019100865 A1 WO2019100865 A1 WO 2019100865A1 CN 2018110034 W CN2018110034 W CN 2018110034W WO 2019100865 A1 WO2019100865 A1 WO 2019100865A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- amount
- transaction request
- transferred
- blockchain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2115—Third party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/102—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
Definitions
- the present application relates to the field of computer technologies, and in particular, to a method and system for resource transfer and fund transfer.
- Blockchain technology (also known as distributed ledger technology) is a special distributed database technology, suitable for storing simple, hierarchical data that can be verified in the system, using cryptography and consensus algorithms to ensure data. Not tamperable and unforgeable. With the development of computer and Internet technologies, blockchain technology is favored for its decentralization, transparency, non-tampering, and trustworthiness, in smart contracts, securities trading, e-commerce, internet of things, social communications, File storage, presence certificates, authentication, equity crowdfunding and many other fields are widely used.
- the blockchain technology When the blockchain technology is applied to a transaction scenario such as resource transfer, since all transaction information needs to be sent to the blockchain system for verification, implementation, and uplink, the private information of the parties involved in the transaction transfer, such as specific transaction information. The total amount of resources owned, individual privacy information, etc. will be exposed to the risk of disclosure to third parties not related to this transaction.
- the transaction information such as the specific amount of the borrower's loan to the borrower needs to be chained, thereby posing a threat to the private information of the borrower and the lender.
- the embodiment of the present application provides a resource transfer method and device, and a corresponding electronic device and a computer readable storage medium, which are capable of protecting private information of both parties in a resource transfer process.
- the embodiment of the present application further provides a method and a device for transferring funds, and a corresponding electronic device and a computer readable storage medium, which are capable of protecting the private information of the borrowers and the lenders in the process of transferring funds.
- the embodiment of the present application provides a resource chain transfer method based on a blockchain, including:
- the resource transfer direction blockchain initiates a transaction request, and is used to transfer the second resource to be transferred to the resource transferee; wherein the transaction request includes encrypting the second amount of the second resource The first encrypted amount information obtained;
- the first encrypted amount information included in the transaction request is a second amount of the second resource by using a first encryption function. Obtained by encryption;
- one input of the first encryption function is a second amount of the second resource, and another input is a public key of the resource transferee.
- the transaction request further includes identification information of the public key of the resource transferee.
- the identifier information of the public key of the resource transferee is a hash value of the public key of the resource transferee.
- determining, according to the first amount of the first resource, a second amount of the second resource to be transferred including:
- a second amount of the second resource is determined using a one-way function based on the first amount of the first resource.
- determining a second amount of the second resource by using a one-way function includes:
- the first amount of the first resource and a random number are used as inputs to the one-way function, and the output of the one-way function is determined as the second amount of the second resource.
- the transaction request initiated by the resource rollout direction blockchain further includes the encrypted random number.
- the resource transfer condition includes allowing the resource transferee to borrow the first resource; determining the first resource to be transferred An amount including:
- the amount of the first resource borrowed by the resource transfer party is allowed to be the first amount of the first resource to be transferred.
- the resource transfer condition includes that the resource transfer party has received the first resource returned by the resource transfer party;
- the first amount of the first resource including:
- the amount of the returned first resource is determined as the first amount of the first resource to be transferred.
- the resource transfer condition includes that the resource transfer party and the resource transfer party have reached a resource borrowing agreement, and the resource borrowing The agreement includes the amount of the first resource that the resource transfer party applies for borrowing from the resource transfer direction; and determining the first amount of the first resource to be transferred, including:
- the amount of the first resource borrowed by the application is determined as the first amount of the first resource to be transferred.
- the transaction request further includes a zero-knowledge proof for proving that the resource transferee is to hold after executing the transaction request
- the sum of the balance of the two resources and the second amount is equal to the amount of the second resource held by the resource transferee prior to initiating the transaction request.
- the zero-knowledge proof is further used to prove that the second amount is greater than zero, and the resource transferee before initiating the transaction request The amount of the second resource held is greater than zero, and the balance of the second resource to be held by the resource transferee after execution of the transaction request is not less than zero.
- the transaction request further includes identifier information of a last resource transfer transaction in which the resource transferee participates.
- the identifier information of the last resource transfer transaction in which the resource transferee participates is specifically recorded in the blockchain.
- the transaction request further includes encrypting a balance of the second resource to be held by the resource transferee after executing the transaction request.
- the second encrypted amount information obtained after processing.
- the second encrypted amount information included in the transaction request is obtained by using a second encryption function to perform the transaction request after the resource
- the balance of the second resource to be held by the transferor is encrypted
- one input of the second encryption function is a balance of the second resource, and another input is a public key of the resource transferee.
- the transaction request further includes identification information of the public key of the resource transferee.
- the identification information of the public key of the resource transferee is a hash value of the public key of the resource transferee.
- the first resource is specifically a fund
- the second resource is specifically a token
- the embodiment of the present application further provides a method for transferring funds based on a blockchain, including:
- the transaction request is executed, the token to be transferred is transferred to the transferee, and the execution result is written into the blockchain.
- the embodiment of the present application provides a resource chain device based on a blockchain, including:
- a first amount determining module when the resource transfer condition is met, determining a first amount of the first resource to be transferred
- a second amount determining module determining, according to the first amount of the first resource, a second amount of the second resource to be transferred; the first resource is different from the type of the second resource;
- the resource forwarding direction block chain initiates a transaction request, and is used to transfer the second resource to be transferred to the resource transfer party; wherein the transaction request includes a second to the second resource The first encrypted amount information obtained after the amount is encrypted;
- An inbound module after the transaction is verified by the blockchain, executing the transaction request, transferring the second resource to be transferred to the resource transferee, and writing the execution result to the The blockchain.
- the embodiment of the present application further provides an electronic device, including:
- a memory arranged to store computer executable instructions that, when executed, cause the processor to perform the following operations:
- the resource transfer direction blockchain initiates a transaction request, and is used to transfer the second resource to be transferred to the resource transferee; wherein the transaction request includes encrypting the second amount of the second resource The first encrypted amount information obtained;
- the embodiment of the present application further provides a computer readable storage medium, where the one or more programs include instructions, and the instructions include multiple When the electronic device of the application is executed, the electronic device can be caused to perform the following operations:
- the resource transfer direction blockchain initiates a transaction request, and is used to transfer the second resource to be transferred to the resource transferee; wherein the transaction request includes encrypting the second amount of the second resource The first encrypted amount information obtained;
- the embodiment of the present application provides a blockchain-based fund transfer apparatus, including:
- the fund amount determining module determines the first amount of funds to be transferred when the transfer condition is satisfied
- a token amount determining module determining a second amount of the token to be transferred according to the first amount of the fund; the fund is different from the type of the token;
- the forwarding direction block chain initiates a transaction request, and is used to transfer the token to be transferred to the transfer party; wherein the transaction request includes encrypting the second amount of the token The first encrypted amount information obtained afterwards;
- An entry module after the block chain verifies the transaction request, executing the transaction request, transferring the to-be-transferred token to the transferee, and writing the execution result to the zone Blockchain.
- an electronic device including:
- a memory arranged to store computer executable instructions that, when executed, cause the processor to perform the following operations:
- the transaction request is executed, the token to be transferred is transferred to the transferee, and the execution result is written into the blockchain.
- an embodiment of the present application provides a computer readable storage medium, where the computer readable storage medium stores one or more programs, where the one or more programs include instructions, where the instructions include multiple applications
- the electronic device can be caused to perform the following operations:
- the transaction request is executed, the token to be transferred is transferred to the transferee, and the execution result is written into the blockchain.
- the embodiment of the present application provides a resource chain transfer method based on a blockchain, including:
- the resource transfer direction blockchain initiates a transaction request, and is used to transfer the second resource to be transferred to the resource transferee; wherein the transaction request includes information corresponding to the second amount of the second resource ;
- determining, according to the first amount of the first resource, a one-way function to determine a second amount of the second resource to be transferred including:
- the first amount of the first resource and a random number are used as inputs to the one-way function, and the output of the one-way function is determined as the second amount of the second resource.
- the transaction request initiated by the resource rollout direction blockchain further includes the encrypted random number.
- the first resource is specifically a fund
- the second resource is specifically a token
- the embodiment of the present application provides a method for transferring funds based on a blockchain, including:
- the transaction request is executed, the token to be transferred is transferred to the transferee, and the execution result is written into the blockchain.
- the technical solution provided by the embodiment of the present application determines the first amount of the first resource to be transferred when the resource transfer condition is met, and converts the first amount of the first resource into the second resource with different resource types.
- the second amount of the resource initiates a transaction request for transferring the second amount, and obtains the encrypted amount information (that is, the encrypted second amount) by encrypting the second amount, thereby targeting the transaction in the blockchain
- the specific transaction information between the resource transfer party and the resource transfer party may be hidden by encrypting the second amount, which is specifically represented by the first resource to be transferred.
- the amount of information so that the private information of both parties can be protected during the resource transfer process.
- FIG. 1 is a schematic flowchart of a resource transfer method according to an embodiment of the present application
- FIG. 2 is a schematic flowchart of a method for transferring funds according to an embodiment of the present application
- FIG. 3 is a schematic diagram of a service flow of a method for transferring funds in a fund lending scenario in a fund lending scenario according to an embodiment of the present application;
- FIG. 4 is a schematic diagram of a business process of applying for a loan in a fund lending scenario in the fund lending scenario according to an embodiment of the present invention
- FIG. 5 is a schematic diagram of a service flow of a fund transfer method according to an embodiment of the present application in a repayment phase of a fund lending scenario
- FIG. 6 is a schematic flowchart diagram of another resource transfer method according to an embodiment of the present application.
- FIG. 7 is a schematic flowchart diagram of another method for transferring funds according to an embodiment of the present application.
- FIG. 8 is a schematic structural diagram of a resource transfer apparatus according to an embodiment of the present application.
- FIG. 9 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure.
- FIG. 10 is a schematic structural diagram of a fund transfer apparatus according to an embodiment of the present application.
- FIG. 11 is a schematic structural diagram of still another electronic device according to an embodiment of the present application.
- the resources referred to in this application can be embodied as resource types such as data resources and capital resources that can be transferred between multiple parties.
- resource holders can transfer resources when the resource transfer conditions are met. Specifically, after determining the amount of the resource to be transferred, the resource transfer direction sends a transaction request to the blockchain; the block chain verifies and implements the transaction request, and the resource transfer party transfers the resource to be transferred to the resource transfer. After the incoming party, the blockchain writes the execution result of the transaction request to the blockchain.
- the embodiment of the present application provides a resource chain transfer method based on the blockchain.
- a resource chain transfer method based on a blockchain is applicable to a resource transfer party, and specifically includes:
- S101 Determine a first amount of the first resource to be transferred when the resource transfer condition is met.
- the resource transferee needs to determine the type of the resource to be transferred and the amount thereof, that is, the first amount of the first resource to be transferred.
- the resource transferee must also determine the object of the resource transfer, that is, the resource transfer party that receives the transferred resource.
- resource transfer conditions may be different for different business purposes.
- the specific resource transfer conditions may be set according to the agreement of the resource transfer parties or the business process of the service platform on which the resource transfer is based. determine. Further, on the service platform on which the resource transfer is based, depending on the actual business process needs, multiple resource transfers may be required to achieve different purposes at different stages of the business process.
- the transfer of resources for different purposes, the type and amount of transferred resources, and the resource transferor and resource transferee participating in the transfer of resources may also be different.
- the transaction transfer request initiated by the resource transferor to realize the transfer of resources The content and format may also be different. An example will be given below for a number of different situations.
- S103 Determine, according to the first amount of the first resource, a second amount of the second resource to be transferred; the first resource is different from the second resource.
- Step S103 is executed to convert the first resource into the second resource.
- the amount of the resource is also converted from the first amount of the first resource to the second amount of the second resource. Therefore, when the resource transfer is further performed, the transfer of the first resource can be converted into the transfer of the second resource.
- the relationship between the first resource and the second resource can be understood as that the first resource is a resource type that the two parties need to transfer substantially (for example, in the borrowing scenario, the first resource can be embodied as funds, corresponding to the real currency.
- the second resource is the type of resource actually transferred when the resource is transferred (for example, in the borrowing scenario, the second resource can be embodied as a token, which is a virtual currency). From the perspective of protecting the private information of the resource transfer, the second resource is also considered to be the protection of the first resource.
- the first resource having substantial value in the actual service is converted into a display when the resource is transferred.
- the second resource that can be of no substantial value is converted, so that even if the second amount of information about the second resource actually transferred is written into the blockchain, the first amount of the first resource having the actual value The information is still hidden, thus helping to protect the privacy of the transaction.
- the first resource and the second resource in addition to the different types, there is a corresponding relationship between the amounts of the two resources, or a conversion relationship of the amount, and the specific conversion relationship may be based on the service platform. Need to set up.
- the amounts of the first resource and the second resource may be directly equal, that is, the conversion of the two is 1:1.
- the third party other than the resource transfer party may infer the first amount of the first resource by the second amount of the second resource
- the transaction request initiated in the subsequent step is not in the embodiment of the present application.
- the second amount of information is directly carried, and the second amount is encrypted, and the first encrypted amount information obtained after the encryption processing is carried in the transaction request. Therefore, information on the substantial amount of resource transfer can still be protected, thereby protecting transaction privacy.
- the amount of the first resource and the second resource may be converted according to a preset conversion coefficient or a function relationship, and by protecting the conversion coefficient or the function relationship, the substantial amount of the resource transfer (that is, the first resource) The first amount) is protected. It can be understood that both parties involved in the resource transfer need to know the conversion coefficient or the function relationship in order to achieve the reverse conversion of the resource type (ie, the second amount of the second type is converted into the first amount of the first type), thereby achieving The ultimate goal of resource transfer.
- the amount of the first resource and the second resource is preferably converted by a one-way function, that is, the second amount of the second resource is determined using a one-way function according to the first amount of the first resource.
- the first amount of the first resource and a random number may be used as input of a one-way function, and the output of the one-way function may be determined as the second amount of the second resource.
- the second amount is further encrypted to obtain the first encrypted amount information, and the first encrypted amount information is carried in the transaction request initiated by the resource transfer party, which can better protect the resource transfer. Privacy information for the transaction.
- the resource transferee When a one-way function is used to implement the amount conversion between the first resource and the second resource, the resource transferee also needs to send the random number (as an input of the one-way function) used in the conversion to the resource transfer party, so that The resource transfer party performs a reverse conversion of the resource type to infer the first amount of the first resource.
- the random number may be encrypted before the resource forwarding direction block chain initiates the transaction request, and then the initiated transaction request carries the encrypted random number, thereby avoiding the leakage of the random number. In turn, the privacy information of the resource transfer transaction is protected.
- the random number can be encrypted by using the public key of the resource transfer party, so that only the private key of the resource transfer party can decrypt the random number, and then the random number is used to implement the reverse conversion of the resource type, that is, The first amount of the first resource is inferred from the second amount of the second resource.
- the resource forwarding direction block chain initiates a transaction request, and is used to transfer the second resource to be transferred to the resource transfer party.
- the transaction request includes the first obtained by encrypting the second amount of the second resource. Encrypt amount information.
- the method before the step S105 is performed, the method further includes the step of performing encryption processing on the second amount of the second resource to obtain the first encrypted amount information. Regardless of whether the conversion relationship between the first resource and the second resource can be known by a third party other than the resource transfer parties, as long as the second amount of information is encrypted, the specific amount information of the resource transfer transaction can be protected, thereby protecting the resource. Transfer the privacy of both parties.
- the first encryption amount information included in the transaction request may be obtained by encrypting the second amount of the second resource by using a first encryption function (denoted as enc(x, y)).
- a first encryption function denotes the second amount of the second resource (denoted as quota_c)
- the other input is the public key of the resource transferee (denoted as pk_c).
- the public key of the resource transfer party is an asymmetric key
- the first encryption function is an asymmetric encryption function
- the public key of the resource transfer party is a symmetric key
- the first encryption function is Symmetric encryption function.
- the identification information of the public key transferred to the party may also be sent to the blockchain system as part of the transaction request, and the blockchain system is uplinked after being verified and implemented.
- a hash value (denoted as hash (pk_c)) of the public key of the resource transfer party may be used as the identification information of the public key.
- the transaction format of the transaction request TX initiated by the resource transferee can be expressed as:
- TX (enc(pk_c,quota_c),hash(pk_c))
- each node of the blockchain will verify the transaction request.
- the resource transferor further executes the transaction request, and transfers the second resource to be transferred to the resource transferee. It can be understood that the amount of the second resource transferred is the second amount. After the resource transfer ends, the execution result of the transaction request is written into the blockchain.
- each node of the blockchain system verifies the transaction request, it mainly verifies whether the format of the transaction request conforms to the convention (for example, the number of fields in the transaction request, the length of each field, the content of a certain field, etc.)
- the format of the transaction request conforms to the convention (for example, the number of fields in the transaction request, the length of each field, the content of a certain field, etc.)
- the encrypted information carried in the transaction request for example, the first encrypted amount information, the encrypted random number in the one-way function, etc., will be directly verified and passed, and then the transaction request is executed.
- the resource transferor transfers the second resource (the amount is the second amount) to the resource transferee.
- the resource transferee may determine whether the amount of the first resource substantially transferred by the current resource transfer transaction is the first amount according to the conversion relationship between the first resource and the second resource.
- the first amount of the first resource to be transferred is determined, and on the basis of the first resource, the first amount of the first resource is converted into a different resource type.
- a second amount of the second resource which in turn initiates a transaction request for transferring the second amount, and obtains the encrypted amount information (that is, the encrypted second amount) by encrypting the second amount, thereby targeting the blockchain
- the specific transaction information between the resource transfer party and the resource transfer party may be hidden by encrypting the second amount, which is specifically represented by the first resource to be transferred.
- An amount of information that can protect the private information of both parties in the process of resource transfer.
- the first protection of the resource transfer is the specific transaction amount information, that is, the first amount of the first resource to be transferred.
- the resource transfer conditions are also different.
- the manner of determining the first amount of the first resource to be transferred and the determined first amount are also different. The following will be illustrated.
- the resource transfer condition is to allow the resource transferee to borrow the first resource
- the resource transferor or other parties agreed in the business system have already qualified the resource transferee for the first resource.
- the competency was reviewed and the amount of the first resource that the resource transferee was allowed to borrow was determined.
- the purpose of transferring resources from the resource transfer party to the transfer resource can be understood as the business system approving the resource transfer party to borrow the first resource, and issuing the amount of the first resource allowed to the resource transfer party. certificate.
- the resource transfer party is the business participant who issues the quota certificate stipulated in the business system
- the resource transfer party is the business participant who is allowed to borrow the first resource.
- the amount of the second resource held by the resource transferee reflects the amount of resources that the resource transferee can borrow.
- the amount of the first resource that the resource transfer party is allowed to borrow may be used as the first amount of the first resource to be transferred.
- the second amount of the second resource determined according to the first amount of the first resource can also reflect the amount of the resource borrower allowed to borrow the resource. Therefore, the first encrypted amount information included in the transaction request for transferring the second resource initiated by the resource transferee (which is obtained by encrypting the second amount) can also reflect that the resource transfer party is allowed to borrow the first
- the amount of the resource, the first encrypted amount information is the voucher issued to the resource transferee to allow the borrowing of the first resource.
- the method can protect the resource transfer party from being approved to borrow
- the privacy information of a resource amount reaches the technical purpose of the embodiment of the present application.
- the transaction request is forwarded to the blockchain after the business system approves the resource transfer party to borrow the first resource and then distributes the credit certificate to the resource transfer party, which is beneficial to supervising and restricting the resource transfer party.
- the amount of the first resource borrowed does not exceed the allowable amount, thereby protecting the interests of the party lending the resource.
- the resource transfer condition is that the resource transfer party has received the first resource returned by the resource transfer party
- the resource transfer party is the borrower of the first resource
- the resource transfer The lender is the lender of the first resource.
- the resource transfer party transfers the first resource to be returned to the resource transfer party to return the first resource borrowed from the resource transfer party.
- This process is not written into the blockchain; when the resource transfer party receives After the resource transfer party returns the first resource in the chain, the resource transfer party performs the resource transfer method in the embodiment of the present application, and transfers the second resource corresponding to the returned amount of the first resource to the resource transfer party.
- the purpose of resource transfer is to restore the quota or make up the quota after the resource transfer party returns the borrowed resources.
- the amount of the returned first resource may be determined as the first amount of the first resource to be transferred.
- the second resource corresponding to the first amount of the first resource is transferred to the resource transferee to restore the amount of the borrowed resource. It can be understood that after the completion of this resource transfer, the amount of the second resource held by the resource transferee reflects the remaining amount of the resource that the resource transferee can borrow.
- the second amount of the second resource determined according to the first amount of the first resource is encrypted, and the privacy data of the amount of the resource actually returned by the resource transfer party may be protected.
- the technical purpose of the application is achieved.
- the resource borrowing The party will restore the quota or make up the quota to protect the normal transaction of the resource borrower. On the other hand, it will help to regulate and limit the amount of resources borrowed by the resource borrower to protect the interests of the resource lender.
- the resource borrowing agreement includes the amount of the first resource that the resource transfer party applies for borrowing from the resource transfer party.
- the resource transfer party in the scenario is the borrower of the first resource
- the resource transfer party is the lender of the first resource.
- the borrower transfers the portion of the second resource held by itself to the lender (resource transferee) corresponding to the amount of the first resource requested to be borrowed.
- the purpose of carrying out this resource transfer and writing the resource transfer transaction into the blockchain can be understood as, on the one hand, the resource transfer direction indicates that the resource transfer party proves the amount of the borrowed resource (indicated as the resource before the resource transfer)
- the amount of the second resource held by the transferor satisfies the amount of resources borrowed from the application, so that the resource transferee can borrow the first resource of actual value from the resource transferee;
- the amount of the second resource held by the resource will be reduced accordingly, which is equivalent to deducting the amount of resources allowed by the resource transferor to borrow the resource.
- the transaction in which the amount is deducted is written into the blockchain, which helps to regulate and limit the amount of resources borrowed by the resource borrower to protect the interests of the resource lender.
- the amount of the first resource that is requested to be borrowed in the resource borrowing protocol may be determined as the first amount of the first resource to be transferred, and then the second resource to be transferred is determined on the basis of Two amounts for the transfer of the second resource.
- the resource transferor needs to prove to the blockchain that the node other than the node (the resource transferor and the node corresponding to the resource transfer party) participating in the current resource transfer transaction proves the current resource transfer transaction. legality.
- a zero-knowledge proof may be added to the transaction request initiated by the resource transferee to prove the sum of the balance of the second resource to be held by the resource transferee after the execution of the transaction request and the second amount, equal to the resource transfer The amount of the second resource held by the party prior to initiating the transaction request.
- the resource transferee can prove the authenticity of the relevant content to each node on the blockchain without exposing any specific information (including the amount of resource transfer, etc.), specifically, it can be understood as Proof that the above-mentioned “the sum of the balance of the second resource to be held by the resource transferor and the second amount after the execution of the transaction request is equal to the amount of the second resource held by the resource transferee before the transaction request is initiated” Be true.
- the balance of the second resource to be held by the resource transferor is recorded as quota_c', and the second amount of the second resource to be transferred is recorded as quota_d, which is held by the resource transferee before the transaction request is initiated.
- the resource transfer direction sends a transaction request TX initiated by the blockchain, and its transaction format can be expressed as:
- the resource transferee may also prove to the nodes in the blockchain that the amount of the second resource transferred by the resource transfer party, that is, the second amount quota_d is greater than zero, the resource transfer party The amount quota_c of the second resource held before initiating the transaction request is greater than zero, and the balance quota_c' of the second resource to be held by the resource transferee after execution of the transaction request is not less than zero.
- the zero knowledge proof function can be expressed as:
- the resource is transferred out to the transaction request TX initiated by the blockchain, and the transaction format can be expressed as:
- the transaction request may further include identification information (which may be recorded as Tx_in) of the last resource transfer transaction in which the resource transferor participates, which may be specifically taken as a hash of the last resource transfer transaction recorded in the blockchain. value.
- the last resource transfer transaction in which the resource transfer party participates may be a transaction for borrowing resources, a transaction for confirming the borrowed amount, or a transaction for replenishing the amount of the resource after the resource is returned.
- the identification information of the last resource transfer transaction in which the resource transfer party participates is sent to the blockchain for verification, which is beneficial to ensure the consistency of the change of the amount of the second resource held by the resource transfer party (as a resource borrower).
- the resource is transferred out to the transaction request TX initiated by the blockchain, and the transaction format can be expressed as:
- the transaction request may further include second encrypted amount information obtained by performing encryption processing on the balance (denoted as “quota_c”) of the second resource to be held by the resource transferee after executing the transaction request.
- the balance quota_c' of the second resource to be held by the resource transferee after the transaction request is executed may be encrypted by using the second encryption function (denoted as enc(x, y)).
- one input of the second encryption function is the balance of the second resource (denoted as quota_c'), and the other input is the public key of the resource transferee (denoted as pk_c). It can be understood that if the public key of the resource transfer party is an asymmetric key, the second encryption function is an asymmetric encryption function; if the public key of the resource transfer party is a symmetric key, the second encryption function is Symmetric encryption function.
- the identification information of the public key of the resource transfer party may also be sent to the blockchain system as part of the transaction request, and the blockchain system is uplinked after being verified and implemented.
- a hash value (denoted as hash (pk_c)) of the public key of the resource transferee may be used as the identification information of the public key.
- the transaction format of the transaction request TX initiated by the resource transferee can be expressed as:
- the specific implementation of the resource transfer method provided by the embodiment of the present application in different scenarios and resource transfer based on different purposes is illustrated by way of example. Under different resource transfer conditions, the purpose of resource transfer is different, and the roles of participating resource transfer parties in business processes are different. Regardless of the purpose of resource transfer, when a transaction request for transferring a second amount is initiated to the blockchain, the resource transfer party and the resource transfer party can be hidden by encrypting the second amount.
- the specific transaction information is specifically represented by the first amount of information of the first resource to be transferred, so that the privacy information of both parties of the resource transfer can be protected during the resource transfer process.
- the first resource is embodied as funds and the second resource is embodied in tokens.
- This scenario involves a blockchain-based method for transferring funds, as shown in Figure 2, including:
- S203 Determine a second amount of the token to be transferred according to the first amount of the fund; the fund is different from the type of the token;
- the forward direction blockchain initiates a transaction request, and is used to transfer the token to be transferred to the transfer party; wherein the transaction request includes the first encrypted amount information obtained by performing encryption processing on the second amount of the token;
- the business process may include a credit evaluation and token issuing phase, a loan application and issuance phase, and a repayment phase.
- a specific institution A In the credit evaluation, a specific institution A can be determined in advance, the user's credit rating is evaluated, and a credible conclusion is given on the user's loan issuance quota. It can be understood that the determination of this specific institution A can be reviewed and designated by the fund supervision department in accordance with relevant regulations, or it can be elected or agreed by the institutions involved in lending.
- the function of the specific organization A is mainly to perform credit evaluation on the user according to the relevant information of the user, and determine the loan payment quota of the user (in the form of real money, that is, funds, that is, the foregoing in the embodiment of the present application) The first amount of a resource).
- the information about the user C who intends to apply for the loan often involves the personal privacy of the user C, such as the user's name, ID number and other personal information, as well as the user's income data, consumption information, repayment status, etc.
- the information provided by User C to the specific organization A is not disclosed to other institutions, such as the institution that issues the loan, but is only known to the specific institution A.
- the specific institution A sends the evaluation result (including the loan payment amount) to the preset specific institution B, by the specific The institution B issues the token of the amount corresponding to the loan issuance amount to the user C who intends to apply for the loan (in the form of virtual currency, that is, the second resource described in the foregoing embodiment).
- the specific institution A and the specific institution B may be concurrently owned by the same entity.
- the loan issuance amount that the user C borrows is allowed to be determined as the first fund to be transferred.
- the amount, and on this basis, determines the second amount of token to be transferred (as described in the previous embodiment, there may be multiple ways to achieve a correspondence between the first amount of funds and the second amount of tokens) .
- the transfer party is embodied as the above-mentioned specific institution B, and the transfer party is embodied as the user C who intends to apply for the loan, and the transaction request initiated by the transfer-out blockchain includes the second amount of the token (denoted as Quota_c) The first encrypted amount information obtained after the encryption process.
- the second amount quota_c of the token can be obtained by encrypting the second amount quota_c of the token by using the first encryption function (denoted as enc(x, y)).
- one input of the first encryption function is the second amount quota_c of the token
- the other input is the public key of the transfer party (that is, user C) (denoted as pk_c).
- the public key of the transferred party is an asymmetric key
- the first encryption function is an asymmetric encryption function
- the public key of the transferred party is a symmetric key
- the first encryption function is symmetric encryption. function.
- the identification information of the public key pk_c of the transferee may also be sent to the blockchain system as part of the transaction request, and the blockchain system is uplinked after verification and implementation.
- a hash value of the public key of the transfer party (denoted as hash (pk_c)) may be used as the identification information of the public key.
- TX (enc(pk_c,quota_c),hash(pk_c))
- the amount of the token held by the user C can reflect the amount of actual funds that the user C is allowed to borrow (that is, the loan issuance amount). It can be understood that when user C has borrowed part of the funds (the amount of funds actually borrowed should not be greater than the above loan amount), the amount of tokens held by user C will decrease, indicating that user C can borrow The amount of funds is deducted; when User C returns the borrowed funds, the amount of tokens held by User C will increase, indicating that the amount of funds that User C can borrow is restored or topped up.
- the user C may be re-evaluated periodically or periodically to adjust the loan amount of the user.
- the specific institution B can perform the above-mentioned fund transfer process to issue the difference of the credit amount to the user C.
- the difference of the credit amount is determined as the first amount of the funds to be transferred.
- the user may be required to return the difference of the amount to the specific institution B within a specified time.
- the user C will act as the transfer party, and the specific institution B will act as the transfer party, and the quota will be The difference is determined as the first amount of funds to be transferred.
- the specific institution B can send a blacklist to all the loan issuing agencies, restricting the user C to handle the loan, and only accepting the receipt. User C repays the difference until User C returns the amount.
- the token representing the loan amount is issued to the user C, and the issuing process is written into the blockchain, which facilitates the supervision of the loan amount of the user C, thereby reducing the risk of the loan issuing institution lending and maintaining The transaction is safe.
- Figure 3 shows a schematic diagram of the business process in the stage of credit evaluation and issuing tokens, as follows:
- the institution A decides whether to allow the user C loan according to the result of the credit evaluation, determines the allowed loan amount (equivalent to the first amount of the first resource, the first amount of the fund, which is embodied as real money), and feeds the credit to the user C.
- the result of the assessment is a condition in which the institution A pays the loan amount (equivalent to the first amount of the first resource, the first amount of the fund, which is embodied as real money), and feeds the credit to the user C.
- agency A will send information about the amount of user C loan to institution B for token dispensing.
- the institution B determines the amount of the token corresponding to the loan amount according to the amount information (equivalent to the second amount of the second resource, and the second amount of the token is embodied as the virtual currency).
- the institution B (as the resource transfer party, the transfer party) initiates a transaction request to the blockchain platform, and the transaction request contains the information of the token amount. To protect privacy, this information is encrypted information after encrypting the token amount.
- the institution B After the blockchain platform verifies the legality of the transaction request, the institution B is allowed to implement the transaction request; and after the agency B transfers the corresponding amount of the token to the user C (as the resource transfer party, the transfer party), Write the implementation result of the transaction to the blockchain.
- the amount of tokens held by User C reflects the amount of the loan that User C is allowed to borrow.
- the user C sends a transaction request to the blockchain to send the token of the quota_d to the issuing institution D.
- the transaction request may include the first encrypted amount information obtained by encrypting the quota_d, reflecting the amount of the token to be transferred to the institution D; and may further include encrypting the balance quota_c' of the token held by the user C.
- the second encrypted amount information reflects the balance of the token to be returned to the user C's own account; and may further include the identification information (which may be recorded as Tx_in) of the last fund transfer transaction in which the user C participated, which may be specifically determined as a block.
- the hash value recorded in the chain and the last fund transfer transaction may also be a preset identifier for distinguishing different transactions, and the basis for determining the amount quota_c of the token held by the user C is determined.
- a zero-knowledge proof may be added to prove the balance quota_c' and the transfer of the token to be held by the transferor (user C) after executing the transaction request.
- the zero-knowledge proof it is also possible to use the zero-knowledge proof to prove that the amount of the token transferred by the transferor (user C) quota_d is greater than zero, and the amount of the token held by the transferee (user C) before initiating the transaction request quota_c is greater than Zero, and, after executing the transaction request, the balance of the token to be held by the transferee (user C) quota_c' is not less than zero.
- Tx_in can understand the input of this transaction, reflecting the source of the amount of tokens held by user C (here, the transferee).
- Enc(pk_d,quota_d), hash(pk_d) can be understood as the first output of this transaction, reflecting the amount of tokens sent by user C to institution D, quota_d, which also reflects the receipt of tokens sent by user D to user C.
- Enc(pk_c,quota_c'), hash(pk_c) can be understood as the second output of this transaction, reflecting the amount of tokens remaining in user C after the completion of token transfer quota_c', equivalent to user C after sending tokens Get the change.
- the zero-knowledge proof is used to prove the legality of the transaction to the nodes in the blockchain that are not involved in the transaction, and does not disclose the specific amount of the transaction, and protects the privacy of both parties.
- Figure 4 shows the business process diagram of the loan application and issuance phase, as follows:
- User C submits a loan application to the institution D that issued the loan. After reaching a loan agreement with institution D, user C determines the amount of the loan (equivalent to the first amount of the first resource, the first amount of funds, reflected in the real currency) according to the agreement of the loan agreement, and then determines the loan The amount of the token corresponding to the amount (equivalent to the second amount of the second resource, the second amount of the token, embodied as a virtual currency).
- user C (as the resource transfer party, the transfer party) initiates a transaction request to the blockchain platform, the transaction request containing the information of the token amount.
- this information is encrypted information after encrypting the token amount.
- the blockchain platform verifies the legality of the transaction request, the user C is allowed to implement the transaction request; and after the user C transfers the corresponding amount of the token to the institution D (as the resource transfer party, the transfer party), Write the implementation result of the transaction to the blockchain.
- the institution D issues a loan corresponding to the amount to the user C.
- the user C When the user C needs to repay the payment institution D, the user C first remits the money to the bank account of the payment institution D, and returns the loan with the real money (equivalent to the first resource). Then, after receiving the real money returned by the user C, the lending institution D transfers the token corresponding to the real money amount returned by the user C (equivalent to the second resource) to the user C by initiating a transaction request to the blockchain. To restore or replenish the loan amount for User C.
- the transaction format of the transaction request TX initiated by the transfer party (here, the lending institution D) can be expressed as:
- TX (enc(pk_c,quota_d),hash(pk_c))
- the transaction request can be understood as that the encryption function is used to encrypt the amount of the token corresponding to the amount of funds received by the payment institution D (the money transfer party), wherein an input of the encryption function is a token.
- the amount quota_d another input is the public key pk_c of user C (funds transferee).
- the identification information of the user C's public key such as the hash value hash (pk_c) of the public key pk_c, is also sent to the blockchain system as part of the transaction request.
- Figure 5 shows the business process diagram of the repayment phase, as follows:
- User C sends the funds to be returned to the institution D that issued the loan to realize the return of the real money.
- the institution D confirms the amount of funds received by the user C (equivalent to the first amount of the first resource, the first amount of the fund, which is reflected in the real currency), and on this basis, determines the amount of the repayment The amount of the corresponding token (equivalent to the second amount of the second resource, the second amount of the token, embodied as a virtual currency).
- the institution D (as the resource transfer party, the transferor) initiates a transaction request to the blockchain platform, the transaction request containing information on the amount of the token. To protect privacy, this information is encrypted information after encrypting the token amount.
- the institution D After the blockchain platform verifies and confirms the legality of the transaction request, the institution D is allowed to implement the transaction request; and after the institution D transfers the corresponding amount of the token to the user C (as the resource transfer party, the transfer party), Write the implementation result of the transaction to the blockchain.
- the fund transfer method provided by the embodiment of the present application is adopted, by converting the amount of funds representing the real money into the amount of the token representing the virtual currency, and by passing the generation in the blockchain.
- the method of encrypting the amount of coins protects the privacy of both parties. Even if a number of lenders join the blockchain platform for loan issuance, the total amount of loans that users apply for at multiple issuing agencies will not exceed the allowable loan amount, thus reducing the lending risk of lenders. This is because, as described in the above example, the token reflecting the loan amount is issued by the specific institution B, and the amount of the token held by the user will also change according to the user's borrowing and repayment behavior, and these changes will be brought about.
- the transactions are written into the blockchain. By using the open, transparent and non-tamperable features of the blockchain technology, the authenticity and reliability of the token amount can be guaranteed, thus ensuring that the user cannot apply for the loan excessively.
- the amount of the transferred token has been encrypted, thereby concealing the specific transaction information of both parties, and therefore, the fund can be protected during the fund transfer process. Transfer the privacy information of both parties.
- the embodiment of the present application further provides a resource chain transfer method based on a blockchain.
- the method includes:
- S303 Determine, according to the first amount of the first resource, a second amount of the second resource to be transferred by using a one-way function; the first resource is different from the second resource;
- the resource forwarding direction block chain initiates a transaction request, and is used to transfer the second resource to be transferred to the resource transfer party; wherein the transaction request includes information corresponding to the second amount of the second resource;
- the first resource that needs to be transferred is converted into the second resource for transfer, and the purpose of resource transfer can be achieved by transferring the second resource, and the first resource and the second resource are realized by the one-way function.
- the conversion between the amount, using the characteristics of the one-way function, makes it impossible for the third party outside the transaction to infer the first amount of the first resource according to the second amount of the second resource, so that the amount of the first resource actually transferred can be hidden. Play a role in protecting the privacy of transactions.
- the first amount of the first resource when the second amount of the second resource is determined by using the one-way function, the first amount of the first resource and a random number may be used as the input of the one-way function, and the one-way function is The output of the function is determined to be the second amount of the second resource.
- the second amount is further encrypted to obtain the first encrypted amount information, and the first encrypted amount information is carried in the transaction request initiated by the resource transfer party, which can better protect the resource transfer. Privacy information for the transaction.
- the resource transferee When a one-way function is used to implement the amount conversion between the first resource and the second resource, the resource transferee also needs to send the random number (as an input of the one-way function) used in the conversion to the resource transfer party, so that The resource transfer party performs a reverse conversion of the resource type to infer the first amount of the first resource.
- the random number may be encrypted before the resource forwarding direction block chain initiates the transaction request, and the initiated transaction request carries the encrypted random number, thereby avoiding the leakage of the random number.
- the random number used in each transaction should be changed, thereby avoiding leakage of the transaction amount information.
- the first resource is specifically a fund
- the second resource is specifically a token.
- the corresponding blockchain-based fund transfer method includes:
- S401 Determine a first amount of funds to be transferred when the transfer condition is met
- S403 Determine, according to the first amount of funds, a one-way function to determine a second amount of the token to be transferred; the type of the fund is different from the type of the token;
- the outbound direction blockchain initiates a transaction request, and is used to transfer the token to be transferred to the transferee; wherein the transaction request includes information corresponding to the second amount of the token;
- the embodiment of the present application further provides a blockchain-based resource transfer device, as shown in FIG. 8 , including:
- the first amount determining module 101 determines a first amount of the first resource to be transferred when the resource transfer condition is met;
- the second amount determining module 103 determines, according to the first amount of the first resource, a second amount of the second resource to be transferred; the first resource is different from the second resource;
- the transaction request initiating module 105 the resource transfer direction blockchain initiates a transaction request, and is used to transfer the second resource to be transferred to the resource transfer party; wherein the transaction request includes encrypting the second amount of the second resource The first encrypted amount information obtained;
- the chain entry module 107 after the block chain verifies the transaction request, executes the transaction request, transfers the second resource to be transferred to the resource transfer party, and writes the execution result into the blockchain.
- FIG. 9 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
- the electronic device includes a processor, optionally including an internal bus, a network interface, and a memory.
- the memory may include a memory, such as a high-speed random access memory (RAM), and may also include a non-volatile memory, such as at least one disk memory.
- RAM high-speed random access memory
- non-volatile memory such as at least one disk memory.
- the electronic device may also include hardware required for other services.
- the processor, the network interface, and the memory may be interconnected by an internal bus, which may be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended) Industry Standard Architecture, extending the industry standard structure) bus.
- the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one double-headed arrow is shown in Figure 9, but it does not mean that there is only one bus or one type of bus.
- the program can include program code, the program code including computer operating instructions.
- the memory can include both memory and non-volatile memory and provides instructions and data to the processor.
- the processor reads the corresponding computer program from the non-volatile memory into memory and then runs to form a blockchain-based resource transfer device at a logical level.
- the processor executes the program stored in the memory and is specifically used to perform the following operations:
- the resource transfer direction blockchain initiates a transaction request, and is used to transfer the second resource to be transferred to the resource transfer party; wherein the transaction request includes the first encryption amount obtained by encrypting the second amount of the second resource information;
- the transaction request is executed, the second resource to be transferred is transferred to the resource transferee, and the execution result is written into the blockchain.
- the method performed by the blockchain-based resource transfer apparatus disclosed in the embodiment shown in FIG. 1 of the present application may be applied to a processor or implemented by a processor.
- the processor may be an integrated circuit chip with signal processing capabilities.
- each step of the above method may be completed by an integrated logic circuit of hardware in a processor or an instruction in a form of software.
- the above processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; or may be a digital signal processor (DSP), dedicated integration.
- ASIC Application Specific Integrated Circuit
- FPGA Field-Programmable Gate Array
- the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
- the steps of the method disclosed in the embodiments of the present application may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
- the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
- the storage medium is located in the memory, and the processor reads the information in the memory and combines the hardware to complete the steps of the above method.
- the electronic device can also perform the method performed by the blockchain-based resource transfer device in FIG. 1 and implement the function of the blockchain-based resource transfer device in the embodiment shown in FIG. 1.
- the embodiment of the present application does not repeat here. .
- the embodiment of the present application further provides a computer readable storage medium storing one or more programs, the one or more programs including instructions that are executed by an electronic device including a plurality of applications
- the electronic device can be configured to perform the method performed by the blockchain-based resource transfer device in the embodiment shown in FIG. 1, and is specifically configured to perform:
- the resource transfer direction blockchain initiates a transaction request, and is used to transfer the second resource to be transferred to the resource transfer party; wherein the transaction request includes the first encryption amount obtained by encrypting the second amount of the second resource information;
- the transaction request is executed, the second resource to be transferred is transferred to the resource transferee, and the execution result is written into the blockchain.
- the embodiment of the present application further provides a blockchain-based fund transfer device, as shown in FIG. 10, including:
- the fund amount determining module 201 determines the first amount of funds to be transferred when the transfer condition is satisfied;
- the token amount determining module 203 determines a second amount of the token to be transferred according to the first amount of the fund; the fund is different from the type of the token;
- the transaction request initiating module 205 sends a transaction request to the transfer block to transfer the token to be transferred to the transfer party.
- the transaction request includes the first process obtained by encrypting the second amount of the token. Encrypted amount information;
- the chain entry module 207 after verifying the transaction request by the blockchain, executes the transaction request, transfers the token to be transferred to the transferee, and writes the execution result into the blockchain.
- FIG. 11 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
- the electronic device includes a processor, optionally including an internal bus, a network interface, and a memory.
- the memory may include a memory, such as a high-speed random access memory (RAM), and may also include a non-volatile memory, such as at least one disk memory.
- RAM high-speed random access memory
- the electronic device may also include hardware required for other services.
- the processor, the network interface, and the memory may be interconnected by an internal bus, which may be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended) Industry Standard Architecture, extending the industry standard structure) bus.
- the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one double-headed arrow is shown in Figure 11, but it does not mean that there is only one bus or one type of bus.
- the program can include program code, the program code including computer operating instructions.
- the memory can include both memory and non-volatile memory and provides instructions and data to the processor.
- the processor reads the corresponding computer program from the non-volatile memory into memory and then operates to form a blockchain-based money transfer device at a logical level.
- the processor executes the program stored in the memory and is specifically used to perform the following operations:
- the transfer-out blockchain initiates a transaction request for transferring the token to be transferred to the transferee; wherein the transaction request includes the first encrypted amount information obtained by encrypting the second amount of the token;
- the transaction request is executed, the token to be transferred is transferred to the transferee, and the execution result is written into the blockchain.
- the method performed by the blockchain-based fund transfer apparatus disclosed in the embodiment shown in FIG. 2 of the present application may be applied to a processor or implemented by a processor.
- the processor may be an integrated circuit chip with signal processing capabilities.
- each step of the above method may be completed by an integrated logic circuit of hardware in a processor or an instruction in a form of software.
- the above processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; or may be a digital signal processor (DSP), dedicated integration.
- ASIC Application Specific Integrated Circuit
- FPGA Field-Programmable Gate Array
- other programmable logic device discrete gate or transistor logic device, discrete hardware component.
- the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
- the steps of the method disclosed in the embodiments of the present application may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
- the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
- the storage medium is located in the memory, and the processor reads the information in the memory and combines the hardware to complete the steps of the above method.
- the electronic device can also perform the method performed by the blockchain-based fund transfer device in FIG. 2, and implement the function of the blockchain-based fund transfer device in the embodiment shown in FIG. 2, which is not described herein again in the embodiment of the present application. .
- the embodiment of the present application further provides a computer readable storage medium storing one or more programs, the one or more programs including instructions that are executed by an electronic device including a plurality of applications
- the electronic device can be configured to perform the method performed by the blockchain-based fund transfer apparatus in the embodiment shown in FIG. 2, and specifically for performing:
- the transfer-out blockchain initiates a transaction request for transferring the token to be transferred to the transferee; wherein the transaction request includes the first encrypted amount information obtained by encrypting the second amount of the token;
- the transaction request is executed, the token to be transferred is transferred to the transferee, and the execution result is written into the blockchain.
- embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
- These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
- the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
- a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
- processors CPUs
- input/output interfaces network interfaces
- memory volatile and non-volatile memory
- the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
- RAM random access memory
- ROM read only memory
- Memory is an example of a computer readable medium.
- Computer readable media includes both permanent and non-persistent, removable and non-removable media.
- Information storage can be implemented by any method or technology.
- the information can be computer readable instructions, data structures, modules of programs, or other data.
- Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
- computer readable media does not include temporary storage of computer readable media, such as modulated data signals and carrier waves.
- embodiments of the present application can be provided as a method, system, or computer program product.
- the present application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment in combination of software and hardware.
- the application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Computer Hardware Design (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种基于区块链的资源转移方法,包括:当满足资源转移条件时,确定待转移的第一资源的第一数额;根据第一资源的第一数额,确定待转移的第二资源的第二数额,第一资源与第二资源的类型不同;资源转出方向区块链发起交易请求,用于向资源转入方转移待转移的第二资源,其中,交易请求中包括对第二资源的第二数额进行加密处理后得到的第一加密数额信息;在区块链对交易请求进行验证后,执行交易请求,将待转移的第二资源转移到资源转入方,并将执行结果写入区块链。从而能够在资源转移过程中能够保护资源转移双方的隐私信息。
Description
本申请涉及计算机技术领域,尤其涉及一种资源转移和资金转移的方法和系统。
区块链技术(又称分布式账本技术)是一种特殊的分布式数据库技术,适合存储简单的、有先后关系的、能在系统内验证的数据,利用密码学和共识算法保证了数据的不可篡改和不可伪造。随着计算机和互联网技术的发展,区块链技术以其去中心化、公开透明、不可篡改、可信任等优点,备受青睐,在智能合约、证券交易、电子商务、物联网、社交通讯、文件存储、存在性证明、身份验证、股权众筹等众多领域得到广泛应用。
当将区块链技术应用于资源转移这类交易场景时,由于所有交易信息均需要发送到区块链系统进行验证、实施和上链,参与交易的资源转移双方的隐私信息,例如具体交易信息,所拥有资源的总额,个体隐私信息等都将面临泄露给与本次交易无关的第三方的风险。以将区块链技术应用于互联网银行的借贷业务中为例,借款方向出借方贷款的具体数额等交易信息均需要入链,从而对借贷双方的隐私信息构成威胁。
因此,亟需一种在资源转移过程中能够保护资源转移双方隐私信息的方案。
发明内容
本申请实施例提供一种资源转移方法、装置及对应的电子设备和计算机可读存储介质,目的在于在资源转移过程中能够保护资源转移双方的隐私信息。
本申请实施例还提供一种资金转移方法、装置及对应的电子设备和计 算机可读存储介质,目的在于在资金转移的过程中能够保护资金借贷双方的隐私信息。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供一种基于区块链的资源转移方法,包括:
当满足资源转移条件时,确定待转移的第一资源的第一数额;
根据所述第一资源的第一数额,确定待转移的第二资源的第二数额;所述第一资源与所述第二资源的类型不同;
资源转出方向区块链发起交易请求,用于向资源转入方转移所述待转移的第二资源;其中,所述交易请求中包括对所述第二资源的第二数额进行加密处理后得到的第一加密数额信息;
在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的第二资源转移到所述资源转入方,并将执行结果写入所述区块链。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述交易请求中包括的所述第一加密数额信息,通过采用第一加密函数对所述第二资源的第二数额进行加密处理得到;
其中,所述第一加密函数的一个输入为所述第二资源的第二数额,另一个输入为所述资源转入方的公钥。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述交易请求中还包括所述资源转入方的公钥的标识信息。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述资源转入方的公钥的标识信息为所述资源转入方的公钥的哈希值。
优选地,在第一方面提供的基于区块链的资源转移方法中,根据所述第一资源的第一数额,确定待转移的第二资源的第二数额,包括:
根据所述第一资源的第一数额,采用单向函数确定所述第二资源的第二数额。
优选地,在第一方面提供的基于区块链的资源转移方法中,采用单向 函数确定所述第二资源的第二数额,包括:
将所述第一资源的第一数额和一随机数作为所述单向函数的输入,将所述单向函数的输出确定为所述第二资源的第二数额。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述资源转出方向区块链发起的所述交易请求中,还包括加密后的所述随机数。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述资源转移条件包括允许所述资源转入方借取所述第一资源;则确定待转移的第一资源的第一数额,包括:
将允许所述资源转入方借取的第一资源的额度,作为所述待转移的第一资源的第一数额。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述资源转移条件包括所述资源转出方已接收到所述资源转入方归还的第一资源;则确定待转移的第一资源的第一数额,包括:
将所述归还的第一资源的数额,确定为所述待转移的第一资源的第一数额。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述资源转移条件包括所述资源转入方与所述资源转出方已达成资源借取协议,所述资源借取协议中包含所述资源转出方向所述资源转入方申请借取的第一资源的数额;则确定待转移的第一资源的第一数额,包括:
将所述申请借取的第一资源的数额,确定为所述待转移的第一资源的第一数额。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述交易请求中还包括零知识证明,用于证明执行所述交易请求之后所述资源转出方将要持有的第二资源的余额与所述第二数额的和,等于所述资源转出方在发起所述交易请求前所持有的第二资源的数额。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述零知识证明还用于证明所述第二数额大于零,所述资源转出方在发起所述交易 请求前所持有的第二资源的数额大于零,并且,执行所述交易请求之后所述资源转出方将要持有的第二资源的余额不小于零。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述交易请求中还包括所述资源转出方参与的上一次资源转移交易的标识信息。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述资源转出方参与的上一次资源转移交易的标识信息,具体为所述区块链中记录的、所述上一次资源转移交易的哈希值。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述交易请求中还包括对执行所述交易请求之后所述资源转出方将要持有的第二资源的余额进行加密处理后得到的第二加密数额信息。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述交易请求中包括的所述第二加密数额信息,通过采用第二加密函数对执行所述交易请求之后所述资源转出方将要持有的第二资源的余额进行加密处理得到;
其中,所述第二加密函数的一个输入为所述第二资源的余额,另一个输入为所述资源转出方的公钥。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述交易请求中还包括所述资源转出方的公钥的标识信息。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述资源转出方的公钥的标识信息为所述资源转出方的公钥的哈希值。
优选地,在第一方面提供的基于区块链的资源转移方法中,所述第一资源具体为资金,所述第二资源具体为代币。
第二方面,本申请实施例还提供了一种基于区块链的资金转移方法,包括:
当满足转移条件时,确定待转移的资金的第一数额;
根据所述资金的第一数额,确定待转移的代币的第二数额;所述资金与所述代币的类型不同;
转出方向区块链发起交易请求,用于向转入方转移所述待转移的代币;其中,所述交易请求中包括对所述代币的第二数额进行加密处理后得到的第一加密数额信息;
在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的代币转移到所述转入方,并将执行结果写入所述区块链。
第三方面,本申请实施例提供了一种基于区块链的资源转移装置,包括:
第一数额确定模块,当满足资源转移条件时,确定待转移的第一资源的第一数额;
第二数额确定模块,根据所述第一资源的第一数额,确定待转移的第二资源的第二数额;所述第一资源与所述第二资源的类型不同;
交易请求发起模块,资源转出方向区块链发起交易请求,用于向资源转入方转移所述待转移的第二资源;其中,所述交易请求中包括对所述第二资源的第二数额进行加密处理后得到的第一加密数额信息;
入链模块,在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的第二资源转移到所述资源转入方,并将执行结果写入所述区块链。
第四方面,本申请实施例还提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
当满足资源转移条件时,确定待转移的第一资源的第一数额;
根据所述第一资源的第一数额,确定待转移的第二资源的第二数额;所述第一资源与所述第二资源的类型不同;
资源转出方向区块链发起交易请求,用于向资源转入方转移所述待转移的第二资源;其中,所述交易请求中包括对所述第二资源的第二数额进行加密处理后得到的第一加密数额信息;
在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的第二资源转移到所述资源转入方,并将执行结果写入所述区块链。
第五方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被包括多个应用程序的电子设备执行时,能够使所述电子设备执行以下操作:
当满足资源转移条件时,确定待转移的第一资源的第一数额;
根据所述第一资源的第一数额,确定待转移的第二资源的第二数额;所述第一资源与所述第二资源的类型不同;
资源转出方向区块链发起交易请求,用于向资源转入方转移所述待转移的第二资源;其中,所述交易请求中包括对所述第二资源的第二数额进行加密处理后得到的第一加密数额信息;
在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的第二资源转移到所述资源转入方,并将执行结果写入所述区块链。
第六方面,本申请实施例提供一种基于区块链的资金转移装置,包括:
资金数额确定模块,当满足转移条件时,确定待转移的资金的第一数额;
代币数额确定模块,根据所述资金的第一数额,确定待转移的代币的第二数额;所述资金与所述代币的类型不同;
交易请求发起模块,转出方向区块链发起交易请求,用于向转入方转移所述待转移的代币;其中,所述交易请求中包括对所述代币的第二数额进行加密处理后得到的第一加密数额信息;
入链模块,在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的代币转移到所述转入方,并将执行结果写入所述区块链。
第七方面,本申请实施例提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
当满足转移条件时,确定待转移的资金的第一数额;
根据所述资金的第一数额,确定待转移的代币的第二数额;所述资金与所述代币的类型不同;
转出方向区块链发起交易请求,用于向转入方转移所述待转移的代币;其中,所述交易请求中包括对所述代币的第二数额进行加密处理后得到的第一加密数额信息;
在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的代币转移到所述转入方,并将执行结果写入所述区块链。
第八方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被包括多个应用程序的电子设备执行时,能够使所述电子设备执行以下操作:
当满足转移条件时,确定待转移的资金的第一数额;
根据所述资金的第一数额,确定待转移的代币的第二数额;所述资金与所述代币的类型不同;
转出方向区块链发起交易请求,用于向转入方转移所述待转移的代币;其中,所述交易请求中包括对所述代币的第二数额进行加密处理后得到的第一加密数额信息;
在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的代币转移到所述转入方,并将执行结果写入所述区块链。
第九方面,本申请实施例提供一种基于区块链的资源转移方法,包括:
当满足资源转移条件时,确定待转移的第一资源的第一数额;
根据所述第一资源的第一数额,采用单向函数确定待转移的第二资源 的第二数额;所述第一资源与所述第二资源的类型不同;
资源转出方向区块链发起交易请求,用于向资源转入方转移所述待转移的第二资源;其中,所述交易请求中包括与所述第二资源的第二数额相对应的信息;
在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的第二资源转移到所述资源转入方,并将执行结果写入所述区块链。
优选地,在第九方面提供的基于区块链的资源转移方法中,根据所述第一资源的第一数额,采用单向函数确定待转移的第二资源的第二数额,包括:
将所述第一资源的第一数额和一随机数作为所述单向函数的输入,将所述单向函数的输出确定为所述第二资源的第二数额。
优选地,在第九方面提供的基于区块链的资源转移方法中,所述资源转出方向区块链发起的所述交易请求中,还包括加密后的所述随机数。
优选地,在第九方面提供的基于区块链的资源转移方法中,所述第一资源具体为资金,所述第二资源具体为代币。
第十方面,本申请实施例提供一种基于区块链的资金转移方法,包括:
当满足转移条件时,确定待转移的资金的第一数额;
根据所述资金的第一数额,采用单向函数确定待转移的代币的第二数额;所述资金与所述代币的类型不同;
转出方向区块链发起交易请求,用于向转入方转移所述待转移的代币;其中,所述交易请求中包括与所述代币的第二数额相对应的信息;
在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的代币转移到所述转入方,并将执行结果写入所述区块链。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供的技术方案,在满足资源转移条件时,确定待转移的第一资源的第一数额,并在此基础上,将第一资源的第一数额转换为资 源类型不同的第二资源的第二数额,进而发起用于转移第二数额的交易请求,并通过对第二数额进行加密处理得到加密数额信息(也就是加密后的第二数额),从而在区块链针对该交易请求进行验证、实施和上链时,可以通过对第二数额进行加密处理的方式隐藏资源转出方与资源转入方之间的具体交易信息,具体表现为待转移的第一资源的第一数额的信息,从而能够在资源转移过程中保护资源转移双方的隐私信息。
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种资源转移方法的流程示意图;
图2为本申请实施例提供的一种资金转移方法的流程示意图;
图3为本申请实施例提供的资金转移方法在资金借贷场景下发放代币阶段的业务流程示意图;
图4为本申请实施例提供的资金转移方法在资金借贷场景下申请贷款阶段的业务流程示意图;
图5为本申请实施例提供的资金转移方法在资金借贷场景下还款阶段的业务流程示意图;
图6为本申请实施例提供的另一种资源转移方法的流程示意图;
图7为本申请实施例提供的另一种资金转移方法的流程示意图;
图8为本申请实施例提供的一种资源转移装置的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图;
图10为本申请实施例提供的一种资金转移装置的结构示意图;
图11为本申请实施例提供的又一种电子设备的结构示意图。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中所称的资源,可以具体化为数据资源、资金资源等可以在多方之间转移的资源类型。在基于区块链技术构建的资源管理平台上,资源持有者之间可以在满足资源转移条件时进行资源的转移。具体的,可以在确定待转移的资源的数额后,由资源转出方向区块链发起交易请求;区块链对交易请求进行验证、实施,资源转出方将待转移的资源转移到资源转入方后,区块链将该交易请求的执行结果写入区块链。为解决交易入链后对资源转移双方的隐私信息构成威胁的问题,本申请实施例提供了基于区块链的资源转移方法。以下将结合附图,详细说明本申请各实施例提供的技术方案。
参见图1所示,一种基于区块链的资源转移方法,适用于资源转出方,具体包括:
S101:当满足资源转移条件时,确定待转移的第一资源的第一数额。
可以理解到,当满足资源转移条件,需要进行资源转移之前,资源转出方需要确定待转移的资源的类型及其数额,也就是待转移的第一资源的第一数额。除此之外,资源转出方也要确定出该次资源转移的对象,即接收被转移的资源的资源转入方。
需要说明的是,在不同的应用场景下,出于不同的业务目的,资源转移条件也会不同,具体的资源转移条件可以根据资源转移双方的约定或者资源转移所依托的业务平台的业务流程设置确定。更进一步地,在资源转移所依托的业务平台上,根据实际业务流程的需要,可能会需要进行多次资源转移,以实现业务流程中不同阶段的不同目的。出于不同目的进行的资源转移,转移的资源的类型、数额以及参与资源转移的资源转出方和资 源转入方也都可能不同,资源转出方为实现资源的转移而发起的交易请求的内容和格式也都可能不同。后文将针对多种不同的情况展开举例说明。
S103:根据第一资源的第一数额,确定待转移的第二资源的第二数额;第一资源与第二资源的类型不同。
需要说明的是,第一资源和第二资源的类型并不相同。执行步骤S103,将第一资源转换为第二资源,相对应地,资源的数额也从第一资源的第一数额转换为第二资源的第二数额。因此,在进一步进行资源转移时,可以将对第一资源的转移转换为对第二资源的转移。第一资源和第二资源的关系,可以理解为,第一资源为资源转移双方实质上需要转移的资源类型(例如,在借贷场景下,第一资源可以具体化为资金,对应到真实的货币),而第二资源为资源转移时实际转移的资源类型(例如,在借贷场景下,第二资源可以具体化为代币,是一种虚拟的货币)。从保护资源转移双方的隐私信息的角度,也可以认为第二资源是第一资源的保护外壳,本申请实施例在进行资源转移时,将在实际业务中有实质价值的第一资源转换为显性的、可以没有实质价值的第二资源进行转换,因此,即使被实际转移的第二资源的第二数额的相关信息被写入区块链,具有实际价值的第一资源的第一数额的信息仍然被隐藏,从而有利于保护资源转移这一交易的隐私。
还需要说明的是,第一资源和第二资源之间,除了类型不同之外,两种资源的数额之间还存在对应关系,或者说数额的转换关系,具体的转换关系可以根据业务平台的需要进行设置。
例如,第一资源和第二资源的数额可以直接相等,即二者1:1的进行转换。这种情况下,虽然资源转移双方之外的第三方可能通过第二资源的第二数额能够推知第一资源的第一数额,但是,由于本申请实施例在后续步骤发起的交易请求中,并非直接携带第二数额的信息,而是对第二数额进行加密处理,在交易请求中携带加密处理后得到的第一加密数额信息。因此,仍然可以保护资源转移的实质数额的信息,从而保护交易隐私。
又例如,第一资源和第二资源的数额可以按照预设的转换系数或者函 数关系进行转换,通过保护这种转换系数或者函数关系,也能够对资源转移的实质数额(也就是第一资源的第一数额)进行保护。可以理解到,参与资源转移的双方需要知晓这种转换系数或者函数关系,以便实现资源类型的反向转换(即由第二类型的第二数额转换为第一类型的第一数额),从而达到资源转移的最终目的。
更进一步地,第一资源和第二资源的数额优选通过单向函数实现转换,也就是说,根据第一资源的第一数额,采用单向函数确定第二资源的第二数额。具体地,可以将第一资源的第一数额和一随机数作为单向函数的输入,将单向函数的输出确定为第二资源的第二数额。采用这种方式,利用单向函数的特性,即使在后续发起的交易请求中不对第二数额进行加密处理,而是直接将通过单向函数转换得到的第二数额放入交易请求中,也能在一定程度上保护资源转移的实质数额(也就是第一资源的第一数额)。当然,在此基础上,对第二数额进行进一步的加密处理以得到第一加密数额信息,并将第一加密数额信息携带在资源转出方发起的交易请求中,能够更好的保护资源转移交易的隐私信息。
在采用单向函数实现第一资源与第二资源间的数额转换时,资源转出方还需要将进行转换时使用的随机数(作为单向函数的一个输入)发送给资源转入方,以便资源转入方进行资源类型的反向转换,推知第一资源的第一数额。在具体实施时,可以在资源转出方向区块链发起交易请求之前,对这一随机数进行加密,进而发起的交易请求中携带的为加密后的随机数,从而避免了随机数的泄密,进而保护了资源转移交易的隐私信息。具体地,可以借助资源转入方的公钥对随机数进行加密,从而只有资源转入方的私钥才能对该随机数进行解密,进而利用该随机数实现资源类型的反向转换,也就是从第二资源的第二数额推知第一资源的第一数额。
S105:资源转出方向区块链发起交易请求,用于向资源转入方转移待转移的第二资源;其中,交易请求中包括对第二资源的第二数额进行加密处理后得到的第一加密数额信息。
本申请实施例中,执行步骤S105之前,可以还包括对第二资源的第二数额进行加密处理,得到第一加密数额信息的步骤。无论第一资源与第二资源之间的转换关系是否能够被资源转移双方以外的第三方知晓,只要对第二数额的信息进行加密处理,就能够保护资源转移交易的具体数额信息,从而保护资源转移双方的隐私。
需要说明的是,交易请求中包括的第一加密数额信息,可以通过采用第一加密函数(记为enc(x,y))对第二资源的第二数额进行加密处理得到。其中,第一加密函数的一个输入为第二资源的第二数额(记为quota_c),另一个输入为资源转入方的公钥(记为pk_c)。可以理解到,若资源转入方的公钥为非对称密钥,则该第一加密函数为非对称加密函数;若资源转入方的公钥为对称密钥,则该第一加密函数为对称加密函数。
可选的,还可以将资源转入方的公钥的标识信息作为交易请求的一部分发送到区块链系统,供区块链系统在验证、实施后上链。具体地,可以采用资源转入方的公钥的哈希值(记为hash(pk_c))作为公钥的标识信息。
此时,资源转出方发起的交易请求TX的交易格式可表示为:
TX=(enc(pk_c,quota_c),hash(pk_c))
需要说明的是,在不同的应用场景下,基于不同的资源转移条件和目的,交易请求中携带的信息将有所不同。后续将详细举例说明。
S107:在区块链对交易请求进行验证后,执行交易请求,将待转移的第二资源转移到资源转入方,并将执行结果写入区块链。
需要说明的是,区块链系统接收到资源转出方发起的交易请求后,区块链的各节点将对交易请求进行验证。当达成共识,交易请求验证通过后,资源转出方进一步执行该交易请求,将待转移的第二资源转移到资源转入方。可以理解到,被转移的第二资源的数额为第二数额。资源转移结束后,将该交易请求的执行结果写入区块链。
还需要说明的是,区块链系统的各节点对交易请求进行验证时,主要验证交易请求的格式是否符合约定(例如交易请求中的字段个数,各字段 的长度,某字段的内容等),而对于交易请求中携带的加密信息,例如第一加密数额信息,单向函数中加密后的随机数等信息,将直接验证通过,进而执行交易请求。
可以理解到,当区块链中的节点对资源转出方的交易请求验证通过后,资源转出方会将第二资源(数额为第二数额)转移到资源转入方。资源转入方接收到转移来的第二资源后,可以根据第一资源与第二资源的转换关系,确定本次资源转移交易实质转移的第一资源的数额是否为第一数额。
采用本申请实施例提供的技术方案,在满足资源转移条件时,确定待转移的第一资源的第一数额,并在此基础上,将第一资源的第一数额转换为资源类型不同的第二资源的第二数额,进而发起用于转移第二数额的交易请求,并通过对第二数额进行加密处理得到加密数额信息(也就是加密后的第二数额),从而在区块链针对该交易请求进行验证、实施和上链时,可以通过对第二数额进行加密处理的方式隐藏资源转出方与资源转入方之间的具体交易信息,具体表现为待转移的第一资源的第一数额的信息,从而能够在资源转移过程中保护资源转移双方的隐私信息。
在本申请实施例中,在进行资源转移时首要保护的就是具体的交易数额信息,也就是待转移的第一资源的第一数额。在不同的应用场景下,资源转移条件也有所不同,确定出待转移的第一资源的第一数额的方式、以及确定出的第一数额也不尽相同。以下将举例说明。
(1)当资源转移条件为允许资源转入方借取第一资源时,可以理解为资源转出方或业务系统中约定的其他参与方已经对资源转入方借取第一资源的资格和能力进行了审查,并确定了允许资源转入方借取的第一资源的额度。此时,资源转出方向资源转入方转移资源的目的,可以理解为业务系统批准资源转入方进行第一资源的借取,并向资源转入方发放允许借取第一资源的数额的凭证。在此场景下,资源转出方为业务系统中约定的发放额度凭证的业务参与方,资源转入方为被允许借取第一资源的业务参与方。还可以理解到,在完成本次资源转移之后,资源转入方所持有的第二 资源的数额,反映的就是资源转入方能够借取的资源的额度。
因而,此时在确定待转移的第一资源的第一数额时,可将允许资源转入方借取的第一资源的额度,作为待转移的第一资源的第一数额。在此基础上根据第一资源的第一数额确定出的第二资源的第二数额,也能反映允许资源转入方借取资源的额度。因此,资源转出方发起的转移第二资源的交易请求中,包含的第一加密数额信息(该信息通过对第二数额进行加密处理后得到)也能反映允许资源转入方借取第一资源的数额,该第一加密数额信息也就是向资源转入方发放的、允许借取第一资源的凭证。由于该第一加密数额信息对于资源转移双方之外的第三方而言是密文数据(无法知晓第二资源的第二数额),因此,这种方式能够保护资源转入方被批准借取第一资源的额度这一隐私信息,达到本申请实施例的技术目的。
还需要说明的是,将业务系统批准资源转入方进行第一资源的借取后向资源转入方发放额度凭证的这一交易请求写入区块链,有利于监管和限制资源转入方借取第一资源的数额不超过允许的额度,进而保护借出资源的一方的利益。
(2)当资源转移条件为资源转出方已接收到资源转入方归还的第一资源时,可以理解为,在实际业务流程中,资源转入方为第一资源的借入方,资源转出方为第一资源的借出方。资源转入方将需归还的第一资源转移到资源转出方,以归还向资源转出方借取的第一资源,这一过程并不写入区块链;当资源转出方接收到资源转入方在链下归还的第一资源后,资源转出方执行本申请实施例的资源转移方法,将与归还的第一资源的数额相对应的第二资源转移到资源转入方。此时,进行资源转移的目的在于,在资源转入方将借取的资源归还后,为其恢复额度或者补足额度。
因而,此时在确定待转移的第一资源的第一数额时,可以将归还的第一资源的数额,确定为待转移的第一资源的第一数额。进行资源转移时,将数额与第一资源的第一数额相对应的第二资源转移到资源转入方,以便恢复其借取资源的额度。可以理解到,在完成本次资源转移之后,资源转 入方所持有的第二资源的数额,反映的就是资源转入方能够借取的资源的剩余额度。
在资源转出方发起交易请求时,将依据第一资源的第一数额确定出的第二资源的第二数额进行加密处理,可以保护资源转入方实际归还的资源的数额这一隐私数据,达到本申请的技术目的。
还需要说明的是,在资源借取方归还第一资源后,向资源借取方转移对应数额的第二资源,并将转移第二资源的交易写入区块链,一方面为资源借取方恢复额度或者补足额度,以便保障资源借取方的正常交易,另一方面有利于监管和限制资源借取方借取资源的数额,从而保护资源借出方的利益。
(3)当资源转移条件为资源转入方与资源转出方已达成资源借取协议时,资源借取协议中包含资源转出方向资源转入方申请借取的第一资源的数额。对应到实际业务流程中,该场景下的资源转出方为第一资源的借取方,资源转入方为第一资源的借出方。在双方达成资源借取协议后,借取方(对应到此场景下的资源转出方)将自己所持有的第二资源中对申请借取的第一资源的数额相对应的部分转移到借出方(对应到此场景下的资源转入方),这一过程写入区块链;借出方在收到被转移的第二资源后,进一步将资源借取协议中约定的应借给借入方的第一资源转移给借取方,这一过程无需写入区块链,在链下采用常规业务手段实施即可。
在此场景下,借取方(资源转出方)将自己所持有的第二资源中与申请借取的第一资源的数额相对应的部分转移到借出方(资源转入方),进行这一资源转移并将资源转移的交易写入区块链的目的,可以理解为,一方面,资源转出方向资源转入方证明自己借取资源的额度(体现为在资源转移前,资源转出方所持有的第二资源的数额)满足本次申请借取的资源的数额要求,以便资源转出方能够向资源转入方借取具有实际价值的第一资源;另一方面,资源转出方在转移出对应数额的第二资源后,自己所持有的第二资源的数额将相应减少,也就相当于扣减了允许资源转出方借取资 源的额度,将这一额度被扣减的交易写入区块链,有利于监管和限制资源借取方借取资源的数额,从而保护资源借出方的利益。
在这一场景下,可以将资源借取协议中申请借取的第一资源的数额,确定为待转移的第一资源的第一数额,进而在此基础上确定待转移的第二资源的第二数额,以便进行第二资源的转移。
可以理解到,在上述举例的第(3)类场景下,申请借取第一资源的资源借取方(在本次资源转移过程中充当资源转出方)的额度需要受到限制,因此,为了实现资源转移,资源转出方需要向区块链上除参与本次资源转移交易的节点(资源转出方和资源转入方所对应的节点)之外的节点,证明本次资源转移交易的合法性。
优选地,可以在资源转出方发起的交易请求中加入零知识证明,用于证明执行交易请求之后资源转出方将要持有的第二资源的余额与第二数额的和,等于资源转出方在发起交易请求前所持有的第二资源的数额。利用零知识证明,资源转出方就可以在不暴露任何具体信息(包括资源转移的数额等)的情况下,向区块链上的各节点证明相关内容的真实性,具体的,可以理解为证明上述“执行交易请求之后资源转出方将要持有的第二资源的余额与第二数额的和,等于资源转出方在发起交易请求前所持有的第二资源的数额”这一论断为真。
具体地,将资源转出方将要持有的第二资源的余额记为quota_c’,将待转移的第二资源的第二数额记为quota_d,将资源转出方在发起交易请求前所持有的第二资源的数额记为quota_c,则上述零知识证明函数proof(x)可表达为proof(quota_c’=(quota_c-quota_d))。该零知识证明函数证明的就是:等式(quota_c’=(quota_c-quota_d))确实成立。
在此基础上,资源转出方向区块链发起的交易请求TX,其交易格式可以表示为:
Tx=(enc(pk_d,quota_d),hash(pk_d),proof((quota_c-quota_d-quota_c’==0)))
进一步地,资源转出方还可以利用零知识证明向区块链中的各节点证明以下事项:资源转出方转出的第二资源的数额,即第二数额quota_d大于零,资源转出方在发起交易请求前所持有的第二资源的数额quota_c大于零,并且,执行交易请求之后资源转出方将要持有的第二资源的余额quota_c’不小于零。从而,该零知识证明函数可以表达为:
proof((quota_c-quota_d-quota_c’==0)&&(quota_c>0)&&(quota_d>0)&&(quota_c’≥0))
此时,资源转出方向区块链发起的交易请求TX,其交易格式可以表示为:
Tx=(enc(pk_d,quota_d),hash(pk_d),proof((quota_c-quota_d-quota_c’==0)&&(quota_c>0)&&(quota_d>0)&&(quota_c’≥0)))
进一步优选地,交易请求中还可以包括资源转出方参与的上一次资源转移交易的标识信息(可记为Tx_in),可具体取为区块链中记录的、上一次资源转移交易的哈希值。需要说明的是,资源转出方参与的上一次资源转移交易,可以是借取资源的交易,也可以是确认借取额度的交易,还可以是归还资源后增补额度的交易。将资源转出方参与的上一次资源转移交易的标识信息发送到区块链中进行验证,有利于保证资源转出方(作为资源借取方)所持第二资源数额变化的连贯性。此时,资源转出方向区块链发起的交易请求TX,其交易格式可以表示为:
Tx=(Tx_in,(enc(pk_d,quota_d),hash(pk_d)),proof((quota_c-quota_d-quota_c’==0)&&(quota_c>0)&&(quota_d>0)&&(quota_c’>0)))
进一步优选地,交易请求中还可包括对执行交易请求之后资源转出方将要持有的第二资源的余额(记为quota_c’)进行加密处理后得到的第二加密数额信息。具体地,可通过采用第二加密函数(记为enc(x,y))对执行交易请求之后资源转出方将要持有的第二资源的余额quota_c’进行加密处理。其中,第二加密函数的一个输入为第二资源的余额(记为quota_c’),另一个输入为资源转出方的公钥(记为pk_c)。可以理解到,若资源转出方的公 钥为非对称密钥,则该第二加密函数为非对称加密函数;若资源转出方的公钥为对称密钥,则该第二加密函数为对称加密函数。
可选的,还可以将资源转出方的公钥的标识信息作为交易请求的一部分发送到区块链系统,供区块链系统在验证、实施后上链。具体地,可以采用资源转出方的公钥的哈希值(记为hash(pk_c))作为公钥的标识信息。则此时,资源转出方发起的交易请求TX的交易格式可表示为:
Tx=(Tx_in,(enc(pk_d,quota_d),hash(pk_d)),(enc(pk_c,quota_c’),hash(pk_c)),proof((quota_c-quota_d-quota_c’==0)&&(quota_c>0)&&(quota_d>0)&&(quota_c’>0)))
以上从多个角度对本申请实施例提供的资源转移方法在不同场景下、基于不同目的进行资源转移时的具体实现进行了举例说明。在不同的资源转移条件下,进行资源转移的目的不同,参与资源转移方在业务流程中的角色不同。无论出于何种目的进行资源转移,在向区块链发起用于转移第二数额的交易请求时,都可以通过对第二数额进行加密处理的方式隐藏资源转出方与资源转入方之间的具体交易信息,具体表现为待转移的第一资源的第一数额的信息,从而能够在资源转移过程中保护资源转移双方的隐私信息。
在一种场景下,第一资源具体化为资金,第二资源具体化为代币。这一场景下涉及到基于区块链的资金转移方法,参见图2所示,包括:
S201:当满足转移条件时,确定待转移的资金的第一数额;
S203:根据资金的第一数额,确定待转移的代币的第二数额;资金与代币的类型不同;
S205:转出方向区块链发起交易请求,用于向转入方转移待转移的代币;其中,交易请求中包括对代币的第二数额进行加密处理后得到的第一加密数额信息;
S207:在区块链对交易请求进行验证后,执行交易请求,将待转移的代币转移到转入方,并将执行结果写入区块链。
可以理解到,上述基于区块链的资金转移方法在具体实施上的各方面,与前述实施例的基于区块链的资源转移方法相同,因此,前述实施例中关于资源转移方法的阐释与说明均适用于此资金借贷场景下的资源借贷方法。以下将主要以资金借贷的业务流程为例,说明本实施例的具体实施。
在资金借贷这一应用场景下,业务流程可以包括信用评估和代币发放阶段、贷款申请和发放阶段、以及还款阶段等。
(一)信用评估和代币发放阶段
在进行信用评估时,可以预先确定一个特定机构A,对用户的信用等级进行评估,并就用户的贷款发放额度给出具有公信力的结论。可以理解到,这一特定机构A的确定,可以通过资金监管部门按照相关规定审核和指定,也可以由参与放贷的机构进行推举或约定产生。该特定机构A的职能主要在于根据用户的相关信息对用户进行信用评估,并确定该用户的贷款发放额度(以真实货币,即资金的形式体现,也就是本申请实施例中前文所述的第一资源的第一数额)。
在具体实施时,拟申请贷款的用户C的相关信息往往涉及到用户C的个人隐私,例如用户的姓名、身份证号等个人信息,以及用户的收入数据、消费信息、还款状况等涉及到用户C的资金调度能力的信息。为保护用户C的隐私,用户C向特定机构A提供的信息并不向其他机构披露,例如发放贷款的机构等,而仅供特定机构A知晓。
在对拟申请贷款的用户C进行信用评估后允许其贷款、并为其确定贷款发放额度的情况下,特定机构A将评估结果(包括贷款发放额度)发送到预设的特定机构B,由特定机构B向拟申请贷款的用户C发放与贷款发放额度相对应的数额的代币(以虚拟货币的形式体现,也就是本申请实施例中前文所述的第二资源)。在具体实施时,特定机构A和特定机构B可以由同一实体机构兼任。
可以理解到,在信用评估和代币发放阶段,当允许拟申请贷款的用户C贷款时(相当于满足转移条件),将允许用户C借取的贷款发放额度确定为 待转移的资金的第一数额,并在此基础上确定出待转移的代币的第二数额(如前述实施例中所述,可以有多种方式实现资金的第一数额与代币的第二数额之间的对应)。此时,转出方具体化为上述特定机构B,转入方具体化为拟申请贷款的用户C,转出方向区块链发起的交易请求中,包括对代币的第二数额(记为quota_c)进行加密处理后得到的第一加密数额信息。
具体地,可以通过采用第一加密函数(记为enc(x,y))对代币的第二数额quota_c进行加密处理得到。其中,第一加密函数的一个输入为代币的第二数额quota_c,另一个输入为转入方(也就是用户C)的公钥(记为pk_c)。可以理解到,若转入方的公钥为非对称密钥,则该第一加密函数为非对称加密函数;若转入方的公钥为对称密钥,则该第一加密函数为对称加密函数。
进一步地,还可以将转入方的公钥pk_c的标识信息作为交易请求的一部分发送到区块链系统,供区块链系统在验证、实施后上链。具体地,可以采用转入方的公钥的哈希值(记为hash(pk_c))作为公钥的标识信息。此时,转出方(即特定机构B)发起的交易请求TX的交易格式可表示为:
TX=(enc(pk_c,quota_c),hash(pk_c))
在本申请实施例中,用户C所持有的代币的数额(此处体现为quota_c)能够反映用户C允许借取的实际资金的数额(也就是贷款发放额度)。可以理解到,当用户C已借取了部分资金(实际借取的资金的数额应不大于上述贷款发放额度)时,用户C所持有的代币的数额将减少,表示用户C能够借取的资金的额度被扣减;而当用户C将已借取的资金归还时,用户C所持有的代币的数额将会增加,表示用户C能够借取的资金的额度被恢复或补足。
需要说明的是,在业务流程中,可以定时或周期性地对用户C重新进行信用评估,从而调整用户的贷款发放额度。当额度提高时,特定机构B可以执行上述资金转移过程向用户C发放额度的差值,此时,将额度的差值确定为待转移的资金的第一数额。当额度降低时,可以要求用户在指定 时间内向特定机构B返还额度的差值,在这一资金转移的过程中,用户C将作为转出方,特定机构B将作为转入方,将额度的差值确定为待转移的资金的第一数额。
可以理解到,若用户逾期未将因额度降低而需返还的额度差值返还给特定机构B,则特定机构B可以向所有的贷款发放机构发送黑名单,限制用户C办理贷款,而仅允许接收用户C还款,直至用户C返还额度的差值。
通过上述方式,将代表贷款额度的代币发放到用户C,并将这一发放过程写入区块链,有利于对用户C的贷款额度进行监管,从而降低了贷款发放机构放贷的风险,维护了交易安全。
为便于理解,图3给出了在信用评估和发放代币阶段的业务流程示意图,具体如下:
首先,用户C向进行信用评估的机构A提交个人资料,供机构A对本人的信用进行评估。
其次,机构A根据信用评估的结果决定是否允许用户C贷款,确定允许的贷款额度(相当于第一资源的第一数额,资金的第一数额,体现为真实货币),并向用户C反馈信用评估的结果。
再次,机构A将允许用户C贷款的额度的信息发送至机构B,进行代币发放。机构B根据额度的信息确定与贷款额度相对应的代币的数额(相当于第二资源的第二数额,代币的第二数额,体现为虚拟货币)。
然后,机构B(作为资源转出方,转出方)向区块链平台发起交易请求,该交易请求中包含代币数额的信息。为保护隐私,该信息为对代币数额进行加密处理后的加密信息。区块链平台对该交易请求的合法性进行验证确认后,允许机构B实施该交易请求;并在机构B向用户C(作为资源转入方,转入方)转移对应数额的代币后,将交易的实施结果写入区块链。
至此完成了对用户C的信用评估和代币发放。用户C所持有的代币的数额反映允许用户C借取的贷款的额度。
(二)贷款申请和发放阶段
当用户C需要申请贷款时,可以与发贷机构D达成贷款协议(相当于资源转移过程中的资源借取协议),确定用户C申请借取的资金的数额(相当于第一资源的第一数额)。在贷款协议达成后,根据协议中确定的申请借取的资金的第一数额确定相对应的代币的第二数额(相当于第二资源的第二数额)。用户C向发贷机构D发送所持有的代币,代币的数额为第二数额,记为quota_d,并可以进一步将所持有代币的余额(记为quota_c’)返回自己的账户。发贷机构D接收到用户C发送的代币(虚拟货币)后,即可将资金(真实货币)发送给用户C,以便用户C取得申请借取的资金。
在上述过程中,用户C向区块链发送交易请求,以将数额为quota_d的代币发送到发贷机构D。该交易请求中,可包含对quota_d进行加密处理得到的第一加密数额信息,反映将要转移到机构D的代币的数额;还可包含对用户C所持代币的余额quota_c’进行加密处理得到的第二加密数额信息,反映将要返回用户C的自有账户的代币的余额;还可进一步包含用户C参与的上一次资金转移交易的标识信息(可记为Tx_in),可具体取为区块链中记录的、上一次资金转移交易的哈希值,也可以是预设的用于区分不同交易的标识符,反映用户C所持有代币的数额quota_c的确定依据。
除此之外,用户C向区块链发送的交易请求中,还可以加入零知识证明,用于证明执行交易请求之后转出方(用户C)将要持有的代币的余额quota_c’与转移的代币数额quota_d的和,等于转出方(用户C)在发起交易请求前所持有的代币的数额quota_c,也就是,利用零知识证明证明等式((
quota_c-quota_d)=quota_c’)成立。进一步地,还可以利用零知识证明证明转出方(用户C)转出的代币的数额quota_d大于零,转出方(用户C)在发起交易请求前所持有的代币的数额quota_c大于零,并且,执行交易请求之后转出方(用户C)将要持有的代币的余额quota_c’不小于零。
因此,用户C向区块链发起的交易请求,其交易格式可表示为:
Tx=(Tx_in,enc(pk_d,quota_d),hash(pk_d),enc(pk_c,quota_c’),hash(pk_c),proof((quota_c-quota_d-quota_c’==0)&&(quota_c>0)&& (quota_d>0)&&(quota_c’>0)))
在上述交易请求中,Tx_in可以理解为本次交易的输入,反映用户C(此处为转出方)所持有的代币的数额的来源。enc(pk_d,quota_d),hash(pk_d)可以理解为本次交易的第一个输出,反映用户C向机构D发送的代币的数额quota_d,亦能反映机构D接收到用户C发送的代币的数额。enc(pk_c,quota_c’),hash(pk_c)可以理解为本次交易的第二个输出,反映用户C在完成代币转移后剩余的代币的数额quota_c’,相当于用户C发送代币后获得的找零。零知识证明用于向区块链中未参与本次交易的节点证明本次交易的合法性,同时并不泄露本次交易的具体数额,保护了交易双方的隐私。
通过将这一交易上链,可以将参与交易的双方(用户C和发贷机构D)所持代币的变化状态写入区块链,从而能够监管交易的合法性,避免用户C超过贷款额度申请贷款。同时,通过对转移代币的具体数额进行加密处理,并通过零知识证明证明合法性,也保护了交易双方的隐私。
为便于理解,图4给出了贷款申请和发放阶段的业务流程示意图,具体如下:
首先,用户C向贷款发放的机构D提出贷款申请。在与机构D达成贷款协议后,用户C根据贷款协议的约定确定贷款的金额(相当于第一资源的第一数额,资金的第一数额,体现为真实货币),再据此确定与贷款的金额相对应的代币的数额(相当于第二资源的第二数额,代币的第二数额,体现为虚拟货币)。
其次,用户C(作为资源转出方,转出方)向区块链平台发起交易请求,该交易请求中包含代币数额的信息。为保护隐私,该信息为对代币数额进行加密处理后的加密信息。区块链平台对该交易请求的合法性进行验证确认后,允许用户C实施该交易请求;并在用户C向机构D(作为资源转入方,转入方)转移对应数额的代币后,将交易的实施结果写入区块链。
然后,机构D在接收到用户C转移的代币后,向对应数额的贷款发放给用户C。
至此用户C完成了贷款的申请,机构D完成了贷款的发放。可以理解到,在交易完成后,用户C所持有的代币的数额将被扣减,所持有的代币的余额反映允许用户C借取的贷款的剩余额度。
(三)还款阶段
当用户C需要向发贷机构D还款时,用户C先向发贷机构D的银行账户进行汇款,用真实货币(相当于第一资源)归还借款。而后发贷机构D在接收到用户C归还的真实货币后,通过向区块链发起交易请求,将与用户C归还的真实货币数额相对应的代币(相当于第二资源)转移给用户C,从而为用户C恢复或者补足贷款额度。
具体地,转出方(此处为发贷机构D)发起的交易请求TX的交易格式可表示为:
TX=(enc(pk_c,quota_d),hash(pk_c))
该交易请求可以理解为,采用加密函数对发贷机构D(资金转出方)接收到的资金的数额相对应的代币的数额quota_d进行加密处理,其中,加密函数的一个输入为代币的数额quota_d,另一个输入为用户C(资金转入方)的公钥pk_c。除此之外,还将用户C的公钥的标识信息,例如公钥pk_c的哈希值hash(pk_c),作为交易请求的一部分发送到区块链系统。
为便于理解,图5给出了还款阶段的业务流程示意图,具体如下:
首先,用户C将需归还的资金发送给发放贷款的机构D,实现真实货币的归还。
其次,机构D确认接收到用户C还款的资金的金额(相当于第一资源的第一数额,资金的第一数额,体现为真实货币),并在此基础上确定与还款的金额相对应的代币的数额(相当于第二资源的第二数额,代币的第二数额,体现为虚拟货币)。
再次,机构D(作为资源转出方,转出方)向区块链平台发起交易请求,该交易请求中包含代币数额的信息。为保护隐私,该信息为对代币数额进行加密处理后的加密信息。区块链平台对该交易请求的合法性进行验 证确认后,允许机构D实施该交易请求;并在机构D向用户C(作为资源转入方,转入方)转移对应数额的代币后,将交易的实施结果写入区块链。
至此用户C完成了贷款的归还,机构D完成了贷款的收回。可以理解到,在交易完成后,用户C所持有的代币的数额将增加,所持有的代币的数额反映允许用户C借取的贷款的额度。
在上述各个阶段中,均采用了本申请实施例提供的资金转移方法,通过将代表真实货币的资金的数额转换为代表虚拟货币的代币的数额,并通过对在区块链中流通的代币数额进行加密处理的方式,保护了交易双方的隐私。即使有多家放贷机构加入区块链平台进行贷款的发放,用户在多家发放机构申请的贷款的总数额也不会超过被允许的贷款额度,从而降低了发贷机构的放贷风险。这会因为,如以上示例中所述,反映贷款额度的代币由特定的机构B发放,用户所持代币的数额也会随着用户的借贷、还款行为相应变化,且带来这些变化过程的交易均被写入区块链,利用区块链技术本身的公开、透明、不可篡改的特性,就能够保证代币数额的真实性和可靠性,进而确保用户无法超额申请贷款。
与此同时,上述反映贷款额度的代币的变化的交易中,转移的代币的数额均已进行加密处理,从而隐藏了交易双方的具体交易信息,因此,也能够在资金转移过程中保护资金转移双方的隐私信息。
本申请实施例还提供了一种基于区块链的资源转移方法,参见图6所示,包括:
S301:当满足资源转移条件时,确定待转移的第一资源的第一数额;
S303:根据第一资源的第一数额,采用单向函数确定待转移的第二资源的第二数额;第一资源与第二资源的类型不同;
S305:资源转出方向区块链发起交易请求,用于向资源转入方转移待转移的第二资源;其中,交易请求中包括与第二资源的第二数额相对应的信息;
S307:在区块链对交易请求进行验证后,执行交易请求,将待转移的第二资源转移到资源转入方,并将执行结果写入区块链。
该实施例中,将实际需要转移的第一资源转换为第二资源进行转移,通过对第二资源的转移就能够达到资源转移的目的,同时,通过单向函数实现第一资源和第二资源之间的数额转换,利用单向函数的特性,使得交易双方之外第三方无法根据第二资源的第二数额推知第一资源的第一数额,从而可以隐藏实际转移的第一资源的数额,起到保护交易隐私的作用。
更进一步地,根据第一资源的第一数额,采用单向函数确定第二资源的第二数额时,可以将第一资源的第一数额和一随机数作为单向函数的输入,将单向函数的输出确定为第二资源的第二数额。采用这种方式,利用单向函数的特性,即使在后续发起的交易请求中不对第二数额进行加密处理,而是直接将通过单向函数转换得到的第二数额放入交易请求中,也能在一定程度上保护资源转移的实质数额(也就是第一资源的第一数额)。当然,在此基础上,对第二数额进行进一步的加密处理以得到第一加密数额信息,并将第一加密数额信息携带在资源转出方发起的交易请求中,能够更好的保护资源转移交易的隐私信息。
在采用单向函数实现第一资源与第二资源间的数额转换时,资源转出方还需要将进行转换时使用的随机数(作为单向函数的一个输入)发送给资源转入方,以便资源转入方进行资源类型的反向转换,推知第一资源的第一数额。在具体实施时,可以在资源转出方向区块链发起交易请求之前,对这一随机数进行加密,则发起的交易请求中携带的为加密后的随机数,从而避免了随机数的泄密,保护了资源转移交易的隐私信息。具体地,可以借助资源转入方的公钥对随机数进行加密,从而只有资源转入方的私钥才能对该随机数进行解密,以便保护交易隐私。
需要说明的是,在采用单向函数进行第一资源和第二资源的数额转换时,每一次交易所采用的随机数应是变化的,从而避免交易数额信息的泄露。
可以理解到,本实施例中也可应用于资金借贷这一应用场景。在该场景下,第一资源具体为资金,第二资源具体为代币。所对应的基于区块链的资金转移方法,参见图7所示,包括:
S401:当满足转移条件时,确定待转移的资金的第一数额;
S403:根据资金的第一数额,采用单向函数确定待转移的代币的第二数额;资金与代币的类型不同;
S405:转出方向区块链发起交易请求,用于向转入方转移待转移的代币;其中,交易请求中包括与代币的第二数额相对应的信息;
S407:在区块链对交易请求进行验证后,执行交易请求,将待转移的代币转移到转入方,并将执行结果写入区块链。
需要说明的是,本实施例中采用单向函数实现第一资源与第二资源的转换(或者资金的数额与代币的数额的转换)的方式,与前述多个实施例可以组合实施,也都适用于各具体的业务流程,此处不再赘述。
与图1提供的基于区块链的资源转移方法相对应地,本申请实施例还提供了一种基于区块链的资源转移装置,参见图8所示,包括:
第一数额确定模块101,当满足资源转移条件时,确定待转移的第一资源的第一数额;
第二数额确定模块103,根据第一资源的第一数额,确定待转移的第二资源的第二数额;第一资源与第二资源的类型不同;
交易请求发起模块105,资源转出方向区块链发起交易请求,用于向资源转入方转移待转移的第二资源;其中,交易请求中包括对第二资源的第二数额进行加密处理后得到的第一加密数额信息;
入链模块107,在区块链对交易请求进行验证后,执行交易请求,将待转移的第二资源转移到资源转入方,并将执行结果写入区块链。
图9是本申请的一个实施例电子设备的结构示意图。请参考图9,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成基于区块链的资源转移装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
当满足资源转移条件时,确定待转移的第一资源的第一数额;
根据第一资源的第一数额,确定待转移的第二资源的第二数额;第一资源与第二资源的类型不同;
资源转出方向区块链发起交易请求,用于向资源转入方转移待转移的第二资源;其中,交易请求中包括对第二资源的第二数额进行加密处理后得到的第一加密数额信息;
在区块链对交易请求进行验证后,执行交易请求,将待转移的第二资源转移到资源转入方,并将执行结果写入区块链。
上述如本申请图1所示实施例揭示的基于区块链的资源转移装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处 理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中基于区块链的资源转移装置执行的方法,并实现基于区块链的资源转移装置在图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中基于区块链的资源转移装置执行的方法,并具体用于执行:
当满足资源转移条件时,确定待转移的第一资源的第一数额;
根据第一资源的第一数额,确定待转移的第二资源的第二数额;第一资源与第二资源的类型不同;
资源转出方向区块链发起交易请求,用于向资源转入方转移待转移的第二资源;其中,交易请求中包括对第二资源的第二数额进行加密处理后得到的第一加密数额信息;
在区块链对交易请求进行验证后,执行交易请求,将待转移的第二资源转移到资源转入方,并将执行结果写入区块链。
与图2提供的基于区块链的资金转移方法相对应地,本申请实施例还提供一种基于区块链的资金转移装置,参见图10所示,包括:
资金数额确定模块201,当满足转移条件时,确定待转移的资金的第一数额;
代币数额确定模块203,根据资金的第一数额,确定待转移的代币的第二数额;资金与代币的类型不同;
交易请求发起模块205,转出方向区块链发起交易请求,用于向转入方转移待转移的代币;其中,交易请求中包括对代币的第二数额进行加密处理后得到的第一加密数额信息;
入链模块207,在区块链对交易请求进行验证后,执行交易请求,将待转移的代币转移到转入方,并将执行结果写入区块链。
图11是本申请的一个实施例电子设备的结构示意图。请参考图11,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运 行,在逻辑层面上形成基于区块链的资金转移装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
当满足转移条件时,确定待转移的资金的第一数额;
根据资金的第一数额,确定待转移的代币的第二数额;资金与代币的类型不同;
转出方向区块链发起交易请求,用于向转入方转移待转移的代币;其中,交易请求中包括对代币的第二数额进行加密处理后得到的第一加密数额信息;
在区块链对交易请求进行验证后,执行交易请求,将待转移的代币转移到转入方,并将执行结果写入区块链。
上述如本申请图2所示实施例揭示的基于区块链的资金转移装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2中基于区块链的资金转移装置执行的方法, 并实现基于区块链的资金转移装置在图2所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图2所示实施例中基于区块链的资金转移装置执行的方法,并具体用于执行:
当满足转移条件时,确定待转移的资金的第一数额;
根据资金的第一数额,确定待转移的代币的第二数额;资金与代币的类型不同;
转出方向区块链发起交易请求,用于向转入方转移待转移的代币;其中,交易请求中包括对代币的第二数额进行加密处理后得到的第一加密数额信息;
在区块链对交易请求进行验证后,执行交易请求,将待转移的代币转移到转入方,并将执行结果写入区块链。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产 生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (31)
- 一种基于区块链的资源转移方法,包括:当满足资源转移条件时,确定待转移的第一资源的第一数额;根据所述第一资源的第一数额,确定待转移的第二资源的第二数额;所述第一资源与所述第二资源的类型不同;资源转出方向区块链发起交易请求,用于向资源转入方转移所述待转移的第二资源;其中,所述交易请求中包括对所述第二资源的第二数额进行加密处理后得到的第一加密数额信息;在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的第二资源转移到所述资源转入方,并将执行结果写入所述区块链。
- 根据权利要求1所述方法,所述交易请求中包括的所述第一加密数额信息,通过采用第一加密函数对所述第二资源的第二数额进行加密处理得到;其中,所述第一加密函数的一个输入为所述第二资源的第二数额,另一个输入为所述资源转入方的公钥。
- 根据权利要求2所述方法,所述交易请求中还包括所述资源转入方的公钥的标识信息。
- 根据权利要求3所述方法,所述资源转入方的公钥的标识信息为所述资源转入方的公钥的哈希值。
- 根据权利要求1所述方法,根据所述第一资源的第一数额,确定待转移的第二资源的第二数额,包括:根据所述第一资源的第一数额,采用单向函数确定所述第二资源的第二数额。
- 根据权利要求5所述方法,采用单向函数确定所述第二资源的第二数额,包括:将所述第一资源的第一数额和一随机数作为所述单向函数的输入,将所述单向函数的输出确定为所述第二资源的第二数额。
- 根据权利要求6所述方法,所述资源转出方向区块链发起的所述交易请求中,还包括加密后的所述随机数。
- 根据权利要求1~7之任一所述方法,所述资源转移条件包括允许所述资源转入方借取所述第一资源;则确定待转移的第一资源的第一数额,包括:将允许所述资源转入方借取的第一资源的额度,作为所述待转移的第一资源的第一数额。
- 根据权利要求1~7之任一所述方法,所述资源转移条件包括所述资源转出方已接收到所述资源转入方归还的第一资源;则确定待转移的第一资源的第一数额,包括:将所述归还的第一资源的数额,确定为所述待转移的第一资源的第一数额。
- 根据权利要求1~7之任一所述方法,所述资源转移条件包括所述资源转入方与所述资源转出方已达成资源借取协议,所述资源借取协议中包含所述资源转出方向所述资源转入方申请借取的第一资源的数额;则确定待转移的第一资源的第一数额,包括:将所述申请借取的第一资源的数额,确定为所述待转移的第一资源的第一数额。
- 根据权利要求10所述方法,所述交易请求中还包括零知识证明,用于证明执行所述交易请求之后所述资源转出方将要持有的第二资源的余额与所述第二数额的和,等于所述资源转出方在发起所述交易请求前所持有的第二资源的数额。
- 根据权利要求11所述方法,所述零知识证明还用于证明所述第二数额大于零,所述资源转出方在发起所述交易请求前所持有的第二资源的数额大于零,并且,执行所述交易请求之后所述资源转出方将要持有的第 二资源的余额不小于零。
- 根据权利要求10所述方法,所述交易请求中还包括所述资源转出方参与的上一次资源转移交易的标识信息。
- 根据权利要求13所述方法,所述资源转出方参与的上一次资源转移交易的标识信息,具体为所述区块链中记录的、所述上一次资源转移交易的哈希值。
- 根据权利要求10所述方法,所述交易请求中还包括对执行所述交易请求之后所述资源转出方将要持有的第二资源的余额进行加密处理后得到的第二加密数额信息。
- 根据权利要求15所述方法,所述交易请求中包括的所述第二加密数额信息,通过采用第二加密函数对执行所述交易请求之后所述资源转出方将要持有的第二资源的余额进行加密处理得到;其中,所述第二加密函数的一个输入为所述第二资源的余额,另一个输入为所述资源转出方的公钥。
- 根据权利要求16所述方法,所述交易请求中还包括所述资源转出方的公钥的标识信息。
- 根据权利要求17所述方法,所述资源转出方的公钥的标识信息为所述资源转出方的公钥的哈希值。
- 根据权利要求1~7、11~18之任一所述方法,所述第一资源具体为资金,所述第二资源具体为代币。
- 一种基于区块链的资金转移方法,包括:当满足转移条件时,确定待转移的资金的第一数额;根据所述资金的第一数额,确定待转移的代币的第二数额;所述资金与所述代币的类型不同;转出方向区块链发起交易请求,用于向转入方转移所述待转移的代币;其中,所述交易请求中包括对所述代币的第二数额进行加密处理后得到的第一加密数额信息;在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的代币转移到所述转入方,并将执行结果写入所述区块链。
- 一种基于区块链的资源转移装置,包括:第一数额确定模块,当满足资源转移条件时,确定待转移的第一资源的第一数额;第二数额确定模块,根据所述第一资源的第一数额,确定待转移的第二资源的第二数额;所述第一资源与所述第二资源的类型不同;交易请求发起模块,资源转出方向区块链发起交易请求,用于向资源转入方转移所述待转移的第二资源;其中,所述交易请求中包括对所述第二资源的第二数额进行加密处理后得到的第一加密数额信息;入链模块,在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的第二资源转移到所述资源转入方,并将执行结果写入所述区块链。
- 一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:当满足资源转移条件时,确定待转移的第一资源的第一数额;根据所述第一资源的第一数额,确定待转移的第二资源的第二数额;所述第一资源与所述第二资源的类型不同;资源转出方向区块链发起交易请求,用于向资源转入方转移所述待转移的第二资源;其中,所述交易请求中包括对所述第二资源的第二数额进行加密处理后得到的第一加密数额信息;在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的第二资源转移到所述资源转入方,并将执行结果写入所述区块链。
- 一种计算机可读存储介质,所述计算机可读存储介质存储一个或 多个程序,所述一个或多个程序包括指令,所述指令当被包括多个应用程序的电子设备执行时,能够使所述电子设备执行以下操作:当满足资源转移条件时,确定待转移的第一资源的第一数额;根据所述第一资源的第一数额,确定待转移的第二资源的第二数额;所述第一资源与所述第二资源的类型不同;资源转出方向区块链发起交易请求,用于向资源转入方转移所述待转移的第二资源;其中,所述交易请求中包括对所述第二资源的第二数额进行加密处理后得到的第一加密数额信息;在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的第二资源转移到所述资源转入方,并将执行结果写入所述区块链。
- 一种基于区块链的资金转移装置,包括:资金数额确定模块,当满足转移条件时,确定待转移的资金的第一数额;代币数额确定模块,根据所述资金的第一数额,确定待转移的代币的第二数额;所述资金与所述代币的类型不同;交易请求发起模块,转出方向区块链发起交易请求,用于向转入方转移所述待转移的代币;其中,所述交易请求中包括对所述代币的第二数额进行加密处理后得到的第一加密数额信息;入链模块,在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的代币转移到所述转入方,并将执行结果写入所述区块链。
- 一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:当满足转移条件时,确定待转移的资金的第一数额;根据所述资金的第一数额,确定待转移的代币的第二数额;所述资金与所述代币的类型不同;转出方向区块链发起交易请求,用于向转入方转移所述待转移的代币;其中,所述交易请求中包括对所述代币的第二数额进行加密处理后得到的第一加密数额信息;在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的代币转移到所述转入方,并将执行结果写入所述区块链。
- 一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被包括多个应用程序的电子设备执行时,能够使所述电子设备执行以下操作:当满足转移条件时,确定待转移的资金的第一数额;根据所述资金的第一数额,确定待转移的代币的第二数额;所述资金与所述代币的类型不同;转出方向区块链发起交易请求,用于向转入方转移所述待转移的代币;其中,所述交易请求中包括对所述代币的第二数额进行加密处理后得到的第一加密数额信息;在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的代币转移到所述转入方,并将执行结果写入所述区块链。
- 一种基于区块链的资源转移方法,包括:当满足资源转移条件时,确定待转移的第一资源的第一数额;根据所述第一资源的第一数额,采用单向函数确定待转移的第二资源的第二数额;所述第一资源与所述第二资源的类型不同;资源转出方向区块链发起交易请求,用于向资源转入方转移所述待转移的第二资源;其中,所述交易请求中包括与所述第二资源的第二数额相对应的信息;在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的第二资源转移到所述资源转入方,并将执行结果写入所述区块 链。
- 根据权利要求27所述方法,根据所述第一资源的第一数额,采用单向函数确定待转移的第二资源的第二数额,包括:将所述第一资源的第一数额和一随机数作为所述单向函数的输入,将所述单向函数的输出确定为所述第二资源的第二数额。
- 根据权利要求28所述方法,所述资源转出方向区块链发起的所述交易请求中,还包括加密后的所述随机数。
- 根据权利要求27~29之任一所述方法,所述第一资源具体为资金,所述第二资源具体为代币。
- 一种基于区块链的资金转移方法,包括:当满足转移条件时,确定待转移的资金的第一数额;根据所述资金的第一数额,采用单向函数确定待转移的代币的第二数额;所述资金与所述代币的类型不同;转出方向区块链发起交易请求,用于向转入方转移所述待转移的代币;其中,所述交易请求中包括与所述代币的第二数额相对应的信息;在所述区块链对所述交易请求进行验证后,执行所述交易请求,将所述待转移的代币转移到所述转入方,并将执行结果写入所述区块链。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP18880424.9A EP3660721B1 (en) | 2017-11-23 | 2018-10-12 | Resource transfer and capital transfer method and apparatus |
| SG11202001945YA SG11202001945YA (en) | 2017-11-23 | 2018-10-12 | Resource transfer and capital transfer method and apparatus |
| US16/788,217 US11443368B2 (en) | 2017-11-23 | 2020-02-11 | Resource transfer and capital transfer method and apparatus |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201711183322.4A CN108009441B (zh) | 2017-11-23 | 2017-11-23 | 资源转移和资金转移的方法和装置 |
| CN201711183322.4 | 2017-11-23 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/788,217 Continuation US11443368B2 (en) | 2017-11-23 | 2020-02-11 | Resource transfer and capital transfer method and apparatus |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019100865A1 true WO2019100865A1 (zh) | 2019-05-31 |
Family
ID=62053279
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2018/110034 Ceased WO2019100865A1 (zh) | 2017-11-23 | 2018-10-12 | 资源转移和资金转移的方法和装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US11443368B2 (zh) |
| EP (1) | EP3660721B1 (zh) |
| CN (1) | CN108009441B (zh) |
| SG (1) | SG11202001945YA (zh) |
| TW (1) | TWI733057B (zh) |
| WO (1) | WO2019100865A1 (zh) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111383114A (zh) * | 2020-03-13 | 2020-07-07 | 普洛斯科技(重庆)有限公司 | 基于区块链的资产信息管理方法和装置 |
| CN111881433A (zh) * | 2020-07-27 | 2020-11-03 | 平安证券股份有限公司 | 基于验证手势的资源转移方法、装置和计算机设备 |
| CN112507296A (zh) * | 2020-11-12 | 2021-03-16 | 迅鳐成都科技有限公司 | 一种基于区块链的用户登录验证方法及系统 |
| CN114022150A (zh) * | 2022-01-07 | 2022-02-08 | 北京笔新互联网科技有限公司 | 资源转移方法、装置、电子设备及存储介质 |
Families Citing this family (61)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB201720946D0 (en) | 2017-12-15 | 2018-01-31 | Nchain Holdings Ltd | Computer-implemented system and method |
| WO2019092552A1 (en) | 2017-11-09 | 2019-05-16 | nChain Holdings Limited | Systems and methods for ensuring correct execution of computer program using a mediator computer system |
| KR102738013B1 (ko) | 2017-11-09 | 2024-12-05 | 엔체인 홀딩스 리미티드 | 확인 키를 변경으로부터 보호하고 정확성 증명의 유효성을 확인하기 위한 시스템 |
| CN108009441B (zh) * | 2017-11-23 | 2023-05-30 | 创新先进技术有限公司 | 资源转移和资金转移的方法和装置 |
| KR102810891B1 (ko) * | 2017-12-13 | 2025-05-20 | 엔체인 홀딩스 리미티드 | 암호 자료를 안전하게 공유하기 위한 시스템 및 방법 |
| US11985225B2 (en) * | 2018-05-14 | 2024-05-14 | Nchain Licensing Ag | Computer-implemented systems and methods for using veiled values in blockchain |
| CN108805574B (zh) * | 2018-05-19 | 2021-01-26 | 深圳市图灵奇点智能科技有限公司 | 基于隐私保护的交易方法和系统 |
| CN113283988B (zh) * | 2018-05-29 | 2024-12-03 | 蚂蚁链技术有限公司 | 资产转移方法及装置、电子设备 |
| CN108876606B (zh) | 2018-05-29 | 2021-02-09 | 创新先进技术有限公司 | 资产转移方法及装置、电子设备 |
| CN109767204A (zh) * | 2018-06-14 | 2019-05-17 | 杭州复杂美科技有限公司 | 一种区块链预付款融资方法 |
| CN109034766A (zh) * | 2018-06-22 | 2018-12-18 | 杭州复杂美科技有限公司 | 借款方法及系统、设备和存储介质 |
| CN108985933A (zh) * | 2018-06-29 | 2018-12-11 | 联动优势科技有限公司 | 一种记账方法及装置 |
| CN109035029A (zh) * | 2018-07-27 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 基于区块链的资产转移方法及装置、电子设备 |
| CN109102299A (zh) * | 2018-08-01 | 2018-12-28 | 腾讯科技(深圳)有限公司 | 资源转移数据管理方法、装置及存储介质 |
| CN109359971B (zh) | 2018-08-06 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 区块链交易方法及装置、电子设备 |
| CN109409857A (zh) * | 2018-08-22 | 2019-03-01 | 泰链(厦门)科技有限公司 | 基于桥梁区块链系统实现资源转移的方法、介质及计算机设备 |
| CN109118227A (zh) * | 2018-08-23 | 2019-01-01 | 泰链(厦门)科技有限公司 | 桥梁区块链系统的构建方法、介质、装置及区块链系统 |
| CN109389496A (zh) * | 2018-08-23 | 2019-02-26 | 泰链(厦门)科技有限公司 | 主体区块链系统的构建方法、介质、装置及区块链系统 |
| CN112651740B (zh) | 2018-08-30 | 2024-10-29 | 蚂蚁链技术有限公司 | 区块链交易方法及装置、电子设备 |
| CN111833186B (zh) * | 2018-09-20 | 2024-11-01 | 蚂蚁链技术有限公司 | 基于区块链的交易方法、装置和节点设备 |
| CN109117674A (zh) * | 2018-09-25 | 2019-01-01 | 深圳市元征科技股份有限公司 | 一种客户端验证加密方法、系统、设备及计算机介质 |
| CN109583886B (zh) * | 2018-09-30 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 基于区块链的交易方法、装置和汇出方设备 |
| EP3866094A4 (en) | 2018-10-11 | 2022-04-20 | Hefei Dappworks Technology Co., Ltd. | RESOURCE FLOW TRANSACTION METHOD AND APPARATUS |
| CN109361664B (zh) * | 2018-10-11 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 基于区块链的数据验证方法、系统和计算机可读存储介质 |
| CN109598149B (zh) * | 2018-11-20 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 业务处理的方法和装置 |
| CN109615516B (zh) * | 2018-12-05 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 资源转移方法、装置、电子设备及存储介质 |
| US11151558B2 (en) * | 2018-12-12 | 2021-10-19 | American Express Travel Related Services Company, Inc | Zero-knowledge proof payments using blockchain |
| MX2019006095A (es) * | 2018-12-29 | 2019-08-14 | Alibaba Group Holding Ltd | Sistema y metodo para proteccion de informacion. |
| US20200211099A1 (en) * | 2018-12-31 | 2020-07-02 | Finicity Corporation | Decentralized Customer-Controlled Credit Verification |
| CN110245522B (zh) * | 2019-01-16 | 2022-07-12 | 腾讯科技(深圳)有限公司 | 区块链资金结算系统中的数据处理方法、终端和介质 |
| CN111612453A (zh) * | 2019-02-22 | 2020-09-01 | 北京趣块远扬科技有限公司 | 基于区块链的去中心化交易方法、装置及电子设备 |
| CN110175831B (zh) * | 2019-04-23 | 2023-09-29 | 创新先进技术有限公司 | 一种基于区块链的信用转移方法、装置及电子设备 |
| CN110264172B (zh) * | 2019-05-10 | 2024-02-02 | 平安科技(深圳)有限公司 | 基于区块链的交易处理方法及装置 |
| CN110278266B (zh) * | 2019-06-20 | 2021-09-17 | 深圳前海微众银行股份有限公司 | 一种基于区块链的资源处理方法及装置 |
| TWI717798B (zh) * | 2019-08-06 | 2021-02-01 | 郭谷彰 | 架構於區塊鏈的密鑰保存方法及檔案分享與存取系統 |
| CN110598455B (zh) * | 2019-09-20 | 2024-11-08 | 腾讯科技(深圳)有限公司 | 基于spv节点级联的数据处理方法及相关产品 |
| CN110738480B (zh) * | 2019-09-23 | 2022-09-13 | 杭州复杂美科技有限公司 | 数字资产托管风险控制方法、设备和存储介质 |
| CN110738481B (zh) * | 2019-09-23 | 2022-09-13 | 杭州复杂美科技有限公司 | 数字资产托管风险控制方法、设备和存储介质 |
| US11379815B2 (en) * | 2019-10-07 | 2022-07-05 | Bank Of America Corporation | System for secure peer-to-peer interactions with event-based confirmation triggering mechanism |
| CN110910109B (zh) * | 2019-11-25 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 基于区块链的电子资源转移方法及装置 |
| CN111260347A (zh) * | 2020-01-13 | 2020-06-09 | 北京三快在线科技有限公司 | 基于区块链的资源处理方法、装置、设备及存储介质 |
| CN113535372A (zh) * | 2020-04-14 | 2021-10-22 | 支付宝实验室(新加坡)有限公司 | 一种数据处理、支付方法、装置、设备及介质 |
| CN111507818B (zh) * | 2020-04-23 | 2026-02-24 | 腾讯科技(深圳)有限公司 | 一种基于区块链的信息共享方法、装置及存储介质 |
| CN111768303B (zh) * | 2020-06-01 | 2024-12-31 | 先进新星技术(新加坡)控股有限公司 | 交易处理方法、装置、设备及系统 |
| CN111738712A (zh) * | 2020-07-17 | 2020-10-02 | 百度在线网络技术(北京)有限公司 | 一种区块链的付费处理方法、装置、设备和介质 |
| CN114066592B (zh) * | 2020-08-06 | 2025-07-22 | 先进新星技术(新加坡)控股有限公司 | 分批次的资源转移方法及装置 |
| CN111970123B (zh) * | 2020-08-10 | 2023-07-25 | 中国联合网络通信集团有限公司 | 基于区块链网络的无线资源交易方法、终端和系统 |
| CN111932233B (zh) * | 2020-08-13 | 2023-08-15 | 中国工商银行股份有限公司 | 资源转移方法、装置和设备 |
| US11636467B2 (en) * | 2020-09-14 | 2023-04-25 | Visa International Service Association | System, method, and computer program product for secured, encrypted transaction processing |
| CN114328708B (zh) * | 2020-09-27 | 2025-04-08 | 中国移动通信有限公司研究院 | 一种计费方法、装置和存储介质 |
| CN112581141A (zh) * | 2021-02-22 | 2021-03-30 | 支付宝(杭州)信息技术有限公司 | 基于区块链的交易处理方法、装置及系统 |
| CN113112252B (zh) * | 2021-04-28 | 2023-03-10 | 深圳壹账通智能科技有限公司 | 基于区块链的资源转移方法、装置、电子设备及存储介质 |
| US12450606B2 (en) * | 2021-06-28 | 2025-10-21 | Rebate Assets, LLC | Utilizing a public benefit assets secure token |
| US11888981B2 (en) * | 2021-08-17 | 2024-01-30 | International Business Machines Corporation | Privacy preserving auditable accounts |
| US12437033B1 (en) * | 2022-01-31 | 2025-10-07 | Splunk Inc. | Smart contracts for licensing |
| WO2023167241A1 (ja) * | 2022-03-02 | 2023-09-07 | Sushi Top Marketing株式会社 | 情報処理装置、プログラム、情報処理方法 |
| CN114780970B (zh) * | 2022-03-18 | 2026-04-03 | 上海阵方科技有限公司 | 资源数据处理方法、装置和服务器 |
| US12277551B2 (en) * | 2022-04-26 | 2025-04-15 | Bank Of America Corporation | Resource transfer validation within a metaverse |
| US12444009B2 (en) | 2022-09-02 | 2025-10-14 | Bank Of America Corporation | Systems and methods for generating and training a module selection engine for distribution allocation in a network environment |
| CN115965459B (zh) * | 2022-11-11 | 2025-09-05 | 招联消费金融股份有限公司 | 基于联盟链的资源借调评估方法、装置和计算机设备 |
| US12530716B2 (en) | 2023-03-20 | 2026-01-20 | Bank Of America Corporation | Systems and methods for combined processing of disparate resource types |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106846666A (zh) * | 2017-01-18 | 2017-06-13 | 北京云知科技有限公司 | 一种基于区块链的存取款方法 |
| CN106960388A (zh) * | 2017-03-01 | 2017-07-18 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 跨区块链的数字资产流转的方法和装置 |
| US20170236102A1 (en) * | 2016-02-12 | 2017-08-17 | D+H Usa Corporation | Peer-to-Peer Financial Transactions Using A Private Distributed Ledger |
| US20170300876A1 (en) * | 2016-04-14 | 2017-10-19 | Pricewaterhousecoopers Llp | Cryptoconomy solution for administration and governance in a distributed system |
| CN107358424A (zh) * | 2017-06-26 | 2017-11-17 | 中国人民银行数字货币研究所 | 一种基于数字货币的交易方法和装置 |
| CN108009441A (zh) * | 2017-11-23 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 资源转移和资金转移的方法和装置 |
Family Cites Families (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130090951A1 (en) * | 2011-10-07 | 2013-04-11 | Kevin Carias | System and method for premium financing |
| US11164164B2 (en) * | 2014-05-15 | 2021-11-02 | Uphold Global Foundation | System and method for converting cryptocurrency to virtual assets whose value is substantiated by a reserve of assets |
| US10255600B2 (en) * | 2014-06-16 | 2019-04-09 | Bank Of America Corporation | Cryptocurrency offline vault storage system |
| US11481771B2 (en) | 2015-05-20 | 2022-10-25 | Ripple Luxembourg S.A. | One way functions in a resource transfer system |
| US10740732B2 (en) | 2015-05-20 | 2020-08-11 | Ripple Luxembourg S.A. | Resource transfer system |
| US11386415B2 (en) | 2015-05-20 | 2022-07-12 | Ripple Luxembourg S.A. | Hold condition in a resource transfer system |
| WO2017021153A1 (en) | 2015-07-31 | 2017-02-09 | British Telecommunications Public Limited Company | Expendable access control |
| US10841082B2 (en) * | 2015-11-24 | 2020-11-17 | Adi BEN-ARI | System and method for blockchain smart contract data privacy |
| KR102753021B1 (ko) * | 2016-02-23 | 2025-01-14 | 엔체인 홀딩스 리미티드 | 블록체인에서 교환을 구현하기 위한 토큰화 방법 및 시스템 |
| KR102777896B1 (ko) * | 2016-02-23 | 2025-03-10 | 엔체인 홀딩스 리미티드 | 토큰화를 이용한 블록체인 기반 교환 방법 |
| EP3437048B1 (en) * | 2016-04-01 | 2021-06-09 | ConsenSys Software Inc. | Systems and methods for providing data privacy in a private distributed ledger |
| WO2017178956A1 (en) * | 2016-04-11 | 2017-10-19 | nChain Holdings Limited | A method for secure peer-to-peer communication on a blockchain |
| US11223598B2 (en) | 2016-05-03 | 2022-01-11 | Nokia Of America Corporation | Internet security |
| CN106022741A (zh) | 2016-05-19 | 2016-10-12 | 北京太云科技有限公司 | 一种基于区块链的不可分割的数字资产转账方法 |
| EP3491611A1 (en) * | 2016-07-29 | 2019-06-05 | Nchain Holdings Limited | Blockchain-implemented method and system |
| US10187368B2 (en) | 2016-08-03 | 2019-01-22 | Ripple Luxembourg S.A. | Resource transfer setup and verification |
| CN106331151A (zh) | 2016-09-19 | 2017-01-11 | 中国银联股份有限公司 | 基于区块链结构的资源文件处理系统及方法 |
| US20180150910A1 (en) * | 2016-11-30 | 2018-05-31 | Paypal, Inc. | Systems and methods for processing business data |
| TWM543413U (zh) * | 2016-12-05 | 2017-06-11 | Taiwan United Financial Technology Co Ltd | 利用區塊鏈技術進行交易的網路借貸平台 |
| WO2018120057A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的货币管理方法和系统 |
| WO2018140913A1 (en) * | 2017-01-30 | 2018-08-02 | SALT Lending Holdings, Inc. | System and method of creating an asset based automated secure agreement |
| CN107067255B (zh) | 2017-02-27 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 区块链中账户的处理方法和装置 |
| CN107066893B (zh) | 2017-02-28 | 2018-11-09 | 腾讯科技(深圳)有限公司 | 区块链中账户信息的处理方法和装置 |
| CN106982205B (zh) * | 2017-03-01 | 2020-05-19 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 基于区块链的数字资产处理方法和装置 |
| WO2018161007A1 (en) * | 2017-03-03 | 2018-09-07 | Mastercard International Incorporated | Method and system for storage and transfer of verified data via blockhain |
| US10243743B1 (en) * | 2017-09-13 | 2019-03-26 | Vijay K. Madisetti | Tokens or crypto currency using smart contracts and blockchains |
| CN107067243A (zh) * | 2017-04-19 | 2017-08-18 | 迅鳐成都科技有限公司 | 一种区块链中共享价值代币的设计于流通方法 |
| CN107301536B (zh) | 2017-06-12 | 2019-07-12 | 腾讯科技(深圳)有限公司 | 资源转移方法及装置 |
| US10643202B2 (en) | 2017-07-25 | 2020-05-05 | Bank Of America Corporation | Real-time processing distributed ledger system |
| US20190147431A1 (en) * | 2017-11-16 | 2019-05-16 | Blockmason Inc. | Credit Protocol |
| KR102005158B1 (ko) * | 2017-11-29 | 2019-07-29 | 신한카드 주식회사 | 여신 가상화폐 생성 장치 및 여신 가상화폐 관리 장치 |
| GB2572627A (en) | 2018-04-05 | 2019-10-09 | Electroneum Ltd | Hybrid blockchain transaction system |
| US20190318329A1 (en) | 2018-04-12 | 2019-10-17 | Bank Of America Corporation | Internet-of-things enabled real-time event processing |
| US10754693B2 (en) | 2018-07-05 | 2020-08-25 | Vmware, Inc. | Secure transfer of control over computational entities in a distributed computing environment |
| CN110599170B (zh) | 2019-09-16 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 基于区块链的交易信息处理方法和系统、存储介质 |
-
2017
- 2017-11-23 CN CN201711183322.4A patent/CN108009441B/zh active Active
-
2018
- 2018-09-19 TW TW107132969A patent/TWI733057B/zh active
- 2018-10-12 SG SG11202001945YA patent/SG11202001945YA/en unknown
- 2018-10-12 WO PCT/CN2018/110034 patent/WO2019100865A1/zh not_active Ceased
- 2018-10-12 EP EP18880424.9A patent/EP3660721B1/en active Active
-
2020
- 2020-02-11 US US16/788,217 patent/US11443368B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170236102A1 (en) * | 2016-02-12 | 2017-08-17 | D+H Usa Corporation | Peer-to-Peer Financial Transactions Using A Private Distributed Ledger |
| US20170300876A1 (en) * | 2016-04-14 | 2017-10-19 | Pricewaterhousecoopers Llp | Cryptoconomy solution for administration and governance in a distributed system |
| CN106846666A (zh) * | 2017-01-18 | 2017-06-13 | 北京云知科技有限公司 | 一种基于区块链的存取款方法 |
| CN106960388A (zh) * | 2017-03-01 | 2017-07-18 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 跨区块链的数字资产流转的方法和装置 |
| CN107358424A (zh) * | 2017-06-26 | 2017-11-17 | 中国人民银行数字货币研究所 | 一种基于数字货币的交易方法和装置 |
| CN108009441A (zh) * | 2017-11-23 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 资源转移和资金转移的方法和装置 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3660721A4 * |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111383114A (zh) * | 2020-03-13 | 2020-07-07 | 普洛斯科技(重庆)有限公司 | 基于区块链的资产信息管理方法和装置 |
| CN111881433A (zh) * | 2020-07-27 | 2020-11-03 | 平安证券股份有限公司 | 基于验证手势的资源转移方法、装置和计算机设备 |
| CN111881433B (zh) * | 2020-07-27 | 2023-02-03 | 平安证券股份有限公司 | 基于验证手势的资源转移方法、装置和计算机设备 |
| CN112507296A (zh) * | 2020-11-12 | 2021-03-16 | 迅鳐成都科技有限公司 | 一种基于区块链的用户登录验证方法及系统 |
| CN112507296B (zh) * | 2020-11-12 | 2024-04-05 | 迅鳐成都科技有限公司 | 一种基于区块链的用户登录验证方法及系统 |
| CN114022150A (zh) * | 2022-01-07 | 2022-02-08 | 北京笔新互联网科技有限公司 | 资源转移方法、装置、电子设备及存储介质 |
| CN114022150B (zh) * | 2022-01-07 | 2022-04-22 | 北京笔新互联网科技有限公司 | 资源转移方法、装置、电子设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3660721A1 (en) | 2020-06-03 |
| TWI733057B (zh) | 2021-07-11 |
| EP3660721B1 (en) | 2021-07-21 |
| CN108009441B (zh) | 2023-05-30 |
| TW201926203A (zh) | 2019-07-01 |
| US20200184557A1 (en) | 2020-06-11 |
| EP3660721A4 (en) | 2020-10-14 |
| SG11202001945YA (en) | 2020-04-29 |
| CN108009441A (zh) | 2018-05-08 |
| US11443368B2 (en) | 2022-09-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108009441B (zh) | 资源转移和资金转移的方法和装置 | |
| TWI786282B (zh) | 區塊鏈交易方法及裝置、電子設備 | |
| CN109544129B (zh) | 区块链交易方法及装置、电子设备 | |
| TWI685240B (zh) | 區塊鏈交易方法及裝置、電子設備 | |
| US20230222495A1 (en) | Systems and methods for executing electronic transactions and tokenizations with distributed settlement platform | |
| WO2020220760A1 (zh) | 基于区块链的缴费代扣方法及装置、电子设备、存储介质 | |
| TWI712974B (zh) | 用於在區塊鏈系統中處理憑證的方法及裝置 | |
| WO2021042818A1 (zh) | 基于区块链的资产查询方法及装置、电子设备 | |
| CN110458543A (zh) | 数据处理方法、相关设备及介质 | |
| WO2020220761A1 (zh) | 基于区块链的缴费代扣签约方法及装置、电子设备 | |
| US20190114707A1 (en) | Distribution of Blockchain Tokens | |
| WO2020042774A1 (zh) | 基于区块链的汇款方法及装置 | |
| TW202026997A (zh) | 基於區塊鏈的商品購置方法和裝置 | |
| US20190095910A1 (en) | Secure cryptocurrency exchange | |
| CN111461691A (zh) | 基于区块链的流量统计系统、方法及装置 | |
| CN110008716A (zh) | 区块链交易方法及装置、电子设备、存储介质 | |
| CN111738724A (zh) | 跨境资源转移真实性审核方法及装置、电子设备 | |
| TW202107361A (zh) | 區塊鏈網路中實現機密交易的方法及裝置 | |
| CN112561407B (zh) | 基于区块链的资产管理方法、系统及装置 | |
| HK1254001A1 (zh) | 资源转移和资金转移的方法和装置 | |
| HK1254001B (zh) | 资源转移和资金转移的方法和装置 | |
| HK40039449B (zh) | 区块链交易方法及装置、电子设备 | |
| HK40047872A (zh) | 基於区块链的资产管理方法、系统及装置 | |
| HK40047872B (zh) | 基於区块链的资产管理方法、系统及装置 | |
| TW202103083A (zh) | 免信評的金融信用系統及其安全融資方法、認證裝置、電腦程式產品及電腦可讀取記錄媒體 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18880424 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2018880424 Country of ref document: EP Effective date: 20200227 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |