Proxy transfer methods implemented based on blockchain, blockchain node, and computer systems

HK30135244BActive Publication Date: 2026-07-17ADVANCED NOVA TECH (SINGAPORE) HLDG PTE LTD

Patent Information

Authority / Receiving Office
HK · HK
Patent Type
Patents
Current Assignee / Owner
ADVANCED NOVA TECH (SINGAPORE) HLDG PTE LTD
Filing Date
2026-05-12
Publication Date
2026-07-17

AI Technical Summary

Technical Problem

Existing blockchain-based proxy transfer methods for privacy token contracts lack the ability to ensure user asset information security and privacy, as the balance changes dynamically, making zero-knowledge proofs invalid and compromising transfer integrity.

Method used

A proxy transfer method that involves freezing a portion of the user's balance in the privacy token contract, allowing the authorized agent to provide zero-knowledge proofs based on the frozen amount, ensuring secure and verifiable proxy transfers.

Benefits of technology

Ensures the security and privacy of user balances during proxy transfers in privacy token contracts by using balance freezing and zero-knowledge proofs, maintaining a high success rate and protecting user privacy.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

This specification discloses a proxy transfer method, blockchain node, and computer system based on blockchain implementation. The proxy transfer method is executed by any node in the blockchain and includes: First, obtaining a first transaction invoking a privacy token contract, wherein the first transaction includes the address of the first user initiating the authorization, the address of the authorized proxy party, and the encrypted authorization amount; the encryption key of the encrypted authorization amount includes the public keys of the two participating parties, namely the first user and the proxy party; then, executing the balance freezing logic in the privacy token contract based on the first transaction, the balance freezing logic including: adding a freeze order to the privacy token contract, the freeze order including a freeze order identifier, the addresses of the first user and the proxy party, and the encrypted authorization amount; and updating the encrypted account balance of the first user to the result of a homomorphic subtraction operation between the encrypted authorization amount and the encrypted account balance.
Need to check novelty before this filing date? Find Prior Art

Description

