Search

EP-4736097-A1 - RECOVERABLE TRANSACTIONS IN BLOCKCHAIN SYSTEMS VIA WRAPPED RECOVERABLE TOKENS

EP4736097A1EP 4736097 A1EP4736097 A1EP 4736097A1EP-4736097-A1

Abstract

Certain aspects of the present disclosure provide techniques and apparatus for processing recoverable transactions on a. blockchain. An example method generally includes receiving a request to execute a transaction on a blockchain to transfer a quantity of a wrapped token which encapsulates a base token exchanged in transactions on the blockchain. A running total of tokens in the receiver wallet that are in a recoverable state is incremented by the quantity of the token identified in the request. After a. threshold amount of time from a. timestamp associated with the received request, it is determined whether the transaction has been frozen. Based on determining that the transaction has not been frozen, the running total of tokens in the receiver wallet that are in the recoverable state is decremented, and a running total of tokens in the receiver wallet that are in a non-recoverable state is incremented.

Inventors

  • TIERNEY, Erik
  • WANG, Keri Kaili

Assignees

  • Circle Internet Financial Limited

Dates

Publication Date
20260506
Application Date
20240610

Claims (1)

  1. CIFI/0017PC WHAT IS CLAIMED IS: 1. A computer-implemented method, comprising: receiving a request to execute a transaction on a blockchain, wherein the request comprises a request to transfer a quantity of a token on the blockchain from a transmitter wallet to a receiver wallet identified in the request, wherein the token comprises a wrapped token encapsulating a base token exchanged in transactions on the blockchain; incrementing a running total of tokens in the receiver wallet that are in a recoverable state by the quantity of the token identified in the request; determining, after a threshold amount of time from a timestamp associated with the received request, whether the transaction has been frozen; and based on determining that the transaction has not been frozen: decrementing the running total of tokens in the receiver wallet that are in the recoverable state by the quantity of the token, and incrementing a running total of tokens in the receiver wallet that are in a non-recoverable state by the quantity of the token. 2. The method of Claim 1, further comprising based on determining that the transaction has been frozen, incrementing a running total of tokens in the receiver wallet that are in a frozen state by the quantity of the token. 3. The method of Claim 2, further comprising: receiving, from a defined governance source, an indication that the transaction is to be reversed; and based on the received indication, restoring the quantity of the token to the transmitter wallet. 4. The method of Claim 3, wherein restoring the quantity of the token to the receiver wallet comprises: identifying a chain of wallets, including the receiver wallet, in which tokens associated with the transaction were transferred based on timestamps associated with a series of transactions such that a total amount of tokens frozen across the chain of wallets equals the quantity of the token; and transferring tokens from the chain of wallets to the transmitter wallet. CIFI/0017PC 5. The method of Claim 4, wherein the series of transactions comprises a chain of transactions ordered sequentially in time and performed subsequent to the transaction. 6. The method of Claim 1, wherein incrementing the running total of tokens in the receiver wallet that are in the recoverable state comprises transferring, from the transmitter wallet to the receiver wallet, the quantity of the token into a portion of the receiver wallet in which tokens in the recoverable state are stored. 7. The method of Claim 6, wherein transferring the quantity of the token comprises transmitting the quantity of the token from tokens in the non-recoverable state in the transmitter wallet. 8. The method of Claim 6, wherein: transferring the quantity of the token comprises transmitting a first quantity of the token from tokens in the recoverable state in the transmitter wallet before transmitting a second quantity of the token from tokens in the non-recoverable state, a sum of the first quantity of the token and the second quantity of the token equals the quantity of the token; and the first quantity of the token is less than the quantity of the token. 9. The method of Claim 6, wherein a policy associated with the receiver wallet identifies whether the quantity of the token can be withdrawn from a portion of the transmitter wallet in which tokens in the recoverable state are stored. 10. The method of Claim 1, further comprising determining, based on records stored on the blockchain, a first amount of tokens in a non-recoverable state in the transmitter wallet and a second amount of tokens in a recoverable state in the transmitter wallet, wherein the second amount of tokens in the recoverable state are identified based on transaction records on the blockchain associated with transactions for which the threshold amount of time has not elapsed. 11. A system, comprising: a memory having executable instructions stored thereon; and a processor configured to execute the executable instructions in order to cause the system to: CIFI/0017PC receive a request to execute a transaction on a blockchain, wherein the request comprises a request to transfer a quantity of a token on the blockchain from a transmitter wallet to a receiver wallet identified in the request, wherein the token comprises a wrapped token encapsulating a base token exchanged in transactions on the blockchain; increment a running total of tokens in the receiver wallet that are in a recoverable state by the quantity of the token identified in the request; determine, after a threshold amount of time from a timestamp associated with the received request, whether the transaction has been frozen; and based on a determination that the transaction has not been frozen: decrement the running total of tokens in the receiver wallet that are in the recoverable state by the quantity of the token, and increment a running total of tokens in the receiver wallet that are in a non-recoverable state by the quantity of the token. 12. The system of Claim 11, wherein the processor is further configured to cause the system to increment, based on a determination that the transaction has been frozen, a running total of tokens in the receiver wallet that are in a frozen state by the quantity of the token. 13. The system of Claim 12, wherein the processor is further configured to cause the system to: receive, from a defined governance source, an indication that the transaction is to be reversed; and based on the received indication, restore the quantity of the token to the transmitter wallet. 14. The system of Claim 13, wherein in order to restore the quantity of the token to the receiver wallet, the processor is configured to cause the system to: identify a chain of wallets, including the receiver wallet, in which tokens associated with the transaction were transferred based on timestamps associated with a series of transactions such that a total amount of tokens frozen across the chain of wallets equals the quantity of the token; and transfer tokens from the chain of wallets to the transmitter wallet. CIFI/0017PC 15. The system of Claim 11, wherein in order to increment the running total of tokens in the receiver wallet that are in the recoverable state, the processor is configured to cause the system to transfer, from the transmitter wallet to the receiver wallet, the quantity of the token into a portion of the receiver wallet in which tokens in the recoverable state are stored. 16. The system of Claim 15, wherein in order to transfer the quantity of the token, the processor is configured to cause the system to transmit the quantity of the token from tokens in the non-recoverable state in the transmitter wallet. 17. The system of Claim 15, wherein: in order to transfer the quantity of the token, the processor is configured to cause the system to transmit a first quantity of the token from tokens in the recoverable state in the transmitter wallet before transmitting a second quantity of the token from tokens in the non-recoverable state, a sum of the first quantity of the token and the second quantity of the token equals the quantity of the token; and the first quantity of the token is less than the quantity of the token. 18. The system of Claim 15, wherein a policy associated with the receiver wallet identifies whether the quantity of the token can be withdrawn from a portion of the transmitter wallet in which tokens in the recoverable state are stored. 19. The system of Claim 11, wherein the processor is further configured to cause the system to determine, based on records stored on the blockchain, a first amount of tokens in a non-recoverable state in the transmitter wallet and a second amount of tokens in a recoverable state in the transmitter wallet, wherein the second amount of tokens in the recoverable state are identified based on transaction records on the blockchain associated with transactions for which the threshold amount of time has not elapsed. 20. A computer-readable medium having instructions stored thereon which, when executed by a processor, performs an operation comprising: receiving a request to execute a transaction on a blockchain, wherein the request comprises a request to transfer a quantity of a token on the blockchain from a transmitter wallet to a receiver wallet identified in the request, wherein the token comprises a wrapped token encapsulating a base token exchanged in transactions on the blockchain; CIFI/0017PC incrementing a running total of tokens in the receiver wallet that are in a recoverable state by the quantity of the token identified in the request; determining, after a threshold amount of time from a timestamp associated with the received request, whether the transaction has been frozen; and based on determining that the transaction has not been frozen: decrementing the running total of tokens in the receiver wallet that are in the recoverable state by the quantity of the token, and incrementing a running total of tokens in the receiver wallet that are in a non-recoverable state by the quantity of the token.

