A portion of the disclosure of this patent document contains material to which a claim for copyright is made. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records but reserves all other copyright rights whatsoever.
The present invention relates to distributed ledger technology (DLT), in particular to a method and system that allows trading different cryptocurrencies on a single distributed ledger system.
Advanced in blockchain and distributed ledger technology (DLT) resulted in development of various cryptocurrencies (also called cryptoassets or altcoins), such as Bitcoin, Ethereum, Litecoin etc.
Current standard systems allow to trade one type of the cryptoassets.
There are known cryptocurrency exchange systems where users can trade cryptocurrencies for other assets, such as conventional fiat money or other electronic currencies. However, the exchange systems known so far have a number of limitations.
In a typical cryptocurrency exchange system, the assets are guaranteed by the owner of the exchange system, which is usually not a trusted institution that is regulated by state laws; therefore, such system poses an increased financial risk to its users.
Existing blockchain cryptographic algorithms utilizing mining concepts based on proof-of-work or proof-of-stake used by cryptocurrencies have significant scalability and throughput issues. Distributed systems for traditional cryptocurrencies are significantly slower than traditional financial systems based on fiat money, which limits the volume of cryptocurrency transactions that can be processed at the same time. This limits a wide adoption of such systems.
Importantly, asset creation in traditional cryptocurrency blockchain systems is based on mining algorithms that require a significant amount of computing power and/or data storage requirements which requires huge electricity consumption and creates a negative world-wide impact on the environment.
US2020074450A1 discloses a method that includes: joining a congress by transferring, by a node operating in a proof-of-work blockchain network, one or more digital assets to a congress pool having one or more other digital assets associated with other members of a congress; detecting, by the node, a special transaction of digital assets on the proof-of-work blockchain network to an address associated with the congress pool, the special transaction satisfying determined criteria; and minting, by the node, one or more digital assets on a proof-of-stake blockchain network in response to detecting the special transaction. The method of US2020074450A1 does not allow performing exchange transactions between users, such that the exchange transaction could involve different assets to be exchanged at a specified exchange rate. Moreover, in US2020074450A1 the blockchain network data are synchronized upon completion of a specified number of operations, which complicates the operation of the system.
US2019095880A1 discloses a method for maintaining a stable value of an asset token relative to a value of an underlying target asset that includes minting the asset token in variable quantities, applying stability fees or rewards in variable quantities, and obtaining market feedback to determine the variable quantities of fees to apply, rewards to issue, and asset tokens to mint. The method of US2020074450A1 does not allow minting different types of assets based on different asset types deposited at the minting nodes by the users.
There is a need to provide a method and system to allow trading different cryptocurrencies on a single distributed ledger system that would solve at least some of the problems mentioned in the background section.
In one aspect, the invention relates to a method for enabling trade of cryptocurrencies, tokenized assets and/or fiat currencies on a single distributed ledger system comprising a plurality of nodes. At least some of the nodes are minting nodes and at least some of the nodes are user nodes. The method comprises, at the minting nodes, minting digital assets, each minted digital asset comprising data on an asset type, an asset value and a first owner, wherein the asset type is selected from at least two asset types. The method also comprises, at the user nodes: requesting or accepting an exchange transaction to exchange digital assets with another user, wherein the exchange transaction request includes information on the amount of the first asset type to be exchanged, the second asset type to which the first asset type is to be exchanged and an exchange rate; checking if the exchange transaction can be performed; confirming that the transaction can be performed; amending the transferred digital assets by signing the transferred digital assets with user's private key as the previous owner signature; and amending the received digital assets by adding information that the user is the current owner and signing the received digital assets with user's private key as the current owner signature. This allows efficient exchange of multiple types of assets between users of the distributed ledger system, while all the types of assets can be handled by the same single distributed ledger system. The system allows for efficient use of technical resources to implement particular system nodes, as the minting and supervisory nodes are separate from user nodes (wherein typically the user nodes form a majority of nodes in the system).
The overall trust level to the system is dependent on the trust level of the entities that operate the minting nodes. The system allows multiple entities that operate the minting nodes. Each minting node can mint different asset types. Therefore, the system can be designed to allow only reputable entities, such as trusted financial organizations, to operate as the minting nodes, which provides high level of security to the users of the system. The digital assets that are available for trade (including exchange) in the system are minted by the trusted minting nodes. The digital assets store information about their complete history, including the initial owner and the consecutive owners. Therefore, each digital asset can be verified for its history of transaction and the transaction security level is high. Therefore, this allows implementing permission-less single and interoperable blockchain distributed ledger system.
The price of digital assets is always the same as the traditional asset that is represented. On the same system there can be multiple digital assets that each price equal to the traditional assets it represents. This approach does not require any stabilization of the price on blockchain.
The minting node can be operated by a trusted entity that satisfies system-defined regulatory requirements. Thereby, the users can easily verify the security of the system by checking which types of entities can operate as the minting nodes that are responsible for minting of digital assets. Therefore, although the system is permissionless for users, the minting nodes are operated by well-known and/or trusted organizations that serve as anchors of trust for digital assets represented on the DLT.
The method may comprise minting digital assets at the minting node upon receiving a notification of deposit of funds or cryptocurrency or certificate of an asset by a user to an entity that governs the minting node. This way, the total amount of digital assets that is in the system is covered by the deposits of fiat currencies or cryptocurrencies or asset certificates held by the entities that govern the minting nodes.
Checking if the exchange transaction can be performed may include checking if the other user has enough digital assets to perform the transaction. This limits the risk of a trade for unbalanced digital assets.
The method may further comprise providing information on user wallet after completion of the exchange transaction and distributing user wallet information to the distributed ledger system, wherein the information on the user wallet comprises one or more entries defining an asset type and currently owned amount of that asset in the wallet. Providing user wallet information allows for quick verification of user account before performing next transaction. The user wallet information can be at any time verified by any other user by monitoring the transactions history available at the digital assets data.
The distributed ledger system can be based on a blockchain and the information on digital assets and user wallets is stored as ledger data propagated by messages in accordance with DLT protocol.
The method may further comprise terminating digital assets by removing digital assets from the circulation on DLT. The termination process can be considered as a reverse process to minting. The termination is performed by the clearing module.
The method may further comprise, at the user nodes, observing and real-time auditing of the minting and termination activity of the minting nodes operated by the anchor-of-trust organizations. This increases the safety of the system.
The method may further comprise, at the minting nodes, upon deposition of blockchain-based assets, updating the data of the primary blockchain of the deposited assets to indicate the minting node as the new owner of the deposited assets, and upon redemption of blockchain-based assets, updating the data of the primary blockchain of the redeemed assets to indicate the user as the new owner of the redeemed assets and removing the corresponding redeemed minted assets from the distributed ledger system. This allows efficient usage of blockchain resources, as the primary blockchain(s) are updated only upon minting new assets at the distributed ledger system of the invention and upon redeeming the assets from the distributed ledger system of the invention.
In another aspect, the invention relates to a computer system comprising: at least one nontransitory processor-readable storage medium that stores at least one of processor-executable instructions or data; and at least one processor communicably coupled to the at least one nontransitory processor-readable storage medium, wherein the at least one processor is configured to perform the steps of the method as described herein, corresponding to the functionality of the minting node or of the user node.
In another aspect, the invention relates to a computer program product comprising instructions which, when executed on a computer, cause the computer configured as the minting node or as the user node to perform the corresponding steps of the method as described herein.
Embodiments of the present disclosure are best understood from the following detailed description of exemplary embodiments when read in conjunction with the accompanying drawings. Included in the drawings are the following Figures:
Reference will now be made in detail to the embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, and components have not been described in detail as not to unnecessarily obscure aspects of the present invention.
The present disclosure is to be considered as an exemplification of the invention and is not intended to limit the invention to the specific embodiments illustrated by the Figures or description below.
There are at least two types of nodes within the system: minting nodes 110 and user nodes 120.
In general, the nodes are implemented by a software application executed on a computer device, such as a server computer, a personal computer, a smartphone, a network computing device (such as a router) or any IOT (Internet-of-Things) device that is connected to a computer network (such as the Internet) and has an address (such as an IP address). The computer device may be operated by one of several known operating systems, such as Windows, Linux, IOS, Android etc. Apart from providing the node-specific functionality as described below for particular node types, every node supports the system 100 by maintaining a partial copy of blockchain data. Therefore, the nodes 110, 120 are individual parts of the larger structure, namely a DLT network system 100.
The user node 120 can be implemented by installing a software application on a user device (such as a personal computer or a smartphone) that allows the user to connect to the system 100 and provides an interface for the user to perform transactions within the system 100, including exchange transactions, with other nodes of the system. The user nodes 120 are operated by users that have freely entered the system. The user nodes 120 allow the user to handle minted digital assets and to transact with other nodes 110, 120 without involvement of the trusted party. Each transaction is approved (validated) by user nodes 110, however only the transaction parties can read private data associated with the transaction.
The minting node 110 is a special type of a node controlled by a trusted entity. For example, the trusted entity can be a bank or other financial institution whose operation is regulated by state banking laws, or any other law defining regulations for other financial organizations and can serve as a generally accepted anchor-of-trust for the public at large. In general, the system 100 policy may define the minimum requirements for an entity to be regarded as a trusted entity, so that the users know exactly what type of entities guarantee safety of assets within the system. For example, the system policy may be defined such that it is compliant with regulations of a state wherein the system is implemented or where the users of the system reside (for example, with European Union regulations). The minting nodes can be implemented by installing a software system at a trusted entity infrastructure (such as one or more server computers). The minting node 110 allows to mint new digital assets in the system. The minting node 110 is linked to cryptocurrency blockchain wallets at external systems, such as Bitcoin, Ethereum, Litecoin etc. When a new cryptocurrency is added by a user to the cryptowallet 119 or new money arrive on fiat bank account 118 linked via API to the minting node 110 or an asset certificate is deposited at the trusted organization, a new digital asset is minted on the system 100 and delivered to the individual user's node 120. The minting nodes 110 can be linked to multiple cryptocurrency wallets and fiat bank accounts, therefore they are capable of minting multiple digital asset types (this provides full interoperability and exchangeability of different cryptocurrencies). Therefore, the fiat bank accounts 118 and cryptowallets 119 play the role of the store of value for digital assets minted by the minting nodes 120 into the system 100.
Each minting node 120 has a plurality of cryptographic key pairs (public key and private key). First, the minting node 120 has a main key pair that identifies the minting node 120. Moreover, the minting node 120 has individual asset key pairs, one for each digital asset type that can be minted by that minting node 120. All the public keys of the minting nodes 120 are widely distributed between the users of the system, so that each user knows all the public keys and uses them to validate the digital assets within the system.
The minting nodes 110 are privileged nodes of the system 100 that have the ability to mint digital assets for use within the system—thus, the minting nodes 110 perform a minting (issuing) process that includes minting new digital assets having a structure shown in
The user nodes 120 may access the system 100 via public network, such as the Internet.
The minting nodes 111 may connect to the DLT system 100 via firewalls 111 in order to increase system security, in particular to limit unauthorized access to the minting nodes 111.
A blockchain access module 112 is configured to communicate between the minting node 110 and other nodes of the system 100, in particular the user nodes 120 by means of the blockchain access module 112 via the firewall 111. This includes finding users, delivering funds (encrypted digital assets issued by the encryption module 114 to the end user) and terminating digital assets (collecting digital assets from user nodes 120 and sending it for termination by a clearing agent 113).
A combination of the minting and termination procedures allows to adjust the system to supply and demand forces without the financial risk associated with run on the currency.
Additionally, the blockchain access module 112 is configured to sign newly minted digital assets and to verify the correctness of digital assets during termination, as will be described in detail below.
The encryption module 114 is an application that can be installed within a data center of the trusted entity. It operates in combination with a hardware security module (HSM) 115. It generates a genesis block for each digital asset subchain and marks the initial ownership of the digital asset by the particular minting node 110. Therefore, this module is configured to, based on information received from the core financial system of the trusted entity, issue new digital assets to the system.
The minting node 120 is connected with a module 116 for authenticating user keys. The module is configured to receive a user's public key and a message signed by the user's private key to verify the compliance of the provided user's public key with that user.
A clearing agent 113 module is configured to provide functionality of transferring funds outside the system, to external user accounts, either fiat currency (such as USD, EUR, etc.) bank accounts 118 or cryptowallets (such as BTC, ETH, etc.). During redemption of funds, the clearing agent 113 verifies each digital asset that is to be cleared.
On the other hand, if a user wishes to redeem the digital assets, in step 417 the user may contact the minting node with a request to redeem the digital asset. The minting node checks whether all signatures on the message changing digital asset ownership to its final owner e.g., back to the minting node are correct and the message propagation has followed the DLT protocol rules. Once this is confirmed the minting node adds the corresponding amount to the user's fiat bank account 118 or external cryptowallet 119. Therefore, in case the redemption relates to a cryptocurrency or asset certificate based on a blockchain network (called the primary asset blockchain, wherein it can be the same primary asset blockchain from which that particular user deposited the assets or another primary asset blockchain if the user made an exchange transaction to another type of asset), the data of the primary asset blockchain corresponding to the redeemed asset is updated to indicate the user as the new owner of the redeemed cryptocurrency or the digital asset. Consequently, the primary asset blockchains are updated only twice: when the digital asset is minted (to indicate the minting node as the new owner) and when the digital asset is redeemed (to indicate the user as the new owner). The corresponding digital asset is then removed from the system by sending it to other cyptowallet 119 provided by the user or the money transfer is sent from the fiat bank account 118
The functionality described herein can be implemented in computer systems 900, such as shown in
While the present invention has been described in terms of particular embodiments and applications, in both summarized and detailed forms, it is not intended that these descriptions in any way limit its scope to any such embodiments and applications, and it will be understood that many substitutions, changes and variations in the described embodiments, applications and details of the method and system illustrated herein and of their operation may be made by those skilled in the art without departing from the spirit of this invention.
Number | Date | Country | Kind |
---|---|---|---|
21461548.6 | May 2021 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2022/064833 | 5/31/2022 | WO |