# US 11,443,368 B2 · Resource transfer and capital transfer method and apparatus

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,443,368 B2
- Document ID: US11443368B2
- Status: Granted
- Kind: B2
- Application number: 16/788,217
- Filed: 2020-02-11
- Published: 2020-06-11
- Granted: 2022-09-13
- Earliest claimed: 2017-11-23
- Assignees: Advanced New Technologies Co., Ltd.
- Applicants: Advanced New Technologies Co., Ltd.
- Inventors: Husen Wang
- Web page: https://patentgrep.com/patent/US11443368B2

## CPC

- G06Q 40/03: Credit; Loans; Processing thereof
- H04L 63/0421: {Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer}
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- G06Q 20/38215: {Use of certificates or encrypted proofs of transaction rights}
- G06Q 40/02: Banking, e.g. interest calculation or account maintenance (credit or loans G06Q40/03)
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/3218: {using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs}
- H04L 9/3221: {interactive zero-knowledge proofs}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06F 2221/2115: Third party
- H04L 2463/102: applying security measure for e-commerce
- 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
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A blockchain-based resource transfer method, includes: when a resource transfer condition is satisfied, determining a first amount of a to-be-transferred first resource; determining a second amount of a to-be-transferred second resource according to the first amount of the first resource, wherein a type of the first resource is different from a type of the second resource; initiating, by a resource transferor, a transaction request to a blockchain, to transfer the to-be-transferred second resource to a resource transferee, wherein the transaction request comprises first encrypted amount information obtained by encrypting the second amount of the second resource based on a first encrypting function, wherein inputs of the first encrypting function include the second amount of the second resource and a public key of the resource transferee; and after the blockchain verifies the transaction request, executing the transaction request, transferring the to-be-transferred second resource to the resource transferee, and recording an execution result of the transfer on the blockchain. Therefore, privacy information of both a resource transferor and transferee can be protected during resource transfer.

## Claims

### Claim 1

A blockchain-based method for information masking, comprising:
determining, at a computer device of a borrower, according to an agreement with a lender, a first amount of capital to be transferred to the borrower from the lender;
determining, at the computer device of the borrower, according to the first amount of capital, a value number of a second amount of a token based on an output of a function relationship that uses a value number of the first amount of the capital and a random number as inputs, wherein a resource type of the capital is different from a resource type of the token;
encrypting, at the computer device of the borrower, using a public key of the lender, the random number to obtain an encrypted random number;
encrypting, at the computer device of the borrower, the value number of the second amount of the token using the public key of the lender and a first encryption function to obtain first encrypted amount information;
initiating, at the computer device of the borrower, a transaction request to a blockchain to transfer the second amount of the token from the borrower to the lender, wherein the transaction request comprises the encrypted random number, the first encrypted amount information, and a zero-knowledge proof that the value number of the second amount is less than a value number of an original amount of the token of the borrower, the value number of the second amount is positive, and the value number of the original amount is positive;
verifying, by a plurality of blockchain nodes of the blockchain, the transaction request by executing a consensus algorithm;
executing, by the plurality of blockchain nodes, after the blockchain nodes verify the transaction request, the transaction request to transfer the token from the borrower to the lender;
recording, by the plurality of blockchain nodes, a result of the execution on the blockchain;
obtaining, at a computer device of the lender, the encrypted random number from the blockchain;
determining, at the computer device of the lender, the random number based on the encrypted random number and a private key of the lender;
determining, at the computer device of the lender, the value number of the first amount of the capital based on the determined random number and the function relationship according to reverse conversion;
after the second amount of the token is transferred to the lender, sending off the blockchain, at the computer device of the lender to the borrower, the first amount of the capital;
receiving off the blockchain, at the computer device of the lender from the borrower, the first amount of the capital; and
in response to receiving the first amount of the capital, initiating, at the computer device of the lender, a different transaction request to the blockchain to transfer the second amount of the token from the lender to the borrower.

### Claim 2 (depends on 1)

The method according to claim 1, wherein determining the value number of the second amount of the token comprises:
inputting, at the computer device of the borrower, the value number of the first amount of the capital and the random number into the function relationship to output the value number of the second amount of the token.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the value number of the first amount of the capital and the resource type of the capital are unknown to the blockchain.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the transaction request further comprises a hash value of the public key of the lender and a hash value of a blockchain transaction stored on the blockchain recording the original amount of the token of the borrower.

### Claim 5 (depends on 4)

The method according to claim 4, wherein the transaction request further comprises:
an encryption of the amount value of the original amount based on a public key of the borrower; and
a hash value of a public key of the borrower.

### Claim 6 (depends on 4)

The method according to claim 4, wherein:
the zero-knowledge proof indicates that the value number of the original amount is equal to a sum of the value number of the second amount and a value number of a balance of the token to be held by the borrower after the execution of the transaction request.

### Claim 7 (depends on 4)

The method according to claim 4, further comprising:
encrypting, at the computer device of the borrower, using a second encryption function, a balance of the token to be held by the borrower after the execution of the transaction request to obtain second encrypted amount information, wherein an input of the second encryption function is the balance of the token, and another input of the second encryption function is a public key of the borrower; and
wherein the transaction request further comprises the second encrypted amount information and a hash value of the public key of the borrower.

### Claim 8

