A blockchain may be implemented as a peer-to-peer (P2P), electronic ledger that is implemented as a computer-based decentralized, distributed system made up of blocks, which, in turn, are made up of transactions. Each transaction may be a data structure that encodes a transfer of control of a digital asset between participants in the blockchain system, and that includes at least one input and at least one output. Each block may contain a hash of a previous block so that blocks become chained together to create a permanent, unalterable record of all transactions that have been written to the blockchain since its inception. Transactions may contain small programs, known as scripts, embedded into their inputs and outputs; the scripts may specify how and by whom the outputs of the transactions can be accessed.
Blockchain may be used for implementation of “smart contracts” that can be associated with digital asset. These are computer programs designed to automate execution of terms of a machine-readable contract or agreement. Unlike a traditional contract, which would be written in natural language, a smart contract is a machine-executable program that may include rules for processing inputs to generate results; these results may then cause actions to be performed depending upon those results. With respect to commercial transactions, for example, these may involve a transfer of property rights and/or assets.
An area of blockchain-related interest is the use of “tokens” to represent and transfer assets via the blockchain. A token serves as an identifier that allows an asset to be referenced from the blockchain. Fungible tokens are uniform. In other words, fungible tokens of the same type are identical in specification, and each fungible token is identical to another fungible token of the same type. Fungible tokens may be divisible into smaller amounts. Similar to currency, where bills can be divided into coins of an equivalent value, fungible tokens may be divisible. Non-fungible tokens (NFTs), however, cannot be replaced with other tokens of the same type. NFTs represent non-fungible assets. Non-fungible assets have unique information or attributes. Each NFT is unique and differs from other tokens of the same class, and, unlike a fungible token, NFTs typically cannot be divided. Blockchain gaming systems may use tokens or NFTs to create different parts of the game, such as rules, characters, weapons, and skins.
Cryptocurrency wallets may be implemented to securely store and manage blockchain assets, tokens, NFTs, and cryptocurrencies. These wallets may allow users to spend, receive, and trade digital assets.
It is desirable to transfer digital assets or information across multiple blockchains. Interoperability across disparate blockchain networks to exchange and make use of information can be limited. Each blockchain may have its own unique features, protocols, and standards, which can increase friction in asset transfer between different blockchains. Without interoperability, there are issues of fragmented liquidity and segmented ecosystems, which impede blockchain networks from maximizing the potential of decentralized finance (DeFi).
Typically, users toggle between wallets to finalize transactions across different blockchains. Not only does the lack of interoperability lead to friction in asset transfers, but it also impedes large scale adoption and connectivity of blockchain technology.
Aspects of the present disclosure may provide blockchain architecture and components optimized to enable secure and efficient blockchain interoperability, while increasing scalability, speed, and extensibility of blockchain systems.
Embodiments include a computer-based system for storing and transferring digital assets. In some embodiments, the system includes a first blockchain network with multiple nodes. At least a subset of the multiple nodes is configured to provide a hybrid multisignature digital wallet configured to store digital assets therein with improved speed, security, and scalability. The hybrid multisignature digital wallet is further be configured to facilitate multiple transactions between multiple blockchain networks including the first blockchain network and a second blockchain network. In example embodiments, responsive to an existence of a disparity between an aspect of form or function of the first blockchain network and a corresponding aspect of form or function of the second blockchain network, the hybrid multisignature digital wallet may further be configured to manage the disparity.
In some embodiments, a disparity may cause technical challenges in blockchain interoperability in processing cross-chain transactions or transferring any kind of data across multiple chains. For example, there may be a disparity in trust from one blockchain to another, or a disparity in security. The trust system in each blockchain system varies from blockchain ledger to the next blockchain ledger. For example, transferring assets from a first blockchain to a second blockchain that has a greater or lesser number of miners or validators could result in third-party tampering of the ledgers or other issues. Another disparity can be technical issues with transaction rate bottlenecks in the first or second blockchains. Such technical issues can impede large-scale blockchain interoperability by blocking a single chain's throughput capacity when it receives transactions from many chains. Such technical issues may be solved by certain example embodiment of the hybrid multisignature digital wallet of the present disclosure.
In some embodiments, the disparity may include a disparity between respective transaction constraints of the first and second blockchain networks. The disparity may be defined in terms of respective levels of rigor of the respective transaction constraints of the first and second blockchain networks.
In some embodiments, the hybrid multisignature digital wallet may be further configured to facilitate the multiple transactions by performing a cryptographic verification of key(s) received from custodian(s) or designee(s). The hybrid multisignature digital wallet may be further configured to approve a given transaction of the multiple transactions if the cryptographic verification of the key(s) is successful, and to disapprove the given transaction if a cryptographic verification of a key of the key(s) is unsuccessful. In other embodiments, performing the cryptographic verification of the one or more keys may trigger execution of a zero-knowledge proof (ZKP) in response to the existence of the disparity. Further, in yet other embodiments, at least one of the custodian(s) or designee(s) may include a computing node that is party to an agreement at a protocol level of the first blockchain network, and thereby may be a licensed custodian or designee computing node. In an example embodiment, the agreement may be a smart contract transaction protocol configured to automatically execute in response to the existence of the disparity. In one embodiment, at least one of the custodian(s) or designee(s) may include a software control system configured to facilitate recovery or replacement of a lost key or a lost hybrid multisignature digital wallet. In another embodiment, at least one of the custodian(s) or designee(s) may include a computing node configured to provide functions of an automated escrow service.
In some embodiments, the hybrid multisignature digital wallet operates in support of a compliance operation. In some embodiments, the digital assets are represented as fungible tokens (FTs) or non-fungible tokens (NFTs).
In other embodiments, the hybrid multisignature digital wallet may further be configured to perform the cryptographic verification of the key(s) by processing multiple shards of a cryptographic key used to secure at least one of the digital assets. Further, in yet other embodiments, the multiple shards of the cryptographic key may be used to authorize at least a portion of the multiple transactions. In an example embodiment, the hybrid multisignature digital wallet may be embedded on a hardware secure module (HSM) configured as a cryptoprocessor gateway that interfaces with a plurality of blockchain networks that lack interoperability, the plurality of blockchain networks including the first and second blockchain networks. In another example embodiment, the hybrid multisignature digital wallet may be configured as a cryptoprocessor gateway that interfaces with a plurality of blockchain networks. Further, in yet another example embodiment, the hybrid multisignature digital wallet may be configured with an encapsulated machine learning (ML) oracle that enables authorization of at least a portion of the multiple transactions in response to the existence of the disparity.
Embodiments further include a computer-implemented method of storing and transferring digital assets. In some embodiments, the method includes storing, via a hybrid multisignature digital wallet, a digital asset. The hybrid multisignature digital wallet may be supported by at least a subset of multiple nodes of a first blockchain network. The method may further include facilitating, via the hybrid multisignature digital wallet, a transaction between the first blockchain network and a second blockchain network. The transaction may involve the digital asset stored by the hybrid multisignature digital wallet. In these embodiments, the method may further include, responsive to an existence of a disparity between an aspect of form or function of the first blockchain network and a corresponding aspect of form or function of the second blockchain network, managing, via the hybrid multisignature digital wallet, the disparity.
Alternative method embodiments parallel those described above in connection with the example computer-based system embodiments.
Embodiments further include a computer-based system for storing and transferring digital assets. In some embodiments, the system includes a first blockchain network with multiple nodes. At least a subset of the multiple nodes is configured to provide a hybrid multisignature digital wallet configured to store digital assets therein. The hybrid multisignature digital wallet is further configured to facilitate multiple transactions between the first blockchain network and a second blockchain network. In example embodiments, responsive to an existence of a disparity between an aspect of form or function of the first blockchain network and a corresponding aspect of form or function of the second blockchain network, the hybrid multisignature digital wallet may further be configured to manage the disparity. In some embodiments, the hybrid multisignature digital wallet may further be configured to facilitate the multiple transactions between the first and second blockchain networks by performing a cryptographic verification of key(s) received from custodian computing node(s). The hybrid multisignature digital wallet may further be configured to approve a given transaction of the multiple transactions if the cryptographic verification of the key(s) is successful, and to disapprove the given transaction if a cryptographic verification of a key of the key(s) is unsuccessful. In other embodiments, at least one of the custodian computing node(s) includes an encapsulated oracle executing on one or more of the custodian computing node(s). Further, in yet other embodiments, the encapsulated oracle may be configured to operate at a protocol level of the first blockchain network as a licensed custodian. In some embodiments, the encapsulated oracle may further be configured to facilitate recovery or replacement of a lost key or a lost hybrid multisignature digital wallet. In other embodiments, the encapsulated oracle may further be configured as an automated escrow service in the multiple transactions between the first and second blockchain networks. Further, in yet other embodiments, the encapsulated oracle may further be configured to provide escrow transactions for the multiple transactions until protocol requirements of the multiple transactions are fulfilled. In example embodiments, the hybrid multisignature digital wallet may operate in support of a compliance operation.
It should be understood that example embodiments disclosed herein can be implemented in the form of a method, apparatus, computer-implemented system, or computer readable medium with program codes embodied thereon.
The foregoing will be apparent from the following more particular description of example embodiments, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments.
A description of example embodiments follows.
In general, blockchain is a write-once, append-many type electronic ledger. Blockchain is an architecture that allows disparate users to make transactions and creates an unchangeable record of those transactions. To move anything of value over any kind of blockchain, a network of nodes must first agree that a corresponding transaction is valid. As a peer-to-peer (P2P) network, combined with a distributed time-stamping server, blockchain ledgers can be managed autonomously to exchange information between disparate parties; there is no need for an administrator. In effect, the blockchain users are the administrator.
Blockchain's rapid development has given rise to many different kinds of chains, leading to cross-chain technology. Cross-chain, as its name suggests, allows the transmission of value and information between different blockchains. According to an example embodiment, a digital asset may be exchanged, cross-chain, securely, and despite differences between constraints or rules of operation that may be established for the different blockchains. Such a digital asset may be in the form of a token, which may be fungible, or may be a non-fungible token (NFT). Such constraints or rules may be in the form of smart contracts, or other forms. Differences between such constraints or rules may include disparate levels of rigor or leniency of such constraints or rules between or among different blockchain networks.
In some embodiments, blockchain may be a peer-to-peer (P2P), electronic ledger that is implemented as a computer-based decentralized, distributed system made up of blocks, which, in turn, are made up of transactions. Each transaction may be a data structure that encodes a transfer of control of a digital asset between participants in the blockchain system, and that includes at least one input and at least one output. Each block may contain a hash of a previous block so that blocks become chained together to create a permanent, unalterable record of all transactions that have been written to the blockchain since its inception. Transactions may contain small programs, known as scripts, embedded into their inputs and outputs; the scripts may specify how and by whom the outputs of the transactions can be accessed.
For a transaction to be written to the blockchain, it must be “validated.” Network nodes (miners) may perform work to ensure that each transaction is valid, with invalid transactions being rejected from the network. Software clients installed on the nodes may perform this validation work on an unspent transaction (UTXO) by executing its locking and unlocking scripts. If execution of the locking and unlocking scripts evaluates to TRUE, the transaction is valid and is written to the blockchain. Thus, for a transaction to be written to the blockchain, it should be: (i) validated by a first node that receives the transaction—e.g., if the transaction is validated, the node relays it to other nodes in the network; (ii) added to a new block built by a miner; and (iii) mined, e.g., added to the public ledger of past transactions.
Blockchain may be used for implementation of “smart contracts” that can be associated with digital asset. These are computer programs designed to automate execution of terms of a machine-readable contract or agreement. Unlike a traditional contract, which would be written in natural language, a smart contract is a machine-executable program that may include rules for processing inputs to generate results; these results may then cause actions to be performed depending upon those results. With respect to commercial transactions, for example, these may involve a transfer of property rights and/or assets. Such assets may include real property, personal property (including both tangible and intangible property), digital assets such as software, or any other type of asset. In the digital economy, there is often an expectation that exchanges and transfers will be performed in a timely manner and across vast distances. This expectation, along with practical, technical limitations, means that traditional forms of asset transfer, such as physical delivery of hardcopy of documents representing a contract, negotiable instrument, etc., or a tangible asset itself, are not desirable. Thus, smart contracts can provide enhanced control, efficiency, and speed of transfer.
An area of blockchain-related interest is a use of “tokens” to represent and transfer assets via the blockchain. A token thus serves as an identifier that allows a real-world item to be referenced from the blockchain. Through an initial coin offering (ICO) model, startups may raise capital by issuing tokens on a blockchain, such as Ethereum, and distributing them to token buyers in exchange for making a financial contribution to a project. These tokens, which may be transferred across a network and traded on cryptocurrency exchanges, may serve a multitude of different functions, from granting holders access to a service to entitling them to company dividends. Depending on their function, tokens may be classified as security tokens or utility tokens.
Tokens may be used, for example in an initial public offering (IPO) to issue company shares, dividends, and voting rights over blockchain networks. The tokens may include security tokens and utility tokens. The security tokens may be associated with a value that is derived from a tradable asset and, thus, may be deemed a security token that may be subject to federal laws regulating traditional securities. In contrast, the utility tokens may represent future access to a company's product(s) or service(s). A defining characteristic of the utility token is that it is not designed as an investment. Because a utility token is not issued in a form of an investment asset, it may be exempt from having to comply with federal legislation regulating securities.
Further, similar to physical assets, the tokens that represent them may have many properties, one of which is fungibility or non-fungibility. In economics, fungibility refers to equivalence or interchangeability of each unit of a commodity with other units of the same commodity. Fungible tokens (FTs) are tokens that can be exchanged for any other token with the same value.
Fungible tokens are uniform, that is, FTs of the same type are identical in specification. In other words, each fungible token (FT) is identical to another FT of the same type, and FTs are divisible into smaller amounts. Similar to currency, where bills can be divided into coins of an equivalent value, FTs are divisible. As such, a fraction of an FT can be transferred between users. Nonfungible tokens (NFTs), however, cannot be replaced with other tokens of the same type. NFTs represent nonfungible assets, e.g., assets that have unique information or attributes. Each NFT is unique and differs from other tokens of the same class. For example, while plane tickets from and to a same destination may look the same, each one has a different passenger name, seat number, etc., and, therefore, is unique. In contrast to FTs, NFTs cannot be divided, an elementary unit of the NFT is the token itself.
Due to an immutable nature of transaction histories supported by blockchain networks, it is possible to extend the aforementioned validation steps of such transactions so that the transactions become subject to certain rules that reference prior transactions, or even aspects of an initial creation of a subject digital asset, e.g., NFT. An example of such rules is an arrangement wherein royalties are paid to a creator of a digital asset each time the digital asset is sold to a subsequent owner. Such royalty payment arrangements may be implemented as a function with which the blockchain network is programmed, or using a reference table loaded into a computer memory element of the blockchain network, as a smart contract as described hereinabove, or by other means.
A further use case for cryptocurrency exchanges on a blockchain network is that such exchanges can protect transactions—similar to a manner in which a surety bond would. A surety bond or surety is a promise by a surety or guarantor to pay one party a certain amount if a second party fails to meet some obligation, such as fulfilling terms of a contract. The surety bond protects an obligee against losses resulting from a principal's failure to meet the obligation. As cryptocurrencies evolve from fringe investments to mainstream instruments, surety bonds may become an increasingly common requirement for those looking to trade in virtual currencies.
Ordinary surety bonds act as a contract between three parties: (i) an entity requesting the bond (principal), (ii) the bond's beneficiary (obligee), and (iii) a company issuing the bond. What a surety bond does is guarantee that the principal will fulfill its obligations, whether it's completing a long-term project or processing a financial transaction, or else forfeit the bond. Cryptocurrency surety bonds work in the same basic manner, ensuring that the principal performs cryptocurrency transactions as expected, or else forfeits the bond. In this case, the contract is between an entity handling a virtual currency transaction, a regulatory entity requiring the surety bond, and a surety bond provider.
A composable digital asset integrates two or more individual digital assets into a new combined form, which may be referred to as an asset cluster. An asset cluster may comprise components of similar or different types. For example, an asset cluster may include an element of fungible currency such as cryptocurrency, along with a non-fungible token (NFT). Thus, combining an amount of cryptocurrency with an NFT may effectively establish a floor price for the NFT equal to the value of the fungible cryptocurrency.
Such composable assets may find applications in areas such as finance and gaming. An example embodiment of a gaming application of composable digital assets may involve a piece of armor having a socket, into which a gem may be placed, creating an asset cluster. Asset clusters may be decomposed at any time such that the NFT and the currency item again become separate entities on a digital exchange platform.
Composable digital assets may provide liquidity for any digital asset or token. For example, a player of a game incorporating composable digital asset clusters may use a currency component of a cluster to set an instantaneous price at which to sell the cluster, such as to an automated market maker (AMM) associated with the game. Composable assets may be referenced or required by contracts or rules governing transactions on a digital exchange platform, such as smart contracts.
An AMM may be configured to provide liquidity to a platform enabling exchange of digital assets as described herein. The exchange platform may be decentralized. Liquidity may be provided using underlying collateral. An AMM may take in and store different forms of digital assets, such as loans, to be used as collateral in future exchanges on the platform. Such assets may be aggregated within a collateral pool, such that liquidity is pooled in association with the exchange platform. Liquidity may thus be pooled and aggregated on a blockchain supporting the collateral pool. Assets may be withdrawn from the collateral pool upon minting a collateral token. The collateral token may thus consolidate liquidity for an exchange within one protocol or contract. In addition, the collateral token may provide liquidity for a one-to-one exchange with a user looking to sell or redeem a user-held token.
A clearinghouse module implemented upon a platform may be configured to force an exchange to be performed on the platform such that the exchange is managed by an AMM. A pricing function of the AMM may set a price for a collateral token, and may offer the collateral token for exchange at such a price, thus dictating a market price for that token, rather than deferring to market forces. The AMM may function with either a bounded or an unbounded token supply, providing continuous liquidity. In addition, the AMM may be configured to measure supply and demand for tokens on the platform, including the collateral tokens.
A digital asset marketplace may leverage a clearinghouse to enforce a contract governing transfer of tokens between electronic wallets. The contract may specify royalties to be paid to an original creator of a token upon transactions involving that token. In addition, the contract may include a revenue share table. The clearinghouse may be configured to enforce the contract regardless of network locations of two parties involved in a transaction, and regardless of whether or not the transaction is conducted within a digital asset marketplace. For example, even offline exchanges may be made transparently viewable from within the digital asset marketplace. The clearinghouse may be configured to serve any token creator.
Upon creation of a token, a threshold value of that token may be set within the digital asset marketplace. The clearinghouse may implement rules in conjunction with the threshold value to prevent a value of the token from experiencing dramatic changes characteristic of backdoor or offline transactions. As such, the threshold value may act as a floor price of the token required to activate any transaction involving the token. The clearinghouse may manage and approve or deny transactions accordingly. Rules such as threshold values may be based on a bounded percentage of a price change from a previous transaction. Such a clearinghouse may be implemented in a decentralized manner, such as with a smart contract. A central authority is thus not required.
Certain embodiments may offer techniques for verifying or checking an identity that protect, preserve, and maintain privacy. Safeguarding privacy within blockchain networks is an important consideration for traditional institutions such as banks and other financial institutions that may desire to interact with and/or launch smart contracts, for example, as part of digital asset transactions, but may also need to keep trade secrets and/or sensitive customer information etc. confidential. As to the latter, such institutions may also be required to comply with rules and/or regulations including, but not limited to, the Europe Union's General Data Protection Regulation (GDPR) and the United States' Health Insurance Portability and Accountability Act (HIPAA), among other examples.
In an example embodiment, the hybrid multisignature digital wallet may be implemented with a cryptographic verification execution process to verify one or more keys received from one or more custodians or designees. The cryptographic verification may be implemented with privacy-maintaining identity verification and augmented by use of, e.g., a “zero-knowledge proof” (ZKP). A zero-knowledge proof ensures privacy and enhanced security with instances of the hybrid multisignature digital wallet by employing a technique whereby a first entity (or “prover”), such as a network node, a user device, or a smart contract, etc., may cryptographically prove to a second entity (or “verifier”) that the first entity has knowledge of certain information, without also disclosing the actual contents of the information.
The hybrid multisignature digital wallet cryptographic verification execution process configured with zero-knowledge proofs may be interactive or non-interactive. An interactive ZKP requires interaction between a prover entity and a verifier entity. A non-interactive ZKP may be constructed from any interactive scheme by relying on, e.g., a Fiat-Shamir heuristic, or any other suitable technique known to those of skill in the art.
According to an embodiment, a protocol implementing ZKPs may be presented as a transcript where a prover responds to interactive inputs from a verifier, e.g., an instance of the hybrid multisignature digital wallet. In one such embodiment, the interactive input may be in the form of one or more challenges such that responses from the prover will convince the verifier if and only if a statement is true, e.g., if the prover does possess certain claimed knowledge.
In the context of blockchain networks, according to some embodiments, by employing a ZKP, the only information divulged on-chain is that some piece of undisclosed information is (i) valid and (ii) known by the prover with a high degree of certainty. As such, in an embodiment, zero-knowledge proofs may be used by the hybrid multisignature digital wallet to furnish privacy-maintaining digital asset transactions, whereby, for example, a transaction's amount, sender electronic wallet identifier, and receiver electronic wallet identifier are kept secret. Furthermore, some embodiments relate to oracle networks that provide smart contracts with access to off-chain data and/or computing infrastructure. Such oracle networks may also employ ZKPs to prove a certain fact about off-chain data, without divulging the data itself on-chain. A method used for performing non-interactive ZKPs may be as described in D. Unruh, “Non-Interactive Zero-Knowledge Proofs in the Quantum Random Oracle Model,” in Proc. EUROCRYPT, April 2015, pp. 755-84, which is herein incorporated by reference in its entirety.
A hybrid multisignature digital wallet may enable a licensed custodian or designee to provide signatures or keys required to approve a digital transaction. The custodian may approve transfers of tokens on digital exchange platforms such as blockchain platforms. A set of custodian signatures, potentially from multiple custodians, may be required to approve a transaction. Alternatively, the hybrid multisignature wallet may be configured in a one-of-many or a one-of-one setup, requiring only a single signature of one or more valid signatures from custodian(s) to approve the transaction. If a network allows a designated party to be a custodian, that party may enter into an agreement at a protocol level on the network to become a designated custodian. According to an embodiment, the agreement is a smart contract transaction protocol configured to automatically execute in response to responsive to detecting the disparity associated with the transaction. The hybrid multisignature digital wallet may be implemented in support of compliance operations. The custodian may facilitate recovery or replacement of lost signatures or keys, or of entire lost wallets.
The hybrid multisignature wallet may enable transactions such as token swaps, and may facilitate transfer of tokens across multiple networks. Individual networks of the multiple networks may implement rigorous or lenient constraints upon transactions performed within the respective networks. Thus, a disparity may exist between two networks involved in a token transfer. The custodian may facilitate management of such a disparity. The custodian may perform functions characteristic of an automated escrow service in conjunction with a digital exchange platform.
Continuing with respect to
To continue, hybrid multisignature digital wallet 115 is further configured in
In some embodiments, hybrid multisignature digital wallet 115 may further be configured to facilitate transactions 125 by performing a cryptographic verification of key(s) received from custodian(s) or designee(s). The hybrid multisignature digital wallet 115 may be configured to approve a given transaction 125 if the cryptographic verification of the key(s) is successful, and to disapprove the given transaction 125 if a cryptographic verification of a key of the key(s) is unsuccessful. In other embodiments, performing the cryptographic verification of the key(s) may trigger execution of a zero-knowledge proof (ZKP) in response to the existence of disparity 130. Further, in yet other embodiments, at least one of the custodian(s) or designee(s) may include a computing node that is party to an agreement at a protocol level of the first blockchain network 105-1, and thereby may be a licensed custodian or designee computing node. In an example embodiment, the agreement may be a smart contract transaction protocol configured to automatically execute in response to the existence of disparity 130. In one embodiment, at least one of the custodian(s) or designee(s) may include a software control system configured to facilitate recovery or replacement of a lost key or a lost hybrid multisignature digital wallet 115. In another embodiment, at least one of the custodian(s) or designee(s) may include a computing node configured to provide functions of an automated escrow service.
In some embodiments, the hybrid multisignature digital wallet 115 may operate in support of a compliance operation. In some embodiments, digital assets such as the digital asset 120 may be represented as fungible tokens (FTs) or non-fungible tokens (NFTs).
In other embodiments, the hybrid multisignature digital wallet 115 may further be configured to perform the cryptographic verification of the key(s) by processing multiple shards of a cryptographic key used to secure digital assets, e.g., digital asset 120. Further, in yet other embodiments, the multiple shards of the cryptographic key may be used to authorize at least a portion of the multiple transactions, such as transaction 125. In an example embodiment, the hybrid multisignature digital wallet 115 may be embedded on a hardware secure module (HSM) configured as a cryptoprocessor gateway that interfaces with a plurality of blockchain networks that lack interoperability, the plurality of blockchain networks including the first 105-1 and second 105-2 blockchain networks. In another example embodiment, the hybrid multisignature digital wallet 115 may be configured as a cryptoprocessor gateway that interfaces with a plurality of blockchain networks, such as the first 105-1 and second 105-2 blockchain networks. Further, in yet another example embodiment, the hybrid multisignature digital wallet 115 may be configured with an encapsulated machine learning (ML) oracle that enables authorization of at least a portion of the multiple transactions, such as transaction 125, in response to the existence of disparity 130.
Embodiments further include a computer-based system for storing and transferring digital assets. In some embodiments, the system may include a first blockchain network, e.g., first blockchain network 105-1, with multiple nodes, e.g., nodes 110-1, 110-2, through 110-n. At least a subset of the multiple nodes, e.g., nodes 110-1 and 110-2, may be configured to provide a hybrid multisignature digital wallet, e.g., hybrid multisignature digital wallet 115, configured to store digital assets, e.g., digital asset 120, therein. The hybrid multisignature digital wallet may further be configured to facilitate multiple transactions, such as transaction 125, between the first blockchain network and a second blockchain network, e.g., second blockchain network 105-2. In example embodiments, responsive to an existence of a disparity 130 between an aspect of form or function of the first blockchain network 105-1 and a corresponding aspect of form or function of the second blockchain network 105-2, hybrid multisignature digital wallet 115 may further be configured to manage disparity 130. In some embodiments, hybrid multisignature digital wallet 115 may further be configured to facilitate the multiple transactions between the first 105-1 and second 105-2 blockchain networks by performing a cryptographic verification of key(s) received from custodian computing node(s). The hybrid multisignature digital wallet 115 may further be configured to approve a given transaction, e.g., transaction 125, of the multiple transactions if the cryptographic verification of the key(s) is successful, and to disapprove transaction 125 if a cryptographic verification of a key of the key(s) is unsuccessful. In other embodiments, at least one of the custodian computing node(s) includes an encapsulated oracle, e.g., oracle 412 (
In method 200 of
In some embodiments of method 200, facilitating transaction 125 at step 204 may include performing, via hybrid multisignature digital wallet 115, a cryptographic verification of key(s) received from custodian(s) or designee(s). Facilitating transaction 125 at step 204 may further include approving, via hybrid multisignature digital wallet 115, transaction 125 if the cryptographic verification of the key(s) is successful, and disapproving, via hybrid multisignature digital wallet 115, transaction 125 if a cryptographic verification of a key of the key(s) is unsuccessful. At least one of the custodian(s) or designee(s) may be a computing node that is party to an agreement at a protocol level of the first blockchain network 105-1, and thereby may be a licensed custodian or designee computing node. At least one of the custodian(s) or designee(s) may be a computing node that includes a software entity configured to facilitate recovery or replacement of a lost key or a lost hybrid multisignature digital wallet 115. At least one of the custodian(s) or designee(s) may be a computing node that includes a software entity configured to provide functions of an automated escrow service.
In some embodiments of method 200, hybrid multisignature digital wallet 115 operates in support of a compliance operation. In some embodiments, digital asset 120 is represented as a fungible token (FT) or a non-fungible token (NFT).
The distributed ledger network 300 includes multiple computing devices configured as nodes 310, 320, 330, 340, 350, 360 of the distributed ledger network 300. Each node 310, 320, 330, 340, 350, 360 locally stores and maintains a respective identical copy 315, 325, 335, 345, 355, 365 of the blockchain ledger in memory communicatively coupled to the node. The nodes exchange messages within the distributed ledger network 300 to update and synchronize the ledger stored and maintained by each node. The nodes may also execute decentralized applications (decentralized apps or “dApps”), such as via smart contracts, for processing the messages. An example message transmission 370 from node 310 to node 340 may be used to exchange a token in the distributed ledger network 300 as shown in
Referring back to
The code of a smart contract may be uploaded on the EVM, which may be a universal runtime compiler or browser, to execute the smart contract's code. Once the code is on the EVM, the code may be the same across each Ethereum node to be run to check whether conditions are met, such as a condition for a balance reaching a trade value prior to expiration of an expiration term.
Ethereum has a long history of developed standards. For example, ERC-20 is a standard that defines a set of six functions that other smart contracts within the Ethereum ecosystem can understand and recognize. ERC-20 is a protocol standard and to be compliant with ERC-20, the functions need to be included in a token's smart contract. ERC-20 outlines a specific list of rules that a given Ethereum-based token must deploy, simplifying a process of programming the functions of tokens on Ethereum's blockchain. These include, for instance, how to transfer a token (by an owner or on behalf of the owner), such as may be employed for transferring fungible tokens (FTs) of a buyer, and how to access data (e.g., name, symbol, supply, balance, etc.) concerning the token, such as a balance of a fungible token (FT) in the hybrid multisignature digital wallet 115 (
According to an embodiment, an oracle node architecture, e.g., oracle 412, may be provided to serve machine learning (ML) models for smart contracts on a blockchain. Such an architecture may be referred to as a “ML oracle.” The ML oracle may incorporate ML models into smart contracts that interface with an instance of hybrid multisignature digital wallet 115 to improve handling of potential disparities in cross-chain transactions, while providing escrow functionality implementations. In some embodiments, the ML oracle may be configured as a custodian or designee node.
In one embodiment, a smart contract may include a ML model that trains on multiple types of cryptocurrencies and interacts with multiple blockchain networks seamlessly. The smart contract may invoke an inference call to a model on the ML oracle to obtain the forecast related to a transaction that may be processed in communication with the hybrid multisignature digital wallet 115. As a further example, there are generative security models where the generative ML model may be an integral part of handling a disparity in handling cross-chain transactions. Interaction with the model may enable the hybrid multisignature digital wallet 115 to use generative security models for multi-signature protocol for cross-chain transactions. One such security ML model type used by an example hybrid multisignature digital wallet 115 is a generative adversarial network (GAN). Using the ML oracle, the ML model may become part of an instance of a hybrid multisignature digital wallet 115.
In an embodiment, a smart contract of an instance of hybrid multisignature digital wallet 115 may request an inference call to an ML oracle for a ML model by identifying an ML model to call, such as by providing a hash value, and an input to the model. According to one such embodiment, a model file may be uploaded to, e.g., IPFS (InterPlanetary File System) or any other suitable known storage system, by a dApp developer and a model server may download the model file, e.g., using the hash value. For the ML model server to be generic enough to serve a wide range of models, it may also take as an input parameter a model type, e.g., PyTorch, TensorFlow, scikit-learn, or any other suitable known model type, as well as an input and output specification. The input may be data directly received from the calling smart contract, or it may be received indirectly via, e.g., an IPFS Uniform Resource Identifier (URI) or any other suitable identifier known to those of skill in the art. Similarly, the output may be sent back to the smart contract, or it may be uploaded to any suitable known storage system, including, but not limited to IPFS, and the, e.g., URI, may be sent to the smart contract. For example, a forecasting model related to a cross-chain transaction and associated compliance requirements processed by an instance of hybrid multisignature digital wallet 115 may use the direct input/output method. An indirect input/output method employing a known storage system such as IPFS may be commonly used by computer vision/imaging models, among other examples.
In an example embodiment, system 100 (
Continuing with
The network layer 430 may interface with data layer 420 and may also be referred to as a P2P layer or propagation layer. One purpose of network layer 430 may be to facilitate node communication 431, such that nodes can discover each other and can communicate, propagate, and synchronize with each other to maintain a valid current state of the blockchain. A distributed P2P network, e.g., network layer 430, may be a computer network in which nodes are distributed and share the workload of the network to achieve a common purpose. Nodes in network layer 430 may carry out the blockchain's transactions.
The consensus layer 440 may interface with network layer 430 and may ensure that blocks are ordered, validated, and guaranteed to be in the correct sequence. A set of agreements between nodes in a distributed P2P network may be established by the consensus layer 440. The agreements result in consensus protocols or algorithms, which correspond to rules that nodes follow in order to validate transactions and create blocks in accordance with those rules. To validate a transaction, a validator, e.g., validator 441a or validator 441b, may perform a consensus algorithm, such as proof of work 442 or any other suitable algorithm known in the art. Performing the consensus algorithm may involve expending computational resources to solve a cryptographic puzzle 442. After being validated according to a consensus algorithm, a transaction may be written to the blockchain through a process of writing rights 443.
The application layer 450 may interface with consensus layer 440 and may include customized applications and services, such as electronic wallets 451. Further, application layer 450 may include (not shown): smart contracts, chaincode, and decentralized apps (dApps). The application layer 450 may also include applications utilized by end users to interact with the blockchain. Such applications may be, e.g., one or more user facing interfaces 452. Further, such applications may include, for example (not shown): scripts, application programming interfaces (APIs), and frameworks.
An example implementation of system 100 (
Client computer(s)/device(s) 550 may be linked 590 directly or through communications network 570 to other computing devices, including other client computer(s)/device(s) 550 and server computer(s)/device(s) 560. Referring to
The communication network 570 may be part of a wireless or wired network, a remote access network, a global network (e.g., the Internet), a worldwide collection of computers, local area networks (LANs) or wide area networks (WANs), and gateways, routers, and switches that may use a variety of known protocols (e.g., TCP/IP, Bluetooth®, etc.) to communicate with one another. Communication network 570 may also be a virtual private network (VPN) or an out-of-band (00B) network or both. Further, communication network 570 may take a variety of forms, including, but not limited to, a blockchain network, a distributed ledger network, a data network, voice network (e.g., landline, mobile, etc.), audio network, video network, satellite network, radio network, and pager network. Other known electronic device/computer network architectures are also suitable. For example, client computer(s)/device(s) 550 may include nodes shown in
Referring again to
Continuing with
Software components 615, 616 of system 100 (e.g., hybrid multisignature digital wallet, encapsulated oracle, bridge aggregator, multichain automated market maker (AMMs), cross-chain virtual machine (VM), encoder/decoder, Trusted Execution Environment (TEE), blockchain layer 1 virtual machine (VM), wallet interface, gateway hybrid multisignature digital wallet, applets, authentication site, cybersecurity controller, service applications, and the like) described herein may be configured using any programming language known in the art, including any high-level, object-oriented programming (OOP) language, such as Python or Solidity. The computer-implemented system may include instances of processes that enable execution of transactions and recordation of transactions. The computer-implemented system 100 may also include instances of a scoring engine, which can be implemented by, e.g., a server 560 or a client that communicates with the server 560, using, for example, secure sockets layer (SSL), Hypertext Transfer Protocol Secure (HTTPS), or any other suitable protocol known to those of skill in the art.
In an example mobile implementation, a mobile agent implementation of embodiments may be provided. A client-server environment may be used to enable hybrid multisignature digital wallet 115 components using a server 560. It may use, for example, the Extensible Messaging and Presence Protocol (XMPP) protocol, or any other suitable protocol known to those of skill in the art, to tether a hybrid multisignature digital wallet engine/agent 615 on a user device 550 to a server 560. The server 560 may then issue commands to the user device on request. The mobile user interface framework to access certain components of computer-implemented system 100 (
Disk storage 617 may provide non-volatile storage for computer software instructions 615 (equivalently “OS program”) and data 616 may be used to implement embodiments of system 100. The system may include disk storage accessible to a server computer 560. The server computer may maintain secure access to records related to, e.g., hybrid multisignature digital wallets, associated with system 100. Central processing unit (CPU) 612 may also be attached to system bus 610 and provide for execution of computer instructions.
In some embodiments, processor routines 615 and data 616 may be computer program products. For example, aspects of system 100 may include both server-side and client-side components.
In other embodiments, authenticators/attesters may be contacted via, e.g., blockchain gaming systems, instant messaging applications, video conferencing systems, VoIP (voice over IP) systems, etc., all of which may be implemented, at least in part, in software 615, 616. Further, in yet other embodiments, client-side components interfacing with system 100 may be implemented as an application programming interface (API), executable software component, or integrated component of the OS configured to provide access to a hardware implementation of an example of hybrid multisignature digital wallet 115 (
In an embodiment, software implementations 615, 616 may be implemented as a computer-readable medium capable of being stored on a storage device 617, which provides at least a portion of the software instructions for system 100. Executing instances of respective software components of system 100, such as instances of system 100, may be implemented as computer program products 615, and may be installed by any suitable software installation procedure, as is well known in the art. In another embodiment, at least a portion of the system software instructions 615 may be downloaded over a wired and/or wireless connection via, for example, a browser SSL session or through an app (whether executed from a mobile or other computing device). In other embodiments, the system 100 software components 615 may be implemented as a computer program propagated signal product embodied on a propagated signal on a propagation medium (e.g., a radio wave, an infrared wave, a laser wave, a sound wave, or an electrical wave propagated over a global network such as the Internet, or other network(s) known in the art).
An example embodiment includes hybrid multisignature digital wallet 115 (
In an embodiment, a hybrid multisignature digital wallet HSM implementation may be configured to manage and encapsulate secret keys, and provide a security bridge configured to securely back up keys it handles outside of the hybrid multisignature digital wallet HSM. Such encapsulated keys may be in wrapped form and on a secure portable device, such as a SIM, smartcard, or some other security token.
In an embodiment, a hybrid multisignature digital wallet HSM implementation may be implemented to enable real time authorization and authentication in cross-chain transaction infrastructure. The hybrid multisignature digital wallet HSM implementation may be configured to support clustering and automated failover models to improve security.
In an embodiment, a hybrid multisignature digital wallet HSM implementation may be engineered with a secure enclosure enabling a virtual machine (VM) to be executed in a secured and controlled execution environment. Such an enclosure can be developed in native C language, .NET/C #, Java™, or other suitable programming languages known in the art. In an embodiment, the secure execution environment (e.g., execution engine) of an instance of hybrid multisignature digital wallet 115 may enable the virtual machine (VM) to execute complex transaction processing tasks in secure application-specific code. In an embodiment, such an execution engine may be configured to protect a status of a hybrid multisignature digital wallet's Federal Information Processing (FIP) standards codes or Common Criteria validation.
An example embodiment includes hybrid multisignature digital wallet 115 device code executed in a TEE or TPM. A TEE or TPM is a hardware environment that runs instructions and stores data outside a main operating system (OS) of a device. This protects sensitive code and data from malware or snooping with purpose-built hardware governed by an ecosystem of endorsements, beginning with a device manufacturer. The system may perform checks on the TEE or TPM, such as executing BIOS (Basic Input/Output System) checks, to verify that folders (e.g., wallets such as hybrid multisignature digital wallet 115 (
It would be the intent of system 700 not to maintain mission critical data as in conventional approaches, but rather to provide a platform for seamless, yet secure, connections between hybrid multisignature digital wallet 704 and user devices 705. On one end of the system is the VM oracle 710 that prepares an instruction for a user device 705 and at the other is system 700 which is applet 707 that can act on that instruction. A protocol may define how these instructions and replies are constructed.
According to an embodiment, system 700 may illustrate binding between the digital asset and multiple parties/devices. The system 700 may lock features of identity, transaction and attestation to the hardware of respective user devices 705.
In an embodiment, system 700, shown in
A TEE may be implemented in a user device hardware security chip separate execution environment that runs alongside the rich operating system, and provides security services to that rich environment. The cryptographic keys and/or hybrid multisignature digital wallets may be stored in the TEE. The TEE offers an execution space that provides a higher level of security than a rich OS. The TEE may be implemented as a virtual machine (VM), on the user devices, or on the network nodes.
A ring manager 712 may be implemented as a service provided to hybrid multisignature digital wallet 115 for managing rings (or clusters) of user devices 705. User devices 705 may be grouped into a single identity and used to backup and endorse each other. Rings may be associated with other rings to create a network of devices. The rings may be a collection of individual device public keys (as opposed to a new key). If there are not many shared devices in the network, the list of devices may be short because of the potential for increased computational and bandwidth resources that may expended, and may introduce a time cost for encrypting a transaction with all cryptographic keys on a device list.
In an example embodiment, the device TEE 708 is a software program that executes hybrid multisignature digital wallet 115 in a hardware secured TEE. The device TEE 708 is specially designed to execute cryptographic functions without compromise from malware or even the device operator. OEM (Original Equipment Manufacturer) 723 is the entity that built the user device and/or a Trusted Application Manager (TAM) authorized to cryptographically vouch for the provenance of the device.
In an embodiment, when the electronic wallet 720, e.g., hybrid multisignature digital wallet 115 (
The blockchain(s)/sidechain(s) 7061-n may be a JSON (JavaScript Object Notation) API written in Python, which uses the third-party agent/process private key to enroll the identity cryptographic keys of devices 705 and system 700. During enrollment, the public key of the user device 705 or system 700 is recorded by the TEE applet 708. Enrollment enables the TEE applet 708 to pair a device 705 with a hybrid multisignature digital wallet 704. In one embodiment, the result of pairing is that a user device 705 has a service public key, endorsed by a third-party agent/process and can therefore respond to hybrid multisignature digital wallet 704 instructions.
In an embodiment, the cryptographic key wallet 714 of
The blockchain(s)/sidechain(s) 7061-n may have a special capability of being able to pair additional hybrid multisignature digital wallets with device 705. Communications with the first blockchain(s)/sidechain(s) 7061-n may be handled through the web API and preferably are authenticated. In one example, this is implemented with an API key. This may be implemented using an SSL key swap. In some embodiments, all requests are signed.
The system 700 provides robust security. The digital locker may be used to make it more difficult for an attacker to access the digital asset in the digital asset locker, as, if the attacker does not possess a valid cryptographic key, access to the locker will not be validated. Furthermore, system 700 may preferably be in near constant contact with all devices 705 through the socket adapter 715 shown in
In an embodiment, blockchain(s)/sidechain(s) 7061-n may comprise several sub-components. For example, each block on the blockchain(s)/sidechain(s) 7061-n may contain hashes, a height, nonce value, confirmations, and/or a Merkle Root, among other examples.
In an embodiment, a sequence of packaging and delivering an instruction is shown in
In an embodiment, device enrollment may be performed. An example enrollment process, shown in
An application executing on the server 935 determines whether the user 915 is a software robot or a person user by issuing a request 925 to web browser 910 to produce a token. The request 925 is sent over a network 245. In response to request 925, web browser 910 produces a token 930 on computing device 905. The token 930 is sent to the server 935 over network 945. The application executing on server 935 determines (e.g., using a computational challenge) a computational cost of producing the token 930. In some embodiments, the computational cost of producing the token 930 is based on the time taken to produce the token 930. Based on the computational cost of producing the token 930, the application on server 935 determines (deciphers) whether the user 915 is a software robot or a person user. In some embodiments, proving the computational cost of producing the token 930 at the computing device 905 is performed by an independent third party, rather than the application executing on server 935.
An application that determines whether the user 915 is software robot or a person user may also exist locally on the computing device 905. In this embodiment, it would not be necessary to send request 925 or token 930 over a network 945.
In some embodiments, the request 925 is issued in response to particular user engagement in the web browser 910 and based on user engagement metrics, including mouse movements by the user. The request 925 can also be issued in response to an elapsed period of time or issued by a web service.
In some embodiments the application on server 935 of
The confidence score can be based on many different factors. One factor is the computational cost of the produced token 930. If the proven computation cost is low (below a threshold value), the confidence score may be increased. Further, if computing device 905 is a server, the computational cost is higher than if the computing device 905 is an individual machine, and thus the confidence score may be increased. The confidence score may be based on the time it took computing device 905 to produce the token 930. For example, longer times (e.g., above a time threshold) for producing token 930 may be associated with a higher likelihood that the identity of the user 940 is a software robot and a lower likelihood that the identity of the user 940 is a person user. In another embodiment, the confidence score is increased if the computing device 905 includes a TPM (Trusted Platform Module).
According to some embodiments, produced token 930 is captured in a cookie. In an embodiment, the captured produced token and the computational cost of the captured produced token 930 are time sensitive and expire after a period of time. Captured cookies can sign cookies generated in the future thus, building up proof of whether the web browser 910 running on computing device 905 is being operated by a person user or a bot. The building up of proof results in a longer block chain, making it increasingly difficult for a web browser running on a machine that is operated by a bot to continue to produce tokens.
In some embodiments, the confidence score may be calculated to further consider the confirmed purchase activities of the user. The score may increase when determined that a user is a verified purchaser who previously completed an online purchase. The proof of a user being an online purchaser, such as a retrieved proof of purchase cookie associating the user's identity to an entry in a database of confirmed purchases may increase the confidence score. For example, a retrieved proof of purchase cookie associating the user's identity particularly to a persistent entry in a block chain database of confirmed purchases may further increase the confidence score. That is, the trusted confirmation of the user as a verified purchaser may be associated with a higher likelihood (confidence) that the identity of the user is a person (rather than a software robot).
Further example embodiments disclosed herein may be configured using a computer program product; for example, controls may be programmed in software for implementing example embodiments. Further example embodiments may include a non-transitory computer-readable medium containing instructions that may be executed by a processor which, when loaded and executed, cause the processor to complete methods described herein. It should be understood that elements of the block and flow diagrams may be implemented in software or hardware, such as via one or more arrangements of circuitry of
It should be understood that the term “blockchain” as used herein includes all forms of electronic, computer-based distributed ledgers. These include consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers and variations thereof. While Bitcoin and Ethereum may be referred to herein for the purpose of convenience and illustration, it should be noted that the disclosure is not limited to use with the Bitcoin or Ethereum blockchains and alternative blockchain implementations and protocols fall within the scope of the present disclosure.
It should also be noted that not all currently known distributed ledger systems utilize linear blockchains as such. Some known blockchain implementations utilize lattice or mesh data structure(s), and some utilize directed acyclic graphs (DAGs).
While example embodiments have been particularly shown and described, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the embodiments encompassed by the appended claims.
This application claims the benefit of U.S. Provisional Application No. 63/366,589, filed on Jun. 17, 2022. This application is related to U.S. application Ser. No. ______, titled “Fully Collateralized Automated Market Maker” (Docket No. 5571.1006-001), filed on Jun. 16, 2023, which claims the benefit of U.S. Provisional Application No. 63/366,595, filed on Jun. 17, 2022, and U.S. application Ser. No. ______, titled “NFT Enforcement Control System” (Docket No. 5571.1007-001), filed on Jun. 16, 2023, which claims the benefit of U.S. Provisional Application No. 63/366,590, filed on Jun. 17, 2022. The entire teachings of the above applications are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63366589 | Jun 2022 | US |