Description

CIFI/0017PC RECOVERABLE TRANSACTIONS IN BLOCKCHAIN SYSTEMS VIA WRAPPED RECOVERABLE TOKENS INTRODUCTION [0001] Aspects of the present disclosure relate to security in blockchain systems, and more specifically to recoverable transactions in blockchain systems. BACKGROUND [0002] Blockchains can be used in various decentralized systems to provide a ledger of transactions that have occurred within these decentralized systems. Generally, a blockchain may include a chain of blocks, in which latest block includes some information about a transaction that occurred and a reference to an immediate predecessor block, which may be a hashed value of the previous block. Because the reference to the immediate predecessor block may be a value derived from the immediate predecessor block, verification of the transactions in the blockchain may be performed by ensuring that a hash of a block resolves to the same value as that stored as a reference to the immediate predecessor block in a succeeding block in the blockchain. If there is a mismatch between a computed hash of a block and the hashed value of the block in a succeeding block in the blockchain, validation of the blockchain may fail. [0003] Generally, transactions recorded on a blockchain are immutable and irreversible once recorded and validated on the blockchain. Because transactions recorded on a blockchain are immutable and irreversible, the blockchain may be considered a source of truth for transactions that are recorded on the blockchain. Thus, performing transactions on a blockchain may allow for trust to be established between potentially unknown parties performing transactions on the blockchain. For example, the source of tokens transferred between parties on the blockchain may be trusted by virtue of users participating in these transactions recording such transactions on the blockchain. [0004] However, the immutability and irreversibility of transactions on the blockchain may also create various security risks. For example, in a 51% attack, the transaction records stored on a blockchain may be modified if more than half of the nodes participating in processing transactions on the blockchain include a false record. In another example, because of the immutability and irreversibility of transactions on the blockchain, transactions that occur due to malicious attacks (e.g., transfers of tokens to attackers who demand cryptocurrency payments in order to reverse the effects of a ransomware attack) may not be reversed, and the victims of such attacks may not be able to recover tokens that are lost due to such attacks. CIFI/0017PC [0005] Accordingly, techniques are needed to improve the security of transactions occurring on the blockchain. BRIEF SUMMARY [0006] Certain embodiments provide a computer-implemented method for processing recoverable transactions on a blockchain. An example method generally includes receiving a request to execute a transaction on a blockchain. The request generally includes a request to transfer a quantity of a token on the blockchain from a transmitter wallet to a receiver wallet identified in the request, and the token generally is a wrapped token encapsulating a base token exchanged in transactions on the blockchain. A running total of tokens in the receiver wallet that are in a recoverable state is incremented by the quantity of the token identified in the request. After a threshold amount of time from a timestamp associated with the received request, it is determined whether the transaction has been frozen. Based on determining that the transaction has not been frozen, the running total of tokens in the receiver wallet that are in the recoverable state is decremented by the quantity of the token, and a running total of tokens in the receiver wallet that are in a non-recoverable state is incremented by the quantity of the token. [0007] Other embodiments provide processing systems configured to perform the aforementioned methods as well as those described herein; non-transitory, computer-readable media comprising instructions that, when executed by one or more processors of a processing system, cause the processing system to perform the aforementioned methods as well as those described herein; a computer program product embodied on a computer readable storage medium comprising code for performing the aforementioned methods as well as those further described herein; and a processing system comprising means for performing the aforementioned methods as well as those further described herein. [0008] The following description and the related drawings set forth in detail certain illustrative features of one or more embodiments. BRIEF DESCRIPTION OF THE DRAWINGS [0009] The appended figures depict certain aspects of the one or more embodiments and are therefore not to be considered limiting of the scope of this disclosure. [0010] FIG.1 depicts an example computing system in which recoverable transactions are performed on a blockchain using wra