A system, comprising:
one or more processors; and
one or more memories configured to store instructions executable by the one or more processors to cause the one or more processors to perform operations comprising:
determining, at a borrower, according to an agreement with a lender, a first amount of capital to be transferred to the borrower from the lender;
determining, at the borrower, according to the first amount of capital, a value number of a second amount of a token based on an output of a function relationship that uses a value number of the first amount of the capital and a random number as inputs, wherein a resource type of the capital is different from a resource type of the token;
encrypting, at the borrower, using a public key of the lender, the random number to obtain an encrypted random number;
encrypting, at the borrower, the value number of the second amount of the token using the public key of the lender and a first encryption function to obtain first encrypted amount information;
initiating, at the borrower, a transaction request to a blockchain to transfer the second amount of the token from the borrower to the lender, wherein the transaction request comprises the encrypted random number, the first encrypted amount information, and a zero-knowledge proof that the value number of the second amount is less than a value number of an original amount of the token of the borrower, the value number of the second amount is positive, and the value number of the original amount is positive;
verifying, by a plurality of blockchain nodes of the blockchain, the transaction request by executing a consensus algorithm;
executing, by the plurality of blockchain nodes, after the blockchain nodes verify the transaction request, the transaction request to transfer the token from the borrower to the lender;
recording, by the plurality of blockchain nodes, a result of the execution on the blockchain;
obtaining, at the lender, the encrypted random number from the blockchain;
determining, at the lender, the random number based on the encrypted random number and a private key of the lender;
determining, at the lender, the value number of the first amount of the capital based on the determined random number and the function relationship according to reverse conversion;
after the second amount of the token is transferred to the lender, sending off the blockchain, at the lender to the borrower, the first amount of the capital;
receiving off the blockchain, at the lender from the borrower, the first amount of the capital; and
in response to receiving the first amount of the capital, initiating, at the lender, a different transaction request to the blockchain to transfer the second amount of the token from the lender to the borrower.

### Claim 9 (depends on 8)

The system according to claim 8, wherein determining the value number of the second amount of the token comprises:
inputting, at the borrower, the value number of the first amount of the capital and the random number into the function relationship to output the value number of the second amount of the token.

### Claim 10 (depends on 8)

The system according to claim 8, wherein the value number of the first amount of the capital and the resource type of the capital are unknown to the blockchain.

### Claim 11 (depends on 8)

The system according to claim 8, wherein the transaction request further comprises a hash value of the public key of the lender and a hash value of a blockchain transaction stored on the blockchain recording the original amount of the token of the borrower.

### Claim 12 (depends on 11)

The system according to claim 11, wherein the transaction request further comprises:
an encryption of the amount value of the original amount based on a public key of the borrower; and
a hash value of a public key of the borrower.

### Claim 13 (depends on 11)

The system according to claim 11, wherein:
the zero-knowledge proof indicates that the value number of the original amount is equal to a sum of the value number of the second amount and a value number of a balance of the token to be held by the borrower after the execution of the transaction request.

### Claim 14 (depends on 11)

The system according to claim 11, the operations further comprising:
encrypting, at the borrower, using a second encryption function, a balance of the token to be held by the borrower after the execution of the transaction request to obtain second encrypted amount information, wherein an input of the second encryption function is the balance of the token, and another input of the second encryption function is a public key of the borrower; and
wherein the transaction request further comprises the second encrypted amount information and a hash value of the public key of the borrower.

### Claim 15

A non-transitory computer-readable storage medium configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:
determining, at a borrower, according to an agreement with a lender, a first amount of capital to be transferred to the borrower from the lender;
determining, at the borrower, according to the first amount of capital, a value number of a second amount of a token based on an output of a function relationship that uses a value number of the first amount of the capital and a random number as inputs, wherein a resource type of the capital is different from a resource type of the token;
encrypting, at the borrower, using a public key of the lender, the random number to obtain an encrypted random number;
encrypting, at the borrower, the value number of the second amount of the token using the public key of the lender and a first encryption function to obtain first encrypted amount information;
initiating, at the borrower, a transaction request to a blockchain to transfer the second amount of the token from the borrower to the lender, wherein the transaction request comprises the encrypted random number, the first encrypted amount information, and a zero-knowledge proof that the value number of the second amount is less than a value number of an original amount of the token of the borrower, the value number of the second amount is positive, and the value number of the original amount is positive;
verifying, by a plurality of blockchain nodes of the blockchain, the transaction request by executing a consensus algorithm;
executing, by the plurality of blockchain nodes, after the blockchain nodes verify the transaction request, the transaction request to transfer the token from the borrower to the lender;
recording, by the plurality of blockchain nodes, a result of the execution on the blockchain;
obtaining, at the lender, the encrypted random number from the blockchain;
determining, at the lender, the random number based on the encrypted random number and a private key of the lender;
determining, at the lender, the value number of the first amount of the capital based on the determined random number and the function relationship according to reverse conversion;
after the second amount of the token is transferred to the lender, sending off the blockchain, at the lender to the borrower, the first amount of the capital;
receiving off the blockchain, at the lender from the borrower, the first amount of the capital; and
in response to receiving the first amount of the capital, initiating, at the lender, a different transaction request to the blockchain to transfer the second amount of the token from the lender to the borrower.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium according to claim 15, wherein determining the value number of the second amount of the token comprises:
inputting, at the borrower, the value number of the first amount of the capital and the random number into the function relationship to output the value number of the second amount of the token.