1. Specification of a Blockchain-Based Proxy Transfer Method, Blockchain Node, and Computer System This specification relates to the field of blockchain technology, particularly to a blockchain-based proxy transfer method, a blockchain node, a computer system, and a computer-readable non-volatile storage medium. Background Technology In blockchain, proxy transfer refers to a user acting as a principal authorizing another user or smart contract to act as an agent to execute the transfer of tokens or assets. This mechanism is particularly important when cross-account or cross-smart contract operations are required, providing flexible asset management and automation functions. Token contracts are crucial in proxy transfers, primarily serving the functions of authorization management and transfer execution. Authorization management refers to the principal authorizing the agent to transfer a certain amount of tokens through the token contract. Transfer execution refers to the agent executing the actual token transfer operation through the token contract, transferring tokens from the principal's account to a designated account. In practical applications, on-chain token contracts include plaintext token contracts and privacy token contracts. However, in traditional implementations of proxy transfers, token contracts are typically limited to plaintext token contracts. This is because user balances and transaction amounts are public in plaintext token contracts, making the design of related transfer operations simple and easy. In contrast, privacy token contracts, due to privacy protection requirements, user balances and transaction amounts are encrypted. Therefore, there is an urgent need for a proxy transfer solution specifically for privacy token contract scenarios. This specification describes a blockchain-based proxy transfer method, blockchain node, and computer system, which can achieve proxy transfers while ensuring the security of user asset information in privacy token contracts. According to a first aspect, a blockchain-based proxy transfer method is provided. This method is executed by any node in the blockchain and includes the following steps: First, obtaining the first transaction that invokes the privacy token contract, including the address of the first user initiating the authorization, the address of the authorized proxy party, and the encrypted authorization amount. Next, the encryption key of the encrypted authorization amount includes the public keys of the two participating parties, namely the first user and the proxy party. Based on the first transaction, the balance freeze logic in the privacy token contract is executed, which includes: adding a freeze order to the privacy token contract, the freeze order including a freeze order identifier, the addresses of the first user and the agent, and the encrypted authorization amount; and updating the encrypted account balance of the first user to the result of a homomorphic subtraction operation between the encrypted authorization amount and the encrypted account balance of the first user. According to a second aspect, a blockchain node is provided, which includes the following functional modules: a transaction acquisition module, configured to acquire the first transaction that invokes the privacy token contract, including the address of the first user initiating the authorization, and the authorized party...The method includes the address of the agent for the proxy transfer and the encrypted authorization amount; the encryption key of the encrypted authorization amount includes the public keys of the two participating parties, namely the first user and the agent. A transaction execution module is configured to execute the balance freezing logic in the privacy token contract based on the first transaction, comprising: adding a freeze order to the privacy token contract, the freeze order including a freeze order identifier, the addresses of the first user and the agent, and the encrypted authorization amount; and updating the encrypted account balance of the first user to the result of a homomorphic subtraction operation with the encrypted authorization amount. According to a third aspect, a computer system is provided, including a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program being implemented as a blockchain node; the processor executing the method provided in the first aspect. According to a fourth aspect, a computer-readable non-volatile storage medium is provided, wherein the storage medium stores a computer program, and the computer program, when executed by a processor, implements the method provided in the first aspect. In summary, the proxy transfer method based on blockchain disclosed in the embodiments of this specification can realize proxy transfer while ensuring the security of user asset information in the privacy token contract. Brief Description of the Drawings To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the following description of the embodiments are briefly introduced. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. Figure 1 is a schematic diagram of the process steps of the proxy transfer scheme disclosed in the embodiments of this specification during the authorization stage. Figure 2 is a schematic diagram of the change in the privacy token contract state before and after the execution of the authorization operation disclosed in the embodiments of this specification. Figure 3 is a schematic diagram of the change in the privacy token contract state before and after executing the proxy transfer operation under design method A disclosed in the embodiments of this specification. Figure 4 is a schematic diagram of the change in the privacy token contract state before and after executing the proxy transfer operation under design method B disclosed in the embodiments of this specification. Figure 5 is a schematic diagram of the change in the privacy token contract state before and after executing the proxy transfer operation under design method C disclosed in the embodiments of this specification. Figure 6 is a schematic diagram of the functional structure of the blockchain node disclosed in the embodiments of this specification. HK 30135244 A 3 Figure 7 is a schematic diagram of the structure of the computer system provided in the embodiments of this specification. Detailed Description of the Embodiments The solutions provided in this specification are described below with reference to the accompanying drawings. First, it's important to understand that the contracts mentioned in this article refer to smart contracts in blockchain technology, not traditional commercial contracts. As mentioned earlier, in traditional implementations of proxy transfers, token contracts are typically limited to plaintext token contracts. Plaintext tokens...When a token contract interoperates with other smart contracts, the user typically authorizes the smart contract (B) to perform proxy transfers within the plaintext token contract (A) by approving or permitting the transaction. Then, the business logic of contract B, under certain conditions, triggers the proxy transfer to the user in contract A, thus completing the interoperability between plaintext token contracts A and B. Examples include plaintext token exchange processes and staking and calling in the ChainLink oracle network. However, privacy token contracts cannot interoperate with other smart contracts in a similar manner. The core issue is that the user's balance in a privacy token contract is stored encrypted, and the contract itself cannot know the user's true balance. If the user initiates a transfer, the encrypted balance on the blockchain can be decrypted to obtain the plaintext balance. This allows the privacy token contract to verify the transfer by providing a zero-knowledge proof (ZKP). It's important to understand that ZKP (Zero-Know-What-Your-Domain) is a method where a prover (such as a user) proves a proposition (e.g., the underlying plaintext of the ciphertext of a transfer amount is less than the user's balance) to a validator (such as a privacy token contract). The key characteristic is that throughout the process, the validator gains no additional useful information beyond confirming the proposition's truth. However, in the case of proxy transfers, if the authorized amount is granted to another contract B through authorization or permission, even if the authorized amount and the user's current balance are communicated to contract B on-chain or off-chain through some means, it cannot be guaranteed that contract B's off-chain service provider will provide a usable ZKP. This is because the user's balance ciphertext may change at any time due to the transfer operation. Based on the above observations and analysis, the applicant proposes a proxy transfer scheme for privacy token contract scenarios that can effectively protect the privacy and security of the user's balance while ensuring a very high success rate. Specifically, by freezing a portion of a user's balance beforehand within the privacy token contract, the authorized party (or agent) only needs to provide a zero-knowledge proof for the frozen portion of the balance when making proxy transfers. This solves the ZKP invalidation problem caused by changes in the encrypted user balance, ensuring that the proxy transfer operation can be verified by the privacy token contract. Furthermore, because of the partial balance freezing method, each agent only decrypts the usable amount from one or more frozen orders provided by the user to that agent (HK 30135244 A 4), and cannot decrypt the user's actual total balance. Compared to informing the agent of the user's current total balance, the user's balance privacy is better protected.The above describes the inventive concept of the proxy transfer scheme disclosed in the embodiments of this specification. This proxy transfer scheme involves a user authorization stage, and a further proxy transfer stage or authorization revocation stage. The specific implementation steps of each stage are described below with reference to the accompanying drawings and more embodiments. In the authorization stage of the proxy transfer scheme, steps S110 and S120 shown in Figure 1 can be executed. It should be understood that the executing entity of the steps in Figure 1 can be any node in the blockchain. In step S110, the first transaction invoking the privacy token contract is obtained, including the address of the first user initiating the authorization, the address of the agent authorized to perform the proxy transfer, and the encrypted authorization amount; the encryption key of the encrypted authorization amount includes the public keys of two participating parties, namely the first user and the agent. It should be noted that the "first" in "first transaction" and "first user" above, as well as similar terms elsewhere in the text, are all for distinguishing similar things and do not have any other limiting function such as ordering. It should be understood that one or more privacy token contracts can be deployed in the blockchain, and the privacy token contract in this step can be any one of them. The privacy token contract stores several user addresses and the encrypted account balances of each user address. "Several" in this document refers to one or more. For example, see the user balance table shown in Figure 2, where Enc(pk1, 100) represents the encrypted account balance, its encryption key being the public key pk1 bound to user address 0x0001, and its underlying plaintext being 100; the meanings of other similar expressions in Figure 2 can be inferred from this. The first transaction can be initiated by the first user, or it can be initiated by someone else on behalf of the first user. The first user can refer to any user in the blockchain. For example, initiation by someone else can use the permit method, which ensures the security and uniqueness of the authorization process by including the first user's signature and an anti-replay mechanism. The proxy can be a blockchain user or a smart contract other than the privacy token contract; in other words, the proxy can be a proxy user or a proxy contract. The encrypted authorization amount can be obtained by encrypting the plaintext authorization amount using the public keys published by each of the two participants. Therefore, the authorized amount ciphertext actually includes two ciphertexts corresponding to the number of participants, thus enabling the first user and the agent to independently decrypt and verify the authorized amount ciphertext obtained from the chain using their respective private keys. For example, assuming the authorized amount plaintext is 80, the first user's public key is denoted as pk1, and the agent's public key is denoted as pk2, the authorized amount ciphertext can be denoted as {Enc(pk1,80), Enc(pk2,80)}. In some embodiments, the first transaction may also include one or more of the following three zero-knowledge proofs: a first ZKP, used to prove that the plaintext corresponding to the aforementioned authorized amount ciphertext is a non-negative number; a second...The first ZKP is used to prove that the plaintext corresponding to the ciphertext of the account balance of the first user HK 30135244 A 5 is greater than or equal to the plaintext corresponding to the ciphertext of the authorized amount; the second ZKP is used to prove that the plaintext amount obtained after decrypting the ciphertext of the authorized amount using the two private keys corresponding to the two public keys mentioned above is consistent. It should be noted that the specific generation of zero-knowledge proof data can be implemented using existing technologies, which will not be elaborated here. The first transaction obtained above is the authorization transaction of the first user for proxy transfer. In step S120, the balance freezing logic in the privacy token contract is executed based on the first transaction. The balance freezing logic includes: adding a freeze order in the privacy token contract, which includes a freeze order identifier, the addresses of the first user and the proxy, and the ciphertext of the authorized amount; and updating the ciphertext of the first user's account balance to the result of a homomorphic subtraction operation between the ciphertext of the authorized amount. It can be observed that the authorization operation for privacy tokens disclosed in the embodiments of this specification is different from the traditional authorization operation for plaintext tokens. Upon completion of authorization, the user's authorized amount is frozen within the privacy token contract. This authorized amount can be referred to as the frozen amount. Simultaneously, the privacy token contract generates a freeze order and its order number (i.e., the freeze order identifier) ​​for subsequent proxy transfer operations. After the authorization operation, the balance of the first user who initiated the authorization will be deducted, but "the user's current balance + the frozen amount of all the user's freeze orders" will be equal to "the user's balance before authorization." For example, referring to Figure 2, after completing the authorization operation by executing the balance freezing logic, the privacy token contract generates and stores a new freeze order, which records: the freeze order number is 0xabcde, the user address is 0x0001, the authorized party's address is 0x0002, the public key is pk2, and the frozen amount ciphertext is {Enc(pk1,80), Enc(pk2,80)}. Additionally, the user's account balance ciphertext, Enc(pk1,100), is updated to the result of a homomorphic subtraction operation between Enc(pk1,80) and the authorized amount ciphertext, i.e., Enc(pk1,80). It should be understood that performing a homomorphic subtraction operation on two ciphertexts is equivalent to first subtracting the underlying plaintexts of the two ciphertexts and then encrypting them. The definitions of other homomorphic operations, such as homomorphic addition, can be inferred similarly. In some embodiments, the balance freezing logic further includes: verifying the legitimacy of the first transaction. It should be understood that a new freeze order is added only when the verification passes; otherwise, the current process terminates. In some embodiments, the legitimacy verification may include: verifying whether the first user is in the user address list stored in the privacy token contract. In other embodiments, the legitimacy verification may include: verifying the various zero-knowledge proofs included in the first transaction. It should be understood that the verification method for the zero-knowledge proofs can be implemented using existing technologies and will not be elaborated upon.The above describes the execution steps of the authorization phase in the proxy transfer scheme. After authorization, a corresponding freeze order is added to the privacy token contract. Therefore, the authorized agent can specify proxy transfers based on this freeze order in subsequent proxy transfer phases. Specifically, in the proxy transfer phase, any node in the blockchain can execute steps S130 and S140 shown in Figure 1. In step S130, a second transaction is obtained. In step S140, the proxy transfer logic of the privacy token contract is executed based on the proxy transfer information determined according to the second transaction. The proxy transfer information includes the freeze order identifier, the recipient's address, and the address of the first user who is the actual payer. S130 and S140 are described in detail below. Regarding the triggering of the proxy transfer logic execution: In one implementation, assuming the agent is a proxy user, any node in the blockchain can obtain the second transaction in which the proxy user calls the privacy token contract, thereby executing the proxy transfer logic of the privacy token contract based on the second transaction. It should be understood that in this case, the aforementioned proxy transfer information can be directly extracted from the second transaction. In another implementation, assuming the agent is a proxy contract, any node in the blockchain can obtain the second transaction in which the second user calls the proxy contract, and thus execute the business logic of the proxy contract based on this second transaction. This includes: triggering the proxy transfer logic of the privacy token contract when predetermined conditions are met. For example, in the business scenario of token exchange, the proxy contract can be a token exchange contract, and the second transaction includes the source token to be sold and the target token to be bought, as well as the selling amount / buying amount. Further, the business logic of the token exchange contract can include: determining the corresponding privacy token contract according to the type of the target token, and reading the aforementioned frozen order number pre-synchronized from the privacy token exchange contract from the contract state; determining the proxy transfer information, wherein the payee address is the address of the second user who initiated the second transaction; and calling the proxy transfer logic of the privacy proxy contract based on the proxy transfer information. The above is an exemplary introduction to the triggering of the proxy transfer logic execution. Regarding the content of the proxy transfer logic, considering that the use of frozen orders can have multiple consumption methods, the corresponding proxy transfer logic can adopt different designs as needed. In design method A, the transfer amount field is not allowed in the proxy transfer. The entire amount frozen by the initiating user is transferred to the recipient. Accordingly, the proxy transfer logic may include: updating the recipient's ciphertext account balance to its homomorphic sum with the ciphertext of the frozen amount in the freeze order, and removing the freeze order from the privacy token contract. For example, the contract state change before and after the proxy transfer operation can be seen in Figure 3, which shows the recipient's account balance changing from ciphertext Enc(pk3,0) to Enc(pk3,80), with the order number being...The frozen order for 0xabcde has been removed. In Design Method B, the proxy transfer allows the input of a transfer amount field. The proxy transfer can transfer part or all of the frozen order amount. If there is any remaining amount, it is directly returned to the user who initiated the authorization, and the frozen order amount is removed. Accordingly, the above proxy transfer information can also include the encrypted transfer amount, whose encryption key includes the public keys issued by the three participating parties: the first user, the proxy, and the recipient. The proxy transfer logic can include: updating the recipient's account balance encrypted information to the homomorphic addition result between it and the encrypted transfer amount; updating the first user's account balance encrypted information to the homomorphic operation result between it and the encrypted transfer amount and the encrypted frozen amount (HK 30135244 A 7); and removing the frozen order from the privacy token contract. For example, updating the first user's account balance ciphertext can be implemented as follows: first, perform a homomorphic subtraction operation on the frozen amount ciphertext and the transfer amount ciphertext; then, use the result of the homomorphic subtraction operation to perform a homomorphic addition operation on the first user's account balance ciphertext, and use the result of the homomorphic addition operation as the updated account balance ciphertext. For example, the contract state change before and after the proxy transfer operation is shown in Figure 4, where the payee's account balance changes from ciphertext Enc(pk3,0) to Enc(pk3,60), the payer's account balance changes from Enc(pk1,20) to Enc(pk1,40), and the frozen order with order number 0xabcde is removed. In design method C, the proxy transfer allows the input of an amount field. The proxy transfer can transfer part or all of the frozen order's amount. If there is remaining amount, the frozen order is not voided until the frozen amount is exhausted. Accordingly, the above proxy transfer information can also include the aforementioned transfer amount ciphertext. The proxy transfer logic may include: updating the ciphertext of the payee's account balance to the homomorphic addition result between it and the ciphertext of the transfer amount; and updating the ciphertext of the frozen amount in the freeze order to the homomorphic subtraction result between it and the ciphertext of the transfer amount. For example, the contract state change before and after the proxy transfer operation can be seen in Figure 5, which shows that the payee's account balance changes from ciphertext Enc(pk3,0) to Enc(pk3,50), and the frozen amount in the freeze order with order number 0xabcde changes from ciphertext {Enc(pk1,80),Enc(pk2,80)} to {Enc(pk1,30),Enc(pk2,30)}. According to another embodiment, assuming the proxy transfer information includes the ciphertext of the transfer amount, the proxy transfer information may also include relevant zero-knowledge proof data generated based on the ciphertext of the transfer amount. For example, the zero-knowledge proof data may include one or more of the following: a third zero-knowledge proof, whose...The first zero-knowledge proof is used to prove that the plaintext corresponding to the ciphertext of the transfer amount is non-negative; the second zero-knowledge proof is used to prove that the plaintext corresponding to the ciphertext of the authorized amount is greater than or equal to the plaintext corresponding to the ciphertext of the transfer amount; the third zero-knowledge proof is used to prove that the plaintext amounts obtained after the ciphertext of the transfer amount is decrypted by the three private keys are consistent, and the three private keys correspond to the three public keys mentioned above. Based on this, the proxy transfer logic can also include: verifying the various zero-knowledge proofs included in the proxy transfer information. It should be understood that the account balance will only be changed if all the zero-knowledge proofs are verified to be correct; otherwise, the current process will be terminated. The above describes the proxy transfer stage. It should be understood that after authorization is completed, in addition to proxy transfer operations, authorization revocation operations or frozen order release operations may also be performed. Specifically, any node in the blockchain can execute steps S150 and S160 shown in Figure 1. In step S150, the third transaction of the first user calling the privacy token contract is obtained, which includes the identifier of the frozen order that has been revoked. In step S160, the freeze order cancellation logic in the privacy token contract is executed based on the third transaction. This includes: updating the first user's account balance ciphertext to the result of a homomorphic addition operation between the first user's account balance ciphertext and the authorized amount ciphertext; and removing the freeze order HK 30135244 A 8 from the privacy token contract. For example, the freeze order cancellation logic may further include: verifying whether the user initiating the cancellation is the same as the user initiating the authorization in the freeze order; performing other operations if they are found to be the same; otherwise, terminating the current process. In summary, the proxy transfer scheme for privacy token contract scenarios disclosed in the embodiments of this specification can effectively protect the privacy and security of user balances while ensuring a very high success rate of proxy transfers. Corresponding to the above proxy transfer method, the embodiments of this specification also disclose a blockchain node for implementing this method. As shown in Figure 6, the blockchain node 600 includes the following functional modules: a first transaction acquisition module 610, configured to acquire the first transaction that invokes the privacy token contract, including the address of the first user initiating the authorization, the address of the agent authorized to conduct the proxy transfer, and the encrypted authorization amount; the encryption key of the encrypted authorization amount includes the public keys of the two participants, namely the first user and the agent. A first transaction execution module 620, configured to execute the balance freezing logic in the privacy token contract based on the first transaction, including: adding a freeze order to the privacy token contract, the freeze order including a freeze order identifier, the addresses of the first user and the agent, and the encrypted authorization amount; and updating the encrypted account balance of the first user to the result of a homomorphic subtraction operation with the encrypted authorization amount. In one embodiment, the first transaction further includes at least one of the following zero-knowledge proofs: a first zero-knowledge proof.The system includes three zero-knowledge proofs: a first proof to prove that the plaintext corresponding to the encrypted authorized amount is non-negative; a second zero-knowledge proof to prove that the plaintext corresponding to the encrypted account balance is greater than or equal to the plaintext corresponding to the encrypted authorized amount; and a third zero-knowledge proof to prove that the plaintext amounts obtained after the encrypted authorized amount is decrypted by the private keys of the two participating parties are consistent. Based on this, the balance freezing logic further includes verifying the zero-knowledge proofs included in the first transaction. In one embodiment, the blockchain node 600 further includes: a second transaction acquisition module 630 configured to acquire a second transaction; and a second transaction execution module 640 configured to execute the proxy transfer logic of the privacy token contract based on the proxy transfer information determined according to the second transaction; the proxy transfer information includes the address of the first user as the actual payer, the address of the payee, and the freeze order identifier. Further, in one specific embodiment, the agent is an agent contract; wherein, the second transaction acquisition module 630 is specifically configured to: acquire the second transaction in which the user calls the agent contract; the second transaction execution module 640 is specifically configured to: execute the business logic of the agent contract based on the second transaction, which includes: triggering the agent transfer logic of calling the privacy token contract when a predetermined condition is met. In another specific embodiment, the agent is an agent user; wherein, the second transaction acquisition module 630 is specifically configured to: acquire the second transaction in which the agent user calls the privacy token contract. HK 30135244 A 9 On the other hand, in one specific embodiment, the agent transfer logic includes: updating the ciphertext of the payee's account balance to the homomorphic addition result between it and the ciphertext of the authorized amount; and removing the freeze order from the privacy token contract. In another specific embodiment, the agent transfer information further includes: the ciphertext of the transfer amount, the encryption key of which includes the public keys of the three participating parties, the three participating parties including the first user, the agent, and the payee. Furthermore, in one example, the proxy transfer logic includes: updating the ciphertext of the recipient's account balance to the homomorphic addition result between it and the ciphertext of the transfer amount; updating the ciphertext of the authorized amount in the freeze order to the homomorphic subtraction result between it and the ciphertext of the transfer amount. In another example, the proxy transfer logic includes: updating the ciphertext of the recipient's account balance to the homomorphic addition result between it and the ciphertext of the transfer amount; updating the ciphertext of the first user's account balance to the homomorphic operation result between it and the ciphertext of the transfer amount and the ciphertext of the authorized amount; and removing the freeze order from the privacy token contract. Exemplarily, the proxy transfer information also includes at least one of the following zero-knowledge proofs: a third zero-knowledge proof for proving that the plaintext corresponding to the ciphertext of the transfer amount is non-negative; a fourth zero-knowledge proof for proving that the...The plaintext corresponding to the authorized amount ciphertext is greater than or equal to the plaintext corresponding to the transfer amount ciphertext; a fifth zero-knowledge proof is used to prove that the plaintext amounts obtained after the transfer amount ciphertext is decrypted by the private keys of the three participating parties are consistent. Based on this, the proxy transfer logic also includes: verifying the various zero-knowledge proofs included in the proxy transfer information. In one embodiment, the blockchain node 600 further includes: a third transaction acquisition module 650, configured to acquire the third transaction of the first user calling the privacy token contract, including the identifier of the frozen order that was revoked this time; a third transaction execution module 660, configured to execute the frozen order revocation logic in the privacy token contract based on the third transaction, which includes: updating the first user's account balance ciphertext to the result of the homomorphic addition operation between it and the authorized amount ciphertext, and removing the frozen order from the privacy token contract. It should be understood that, for the sake of convenience, the above device is described by function as various modules. Of course, in implementing this specification, the functions of each module can be implemented in one or more software and / or hardware. This specification also provides a computer-readable non-transitory storage medium storing a computer program that, when executed by a processor, can be used to perform one or more steps of one or more methods described or illustrated herein, or to provide the functionality described or illustrated herein. Here, one or more computer-readable non-transitory storage media may include one or more semiconductor-based or other integrated circuits (ICs) (e.g., field-programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs)), hard disk drives (HDDs), hybrid hard disk drives (HHDs), optical disks, optical disk drives (ODDs), magneto-optical disks, magneto-optical disk drives, floppy disks, floppy disk drives (FDDs), magnetic tape, solid-state drives (SSDs), RAM drives, security digital cards or drives, any other suitable computer-readable non-transitory storage media, or any suitable combination of two or more of these, where appropriate. The computer-readable non-transitory storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate. This specification also provides a computer system. Figure 7 illustrates an exemplary computer system 700. In certain embodiments, one or more computer systems 700 perform one or more steps of one or more methods described or illustrated herein. In certain embodiments, one or more computer systems 700 provide the functionality described or illustrated herein. In certain embodiments, software running on one or more computer systems 700 performs one or more steps of one or more methods described or illustrated herein, or provides the functionality described or illustrated herein. Certain embodiments include one or more computer systems.One or more portions of 700. Herein, references to a computer system may include computing devices, and vice versa, where appropriate. Furthermore, references to a computer system may include one or more computer systems, where appropriate. This disclosure contemplates any suitable number of computer systems 700. This disclosure envisions computer systems 700 taking any suitable physical form. By way of example and not limitation, computer system 700 may be an embedded computer system, a system-on-a-chip (SOC), a single-board computer system (SBC) (e.g., a computer-on-module (COM) or system-on-module (SOM)), a desktop computer system, a laptop or notebook computer system, an interactive kiosk, a mainframe, a computer system network, a mobile phone, a personal digital assistant (PDA), a server, a tablet computer system, or a combination of two or more of these. Where appropriate, computer system 700 may include one or more computer systems 700; single or distributed; spanning multiple locations; spanning multiple machines; spanning multiple data centers; or residing in the cloud, which may include one or more cloud components in one or more networks. Where appropriate, one or more computer systems 700 may perform one or more steps of one or more methods described or illustrated herein without material space or time limitations. By way of example and not limitation, one or more computer systems 700 may perform one or more steps of one or more methods described or illustrated herein in real time or in batch mode. Where appropriate, one or more computer systems 700 may perform one or more steps of one or more methods described or illustrated herein at different times or at different locations. In a particular embodiment, computer system 700 includes processor 702, memory 704, storage 706, input / output (I / O) interface 708, communication interface 710, and bus 712. Although this disclosure describes and illustrates a particular computer system having a particular number of particular components in a particular arrangement, this disclosure contemplates any suitable computer system having any suitable number of any suitable components in any suitable arrangement. In a particular embodiment, processor 702 includes hardware for executing instructions, such as instructions constituting a computer program. HK 30135244 A 11 By way of example and not limitation, in order to execute instructions, processor 702 may retrieve (or fetch) instructions from internal registers, internal caches, memory 704, or memory 706; decode and execute them; and then write one or more results to internal registers, internal caches, memory 704, or memory 706. In a particular embodiment, processor 702 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplates processor 702 where appropriate.This includes any suitable number of suitable internal caches. By way of example and not limitation, processor 702 may include one or more instruction caches, one or more data caches, and one or more translation back lookup buffers (TLBs). Instructions in the instruction cache may be copies of instructions in memory 704 or memory 706, and the instruction cache may accelerate retrieval of those instructions by processor 702. Data in the data cache may be copies of data in memory 704 or memory 706 for instruction operations executed at processor 702; results of previous instructions executed at processor 702 for subsequent instructions executed at processor 702 to access or write to memory 704 or memory 706; or other suitable data. The data cache may accelerate read or write operations of processor 702. The TLB may accelerate virtual address translation of processor 702. In certain embodiments, processor 702 may include one or more internal registers for data, instructions, or addresses. This disclosure contemplates that processor 702 may include any suitable number of suitable internal registers where appropriate. Where appropriate, processor 702 may include one or more arithmetic logic units (ALUs), may be a multi-core processor, or may include one or more processors 702. Although this disclosure describes and illustrates specific processors, this disclosure contemplates any suitable processor. In a particular embodiment, memory 704 includes main memory for storing instructions to be executed by processor 702 or data to be operated on by processor 702. By way of example and not limitation, computer system 700 may load instructions from memory 706 or another source (e.g., another computer system 700) into memory 704. Processor 702 may then load instructions from memory 704 into internal registers or internal caches. To execute instructions, processor 702 may retrieve instructions from internal registers or internal caches and decode them. During or after instruction execution, processor 702 may write one or more results (which may be intermediate or final results) to internal registers or internal caches. Processor 702 may then write one or more of these results to memory 704. In a particular embodiment, processor 702 executes only instructions in one or more internal registers, internal caches, or memory 704 (as opposed to memory 706 or elsewhere), and operates only on data in one or more internal registers, internal caches, or memory 704 (as opposed to memory 706 or elsewhere). One or more memory buses (each memory bus may include an address bus and a data bus) couple processor 702 to memory.704. As described below, bus 712 may include one or more memory buses. In a particular embodiment, one or more memory management units (MMUs) reside between processor 702 and memory 704 and facilitate access to memory 704 requested by processor 702. In a particular embodiment, memory 704 includes random access memory (RAM). Where appropriate, the RAM may be volatile memory. Where appropriate, the RAM may be dynamic RAM (DRAM) or static RAM (SRAM). Furthermore, where appropriate, the RAM may be single-port or multi-port RAM. This disclosure contemplates any suitable RAM. Where appropriate, memory 704 may include one or more memories 704. Although this disclosure describes and illustrates specific memories, this disclosure contemplates any suitable memory. In a particular embodiment, memory 706 includes mass storage for data or instructions. By way of example and not limitation, storage 706 may include a hard disk drive (HDD), a floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Storage 706 may include removable or non-removable (or fixed) media where appropriate. Storage 706 may be internal or external to computer system 700 where appropriate. In a particular embodiment, storage 706 is a non-volatile solid-state memory. In a particular embodiment, storage 706 includes read-only memory (ROM). The ROM may be a mask-programmable ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically changeable ROM (EAROM), or flash memory, or a combination of two or more of these, where appropriate. This disclosure contemplates large-capacity storage 706 in any suitable physical form. Storage 706 may include one or more storage control units that facilitate communication between processor 702 and storage 706 where appropriate. Storage 706 may include one or more storage units 706 where appropriate. Although this disclosure describes and illustrates specific storage, any suitable storage is contemplated herein. In a particular embodiment, I / O interface 708 includes hardware, software, or both, providing one or more interfaces for communication between computer system 700 and one or more I / O devices. Where appropriate, computer system 700 may include one or more of these I / O devices. One or more of these I / O devices may enable human and computer system 700Communication between [systems]. By way of example and not limitation, I / O devices may include a keyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker, still camera, stylus, graphics tablet, touchscreen, trackball, camera, other suitable I / O devices, or combinations of two or more of these devices. I / O devices may include one or more sensors. This disclosure contemplates any suitable I / O devices and any suitable I / O interface 708 for them. Where appropriate, I / O interface 708 may include one or more devices or software drivers that enable processor 702 to drive one or more of these I / O devices. Where appropriate, I / O interface 708 may include one or more I / O interfaces 708. Although this disclosure describes and illustrates specific I / O interfaces, this disclosure contemplates any suitable I / O interface. In a particular embodiment, communication interface 710 includes hardware, software, or both, providing one or more interfaces for communication (e.g., packet-based communication) between computer system 700 and one or more other computer systems 700 or one or more networks. By way of example and not limitation, communication interface 710 may include a network interface controller (NIC) or network adapter for communicating with Ethernet or other wired networks, or an HK 30135244 A 13 wireless NIC (WNIC) or wireless adapter for communicating with wireless networks such as Wi-Fi networks. This disclosure contemplates any suitable network and any suitable communication interface 710 for that network. By way of example and not limitation, computer system 700 may communicate with one or more portions of an ad hoc network, personal area network (PAN), local area network (LAN), wide area network (WAN), metropolitan area network (MAN), or the Internet, or a combination of two or more of these. One or more portions of one or more of these networks may be wired or wireless. By way of example, computer system 700 may communicate with a wireless PAN (WPAN) (e.g., Bluetooth WPAN), a Wi-Fi network, a Wi-Fi Max network, a cellular telephone network (e.g., a Global System for Mobile Communications (GSM) network), or other suitable wireless networks, or a combination of two or more of these networks. Where appropriate, computer system 700 may include any suitable communication interface 710 for any of these networks. Where appropriate, communication interface 710 may include one or more communication interfaces 710. Although specific communication interfaces are described and illustrated in this disclosure, any suitable communication interface is contemplated herein. In a particular embodiment, bus 712 includes hardware, software, or two-way communication that couples components of computer system 700 to each other.By way of example and not limitation, bus 712 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), an HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or another suitable bus or a combination of two or more of these buses. Where appropriate, bus 712 may include one or more buses 712. Although this disclosure describes and illustrates specific buses, this disclosure contemplates any suitable bus or interconnect. It should also be noted that the terms “comprising,” “including,” or any other variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising a..." does not exclude the presence of other identical elements in the process, method, product, or apparatus that includes said element. The various embodiments in this specification are described in a progressive manner, with reference to each other for similar or identical parts. Each embodiment focuses on describing the differences from other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, and relevant parts can be referred to the descriptions in the method embodiments. The above descriptions are merely embodiments of this specification and are not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this application. HK 30135244 A 1 Claim 1. A proxy transfer method based on blockchain, the method being executed by any node in the blockchain, comprising: obtaining a first transaction invoking a privacy token contract, including the address of a first user initiating authorization, the address of an authorized proxy for the transfer, and an authorized amount ciphertext; the encryption key of the authorized amount ciphertext includes the public keys of two participating parties, the two participating parties being the first user and the proxy; executing balance freezing logic in the privacy token contract based on the first transaction, comprising: adding a freeze order to the privacy token contract, the freeze order including a freeze order identifier, the addresses of the first user and the proxy,The method according to claim 1, wherein the first transaction further includes at least one of the following zero-knowledge proofs: a first zero-knowledge proof for proving that the plaintext corresponding to the authorized amount ciphertext is non-negative; a second zero-knowledge proof for proving that the plaintext corresponding to the account balance ciphertext is greater than or equal to the plaintext corresponding to the authorized amount ciphertext; a third zero-knowledge proof for proving that the plaintext amounts obtained after the authorized amount ciphertext is decrypted by the private keys of the two participating parties are consistent; wherein the balance freezing logic further includes: verifying each of the zero-knowledge proofs included in the first transaction. 3. The method according to claim 1, wherein after executing the balance freezing logic in the privacy token contract based on the first transaction, the method further includes: executing the proxy transfer logic of the privacy token contract based on the proxy transfer information determined according to the second transaction; the proxy transfer information includes the address of the first user as the actual payer, the address of the payee, and the freeze order identifier. 4. The method of claim 3, wherein the agent is an agent contract; wherein, before executing the agent transfer logic of the privacy token contract based on the agent transfer information determined according to the second transaction, the method further includes: obtaining the second transaction in which the user invokes the agent contract; executing the business logic of the agent contract based on the second transaction, which includes: triggering the invocation of the agent transfer logic of the privacy token contract when a predetermined condition is met. 5. The method of claim 3, wherein the agent is an agent user; wherein, before executing the agent transfer logic of the privacy token contract based on the agent transfer information determined according to the second transaction, the method further includes: obtaining the second transaction in which the agent user invokes the privacy token contract. 6. The method of claim 3, wherein the agent transfer logic includes: updating the ciphertext of the payee's account balance to the homomorphic addition result between the ciphertext of the authorized amount; and removing the freeze order from the privacy token contract. 7. The method according to claim 3, wherein the proxy transfer information further includes: encrypted transfer amount, the encryption key of which includes the public keys of the three participating parties, the three participating parties including the first user, the agent, and the payee. 8. The method according to claim 7, wherein the proxy transfer logic includes: updating the encrypted account balance of the payee to the homomorphic addition result between the encrypted transfer amount and the encrypted transfer amount; updating the encrypted authorized amount in the freeze order to the homomorphic subtraction result between the encrypted transfer amount and the encrypted transfer amount. 9. According to claim 7The method, wherein the proxy transfer logic includes: updating the ciphertext of the payee's account balance to the homomorphic addition result between it and the ciphertext of the transfer amount; updating the ciphertext of the first user's account balance to the homomorphic operation result between it and the ciphertext of the transfer amount and the ciphertext of the authorization amount; and removing the freeze order from the privacy token contract. 10. The method according to claim 8 or 9, wherein the proxy transfer information further includes at least one of the following zero-knowledge proofs: a third zero-knowledge proof for proving that the plaintext corresponding to the ciphertext of the transfer amount is a non-negative number; a fourth zero-knowledge proof for proving that the plaintext corresponding to the ciphertext of the authorization amount is greater than or equal to the plaintext corresponding to the ciphertext of the transfer amount; a fifth zero-knowledge proof for proving that the plaintext amounts obtained after the ciphertext of the transfer amount is decrypted by the private keys of the three participating parties are consistent; wherein the proxy transfer logic further includes: verifying each of the zero-knowledge proofs included in the proxy transfer information. 11. The method of claim 1, wherein, after executing the balance freeze logic in the privacy token contract based on the first transaction, the method further comprises: obtaining a third transaction in which the first user invokes the privacy token contract, including the identifier of the freeze order that has been revoked; executing the freeze order revocation logic in the privacy token contract based on the third transaction, which includes: updating the first user's account balance ciphertext to the result of a homomorphic addition operation between the first user's account balance ciphertext and the authorized amount ciphertext, and removing the freeze order from the privacy token contract. HK 30135244 A 3 12. A blockchain node, comprising: a transaction acquisition module configured to acquire a first transaction invoking a privacy token contract, including the address of a first user initiating authorization, the address of an agent authorized to conduct proxy transfers, and an authorized amount ciphertext; the encryption key of the authorized amount ciphertext includes the public keys of two participating parties, the two participating parties including the first user and the agent; a transaction execution module configured to execute balance freezing logic in the privacy token contract based on the first transaction, comprising: adding a freeze order to the privacy token contract, the freeze order including a freeze order identifier, the addresses of the first user and the agent, and the authorized amount ciphertext; and updating the first user's account balance ciphertext to the result of a homomorphic subtraction operation with the authorized amount ciphertext. HK 30135244 A 1 Specification Drawings Acquiring a first transaction invoking a privacy token contract, including the address of a first user initiating authorization, the address of an agent authorized to conduct proxy transfers, and an authorized amount ciphertext; the encryption key of the authorized amount ciphertext includes the public keys of two participating parties, the first user and the agent; and a transaction execution module configured to execute balance freezing logic in the privacy token contract based on the first transaction, comprising: adding a freeze order to the privacy token contract, the freeze order including a freeze order identifier, the addresses of the first user and the agent, and the authorized amount ciphertext; and updating the first user's account balance ciphertext to the result of a homomorphic subtraction operation with the authorized amount ciphertext.The key includes two public keys, provided by the first user and the agent respectively, to execute the balance freeze logic in the privacy token contract based on the first transaction. The balance freezing logic includes: adding a freeze order to the privacy token contract, which includes a freeze order identifier, the addresses of the first user and the agent, and the encrypted authorization amount; and updating the encrypted account balance of the first user to the result of a homomorphic subtraction operation between the encrypted authorization amount and the first user's account balance. S120 S110 Obtaining the second transaction. S130 Based on the agent transfer information determined according to the second transaction, executing the agent transfer logic of the privacy token contract; wherein the agent transfer information includes the freeze order identifier, the address of the payee, and the address of the first user as the actual payer. S140 S150 Based on the third transaction, executing the freeze order cancellation logic in the privacy token contract, which includes: updating the encrypted account balance of the first user to the result of a homomorphic addition operation between the encrypted authorization amount and the first user's account balance, and removing the freeze order from the privacy token contract. S160 Obtaining the third transaction in which the first user invoked the privacy token contract, including the freeze order identifier that was cancelled this time. (Figure 1 or Figure 1 HK 30135244 A 2) User address account balance 0x0001 0x0003 Enc(pk1,100) Enc(pk3,0) User balance form number User address authorization record form (freeze order) Authorized party's address Amount frozen by the authorized party's public key Privacy token contract contract state changes before and after performing authorization operation User address account balance 0x0001 0x0003 Enc(pk1,20) Enc(pk3,0) User balance form number User address authorization record form (freeze order) Authorized party's address Amount frozen by the authorized party's public key 0xabcde 0x0001 0x0002 pk2{Enc(pk1,80),Enc(pk2,80)} Figure 2 User Address Account Balance 0x0001 0x0003 Enc(pk1,20) Enc(pk3,80) User Balance Form No. User Address Authorization Record Form (Freeze Form) Authorized Party's Address Amount Frozen by Authorized Party's Public Key Privacy Token Contract Contract State Changes Before and After Proxy Transfer Operation User Address Account Balance 0x0001 0x0003 Enc(pk1,20) Enc(pk3,0) User Balance Form No. User Address Authorization Record Form (Freeze Form) Authorized Party's Address Amount Frozen by Authorized Party's Public Key 0xabcde 0x0001 0x0002 pk2 {Enc(pk1,80),Enc(pk2,80)} Figure 3 HK 30135244 A 3 User Address Account Balance 0x0001 0x0003 Enc(pk1,40) Enc(pk3,60) User Balance Form No. User Address Authorization Record Table (Freeze Notice) Authorized Party's Address Amount Frozen by Authorized Party's Public Key Privacy Token Contract Contract State Changes Before and After Proxy Transfer Operation User Address Account Balance 0x0001 0x0003 Enc(pk1,20) Enc(pk3,0) User Balance Form No. User Address Authorization Record Table (Freeze Notice) Authorized Party's Address Amount Frozen by Authorized Party's Public Key 0xabcde 0x0001 0x0002 pk2 {Enc(pk1,80),Enc(pk2,80)} Figure 4 User Address Account Balance 0x0001 0x0003 Enc(pk1,20) Enc(pk3,50) User Balance Form No. User Address Authorization Record Table (Freeze Notice) The amount frozen by the authorized party's public key to the authorized party's address. Privacy Token Contract Contract State Changes Before and After Proxy Transfer Operation. User Address Account Balance 0x0001 0x0003 Enc(pk1,20) Enc(pk3,0) User Balance Form Number User Address Authorization Record Form (Freezing Form) Amount frozen by the authorized party's public key to the authorized party's address 0xabcde 0x0001 0x0002 pk2 {Enc(pk1,80),Enc(pk2,80)} 0xabcde 0x0001 0x0002 pk2 {Enc(pk1,30),Enc(pk2,30)} Figure 5 HK 30135244 A 4 Blockchain Node 600 First Transaction Acquisition Module 610 First Transaction Execution Module 620 Second Transaction Acquisition Module 630 Second Transaction Execution Module 640 Third Transaction Acquisition Module 650Third Transaction Execution Module 660 Figure 6 Computer System 700 Processor 702 I / O Interface 708 Memory 704 Storage 706 Communication Interface 710 Figure 7 HK 30135244 A