Execution of transactions in a blockchain system via a token pool using convertible tokens
The token pool system on blockchain addresses security and efficiency issues by allowing reversible transactions and token recovery, enhancing trust and reducing computational costs through a governance mechanism for fraudulent transaction management.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- サークル インターネット フィナンシャル リミテッド
- Filing Date
- 2024-06-10
- Publication Date
- 2026-07-23
AI Technical Summary
The immutability and irreversibility of transactions on blockchain systems create security risks and inefficiencies, such as in 51% attacks and malicious transactions, leading to potential loss of tokens and compromised trust among users.
A token pool system is introduced where tokens from multiple wallets are aggregated, allowing for the exchange of recoverable wrapped tokens to irreversible base tokens, with a governance mechanism to freeze and recover tokens in case of fraudulent transactions, thereby enhancing security and efficiency.
This approach accelerates transaction processing, reduces computational costs, and improves security by enabling reversible transactions and trust through a global token pool that can cancel malicious transactions, recovering lost tokens.
Smart Images

Figure 2026524639000001_ABST
Abstract
Description
Technical Field
[0001] Aspects of the present disclosure relate to transactions in a blockchain system, and more particularly, to transactions executed via a token pool.
Background Art
[0002] A blockchain can be used to provide a ledger of transactions that occur within these distributed systems in various distributed systems. Generally, a blockchain may include a chain of blocks, where the latest block includes some information regarding the transactions that occurred and a reference to the immediately preceding block, which may be the hash value of the previous block. Since the reference to the immediately preceding block can be a value derived from the immediately preceding block, the verification of a transaction within the blockchain can be performed by confirming that the hash of a block is determined to be the same value as that stored as the reference to the immediately preceding block within a subsequent block within the blockchain. If there is a mismatch between the calculated hash of a block and the hash value of the block within a subsequent block within the blockchain, the verification of the blockchain may fail.
[0003] Generally, transactions recorded on a blockchain can be executed using one or more tokens that are native to the blockchain or can be transactionally processed on the blockchain. These different types of tokens may be interchangeable with each other, but the supply of these tokens can change for any number of reasons. Furthermore, some transactions may be executed based on multiple types of tokens, while some transactions may be defined so that only defined tokens can be used to execute these transactions. Thus, to execute a transaction, a user may exchange a first type of token for a second type of token, which may cause additional transactions to be executed on the blockchain and increase the amount of time and computational resources involved in executing transactions on the blockchain.
[0004] In general, transactions recorded on a blockchain are immutable and irreversible once they are recorded and verified on the blockchain. Because transactions recorded on a blockchain are immutable and irreversible, the blockchain may be considered the true source of the transactions recorded on it. Thus, executing a transaction on a blockchain can allow trust to be established between potentially unknown parties executing the transaction on the blockchain. For example, the source of tokens transferred between parties on a blockchain can be trusted by the users participating in these transactions recording such transactions on the blockchain.
[0005] However, the immutability and irreversibility of transactions on the blockchain can also create various security risks. For example, in a 51% attack, if a majority of the nodes participating in processing a transaction on the blockchain include false records, the transaction records stored on the blockchain may be modified. In another example, due to the immutability and irreversibility of transactions on the blockchain, a transaction resulting from a malicious attack (for example, the transfer of tokens to an attacker demanding a cryptocurrency payment to undo the effects of a ransomware attack) may not be reversible, and victims of such attacks may not be able to recover tokens lost as a result of such attacks.
[0006] Therefore, techniques are needed to improve the security and efficiency of transactions occurring on the blockchain. [Overview of the Initiative]
[0007] Several embodiments provide computer implementation methods for efficiently executing reversible transactions on a blockchain. Exemplary methods generally involve aggregating tokens from multiple wallets into a global pool of tokens. Generally, the global pool of tokens includes a first type of token and a second type of token. A request is received to exchange a first amount of the first type of token stored in a wallet for a second type of token. The second amount of the second type of token to be transferred to the wallet is calculated based at least in part on the ratio of the first type of token to the second type of token in the global pool of tokens. The first amount of the first type of token is transferred to the global pool of tokens, and the second amount of the second type of token is transferred to the wallet.
[0008] Other embodiments provide a processing system configured to perform the methods described above and the methods described herein; a non-temporary computer-readable medium containing instructions that, when executed by one or more processors of the processing system, cause the processing system to perform the methods described above and the methods described herein; a computer program product embodied on a computer-readable storage medium containing code for performing the methods described above and the methods described herein; and a processing system comprising means for performing the methods described above and the methods described herein.
[0009] The following description and related drawings detail some exemplary features of one or more embodiments.
[0010] The attached figures illustrate some aspects of one or more embodiments and should therefore not be considered to limit the scope of this disclosure. [Brief explanation of the drawing]
[0011] [Figure 1] This figure shows an exemplary computing system according to an embodiment of the present disclosure in which reversible transactions are executed on a blockchain using wrapped tokens. [Figure 2] This figure shows a timeline for executing a transaction on the blockchain to convert a first type of token to a second type of token using wrapped tokens, according to an embodiment of the present disclosure. [Figure 3] This figure shows exemplary operation for executing a transaction on a blockchain to convert a first type of token to a second type of token using a wrapped token, according to an embodiment of the present disclosure. [Figure 4] This figure shows an exemplary system that can carry out the embodiments of this disclosure. [Modes for carrying out the invention]
[0012] For ease of understanding, the same reference numerals are used to indicate identical elements common to the drawings, where possible. Elements and features of one embodiment are intended to be usefully incorporated into other embodiments without further detail.
[0013] In a cryptocurrency system, a transaction can be represented as a block within a blockchain that tracks the collection of transactions performed using the cryptocurrency system. In these cryptocurrency systems, processed transactions cannot be modified later, thus providing an immutable ledger of transactions performed using the cryptocurrency system.
[0014] Using a blockchain system to execute and record transactions generally allows transactions to be recorded immutably, which can enable the blockchain to provide a consistent, unalterable record of transactions that occur on the blockchain, and thus a consistent, unalterable transaction history for each user performing an action on the blockchain. However, the immutability and irreversibility of transactions on the blockchain can enable a malicious party to execute malicious transactions that cannot be undone. For example, transactions resulting from hacking a wallet, fraud carried out against a wallet owner, theft of tokens from a wallet, and other attacks against wallets can occur from time to time, and the immutability and irreversibility of transactions executed on the blockchain may prevent victims from recovering tokens lost in such attacks. Thus, transaction security and trust in a blockchain system can be negatively affected by the immutability of the blockchain system and the irreversibility of transactions executed on the blockchain system.
[0015] In some cases, transactions may be executed on the blockchain using different exchangeable tokens, the supply of which can vary within a user's wallet and across the larger collective of participants executing transactions on the blockchain. Therefore, individual users sending tokens to recipients on the blockchain may wish to exchange one type of token for another in order to execute a given transaction. However, in some situations, the properties of these tokens can lead to various complexities. For example, a wrapped token that can be used to execute a reversible transaction may remain in a recoverable state for a certain period of time, and after that period has elapsed, it may be converted to an unrecoverable state if the underlying transaction has not been flagged as fraudulent, malicious, or otherwise subject to cancellation.
[0016] Aspects of this disclosure provide a technique for executing transactions on a blockchain using tokens exchanged via a token pool. Generally, multiple wallets may participate in a global pool where tokens from multiple wallets are aggregated. A user can exchange an amount of a first token for an amount of a second token, which then enables the user to execute a transaction using the second token. In some cases, the first token may be a wrapped token in a first state, and the second token may be a wrapped token in a second state to which the first token is converted. By enabling the exchange of tokens via a global pool of tokens, aspects of this disclosure may accelerate the process of executing transactions on the blockchain and reduce the computational costs involved in executing transactions on the blockchain, as a user may not have to wait for the token to be converted from a first type of token to a second type of token (for example, from a recoverable state to a non-recoverable state) before using such tokens. Furthermore, within the global pool of tokens, the supply of the second type of token may be continuously maintained as the first type of token is converted to the second type of token over time, which may enable the fulfillment of exchanges without performing additional transactions to replenish the supply of available tokens in the global pool. In addition, aspects of this disclosure may enable the use of recoverable tokens within the global pool of tokens, which may improve security and trust in the blockchain system by enabling the cancellation of malicious transactions and the recovery of tokens from the global pool, thereby reducing the possibility that parties to transactions executed on the blockchain may permanently lose tokens or other digital assets due to malicious transactions or malicious parties executing transactions on the blockchain.
[0017] Example of transaction processing on a blockchain using a global token pool Figure 1 shows an exemplary computing environment 100 in which reversible transactions are executed on a blockchain using wrapped tokens, according to an aspect of this disclosure. As shown, the computing environment 100 includes a transaction processing system 110, a token pool 120, a user wallet 130, and a network 140.
[0018] The transaction processing system 110 generally enables the conversion of tokens between different types of tokens, the adjustment of the state of such tokens, and the execution of transactions on the blockchain 142 of the network 140, based on the exchange of tokens between the token pool 120 and the user wallet 130. As illustrated, the transaction processing system 110 includes a token converter 112, a token state adjuster 114, and a transaction processor 116.
[0019] The token converter 112 generally allows users associated with the token pool 120 and / or wallet 130 to convert a first type of token into a second type of token. In one example, the first type of token may be a first type of token that can be used to execute transactions on the blockchain, and the second type of token may be a different type of token that can also be used to execute transactions on the blockchain. In another example, the first type of token may be a wrapped token, and the second type of token may be a base token encapsulated within the wrapped token. Reversible transactions may be executed using the wrapped token, while irreversible transactions may be executed using the base token.
[0020] Wrapped tokens generally allow recoverability data to be added to a base token that can be used to execute transactions recorded on the blockchain. Recoverability data may include a recoverability status indicator and a frozen status indicator. The recoverability status indicator may be a Boolean value, for example, where a Boolean value of true is equivalent to the wrapped token being recoverable, and a Boolean value of false is equivalent to the wrapped token being unrecoverable. Similarly, the frozen status indicator may also be a Boolean value, where a Boolean value of true is equivalent to the wrapped token being frozen (and therefore included in a transaction subject to cancellation), and a Boolean value of false is equivalent to the wrapped token not being frozen.
[0021] Generally, if the first type of token is a wrapped token and the second type of token is a base token encapsulated within it, the token converter 112 may allow the first type of token to be converted to the second type of token when the first type of token is in an irrecoverable state. Recoverable tokens may not be converted to the base token by the token converter 112 because these tokens may be subject to state adjustment (e.g., frozen) until the associated transaction is determined to be non-malicious, not fraudulent, or otherwise not subject to cancellation, and then returned to the originating wallet.
[0022] In some embodiments, the token converter 112 may be activated when tokens are transferred from the token pool 120 to the user wallet 130 or vice versa. For example, when a user associated with the user wallet 130 exchanges a first type of token for a second type of token via the token pool 120, the token converter 112 can convert the token from the second token store 124 to the second type of token before sending the token to the user wallet 130. In an example where the first type of token is a wrapped token and the second type of token is a base token encapsulated in the wrapped token, and the first token store 122 stores the first type of token in a recoverable state and the second token store 124 stores the first type of token in a non-recoverable state, the token converter 112 can convert the token from the second token store to the base token and output the base token to the user wallet 130 for storage (for example, in the second token store 134 if the first token store 132 is used to store the wrapped token).
[0023] The token state adjuster 114 can modify the tokens within the token pool 120 or the user wallet 130 to reflect the state of these tokens. For example, if the first type of token is a wrapped token that enables the token to be in a recoverable or non-recoverable state, the token state adjuster 114 determines that a transaction executed on the blockchain 142 within the network 140 is potentially fraudulent or malicious (e.g., the transaction corresponds to malicious activities such as a token theft event, a ransomware attack where cryptocurrency is used to obtain a decryption key to cancel a ransomware attack), and thus when it is determined to be subject to cancellation, it can function as a governance source that enables the token to be frozen. If the token state adjuster 114 determines that a transaction executed on the blockchain 142 is a fraudulent or malicious transaction, the token state adjuster 114 can participate in the transaction and reverse the frozen state of the tokens stored in the token pool 120 and / or the user wallet 130 (e.g., change the frozen state from a boolean false to a boolean true). After freezing the token, the token state adjuster 114 (or some other external governance source) can cancel the transaction or instruct the transaction processor 116 to cancel the transaction. When canceling the transaction, the frozen tokens may be withdrawn from the token store within the token pool 120 and / or the user wallet 130 and returned to the source wallet.
[0024] The transaction processor 116 generally receives and processes various requests that ask to execute transactions involving the token pool 120 and / or user wallets 130. Generally, the transaction processor 116 can initiate token transfers between the token pool 120, user wallets 130, and / or one or more other wallets (for example, related to participants in the token pool 120), and commit transaction records reflecting these transfers to the blockchain 142.
[0025] For example, to participate in the token pool 120, a participant wallet (not shown) can provide the token pool 120 with an amount of tokens of a first type (also called "staking") and / or an amount of tokens of a second type. A transaction processor 116 can record a transaction record on the blockchain 142 that proves the amount and type of tokens provided to the token pool by the participant wallet, thereby achieving the transfer of tokens from the participant wallet to the token pool 120. In some embodiments, the transaction processor 116 can record the transaction by invoking a smart contract or other programmatic structure on the blockchain 142. This smart contract may enable the initial transfer of tokens from the participant wallet and the token pool 120, and may also achieve the distribution of tokens from the token pool 120 to the participant wallet, and may provide compensation to users associated with the participant wallet for their contribution of tokens to the token pool 120. The distribution of tokens from the token pool 120 to the participant wallet may be based on the aggregated difference between the amount of tokens of the first type received and the amount of tokens of the second type exchanged. The distribution of tokens from the token pool 120 to users associated with participant wallets may be performed periodically or irregularly, and the amount of tokens distributed from the token pool 120 to users associated with participant wallets may be proportional to the amount of tokens each participant wallet has contributed to the token pool 120.
[0026] In some embodiments, the transaction processor 116 can enable a participant wallet to provide various issuances of a first type of token to the token pool 120. If the various issuances of the first type of token are fungible (i.e., tokens issued by one issuer are exchangeable with tokens issued by another issuer), the token pool 120 can maintain an aggregated balance of the first type of token for future use (e.g., stored in the first token store 122 as shown, converted to a second type of token, and then stored in the second token store 124). If the various issuances of the first type of token are non-fungible (i.e., tokens issued by one issuer are not exchangeable with tokens issued by another issuer), the token pool 120 can separate the first token store 122 and the second token store 124 by issuer. The exchange of tokens between the token pool 120 and the user wallet 130 may be performed by issuer to reflect that tokens issued by different issuers are not exchangeable.
[0027] Generally, the transaction processor 116 can receive a request to exchange an amount of a first type of token in the user wallet 130 (e.g., from the first token store 132 of the user wallet 130) for an amount of a second type of token from the token pool 120. To execute this request, the transaction processor 116 can calculate an amount of the second type of token equal to the amount of the first type of token specified in the transaction request, effect a transfer of the first type of token from the user wallet 130 to the token pool 120, and effect a transfer of the second type of token from the token pool 120 to the user wallet 130.
[0028] For example, the first type of token may be a recoverable wrapped token, and the second type of token may be an unrecoverable wrapped token, or a base token encapsulated in a wrapped token. As described, a wrapped token may remain recoverable until a certain threshold time has elapsed since the time the token was received in the user wallet 130. Since there may be some uncertainty about whether a recoverable wrapped token involved in an exchange between the user wallet 130 and the token pool 120 will transition from a recoverable state to an unrecoverable state, the transaction processor 116 may exchange an amount of recoverable wrapped tokens for a smaller amount of unrecoverable wrapped tokens. The difference between the amount of recoverable wrapped tokens and the smaller amount of unrecoverable wrapped tokens may be determined based on various indicators. For example, the difference may be based on the ratio of recoverable wrapped tokens to unrecoverable wrapped tokens in the token pool 120. As the ratio of recoverable wrapped tokens to unrecoverable wrapped tokens increases, the difference may also increase. By adjusting the difference based on the configuration of the token pool 120, the transaction processor 116 can exchange recoverable wrapped tokens for unrecoverable wrapped tokens, taking into account the risk that some tokens in the token pool 120 may be frozen and therefore cannot be converted into unrecoverable wrapped tokens.
[0029] In some embodiments, the difference between a first amount of tokens of the first type and a second amount of tokens of the second type may be based on various risk-related indicators, either further or alternatively. These risk-related indicators may include identification information of the protocol to which the tokens of the first type were supplied, and a history of risk indicators related to the user associated with the user wallet 130. Generally, tokens generated by newer protocols, or tokens associated with historically high-risk protocols, may have a larger difference between the first amount of tokens of the first type and the second amount of tokens of the second type than tokens from more established protocols with lower risk profiles. It should be noted that the risk-related indicators described herein are illustrative, and other risk-related indicators may indicate that tokens of the first type may not be successfully converted into tokens of the second type.
[0030] In some embodiments, a transaction for exchanging a first type of token for a second type of token between the token pool 120 and the user wallet 130 may further include unwrapping the base token. In such cases, the first amount of wrapped tokens may be transferred from the user wallet 130 to the token pool 120, and the transaction processor 116 can determine a second amount of wrapped tokens to be transferred from the token pool 120 to the user wallet 130 based on the exchange rate between these tokens and the calculated difference described above. The second amount of wrapped tokens may be unwrapped (for example, via the token converter 112), and the base tokens recovered by unwrapping the wrapped tokens may be transferred to the user wallet 130. By doing so, users associated with the user wallet 130 can perform various transactions based on the base tokens, or rewrap the tokens before performing subsequent transactions on the blockchain 142.
[0031] As described above, within the token pool 120, the amount of tokens of the first type can ultimately be converted into the amount of tokens of the second type. Generally, when enabling the exchange of tokens of the first type to tokens of the second type, the token pool 120 may be established such that there is a continuous supply of tokens of the first type that are at least partially converted into tokens of the second type that can be received by the transaction processor 116 and used to satisfy subsequent exchange requests committed to the blockchain 142.
[0032] In a configuration where the first type of token is a recoverable wrapped token and the second type of token is a non-recoverable wrapped token, the tokens may be frozen by the token state adjuster 114 if the transaction associated with these tokens (for example, a transaction performed by the party that provided the tokens to the token pool 120) is determined to be fraudulent, malicious, or otherwise subject to revocation. In such a case, the tokens may be frozen and removed from the global pool of tokens. The tokens may then be returned to the wallet from which these tokens originated (for example, the sender wallet associated with the underlying transaction deemed fraudulent, malicious, or otherwise subject to revocation).
[0033] Example of token conversion via a global token pool Figure 2 shows a timeline 200 for executing a transaction on the blockchain to convert a first type of token to a second type of token using a wrapped token, according to an embodiment of the present disclosure.
[0034] As illustrated, in timeline 200, token exchange transaction 210 is executed at time t. Transaction 210 generally includes, as described, the transfer of a first type of token from wallet 130 to a global pool of tokens, and the transfer of an equivalent amount of a second type of token, less than a defined difference, from the global pool of tokens to wallet 130. In an example where the exchanged tokens are wrapped tokens used in a recoverable transaction, the token withdrawn from the sender wallet may be a token in a recoverable state, while the token transferred from the global pool to wallet 130 may be a token in an unrecoverable state or a base token encapsulated within it.
[0035] Before the threshold time elapses (for example, before time t+threshold_time), a governance authority (for example, the token state adjuster 114 and / or other governance authorities shown in Figure 1) may determine that the underlying transaction that serves as the source of the first type of token in transaction 210 is rogue, malicious activity, or otherwise subject to revocation. If a governance authority (or, if transaction and token freezing is verified on the chain, the majority of governance authorities) determines that the transaction is subject to revocation before the threshold time elapses, the governance authority may determine that the tokens associated with the transaction may be frozen for future recovery.
[0036] In block 212, which occurs after t+threshold_time, the transaction processor can determine whether the transaction relating to the exchange of a first type token for a second type token has been validated as a legitimate transaction, or whether it has been determined to be a fraudulent, malicious activity, or otherwise subject to cancellation. If, in block 212, the transaction processor determines that the transaction has been validated as a legitimate transaction, the transaction processor can mark the tokens involved in transaction 210 as irrecoverable, and in block 214, convert the first type tokens to the second type tokens. For example, the tokens may be migrated to a wallet where irrecoverable tokens are stored, or the tokens involved in transaction 210 may have an updated status indicator that reflects that such tokens are now irrecoverable tokens. The owner of the wallet receiving these tokens may perform subsequent transactions using these irrecoverable tokens, such as performing further transactions involving the transfer of these irrecoverable tokens, or unwrapping these irrecoverable tokens into the base tokens encapsulated within them.
[0037] However, if in block 212 the transaction processor determines that a transaction relating to a first type of token provided to the global token pool via transaction 210 is an illegal, malicious activity, or otherwise subject to revocation, then in block 216 the transaction processor may freeze the tokens relating to transaction 210. In some embodiments, a single governance authority (e.g., the token freezer 114 shown in Figure 1) can be used to determine that a transaction is subject to revocation. In such cases, the token freezer 114 can determine that a transaction is subject to revocation at any point before the threshold time has elapsed and can freeze the tokens relating to transaction 210. That is, although timeline 200 indicates that transaction 210 is subject to revocation after the threshold time has elapsed from the time transaction 210 was executed, it should be understood that the transaction can be considered subject to revocation and the corresponding tokens can be frozen at any point before time t+threshold_time. In some embodiments, if transaction reversibility and token freezing are performed based on a consensus derived from the determinations of multiple governance authorities, transaction 210 may be deemed reversible if, at any point before the threshold time period has elapsed, a threshold number of governance authorities determine that the transaction is fraudulent, malicious activity or otherwise subject to reversal.
[0038] After the token is frozen in block 216, the token may be recovered in the sender wallet associated with a transaction that serves as the source of the recoverable token in wallet 130. To recover the token, a subsequent transaction may be recorded on blockchain 142 to prove that the transaction has been canceled. The token may be removed from the sender wallet (and potentially from downstream sender wallets as described above) and returned to the sender wallet via this subsequent transaction recorded on blockchain 142. The token removed from the sender wallet may, in some aspects, be a token stored in an unrecoverable token store, or it may be the token that was initially transferred to the sender wallet (for example, if the token is unique and non-fungible). This subsequent transaction to recover the token may, in some cases, not subject to a waiting period before the token involved in this subsequent transaction is deemed unrecoverable, and rather, based on the determination that the token was transferred as part of a reversible transaction, the token returned to the sender wallet may be returned in an unrecoverable state and made available for subsequent use.
[0039] Exemplary behavior for token conversion via a global token pool Figure 3 shows an exemplary operation 300 for executing a transaction on a blockchain to convert a first type of token to a second type of token using wrapped tokens, according to an embodiment of the present disclosure. Operation 300 may be executed, for example, by a transaction processing system (e.g., transaction processing system 110 shown in Figure 1) used by users associated with a global pool of wallets and tokens to exchange different types of tokens within the blockchain environment.
[0040] Operation 300, as illustrated, begins in block 310 by aggregating tokens from multiple wallets into a global token pool. The global token pool generally contains a first type of token and a second type of token.
[0041] In some embodiments, the first type of token may include a token that encapsulates a base token and is in a recoverable state. The second type of token may include a token that encapsulates a base token and is in a non-recoverable state. As described, the first type of token may be converted to the second type of token over time such that the current supply of the first type of token may become the future supply of the second type of token that can be used in future exchange transactions with other wallets.
[0042] In some embodiments, the second type of token may be a fungible token issued by any of several issuers.
[0043] In some embodiments, the second type of token may be a non-fungible token, where a token issued by one issuer is not interchangeable with a token issued by another issuer. In such cases, operation 300 may further include isolating the first type of tokens in the global pool based on the issuer of the first type of token. In such cases, requests to exchange the first type of token for the second type of token may be made per issuer.
[0044] In block 320, operation 300 proceeds to receive a request to exchange a first amount of a first type of token stored in the wallet for a second type of token.
[0045] In block 330, operation 300 proceeds to calculate a second amount of the second type of token to transfer to the wallet, based at least in part on the ratio of the first type of token to the second type of token in the global pool of tokens.
[0046] In block 340, operation 300 proceeds to transfer a first amount of tokens of the first type to the global pool of tokens.
[0047] In block 350, action 300 proceeds to transfer a second amount of the second type of token to the wallet.
[0048] In some embodiments, transferring a second amount of the second type of token to a wallet involves unwrapping the second amount of the second type of token to the second amount of the base token, in embodiments where the second type of token is a token that encapsulates the base token and is in an irrecoverable state. The second amount of the base token may be transferred to a wallet.
[0049] In some embodiments, operation 300 further includes receiving an instruction that a third amount of the first type of tokens is frozen, and removing the third amount of the first type of tokens from the global pool of tokens.
[0050] In some embodiments, the second amount of the second type of token is less than the first amount of the first type of token, and the method further includes allocating the difference between the first and second amounts for distribution to multiple wallets from which the global pool is withdrawn. As the ratio of the first type of token to the second type of token increases in the global pool, the difference between the first and second amounts of tokens may increase.
[0051] In some embodiments, operation 300 may further include distributing tokens to multiple wallets from which a global pool of tokens is drawn. As described, the tokens distributed to multiple wallets from which a global pool of tokens is drawn may be tokens relating to the difference between a first amount of tokens and a second amount of tokens. When the first amount of first type tokens from which the difference is received is converted into second type tokens, the cumulative amount of transaction differences may be used to benefit the parties that contributed to the global pool of tokens. The distribution of tokens to multiple wallets may be based on the number of tokens contributed to the global pool of tokens by each participant's wallet, the period over which such tokens were contributed, and so on.
[0052] Exemplary System for Token Conversion via a Global Token Pool Figure 4 shows an exemplary system 400 configured to perform the methods described herein, including, for example, the operation 300 of Figure 3. In some embodiments, the system 400 may function as a transaction processing service, such as the transaction processing system 110 shown in Figure 1, which receives requests to exchange tokens between a global token pool and a user wallet and to commit a record of such transactions to the blockchain.
[0053] As illustrated, system 400 includes a central processing unit (CPU) 402, one or more I / O device interfaces 404 that can enable connections of various I / O devices 414 (e.g., keyboard, display, mouse device, pen input, etc.) to system 400, a network interface 406 to which system 400 is connected to a network 690 (which may be a local network, intranet, internet, or any other group of computing devices connected to communicate with each other), memory 408, and interconnection lines 412. The I / O devices 414 and / or the network interface 406 may be used to receive requests to bridge transactions between different blockchains, such as a Layer 1 blockchain and a Layer 2 blockchain.
[0054] The CPU 402 can retrieve and execute programming instructions stored in memory 408. Similarly, the CPU 402 can retrieve and store application data present in memory 408. The interconnection line 412 transmits programming instructions and application data between the CPU 402, the I / O device interface 404, the network interface 406, and memory 408.
[0055] CPU402 is included to represent a single CPU, multiple CPUs, a single CPU with multiple processing cores, and so on.
[0056] Memory 408 represents volatile memory such as random access memory, or non-volatile memory such as non-volatile random access memory or phase-change random access memory. As shown in the figure, memory 408 includes a token converter 420, a token state adjuster 430, and a transaction processor 440.
[0057] Token converter 420 may correspond to token converter 112 shown in Figure 1. Generally, token converter 420 enables the creation of different types of tokens and the conversion of a first type of token to a second type of token. For example, token converter may enable the creation of wrapped tokens from a base token and the unwrapping of the base token from the wrapped token. When creating a wrapped token, token converter 420 encapsulates a base token that may be used in a transaction executed and recorded on the blockchain, and adds the additional capability to place the base token in a recoverable, unrecoverable, and frozen state when the token is transferred in a transaction that is marked as a result of fraudulent, malicious activity, or otherwise subject to revocation. Generally, token converter 420 may enable unwrapping the token to the base token when such a token is in an unrecoverable state, but may not be able to unwrap the token when such a token is in a recoverable state (because these tokens may be associated with a transaction subject to revocation and therefore may be tokens that can be returned to the sender's wallet).
[0058] The token state adjuster 430 may correspond to the token freezer 114 shown in Figure 1. Generally, the token state adjuster 430 acts as a governing authority for transactions recorded on the blockchain, enabling transactions to be marked as fraudulent, malicious activity, or otherwise subject to cancellation, and enabling tokens transferred in these transactions to be frozen with awaiting further review and / or returned to the sender wallet. Generally, the token state adjuster 430 may determine at any time before the expiration time, defined based on the timestamp associated with the transaction and a threshold time amount to wait for the transaction to be verified (or for the transaction to be marked as subject to cancellation), that a transaction is subject to cancellation and therefore the associated tokens should be frozen with awaiting the return of such tokens to the recipient wallet. If the token state adjuster 430 does not mark the transaction as subject to cancellation before the expiration time, the transaction may be terminated, and tokens transferred as part of the transaction may move from a recoverable state to an unrecoverable state. Otherwise, the transaction may be terminated, and tokens may move from a recoverable token store to an unrecoverable token store.
[0059] Transaction processor 440 may correspond to transaction processor 116 shown in Figure 1. Generally, transaction processor 440 executes transactions on the blockchain and achieves the transfer of tokens between the global token pool and user wallets. Transaction processor 440 may also receive requests to convert a first amount of a first type of token into an equivalent amount of a second type of token, and calculates a sufficient amount of second type tokens to satisfy this request. Generally, transaction processor 440 can also determine a difference between a first amount of first type tokens and a second amount of second type tokens, which acts as a premium for exchanging first type tokens for second type tokens (for example, the conversion of first type tokens, whose use is restricted in transactions executed on the blockchain, into second type tokens, whose use is not restricted in transactions executed on the blockchain). The difference may be accumulated, and periodically or irregularly, transaction processor 440 can generate transaction records indicating that the amount of second type tokens has been distributed to participant wallets supplied by the global token pool and commit them to the blockchain. Finally, in some embodiments, a transaction processor may use a request to freeze a transaction in order to freeze tokens and ultimately achieve the return of those tokens to the sending party associated with the original transaction in which the frozen tokens were received.
[0060] Exemplary clause Details of the various implementations of this disclosure are described in the following numbered clauses.
[0061] Clause 1: A computer implementation method for aggregating tokens from multiple wallets into a global pool of tokens, wherein the global pool of tokens includes aggregating tokens including a first type of token and a second type of token; receiving a request to exchange a first amount of first type tokens stored in a wallet for second type tokens; calculating a second amount of second type tokens to transfer to a wallet based at least in part on the ratio of first type tokens to second type tokens in the global pool of tokens; transferring a first amount of first type tokens to the global pool of tokens; and transferring a second amount of second type tokens to a wallet.
[0062] Clause 2: The method according to Clause 1, wherein the first type of token includes a token that encapsulates a base token and is in a recoverable state, and the second type of token includes a token that encapsulates a base token and is in a non-recoverable state.
[0063] Clause 3: The method of Clause 2, wherein transferring a second amount of the second type of token to a wallet includes unwrapping a second amount of the second type of token to a second amount of the base token and transferring a second amount of the base token to a wallet.
[0064] Clause 4: The method of Clause 2 or 3, further comprising receiving instructions that a third amount of the first type of tokens is frozen and removing a third amount of the first type of tokens from the global pool of tokens.
[0065] Clause 5: The method described in any one of Clauses 2 to 4, wherein the second type of token includes fungible tokens issued by any of multiple issuers.
[0066] Clause 6: The method described in any one of Clauses 2 to 5, further comprising isolating the first type of tokens in the global pool based on the issuer of the first type of token.
[0067] Clause 7: The method of any one of Clauses 1 to 6, wherein the second amount of the second type of token is less than the first amount of the first type of token, and the method further comprises allocating the difference between the first and second amounts for distribution to multiple wallets from which the global pool is withdrawn.
[0068] Clause 8: The method described in Clause 7, wherein as the ratio of first type tokens to second type tokens in the global pool increases, the difference between the first and second quantities increases.
[0069] Clause 9: The method of Clause 7 or 8, further comprising distributing tokens to multiple wallets from which the global pool of tokens is withdrawn.
[0070] Clause 10: A system comprising memory storing executable instructions and a processor configured to execute executable instructions in order to perform any one of Clauses 1 through 9.
[0071] Clause 11: A system comprising means for performing any one of the operations described in Clauses 1 through 9.
[0072] Clause 12: A computer-readable medium on which instructions are stored that, when executed by a processor, perform the operations described in any one of Clauses 1 through 9.
[0073] Additional considerations The foregoing description is provided to enable those skilled in the art to implement the various embodiments described herein. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may apply to other embodiments. For example, changes may be made to the function and configuration of the elements described herein without departing from the scope of this disclosure. Various examples may omit, replace, or add various procedures or components as needed. Also, features described in some examples may be combined in some other examples. For example, an apparatus may be implemented or a method may be carried out using any number of embodiments described herein. Furthermore, the scope of this disclosure shall cover, in addition to or in addition to the various embodiments of this disclosure described herein, such apparatuses or methods carried out using other structures, functions, or structures and functions. It should be understood that any embodiment of this disclosure disclosed herein may be embodied by one or more elements of the claims.
[0074] As used herein, the phrase “at least one of” the list of items refers to any combination of those items that includes a single member. For example, “at least one of a, b, or c” shall cover a, b, c, ab, ac, bc, and abc, as well as any combination with multiple identical elements (for example, aa, aaa, aab, aac, abb, acc, bb, bbb, bbc, cc, and ccc, or any other ordering of a, b, and c).
[0075] As used herein, the term “decision-making” encompasses a wide variety of actions. For example, “decision-making” may include calculating, calculating, processing, deriving, investigating, looking up (e.g., looking up in a table, database, or other data structure), and confirming. It may also include receiving (e.g., receiving information), accessing (e.g., accessing data in memory), and further, resolving, selecting, choosing, and establishing.
[0076] The methods disclosed herein include one or more steps or actions for achieving the method. The steps and / or actions of the method may be interchangeable with one another without departing from the claims. In other words, unless a particular order of steps or actions is specified, the order and / or use of any particular steps and / or actions may be modified without departing from the claims. Furthermore, the various operations of the methods described above may be performed by any suitable means capable of performing the corresponding functions. The means may include, but are not limited to, various hardware and / or software components and / or modules, including circuits, application-specific integrated circuits (ASICs), or processors. Generally, where there are operations shown in the figures, those operations may have corresponding counterpart means and functional components having similar numbering.
[0077] The various exemplary logic blocks, modules, and circuits described in this disclosure may be implemented or run using general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices (PLDs), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but alternatively, a processor may be any commercially available processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors working with a DSP core, or any other such configuration.
[0078] The processing system may be implemented using a bus architecture. The bus may include any number of interconnection buses and bridges, depending on the specific application and overall design constraints of the processing system. The bus may link various circuits to one another, including, among other things, processors, machine-readable media, and input / output devices. User interfaces (e.g., keypads, displays, mice, joysticks, etc.) may also be connected to the bus. The bus may also link various other circuits, such as timing sources, peripherals, voltage regulators, and power management circuits, but these circuits are well known in the art and therefore will not be described further. The processor may be implemented using one or more general-purpose processors and / or dedicated processors. Examples include microprocessors, microcontrollers, DSP processors, and other circuits capable of running software. Those skilled in the art will recognize how to best implement the described functions for the processing system, depending on the specific application and the overall design constraints imposed on the overall system.
[0079] When implemented in software, functions may be stored on or transmitted via computer-readable media as one or more instructions or code. Software is broadly interpreted to mean instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, etc. Computer-readable media includes both computer storage media and communication media, such as any medium that enables the transfer of computer programs from one location to another. A processor may be responsible for bus management and general processing, including the execution of software modules stored on computer-readable storage media. Computer-readable storage media may be coupled to a processor so that the processor can read information from and write information to the storage media. Alternatively, this storage media may be integrated into the processor. For example, computer-readable media may include computer-readable storage media containing instructions, separate from the transmission lines, data-modulated carriers, and / or wireless nodes, all of which may be accessed by the processor via a bus interface. As an alternative or addition, computer-readable media, or any part thereof, may be incorporated into the processor, as well as caches and / or general-purpose register files. Examples of machine-readable storage media may include, for example, RAM (random access memory), flash memory, ROM (read-only memory), PROM (programmable read-only memory), EPROM (erasable programmable read-only memory), EEPROM (electrically erasable programmable read-only memory), registers, magnetic disks, optical disks, hard drives, or any other suitable storage media, or any combination thereof. Machine-readable media may be embodied in computer program products.
[0080] A software module may contain a single instruction or many instructions and may be distributed across several different code segments, between different programs, and across multiple storage media. Computer-readable media may contain several software modules. A software module contains instructions that, when executed by a device such as a processor, cause a processing system to perform various functions. A software module may include send modules and receive modules. Each software module may reside in a single storage device or be distributed across multiple storage devices. For example, a software module may be loaded from a hard drive into RAM when a trigger event occurs. While a software module is executing, the processor may load some of the instructions into a cache to increase access speed. One or more cache lines may then be loaded into a general-purpose register file for execution by the processor. When referring to the functionality of a software module, it will be understood that such functionality is implemented by the processor when executing instructions from that software module.
[0081] The following claims are not intended to be limited to the embodiments described herein, but should be given the full scope consistent with the language of the claims. In the claims, references to singular elements mean "one or more" and not "one of a kind" unless otherwise explicitly stated. Unless otherwise explicitly stated, the term "several" means one or more. Claim elements should not be construed under 35 U.S. SC § 112(f) unless they are expressly described using the phrase "means for" or, in the case of a method claim, using the phrase "steps for". All structural and functional equivalents of the elements of various aspects described throughout this disclosure, known to those skilled in the art or to be known thereafter, are expressly incorporated herein by reference and are encompassed by the claims. Furthermore, nothing disclosed herein is intended to be made public, whether such disclosure is expressly stated in the claims or not.
Claims
1. The aggregation of tokens from multiple wallets into a global token pool, wherein the global token pool includes a first type of token and a second type of token. Receiving a request to exchange a first amount of the first type of token stored in the wallet for a second type of token, Calculating a second amount of the second type of token to transfer to the wallet, based at least in part on the ratio of the first type of token to the second type of token in the global pool of the aforementioned tokens, Transferring the first amount of the first type of token to the global pool of tokens, A computer implementation method comprising transferring the second amount of the second type of token to the wallet.
2. The first type of token includes a token that encapsulates a base token and is in a recoverable state, The method according to claim 1, wherein the second type of token includes a token that encapsulates the base token and is in an irrecoverable state.
3. Transferring the second amount of the second type of token to the wallet is Unwrapping the second amount of the second type of token to the second amount of the base token, The method according to claim 2, comprising transferring the second amount of the base token to the wallet.
4. Receiving instructions that a third amount of the first type of token is frozen, The method according to claim 2, further comprising removing the third amount of the first type of token from the global pool of the tokens.
5. The method according to claim 2, wherein the second type of token includes fungible tokens issued by any of a plurality of issuers.
6. The method according to claim 2, further comprising isolating the first type of tokens in the global pool based on the issuer of the first type of tokens.
7. The method according to claim 1, wherein the second amount of the second type of token is less than the first amount of the first type of token, and the method further comprises allocating the difference between the first amount and the second amount for distribution to the plurality of wallets from which the global pool is withdrawn.
8. The method according to claim 7, wherein the difference between the first amount and the second amount increases as the ratio of the first type of token to the second type of token in the global pool increases.
9. The method according to claim 7, further comprising distributing the tokens to the plurality of wallets from which the global pool of the tokens is withdrawn.
10. It is a system, Memory containing executable instructions, A processor configured to execute the aforementioned executable instruction, wherein the executable instruction is configured to the system Tokens from multiple wallets are aggregated into a global token pool, and the said global token pool includes a first type of token and a second type of token. The wallet receives a request to exchange a first amount of the first type of token stored in the wallet for a second type of token. Based at least in part on the ratio of the first type of token to the second type of token in the global pool of the aforementioned tokens, the second amount of the second type of token to be transferred to the wallet is calculated. Transfer the first amount of the first type of token to the global pool of tokens. A system comprising a processor that causes the second amount of the second type of token to be transferred to the wallet.
11. The first type of token includes a token that encapsulates a base token and is in a recoverable state, The system according to claim 10, wherein the second type of token includes a token that encapsulates the base token and is in an irrecoverable state.
12. To transfer the second amount of the second type of token to the wallet, the processor, in the system, Unwrap the second amount of the second type of token into the second amount of the base token, The system according to claim 11, configured to transfer the second amount of the base token to the wallet.
13. The processor in the system The instruction is received that a third amount of the first type of token is frozen. The system according to claim 11, configured to remove the third amount of the first type of token from the global pool of the tokens.
14. The system according to claim 11, wherein the second type of token includes fungible tokens issued by any of the multiple issuers.
15. The system according to claim 11, wherein the processor is further configured to cause the system to isolate the first type of tokens in the global pool based on the issuer of the first type of tokens.
16. The system according to claim 10, wherein the second amount of the second type of token is less than the first amount of the first type of token, and the processor is further configured to cause the system to allocate the difference between the first amount and the second amount for distribution to the plurality of wallets from which the global pool is drawn.
17. The system according to claim 16, wherein the difference between the first amount and the second amount increases as the ratio of the first type of token to the second type of token in the global pool increases.
18. The system according to claim 16, wherein the processor is further configured to cause the system to distribute tokens to the plurality of wallets from which the global pool of tokens is drawn.
19. A computer-readable medium storing instructions, wherein the instructions, when executed by a processor, The aggregation of tokens from multiple wallets into a global token pool, wherein the global token pool includes a first type of token and a second type of token. Receiving a request to exchange a first amount of the first type of token stored in the wallet for a second type of token, Calculating a second amount of the second type of token to transfer to the wallet, based at least in part on the ratio of the first type of token to the second type of token in the global pool of the aforementioned tokens, Transferring the first amount of the first type of token to the global pool of tokens, A computer-readable medium that performs an operation including transferring the second amount of the second type of token to the wallet.
20. The first type of token includes a token that encapsulates a base token and is in a recoverable state, The computer-readable medium according to claim 19, wherein the second type of token includes a token that encapsulates the base token and is in an irrecoverable state.