US20190164223A1 - Asset cards for tracking divisible assets in a distributed ledger - Google Patents
Asset cards for tracking divisible assets in a distributed ledger Download PDFInfo
- Publication number
- US20190164223A1 US20190164223A1 US16/262,821 US201916262821A US2019164223A1 US 20190164223 A1 US20190164223 A1 US 20190164223A1 US 201916262821 A US201916262821 A US 201916262821A US 2019164223 A1 US2019164223 A1 US 2019164223A1
- Authority
- US
- United States
- Prior art keywords
- asset
- units
- card
- owner
- transaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Definitions
- the bitcoin system was developed to allow electronic cash to be transferred directly from one party to another without going through a financial institution, as described in the white paper entitled “Bitcoin: A Peer-to-Peer Electronic Cash System” by Satoshi Nakamoto.
- a bitcoin is represented by a chain of transactions that transfers ownership from one party (the “sender”) to another party (the “recipient”). Each transaction has an output, and each transaction (except for the initial creating of a bitcoin) has an input that is an output of a prior transaction.
- a new transaction is generated and added to a stack of transactions in a block.
- the new transaction which includes the public key of the new owner, is digitally signed by the current owner to transfer ownership to the new owner as represented by the new owner's public key.
- the current owner signs the new transaction by signing with the current owner's private key a hash of the prior transaction and the new owner's public key.
- the new transaction is considered to have “consumed” the output of the prior transaction.
- the block is “capped” with a block header that is a hash digest of all the transaction identifiers within the block.
- the block header is recorded as the first transaction in the next block in the chain, creating a chain of transaction blocks in which each block links back to the prior block, called a “blockchain.”
- a chain of transaction blocks in which each block links back to the prior block, called a “blockchain.”
- the public key of the owner can be used to verify the signature, and the blockchain of transactions can be followed to verify that the prior transaction has not been consumed by another transaction.
- the new owner need only have the private key that matches the public key of the new transaction that transferred the bitcoin.
- the blockchain creates a mathematical proof of ownership in an entity represented by a security identity (e.g., a public key), which in the case of the bitcoin system is pseudo-anonymous.
- the blockchain of the bitcoin system is stored as a distributed ledger.
- a copy of the blockchain of all the transactions is stored redundantly at multiple nodes (i.e., computers) of a blockchain network.
- the transactions are stored in the order that the transactions are received by the nodes.
- Each node in the blockchain network has a complete replica of the entire blockchain.
- the bitcoin system also implements techniques to ensure that each node will store the identical blockchain, even though nodes may receive transactions in different orderings.
- the blocks in the blockchain can be accessed from oldest to newest, generating a new hash of the block and comparing the new hash to the hash generated when the block was created.
- the bitcoin system also implements techniques to ensure that it would be infeasible to change a transaction and regenerate the blockchain by employing a computationally expensive technique, referred to as mining, to generate a nonce that is added to the block when it is created.
- a bitcoin ledger is sometimes referred to as an Unspent Transaction Output (“UTXO”) set because it tracks the output of all transactions that have not yet been spent.
- UXO Unspent Transaction Output
- a node may maintain an index into the blockchain that points to the unspent transactions.
- a person can be uniquely identified, for example, using a combination of a user name, social security number, and biometric (e.g., fingerprint).
- a product e.g., refrigerator
- the identity tokens for each would be a cryptographic one-way hash of such combinations.
- the identity token for an entity e.g., person or company
- the identity token for an entity may be the public key of a public/private key pair, where the private key is held by the entity.
- Identity tokens can be used to identify people, institutions, commodities, contracts, computer code, equities, derivatives, bonds, insurance, loans, documents, and so on. Identity tokens can also be used to identify collections of assets.
- An identity token for a collection may be a cryptographic one-way hash of the digital tokens of the assets in the collection.
- the creation of an identity token for an asset in a distributed ledger establishes provenance of the asset, and the identity token can be used in transactions (e.g., buying, selling, insuring) of the asset stored in a distributed ledger, creating a full audit trail of the transactions.
- each party and asset involved with the transaction needs an account that is identified by a digital token in the network.
- a digital token For example, when one person wants to transfer a car to another person via a transaction, the current owner and next owner or recipient create accounts, and the current owner also creates an account that is uniquely identified by the car's vehicle identification number.
- the account for the car identifies the current owner.
- the current owner creates a transaction against the account for the car that indicates that the transaction is a transfer of ownership transfer, indicates the public keys (i.e., identity tokens) of the current owner and the next owner, and indicates the identity token of the car.
- the transaction is signed by the private key of the current owner, and the transaction is evidence that the next owner is now the current owner.
- a smart contract is computer code that programmatically executes transactions that may be defined by a written contract or other predefined conditions.
- the Ethereum Request for Comment 20 (“ERC20”) is a technical standard defining the functions and event of an Ethereum smart contract.
- the computer code may be executed in a secure platform (e.g., an Ethereum platform, which provides a virtual machine) that supports recording transactions in a distributed ledger.
- the smart contract itself may be recorded as a transaction in the distributed ledger using an identity token that is a hash (i.e., identity token) of the computer code so that the computer code that is executed can be authenticated.
- identity token that is a hash (i.e., identity token) of the computer code so that the computer code that is executed can be authenticated.
- the state of a smart contract is stored persistently in the distributed ledger.
- a message is sent to the smart contract, and the computer code of the smart contract executes to implement the transaction (e.g., debit a certain amount from the balance of an account).
- the computer code ensures that all the predefined conditions are met before the transaction is recorded in the blockchain.
- a smart contract may support the sale of an asset.
- the inputs to a smart contract to sell a car may be the identity tokens of the seller, the buyer, and the car and the sale price in U.S. dollars.
- the computer code ensures that the seller is the current owner of the car and that the buyer has sufficient funds in their account.
- the computer code then records a transaction that transfers the ownership of the car to the buyer and a transaction that transfers the sale price from the buyer's account to the seller's account. If the sellers account is in U.S. dollars and the buyers account is in Canadian dollars, the computer code may retrieve a currency exchange rate, determine how many Canadian dollars the seller's account should be debited, and record the exchange rate. If either transaction is not successful, neither transaction is recorded.
- FIG. 1 is a block diagram that illustrates aspects of the AC system in some embodiments.
- FIG. 2 is a block diagram illustrating changes in the state of an asset card transaction in some embodiments.
- FIG. 3 is a flow diagram that illustrates processing of creating asset card transactions of the AC system in some embodiments.
- FIG. 4 is a flow diagram that illustrates the processing of a transfer function of the asset card transaction of the AC system in some embodiments.
- FIG. 5 is a block diagram that illustrates components of the AC system in some embodiments.
- FIG. 6 is a flow diagram that illustrates the processing of a create asset card transaction component of an asset smart contract of the AC system in some embodiments.
- FIG. 7 is a flow diagram that illustrates the processing of a transfer component of an asset card smart contract of the AC system in some embodiments.
- FIG. 8 is a flow diagram that illustrates the processing of a sell component of the exchange system of the AC system in some embodiments.
- FIG. 9 is a flow diagram that illustrates the processing of a full scan component of a vault system of the AC system in some embodiments.
- an asset card (“AC”) system tracks ownership of assets and ownership of divisions of assets in one or more distributed ledgers.
- a division of an asset is referred to as a unit of the asset.
- the AC system may provide an asset distributed ledger for storing an asset transaction for each asset and tracking custody and ownership of an asset during manufacturing, transport, and storage of the asset.
- An asset transaction includes an asset smart contract and an asset state that identifies an asset and stores other state information about the identified asset.
- the AC system may also provide an asset card distributed ledger for storing an asset card transaction for each asset for which the ownership of units of the asset can be transferred and for tracking ownership of the units of the asset.
- An asset card transaction includes an asset card smart contract and an asset card state.
- the asset card state identifies an asset and identifies the owners of the units of the identified asset.
- the smart contracts which may be ERC20-compatible smart contracts, control the changing of the state of the transactions.
- the asset card transaction for an asset may uniquely identify an asset transaction for the same asset so that the asset state is readily available when transferring ownership of units of the asset.
- the AC system may be employed for tracking divisions of any type of asset whose ownership interest are considered to be divisible. For example, the AC system may be employed to track ownership of divisions of precious metals (e.g., gold bars or silver bars) and other commodities, such as petroleum.
- the asset card state for an asset may include a divisibility factor for an asset.
- the divisibility factor for a 1.0 kilogram gold bar may be 10 8 , which means that the gold bar is tracked in units of of a gram. In other words, the gold bar has 10 8 units whose ownership can be separately transferred.
- the divisibility factor of a 1.0 kilogram may be 10 11 with each gram have 10 8 units of 10 ⁇ 8 o f a gram each.
- the asset distributed ledger and the asset card distributed ledger may be the same distributed ledger or different distributed ledgers.
- the distributed ledgers may be blockchain or non-blockchain.
- an asset card smart contract of an asset card transaction controls the transferring of ownership of units of the asset identified by the asset card transaction between entities (e.g., persons and organizations).
- the asset card state includes an asset identifier, an initial owner, a divisibility factor, characteristic attributes (e.g., weight and dimensions), and an owner table.
- the asset identifier may a serial number assigned to the asset during the manufacturing process.
- the serial number may be embedded in the asset (e.g., engraved) and stored in the identification component.
- the initial owner is the owner of all the units of the asset when the asset card transaction is recorded.
- the owner table contains entries listing the current owners of units of the asset.
- the initial owner may be the only owner listed in the owner table and is listed as owning all the units.
- the owners may be identified by their addresses (e.g., hash of their public keys).
- the asset card smart contract may include a transfer function that is invoked when a transfer message corresponding to a transfer transaction is sent to the asset card transaction.
- the transfer message identifies the current owner of a transfer number of units of the asset and the new owner to whom the transfer number of units of the asset are to be transferred.
- the transfer message may be signed by the current owner and include the public key of the current owner.
- the asset card smart contract verifies that the transfer message was signed by using the private key corresponding to the public key in the transfer message and then verifies that the public key can be used to generate the address of the current owner.
- the transfer function updates the owner table to reflect the transfer. For example, the transfer function may mark the entry for the current owner and the entry (if any) for the new owner as no longer valid to indicate that they do not represent the current ownership of the units. The transfer function then adds new entries (marked as valid) indicating the total number of units owned by the current owner (if any) and owned by the new owner. Each entry of the owner table may include a valid flag to indicate whether the entry is valid or not.
- an asset smart contract of an asset transaction controls the transferring of custody and ownership of the asset identified by the asset smart contract.
- the asset state includes an asset identifier, characteristic attributes, location, a divisible flag, an asset card creatable flag, an asset card created flag, a custodian, and an owner.
- the divisible flag indicates whether the asset is divisible. For example, gold dare may not be divisible, but a gold bar may be divisible.
- the location identifies the current location of the asset, such as in a vault or in a manufactory.
- the asset card creatable flag indicates whether an asset card transaction is allowed to be created for the identified asset.
- the asset card created flag indicates whether an asset card transaction has been created for the identified asset.
- the asset smart contract may include a transfer custody function and a transfer ownership function.
- the transfer custody function processes transfer custody messages, which, for example, may be sent when the asset is given to a transportation company to transport to a new location.
- the transfer ownership function processes a transfer owner message to transfer ownership from the current owner to a new owner.
- the owner table may only store information relating to the current owners. The complete history of the prior owners and transfers is represented by transfer transactions recorded in the distributed ledger.
- the AC system thus allows a physical asset to be divided into units for ease in transferring units of the asset from a current owner to a new owner. For example, if the price of gold is $50.00 per gram, then 10 5 units of a 1.0 kilogram gold bar with a divisibility factor of 10 8 would have a value of $50.00.
- the units of an asset can be transferred to a new owner as a payment by the current owner.
- the units can thus act as a cryptocurrency that is backed by the asset.
- an owner of all the units of an asset can redeem the asset card transaction for the physical asset, in which case the asset card transaction will be marked as redeemed and can no longer be used to transfer units in the asset.
- the owner of all the units of an asset can tender the asset card transaction to a controlling entity that controls the vault in which the asset is stored.
- the controlling entity may pull the asset from the vault and provide it to the owner.
- the AC system may include an exchange system through which clients can buy and sell units of an asset.
- the exchange system may provide a web site through which clients can provide payment information (e.g., in USD) for purchasing units of assets.
- the exchange may offer to sell, from a pool of assets owned by the exchange system, 1.0 grams of gold of a gold bar for $52.00.
- a client provides their address and transfers $52.00 to an account of the exchange system.
- the exchange system identifies an asset card transaction with at least 10 5 units that are owned by the exchange system.
- the exchange system then sends a transfer message to the asset card smart contract for the asset to transfer 10 5 units from the address of the exchange system to the address of the client.
- the exchange system provides the address of the asset card transaction to the client as confirmation that the transfer has been recorded.
- the exchange system may select asset card transactions for a sale of units to maximize the number of asset card transactions in which the exchange system owns all the units. If all the units of an asset are fully owned by the exchange system, the exchange system has options that would not be available if the exchange system did not own all the units. The options include redeeming the asset, transferring ownership of the entire asset, and so on. To help maximize the number of fully owned assets, the exchange system may initially transfer units to the extent possible from asset card transactions in which the units are not fully owned by the exchange system. When a client sells units of an asset to the exchange system, then those units are available for subsequent sale.
- the exchange system may select units for a sale transaction from different asset card transactions to minimize the number of asset card transactions in which the units are partially owned by the exchange system. For example, if a sale is for 10 6 units and 10 asset card transactions each have only 10 5 units that are currently owned by the exchange system, then the exchange system may transfer 10 5 units from each of the 10 asset card transactions to the new owner.
- various machine learning techniques can be used to learn an allocation strategy based on historical sales and purchases to maximize the number of asset card transactions whose assets are fully owned by the exchange.
- the AC system may employ a regression analysis to predict the number of purchase and sale transactions, their number of units, and even the transferor (current owner) and transferee (new owner) of the units for every hour over the next 24 hours.
- the AC system may then use the prediction to identify asset card transactions for the sale of assets to maximize the number of fully owned assets.
- the AC system thus digitizes ownership interests in certain assets (e.g., gold or other commodities) to enhance access to the assets, enable tracking of assets via the asset distributed ledger based on their characteristics (e.g., conflict-free gold), and create efficiencies in supply chain management and trade finance.
- assets e.g., gold or other commodities
- a unit of an asset is backed by the underlying asset (e.g., gold coin or gold bar).
- the units of an asset thus may be used as a medium of exchange and can be used as an alternative to fiat currencies.
- the AC system provides the computer infrastructure for the creation of asset transactions and asset card transactions, the purchase of units of assets, the redemption of units of assets, the transfer of ownership of units of assets, and so on.
- the AC system supports use of units of assets in settlement, payments, international remittances, investments, financing, and other activities.
- the units of an asset may be considered fungible.
- 10 4 units of a 10.0 kilogram gold bar may be fungible with 10 5 units of a 1.0 kilogram gold bar, assuming the asset card transaction for each gold bar has the same divisibility factor.
- the AC system creates and records the asset transactions and the asset card transactions in one or more shared, and eventually interoperable, distributed ledgers so that units can be widely distributed and transferred using the distributed ledger.
- the distributed ledger may be public or permissioned (e.g., private or semiprivate).
- the distributed ledger may globally replicate on all nodes all transactions performed by the AC system or may replicate a transaction only on nodes involved in the transaction.
- Distributed ledgers, including blockchain ledgers are publicly available from Openchain®, Chain®, Hyperledger®, MultiChain®, the R3 Consortium®, IMB®, and others.
- the AC system may require a purchaser of units of an asset from the exchange system to have been previously approved as, a client or user and have an existing account with the exchange system.
- a customer before submitting a purchase request, a customer may need to be cleared under applicable know-your-customer (“KYC”) and anti-money laundering (“AML”) regulations and create a digital wallet to reflect the customer's ownership interests in units of assets.
- KYC know-your-customer
- AML anti-money laundering
- the purchase request submitted by a customer may be in any of several forms, including a standard smart contract, digital form, verified message, or e-mail.
- the purchase request may be recorded in a separate order ledger or in the distributed ledger.
- the assets of the asset card transaction may be stored in a depository or vault.
- the exchange system may enter into agreements with a depository pursuant to which (1) the depository agrees to treat the asset card distributed ledger as its own registry of ownership of assets and (2) the asset owners are generally provided with the clear right to withdraw the underlying asset upon “digital presentment” of the asset card transaction to the depository.
- the AC system is described primarily in the context of assets that are minted gold (e.g., gold coin or gold bars), the AC system can be used to support transactions via the asset distributed ledger during the manufacturing process as gold transitions from gold dore to gold bars.
- the AC system can be used to track gold as it moves from mine to refinery, tracking both changes in custody and changes in ownership.
- FIG. 1 is a block diagram that illustrates aspects of the AC system in some embodiments.
- a manufacturing process 100 for gold involves the processing steps of generating 101 gold dore, combining 102 the gold dore into a batch of gold, and minting 103 gold bars.
- Each gold dore, each batch of gold, and each gold bar is an asset and is assigned a serial number. The serial number may be embedded in an identification component attached to the asset.
- An asset distributed ledger 110 includes the various blocks 120 and 130 of transactions. The asset distributed ledger is used to track assets from creation to the final product of the manufacturing process. Each asset has a corresponding asset transaction stored in the asset distributed ledger.
- the block 120 includes transactions 121 and 122 representing gold dore and asset transaction 123 representing a batch of gold.
- the block 130 includes asset transactions 131 and 132 that each represent a gold bar.
- asset transactions are created and recorded in the asset distributed ledger.
- custody of an asset changes, such as during transportation from one location to another, the corresponding asset transaction is updated to represent the new custodian.
- An asset card distributed ledger 140 includes blocks 150 and 160 .
- the blocks of the asset card distributed ledger include asset card transactions for certain types of assets.
- the block 160 includes an asset card transaction 161 and an asset card transaction 162 , each of which represents a gold bar corresponding to the asset of asset transaction 131 and asset transaction 132 , respectively.
- the asset card transaction may include a reference to a corresponding asset transaction, as illustrated by the dashed arrows.
- the computing systems and devices of the AC system may include a central processing unit, input devices, output devices (e.g., display devices and speakers), storage devices (e.g., memory and disk drives), network interfaces, graphics processing units, cellular radio link interfaces, global positioning system devices, and so on.
- the input devices may include keyboards, pointing devices, touch screens, gesture recognition devices (e.g., for air gestures), head and eye tracking devices, microphones for voice recognition, and so on.
- the computing systems may include desktop computers, laptops, tablets, e-readers, personal digital assistants, smartphones, gaming devices, servers, and so on.
- the computing systems may access computer-readable media that include computer-readable storage media and data transmission media.
- the computer-readable storage media are tangible storage means that do not include a transitory, propagating signal. Examples of computer-readable storage media include memory such as primary memory, cache memory, and secondary memory (e.g., DVD) and other storage. The computer-readable storage media may have recorded on it or may be encoded with computer-executable instructions or logic that implements the AC system.
- the data transmission media is used for transmitting data via transitory, propagating signals or carrier waves (e.g., electromagnetism) via a wired or wireless connection.
- the computing systems may include a secure cryptoprocessor as part of a central processing unit for generating and securely storing keys and for encrypting and decrypting data using the keys.
- the AC system may be described in the general context of computer-executable instructions, such as program modules and components, executed by one or more computers, processors, or other devices.
- program modules or components include routines, programs, objects, data structures, and so on that perform particular tasks or implement particular data types.
- the functionality of the program modules may be combined or distributed as desired in various examples.
- aspects of the AC system may be implemented in hardware using, for example, an application-specific integrated circuit (ASIC) or field-programmable gate array (“FPGA”).
- ASIC application-specific integrated circuit
- FPGA field-programmable gate array
- FIG. 2 is a block diagram illustrating changes in the state of an asset card transaction in some embodiments.
- Asset card states 200 illustrate the state of an asset card as it changes over time.
- Asset card state 210 illustrates the state of an asset when it is initially created and recorded in the distributed ledger.
- Asset card state 210 includes state information 201 comprising a reference to an asset transaction for an asset that is recorded in the asset distributed ledger (location of the asset transaction in the asset distributed ledger), a serial number for the asset, the weight of the asset (1.0 kilograms), a divisibility factor for the asset (10 8 or alternatively just the exponent 8), and an indication of the initial owner (O.add).
- the asset card state 201 also includes an owner table 202 with entries that include an owner field, a units field, and a valid field.
- the owner field identifies an owner of one or more units of the asset.
- the units field identifies the number of units owned by the owner.
- the valid field indicates whether the entry is valid.
- Entry 211 indicates that the initial owner owns all the units of the asset.
- Asset card state 220 illustrates that owner O.add has transferred 50,000,000 units of the asset to owner O1.add, Entry 221 is marked as not valid, and entries 222 and 223 indicate that owner O.add and owner O1.add each owns 50,000,000 units.
- Asset card state 230 illustrates that owner O1.add has transferred 25,000,000 units to owner O2.add.
- Entry 232 is marked as not valid, and entries 234 and 235 indicate that owner O1.add and owner O2.add each own 25,000,000 units.
- Asset card state 240 illustrates that owner O1.add has transferred 1.0 unit to owner O3.add. Entry 245 is marked as not valid, and entries 246 and 247 indicate that owner O1.add and owner O3.add own 24,999,999 units and 1.0 unit, respectively.
- Asset card state 250 illustrates that owner O3.add has transferred 1.0 unit to owner O4.add. Entry 257 is marked as not valid, and entry 258 indicates that owner O4.add owns 1.0 unit.
- Asset card state 260 illustrates that owner O4.add has transferred 1.0 unit to owner O2.add.
- Entries 265 and 268 are marked as not valid, and entry 269 indicates that owner O2.add now owns 25,000,001 units. The sum of the units of the valid entries is always the divisibility factor of 100,000,000.
- FIG. 3 is a flow diagram that illustrates processing of creating asset card transactions with an asset card smart contract for each asset of the AC system in some embodiments.
- a create asset card transactions component 300 records an asset card transaction for each of the identified assets.
- the component selects the next asset. Each asset may be identified by a reference to an asset transaction in the asset distributed ledger.
- decision block 302 if all the assets have already been selected, the component completes, else the component continues at block 303 .
- the component creates an asset card transaction corresponding to the selected asset.
- the component records the asset card transaction that includes the asset card smart contract and the asset smart card state for the asset in the asset card distributed ledger and then loops to block 301 to select the next asset.
- FIG. 4 is a flow diagram that illustrates the processing of a transfer function of the asset card transaction of the AC system in some embodiments.
- a transfer component 400 is invoked when a transfer message is received by the asset card transaction.
- the component verifies the transfer request to ensure that it has been signed by the owner whose assets are to be transferred.
- the component updates the owner table of the asset card transaction to reflect the transfer and completes.
- FIG. 5 is a block diagram that illustrates components of the AC system in some embodiments.
- the systems of the AC system may include vault systems 510 , client systems 520 , an exchange system 530 , and distributed ledger nodes 540 with distributed ledger stores 541 .
- the systems communicate via a communications channel 550 , such as the Internet.
- the vault systems track inventory of assets within a vault and interface with the asset distributed ledger and the asset card distributed ledger.
- the vault system uses the asset card transaction for an asset to verify that an entity asking to redeem an asset is the owner of the asset.
- the client systems allow clients (i.e., entities) to interact with the distributed ledgers to transfer units of assets, check the balances agreements of assets, and so forth.
- Each client system may implement a wallet component for locally tracking the units owned by the client, storing private keys, interacting with the exchange system, and so on.
- the exchange system provides a mechanism through which clients can buy units of assets from the exchange system and sell units of assets to the exchange system,
- the distributed ledger nodes and the distributed ledger stores implement the asset distributed ledger and the asset card distributed ledger.
- FIG. 6 is a flow diagram that illustrates the processing of a create asset card transaction component of an asset smart contract of the AC system in some embodiments.
- the create asset card component 600 is invoked when an asset transaction receives a create asset card message.
- the component verifies the signature of the create asset card message.
- decision block 602 if the signature is verified, then the component continues at block 603 , else the component completes, indicating failure.
- decision block 603 if the asset state indicates that the location of the asset is in a vault, the component continues at block 604 , else the component completes, indicating failure.
- decision block 604 if the asset state indicates that an asset card transaction can be created, then the component continues at block 605 , else the component completes, indicating failure.
- decision block 605 if the asset state indicates that the asset has been minted (i.e., it is divisible), then the component continues at block 606 , else the component completes, indicating failure.
- decision block 606 if the asset state indicates that an asset card transaction has not yet been created for the asset, then the component continues at block 607 , else the component completes, indicating failure.
- the component creates an asset card transaction corresponding to the asset of the asset transaction.
- block 608 the component records the asset card transaction in the asset card distributed ledger.
- block 609 the component sets the asset card created indicator to indicate that an asset card transaction has been created for the asset and then completes.
- FIG. 7 is a flow diagram that illustrates the processing of a transfer component of an asset card smart contract of the AC system in some embodiments.
- the transfer component 700 is invoked when a transfer message is received by an asset card transaction.
- the component checks the signature of the transfer message to ensure that it has been signed by an owner of the units of the asset.
- decision block 702 if the signature is verified, then the component continues at block 703 , else the component completes, indicating failure.
- decision block 703 if the balance of units owned by the transferor as indicated by the owner table is sufficient to support the transfer, then the component continues at block 704 , else the component completes, indicating failure.
- the component marks the entry in the owner table for the transferor to not valid.
- decision block 705 if the balance is now zero, then the component continues at block 707 , else the component continues at block 706 .
- block 706 the component adds an entry to the owner table for the transferor with the updated balance and continues at block 707 .
- decision block 707 if the transferee has an entry in the owner table, the component continues at block 708 , else the component continues at block 709 .
- the component marks the entry for the transferee as not valid and continues at block 709 .
- block 709 the component adds an entry for the transferee to the owner table with an updated balance and then completes, indicating success.
- FIG. 8 is a flow diagram that illustrates the processing of a sell component of the exchange system of the AC system in some embodiments.
- the sell component 800 is invoked, indicating the number of units to be sold and the address of the buyer.
- the component identifies an asset card transaction with a best fit to support the sale. The best fit, for example, may be an asset card transaction that tends to maximize the number of assets that are fully owned by the exchange.
- the component creates a transfer message (e.g., a transaction) to transfer the sold number of units to the buyer.
- the component signs the transfer message.
- the component sends the transfer message to the identified asset card transaction to complete the transfer. The component then completes.
- FIG. 9 is a flow diagram that illustrates the processing of a full scan component of a vault system of the AC system in some embodiments.
- the scan component 900 is invoked to scan the inventory in a vault.
- the component selects the next asset in the vault.
- decision block 902 if all the assets have already been selected, then the component continues at block 908 , else the component continues at block 903 .
- the component sends a query to the identification component of the selected asset, requesting the serial number of the asset.
- the component waits for a response or a timeout.
- decision block 905 if a response is received, then the component continues at block 906 , else t he component continues at block 907 .
- the component marks the asset as in the vault and loops to block 901 to select the next asset.
- the component marks the asset as not in the vault and loops to block 901 to select the next asset.
- the component records the results and then completes.
- An implementation of the AC system may employ any combination of the embodiments.
- the processing described below may be performed by a computing device with a processor that executes computer-executable instructions stored on a computer-readable storage medium that implements the AC system.
- a method performed by one or more computing systems for tracking units that are divisions of an asset is provided.
- the method records in an asset card distributed ledger an asset card transaction.
- the asset card transaction has an asset card smart contract and an asset card state.
- the asset card smart contract for controlling transfer of ownership of units of an asset between entities.
- the asset card state identifying the asset, an owner, and a divisibility factor.
- the divisibility factor indicating the number of units of the asset.
- the number of units are initially owned by an initial owner.
- the method also receives by the asset card transaction for that asset a transfer message to transfer a transfer number of units of the asset from a current owner to a new owner.
- the method verifies that the transfer message was signed by the current owner and verifies that the current owner owns at least the transfer number of units of the asset.
- the method updates the asset card state to reflect the transfer of the transfer number of units of the asset from the current owner to the new owner.
- Each asset card transaction is used to track ownership of units of a single asset.
- the asset card state of an asset card transaction specifies a weight of the asset identified by the asset card state.
- the method further, prior to recording an asset card transaction that identifies an asset, records in an asset distributed ledger an asset transaction having an asset smart contract and an asset state. The asset smart contract for recording in the asset card distributed ledger an asset card transaction for the asset.
- the asset state including an identifier of the asset and an indicator indicating whether an asset card transaction has been recorded for the identified asset.
- the asset state further includes an identification of an asset location of the asset, an indication of whether an asset card transaction can be created for the asset, and a dividable indicator of whether the asset is in a state where it can be divided into units.
- an asset is gold
- the asset location is in a vault
- the dividable indicator is that the gold has been minted.
- the asset distributed ledger and the asset card distributed ledger are the same distributed ledger.
- the asset card state includes an owner table and the updating of the asset card state includes updating the owner table to reflect units owned by the current owner and the new owner after the transfer.
- the owner table includes a history of all transfers of units of the asset. In some embodiments, the owner table indicates current ownership of units of the asset. In some embodiments, the owner table does not indicate prior ownership of units of the asset. In some embodiments, the asset card distributed ledger is a blockchain distributed ledger.
- a method performed by one or more computing systems for transferring ownership of a transfer number of units of an asset receives a request to transfer ownership of a unit of an asset from a first entity to a second entity.
- the first entity owns units of assets.
- Each asset is represented by an asset card transaction in an asset card distributed ledger.
- Each asset card transaction has an asset card state indicating entities that each own a specified number of units of the asset.
- the method identifies n asset card transaction for which the asset card state indicates that the first entity owns some units of the asset, but not all the units of the asset. When an asset card transaction is not identified, the method identifies an asset card transaction for which the asset card state indicates that the first entity owns all the units of the asset.
- the method transfers ownership of the transfer number of units of the asset of the identified asset card transaction from the first entity to the second entity.
- the identifying of asset card transactions seeks to identify asset card transactions to maximize the number of the asset card transactions in which all the units of the asset of the asset card transaction are owned by the first entity.
- the asset card transactions are recorded in a distributed ledger.
- Each asset card transaction has an asset card smart contract and an asset card state.
- the asset card smart contract for controlling transfer of ownership of units of an asset between entities.
- the asset card state identifies the asset, an owner of the asset card transaction, a divisibility factor, and owner data.
- the divisibility factor indicates the number of units of the asset.
- the number of units is initially owned by an initial owner.
- the owner data identifies each entity that owns one or more units of the asset and the number of units owned by each entity. In some embodiments, when the first entity is owner of an asset card transaction and owns all the units of the asset of that asset card transaction, the method transfers ownership of the asset card transaction.
- one or more computing systems for tracking units that are divisions of assets.
- the one or more computing systems includes one or more computer-readable storage mediums storing computer-executable instructions and one or more processors for executing the computer-executable instructions stored in the one or more computer-readable storage mediums.
- the computer-executable instructions control the one or more computing system to, for each asset, record, in an asset card distributed ledger, an asset card transaction.
- the asset card transaction has an asset card smart contract and an asset card state.
- the asset card smart contract for controlling transfer of ownership of units of an asset between entities.
- the asset card state identifying the asset and a divisibility factor.
- the divisibility factor indicates the number of units of the asset.
- the computer-executable instructions control the one or more computing system to update the asset card state to reflect a transfer of a transfer number of units of the asset from a current owner to a new owner.
- the asset card state of each asset card transaction specifies the weight of the asset identified by the asset card state.
- the asset card state includes owner data and the instructions that control the one or more computing systems to update the asset card state update the owner data to reflect units owned by the current owner and the new owner after the transfer.
- the asset card smart contract conforms to the Ethereum Request for Comment 20 technical standard.
- each asset is a gold bar held in a vault.
- each asset has an attached identification component for electromagnetically providing an identification number of the asset.
- the identification component is a near-field communication component.
- the identification component stores a private key for the asset for signing the identification number.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 15/976,798, filed May 10, 2018; which claims the benefit of U.S. Provisional Application No. 62/504,386, filed on May 10, 2017, both of which applications are hereby incorporated by reference in theft entireties.
- The bitcoin system was developed to allow electronic cash to be transferred directly from one party to another without going through a financial institution, as described in the white paper entitled “Bitcoin: A Peer-to-Peer Electronic Cash System” by Satoshi Nakamoto. A bitcoin is represented by a chain of transactions that transfers ownership from one party (the “sender”) to another party (the “recipient”). Each transaction has an output, and each transaction (except for the initial creating of a bitcoin) has an input that is an output of a prior transaction. To transfer ownership of a bitcoin that is output by a prior transaction, a new transaction is generated and added to a stack of transactions in a block. The new transaction, which includes the public key of the new owner, is digitally signed by the current owner to transfer ownership to the new owner as represented by the new owner's public key. The current owner signs the new transaction by signing with the current owner's private key a hash of the prior transaction and the new owner's public key. The new transaction is considered to have “consumed” the output of the prior transaction. Once the block is considered to be complete, the block is “capped” with a block header that is a hash digest of all the transaction identifiers within the block. The block header is recorded as the first transaction in the next block in the chain, creating a chain of transaction blocks in which each block links back to the prior block, called a “blockchain.” To verify that a proposed transaction is valid, the public key of the owner can be used to verify the signature, and the blockchain of transactions can be followed to verify that the prior transaction has not been consumed by another transaction. To prove ownership of the bitcoin of the new transaction, the new owner need only have the private key that matches the public key of the new transaction that transferred the bitcoin. The blockchain creates a mathematical proof of ownership in an entity represented by a security identity (e.g., a public key), which in the case of the bitcoin system is pseudo-anonymous.
- The blockchain of the bitcoin system is stored as a distributed ledger. With the distributed ledger, a copy of the blockchain of all the transactions is stored redundantly at multiple nodes (i.e., computers) of a blockchain network. In a blockchain, the transactions are stored in the order that the transactions are received by the nodes. Each node in the blockchain network has a complete replica of the entire blockchain. The bitcoin system also implements techniques to ensure that each node will store the identical blockchain, even though nodes may receive transactions in different orderings. To verify that the transactions in a ledger stored at a node are correct, the blocks in the blockchain can be accessed from oldest to newest, generating a new hash of the block and comparing the new hash to the hash generated when the block was created. If the hashes are the same, then the transactions in the block are verified. The bitcoin system also implements techniques to ensure that it would be infeasible to change a transaction and regenerate the blockchain by employing a computationally expensive technique, referred to as mining, to generate a nonce that is added to the block when it is created. A bitcoin ledger is sometimes referred to as an Unspent Transaction Output (“UTXO”) set because it tracks the output of all transactions that have not yet been spent. To facilitate determining whether the input to a transaction has been spent, a node may maintain an index into the blockchain that points to the unspent transactions.
- Although the bitcoin system has been very successful, it is limited to transactions in bitcoins or other cryptocurrencies. Efforts are currently underway to use distributed ledgers to support transactions of any type, such as those relating to the sale of vehicles, sale of financial derivatives, sale of stock, payments on contracts, and so on. Such transactions use identity tokens to uniquely identify something that can be owned or can own other things. An identity token for a physical or digital asset is generated using a cryptographic one-way hash of information that uniquely identifies the asset. Tokens also have an owner that uses an additional public/private key pair. The owner public key is set as the token owner identity, and when performing actions against tokens, ownership proof is established by providing a signature generated by the owner private key and validated against the public key listed as the owner of the token. A person can be uniquely identified, for example, using a combination of a user name, social security number, and biometric (e.g., fingerprint). A product (e.g., refrigerator) can be uniquely identified, for example, using the name of its manufacturer and its serial number. The identity tokens for each would be a cryptographic one-way hash of such combinations. The identity token for an entity (e.g., person or company) may be the public key of a public/private key pair, where the private key is held by the entity. Identity tokens can be used to identify people, institutions, commodities, contracts, computer code, equities, derivatives, bonds, insurance, loans, documents, and so on. Identity tokens can also be used to identify collections of assets. An identity token for a collection may be a cryptographic one-way hash of the digital tokens of the assets in the collection. The creation of an identity token for an asset in a distributed ledger establishes provenance of the asset, and the identity token can be used in transactions (e.g., buying, selling, insuring) of the asset stored in a distributed ledger, creating a full audit trail of the transactions.
- To record a simple transaction in a distributed ledger, each party and asset involved with the transaction needs an account that is identified by a digital token in the network. For example, when one person wants to transfer a car to another person via a transaction, the current owner and next owner or recipient create accounts, and the current owner also creates an account that is uniquely identified by the car's vehicle identification number. The account for the car identifies the current owner. The current owner creates a transaction against the account for the car that indicates that the transaction is a transfer of ownership transfer, indicates the public keys (i.e., identity tokens) of the current owner and the next owner, and indicates the identity token of the car. The transaction is signed by the private key of the current owner, and the transaction is evidence that the next owner is now the current owner.
- To enable more complex transactions than bitcoin can support, some systems use “smart contracts.” A smart contract is computer code that programmatically executes transactions that may be defined by a written contract or other predefined conditions. The Ethereum Request for Comment 20 (“ERC20”) is a technical standard defining the functions and event of an Ethereum smart contract. The computer code may be executed in a secure platform (e.g., an Ethereum platform, which provides a virtual machine) that supports recording transactions in a distributed ledger. In addition, the smart contract itself may be recorded as a transaction in the distributed ledger using an identity token that is a hash (i.e., identity token) of the computer code so that the computer code that is executed can be authenticated. When deployed, a constructor of the smart contract executes, initializing the smart contract and its state. The state of a smart contract is stored persistently in the distributed ledger. When a transaction is recorded against a smart contract, a message is sent to the smart contract, and the computer code of the smart contract executes to implement the transaction (e.g., debit a certain amount from the balance of an account). The computer code ensures that all the predefined conditions are met before the transaction is recorded in the blockchain. For example, a smart contract may support the sale of an asset. The inputs to a smart contract to sell a car may be the identity tokens of the seller, the buyer, and the car and the sale price in U.S. dollars. The computer code ensures that the seller is the current owner of the car and that the buyer has sufficient funds in their account. The computer code then records a transaction that transfers the ownership of the car to the buyer and a transaction that transfers the sale price from the buyer's account to the seller's account. If the sellers account is in U.S. dollars and the buyers account is in Canadian dollars, the computer code may retrieve a currency exchange rate, determine how many Canadian dollars the seller's account should be debited, and record the exchange rate. If either transaction is not successful, neither transaction is recorded.
-
FIG. 1 is a block diagram that illustrates aspects of the AC system in some embodiments. -
FIG. 2 is a block diagram illustrating changes in the state of an asset card transaction in some embodiments. -
FIG. 3 is a flow diagram that illustrates processing of creating asset card transactions of the AC system in some embodiments. -
FIG. 4 is a flow diagram that illustrates the processing of a transfer function of the asset card transaction of the AC system in some embodiments. -
FIG. 5 is a block diagram that illustrates components of the AC system in some embodiments. -
FIG. 6 is a flow diagram that illustrates the processing of a create asset card transaction component of an asset smart contract of the AC system in some embodiments. -
FIG. 7 is a flow diagram that illustrates the processing of a transfer component of an asset card smart contract of the AC system in some embodiments. -
FIG. 8 is a flow diagram that illustrates the processing of a sell component of the exchange system of the AC system in some embodiments. -
FIG. 9 is a flow diagram that illustrates the processing of a full scan component of a vault system of the AC system in some embodiments. - A method and system are provided for tracking, via a distributed ledger, units that are divisions of an asset. In some embodiments, an asset card (“AC”) system tracks ownership of assets and ownership of divisions of assets in one or more distributed ledgers. A division of an asset is referred to as a unit of the asset. The AC system may provide an asset distributed ledger for storing an asset transaction for each asset and tracking custody and ownership of an asset during manufacturing, transport, and storage of the asset. An asset transaction includes an asset smart contract and an asset state that identifies an asset and stores other state information about the identified asset. The AC system may also provide an asset card distributed ledger for storing an asset card transaction for each asset for which the ownership of units of the asset can be transferred and for tracking ownership of the units of the asset. An asset card transaction includes an asset card smart contract and an asset card state. The asset card state identifies an asset and identifies the owners of the units of the identified asset. The smart contracts, which may be ERC20-compatible smart contracts, control the changing of the state of the transactions. The asset card transaction for an asset may uniquely identify an asset transaction for the same asset so that the asset state is readily available when transferring ownership of units of the asset. The AC system may be employed for tracking divisions of any type of asset whose ownership interest are considered to be divisible. For example, the AC system may be employed to track ownership of divisions of precious metals (e.g., gold bars or silver bars) and other commodities, such as petroleum. The asset card state for an asset may include a divisibility factor for an asset. For example, the divisibility factor for a 1.0 kilogram gold bar may be 108, which means that the gold bar is tracked in units of of a gram. In other words, the gold bar has 108 units whose ownership can be separately transferred. As another example, the divisibility factor of a 1.0 kilogram may be 1011 with each gram have 108 units of 10−8 o f a gram each. The asset distributed ledger and the asset card distributed ledger may be the same distributed ledger or different distributed ledgers. The distributed ledgers may be blockchain or non-blockchain.
- In some embodiments, an asset card smart contract of an asset card transaction controls the transferring of ownership of units of the asset identified by the asset card transaction between entities (e.g., persons and organizations). When an asset card transaction is initially recorded, the asset card state includes an asset identifier, an initial owner, a divisibility factor, characteristic attributes (e.g., weight and dimensions), and an owner table. The asset identifier may a serial number assigned to the asset during the manufacturing process. The serial number may be embedded in the asset (e.g., engraved) and stored in the identification component. The initial owner is the owner of all the units of the asset when the asset card transaction is recorded. The owner table contains entries listing the current owners of units of the asset. Initially, the initial owner may be the only owner listed in the owner table and is listed as owning all the units. The owners may be identified by their addresses (e.g., hash of their public keys). The asset card smart contract may include a transfer function that is invoked when a transfer message corresponding to a transfer transaction is sent to the asset card transaction. The transfer message identifies the current owner of a transfer number of units of the asset and the new owner to whom the transfer number of units of the asset are to be transferred. The transfer message may be signed by the current owner and include the public key of the current owner. The asset card smart contract verifies that the transfer message was signed by using the private key corresponding to the public key in the transfer message and then verifies that the public key can be used to generate the address of the current owner. If the signature of the current owner is verified, then the transfer function updates the owner table to reflect the transfer. For example, the transfer function may mark the entry for the current owner and the entry (if any) for the new owner as no longer valid to indicate that they do not represent the current ownership of the units. The transfer function then adds new entries (marked as valid) indicating the total number of units owned by the current owner (if any) and owned by the new owner. Each entry of the owner table may include a valid flag to indicate whether the entry is valid or not.
- In some embodiments, an asset smart contract of an asset transaction controls the transferring of custody and ownership of the asset identified by the asset smart contract. When an asset transaction is initially recorded, the asset state includes an asset identifier, characteristic attributes, location, a divisible flag, an asset card creatable flag, an asset card created flag, a custodian, and an owner. The divisible flag indicates whether the asset is divisible. For example, gold dare may not be divisible, but a gold bar may be divisible. The location identifies the current location of the asset, such as in a vault or in a manufactory. The asset card creatable flag indicates whether an asset card transaction is allowed to be created for the identified asset. The asset card created flag indicates whether an asset card transaction has been created for the identified asset. The asset smart contract may include a transfer custody function and a transfer ownership function. The transfer custody function processes transfer custody messages, which, for example, may be sent when the asset is given to a transportation company to transport to a new location. The transfer ownership function processes a transfer owner message to transfer ownership from the current owner to a new owner. Alternatively, the owner table may only store information relating to the current owners. The complete history of the prior owners and transfers is represented by transfer transactions recorded in the distributed ledger.
- The AC system thus allows a physical asset to be divided into units for ease in transferring units of the asset from a current owner to a new owner. For example, if the price of gold is $50.00 per gram, then 105 units of a 1.0 kilogram gold bar with a divisibility factor of 108 would have a value of $50.00. The units of an asset can be transferred to a new owner as a payment by the current owner. The units can thus act as a cryptocurrency that is backed by the asset. In addition, an owner of all the units of an asset can redeem the asset card transaction for the physical asset, in which case the asset card transaction will be marked as redeemed and can no longer be used to transfer units in the asset. For example, the owner of all the units of an asset can tender the asset card transaction to a controlling entity that controls the vault in which the asset is stored. After confirming the asset card transaction is be tendered by the owner of all the units, the controlling entity may pull the asset from the vault and provide it to the owner.
- In some embodiments, the AC system may include an exchange system through which clients can buy and sell units of an asset. The exchange system may provide a web site through which clients can provide payment information (e.g., in USD) for purchasing units of assets. For example, the exchange may offer to sell, from a pool of assets owned by the exchange system, 1.0 grams of gold of a gold bar for $52.00. To make a purchase, a client provides their address and transfers $52.00 to an account of the exchange system. Upon confirming payment, the exchange system identifies an asset card transaction with at least 105 units that are owned by the exchange system. The exchange system then sends a transfer message to the asset card smart contract for the asset to transfer 105 units from the address of the exchange system to the address of the client. After the transfer is recorded, the exchange system provides the address of the asset card transaction to the client as confirmation that the transfer has been recorded.
- In some embodiments, the exchange system may select asset card transactions for a sale of units to maximize the number of asset card transactions in which the exchange system owns all the units. If all the units of an asset are fully owned by the exchange system, the exchange system has options that would not be available if the exchange system did not own all the units. The options include redeeming the asset, transferring ownership of the entire asset, and so on. To help maximize the number of fully owned assets, the exchange system may initially transfer units to the extent possible from asset card transactions in which the units are not fully owned by the exchange system. When a client sells units of an asset to the exchange system, then those units are available for subsequent sale. To help maximize the number of fully owned assets, the exchange system may select units for a sale transaction from different asset card transactions to minimize the number of asset card transactions in which the units are partially owned by the exchange system. For example, if a sale is for 106 units and 10 asset card transactions each have only 105 units that are currently owned by the exchange system, then the exchange system may transfer 105 units from each of the 10 asset card transactions to the new owner. In addition, various machine learning techniques can be used to learn an allocation strategy based on historical sales and purchases to maximize the number of asset card transactions whose assets are fully owned by the exchange. For example, the AC system may employ a regression analysis to predict the number of purchase and sale transactions, their number of units, and even the transferor (current owner) and transferee (new owner) of the units for every hour over the next 24 hours. The AC system may then use the prediction to identify asset card transactions for the sale of assets to maximize the number of fully owned assets.
- The AC system thus digitizes ownership interests in certain assets (e.g., gold or other commodities) to enhance access to the assets, enable tracking of assets via the asset distributed ledger based on their characteristics (e.g., conflict-free gold), and create efficiencies in supply chain management and trade finance. A unit of an asset is backed by the underlying asset (e.g., gold coin or gold bar). The units of an asset thus may be used as a medium of exchange and can be used as an alternative to fiat currencies. The AC system provides the computer infrastructure for the creation of asset transactions and asset card transactions, the purchase of units of assets, the redemption of units of assets, the transfer of ownership of units of assets, and so on. As such, the AC system supports use of units of assets in settlement, payments, international remittances, investments, financing, and other activities. The units of an asset may be considered fungible. For example, 104 units of a 10.0 kilogram gold bar may be fungible with 105 units of a 1.0 kilogram gold bar, assuming the asset card transaction for each gold bar has the same divisibility factor.
- In some embodiments, the AC system creates and records the asset transactions and the asset card transactions in one or more shared, and eventually interoperable, distributed ledgers so that units can be widely distributed and transferred using the distributed ledger. The distributed ledger may be public or permissioned (e.g., private or semiprivate). The distributed ledger may globally replicate on all nodes all transactions performed by the AC system or may replicate a transaction only on nodes involved in the transaction. Distributed ledgers, including blockchain ledgers, are publicly available from Openchain®, Chain®, Hyperledger®, MultiChain®, the R3 Consortium®, IMB®, and others.
- In some embodiments, the AC system may require a purchaser of units of an asset from the exchange system to have been previously approved as, a client or user and have an existing account with the exchange system. In some embodiments, before submitting a purchase request, a customer may need to be cleared under applicable know-your-customer (“KYC”) and anti-money laundering (“AML”) regulations and create a digital wallet to reflect the customer's ownership interests in units of assets. The purchase request submitted by a customer may be in any of several forms, including a standard smart contract, digital form, verified message, or e-mail. The purchase request may be recorded in a separate order ledger or in the distributed ledger.
- In some embodiments, the assets of the asset card transaction may be stored in a depository or vault. The exchange system may enter into agreements with a depository pursuant to which (1) the depository agrees to treat the asset card distributed ledger as its own registry of ownership of assets and (2) the asset owners are generally provided with the clear right to withdraw the underlying asset upon “digital presentment” of the asset card transaction to the depository.
- Although the AC system is described primarily in the context of assets that are minted gold (e.g., gold coin or gold bars), the AC system can be used to support transactions via the asset distributed ledger during the manufacturing process as gold transitions from gold dore to gold bars. The AC system can be used to track gold as it moves from mine to refinery, tracking both changes in custody and changes in ownership.
-
FIG. 1 is a block diagram that illustrates aspects of the AC system in some embodiments. Amanufacturing process 100 for gold involves the processing steps of generating 101 gold dore, combining 102 the gold dore into a batch of gold, and minting 103 gold bars. Each gold dore, each batch of gold, and each gold bar is an asset and is assigned a serial number. The serial number may be embedded in an identification component attached to the asset. An asset distributedledger 110 includes thevarious blocks block 120 includestransactions asset transaction 123 representing a batch of gold. Theblock 130 includesasset transactions ledger 140 includesblocks block 160 includes anasset card transaction 161 and anasset card transaction 162, each of which represents a gold bar corresponding to the asset ofasset transaction 131 andasset transaction 132, respectively. The asset card transaction may include a reference to a corresponding asset transaction, as illustrated by the dashed arrows. - The computing systems and devices of the AC system may include a central processing unit, input devices, output devices (e.g., display devices and speakers), storage devices (e.g., memory and disk drives), network interfaces, graphics processing units, cellular radio link interfaces, global positioning system devices, and so on. The input devices may include keyboards, pointing devices, touch screens, gesture recognition devices (e.g., for air gestures), head and eye tracking devices, microphones for voice recognition, and so on. The computing systems may include desktop computers, laptops, tablets, e-readers, personal digital assistants, smartphones, gaming devices, servers, and so on. The computing systems may access computer-readable media that include computer-readable storage media and data transmission media. The computer-readable storage media are tangible storage means that do not include a transitory, propagating signal. Examples of computer-readable storage media include memory such as primary memory, cache memory, and secondary memory (e.g., DVD) and other storage. The computer-readable storage media may have recorded on it or may be encoded with computer-executable instructions or logic that implements the AC system. The data transmission media is used for transmitting data via transitory, propagating signals or carrier waves (e.g., electromagnetism) via a wired or wireless connection. The computing systems may include a secure cryptoprocessor as part of a central processing unit for generating and securely storing keys and for encrypting and decrypting data using the keys.
- The AC system may be described in the general context of computer-executable instructions, such as program modules and components, executed by one or more computers, processors, or other devices. Generally, program modules or components include routines, programs, objects, data structures, and so on that perform particular tasks or implement particular data types. Typically, the functionality of the program modules may be combined or distributed as desired in various examples. Aspects of the AC system may be implemented in hardware using, for example, an application-specific integrated circuit (ASIC) or field-programmable gate array (“FPGA”).
-
FIG. 2 is a block diagram illustrating changes in the state of an asset card transaction in some embodiments. Asset card states 200 illustrate the state of an asset card as it changes over time.Asset card state 210 illustrates the state of an asset when it is initially created and recorded in the distributed ledger.Asset card state 210 includesstate information 201 comprising a reference to an asset transaction for an asset that is recorded in the asset distributed ledger (location of the asset transaction in the asset distributed ledger), a serial number for the asset, the weight of the asset (1.0 kilograms), a divisibility factor for the asset (108 or alternatively just the exponent 8), and an indication of the initial owner (O.add). Theasset card state 201 also includes an owner table 202 with entries that include an owner field, a units field, and a valid field. The owner field identifies an owner of one or more units of the asset. The units field identifies the number of units owned by the owner. The valid field indicates whether the entry is valid.Entry 211 indicates that the initial owner owns all the units of the asset.Asset card state 220 illustrates that owner O.add has transferred 50,000,000 units of the asset to owner O1.add,Entry 221 is marked as not valid, andentries Asset card state 230 illustrates that owner O1.add has transferred 25,000,000 units to owner O2.add.Entry 232 is marked as not valid, andentries Asset card state 240 illustrates that owner O1.add has transferred 1.0 unit to owner O3.add.Entry 245 is marked as not valid, andentries Asset card state 250 illustrates that owner O3.add has transferred 1.0 unit to owner O4.add.Entry 257 is marked as not valid, andentry 258 indicates that owner O4.add owns 1.0 unit.Asset card state 260 illustrates that owner O4.add has transferred 1.0 unit to owner O2.add.Entries entry 269 indicates that owner O2.add now owns 25,000,001 units. The sum of the units of the valid entries is always the divisibility factor of 100,000,000. -
FIG. 3 is a flow diagram that illustrates processing of creating asset card transactions with an asset card smart contract for each asset of the AC system in some embodiments. A create assetcard transactions component 300 records an asset card transaction for each of the identified assets. Inblock 301, the component selects the next asset. Each asset may be identified by a reference to an asset transaction in the asset distributed ledger. Indecision block 302, if all the assets have already been selected, the component completes, else the component continues atblock 303. Inblock 303, the component creates an asset card transaction corresponding to the selected asset. Inblock 304, the component records the asset card transaction that includes the asset card smart contract and the asset smart card state for the asset in the asset card distributed ledger and then loops to block 301 to select the next asset. -
FIG. 4 is a flow diagram that illustrates the processing of a transfer function of the asset card transaction of the AC system in some embodiments. Atransfer component 400 is invoked when a transfer message is received by the asset card transaction. Inblock 401, the component verifies the transfer request to ensure that it has been signed by the owner whose assets are to be transferred. Inblock 402, the component updates the owner table of the asset card transaction to reflect the transfer and completes. -
FIG. 5 is a block diagram that illustrates components of the AC system in some embodiments. The systems of the AC system may includevault systems 510,client systems 520, anexchange system 530, and distributedledger nodes 540 with distributed ledger stores 541. The systems communicate via acommunications channel 550, such as the Internet. The vault systems track inventory of assets within a vault and interface with the asset distributed ledger and the asset card distributed ledger. The vault system uses the asset card transaction for an asset to verify that an entity asking to redeem an asset is the owner of the asset. The client systems allow clients (i.e., entities) to interact with the distributed ledgers to transfer units of assets, check the balances agreements of assets, and so forth. Each client system may implement a wallet component for locally tracking the units owned by the client, storing private keys, interacting with the exchange system, and so on. The exchange system provides a mechanism through which clients can buy units of assets from the exchange system and sell units of assets to the exchange system, The distributed ledger nodes and the distributed ledger stores implement the asset distributed ledger and the asset card distributed ledger. -
FIG. 6 is a flow diagram that illustrates the processing of a create asset card transaction component of an asset smart contract of the AC system in some embodiments. The createasset card component 600 is invoked when an asset transaction receives a create asset card message. Inblock 601, the component verifies the signature of the create asset card message. Indecision block 602, if the signature is verified, then the component continues atblock 603, else the component completes, indicating failure. Indecision block 603, if the asset state indicates that the location of the asset is in a vault, the component continues atblock 604, else the component completes, indicating failure. Indecision block 604, if the asset state indicates that an asset card transaction can be created, then the component continues atblock 605, else the component completes, indicating failure. Indecision block 605, if the asset state indicates that the asset has been minted (i.e., it is divisible), then the component continues atblock 606, else the component completes, indicating failure. Indecision block 606, if the asset state indicates that an asset card transaction has not yet been created for the asset, then the component continues atblock 607, else the component completes, indicating failure. Inblock 607, the component creates an asset card transaction corresponding to the asset of the asset transaction. Inblock 608, the component records the asset card transaction in the asset card distributed ledger. Inblock 609, the component sets the asset card created indicator to indicate that an asset card transaction has been created for the asset and then completes. -
FIG. 7 is a flow diagram that illustrates the processing of a transfer component of an asset card smart contract of the AC system in some embodiments. Thetransfer component 700 is invoked when a transfer message is received by an asset card transaction. Inblock 701, the component checks the signature of the transfer message to ensure that it has been signed by an owner of the units of the asset. Indecision block 702, if the signature is verified, then the component continues atblock 703, else the component completes, indicating failure. Indecision block 703, if the balance of units owned by the transferor as indicated by the owner table is sufficient to support the transfer, then the component continues atblock 704, else the component completes, indicating failure. Inblock 704, the component marks the entry in the owner table for the transferor to not valid. Indecision block 705, if the balance is now zero, then the component continues atblock 707, else the component continues atblock 706. Inblock 706, the component adds an entry to the owner table for the transferor with the updated balance and continues atblock 707. Indecision block 707, if the transferee has an entry in the owner table, the component continues atblock 708, else the component continues atblock 709. Inblock 708, the component marks the entry for the transferee as not valid and continues atblock 709. Inblock 709, the component adds an entry for the transferee to the owner table with an updated balance and then completes, indicating success. -
FIG. 8 is a flow diagram that illustrates the processing of a sell component of the exchange system of the AC system in some embodiments. Thesell component 800 is invoked, indicating the number of units to be sold and the address of the buyer. Inblock 801, the component identifies an asset card transaction with a best fit to support the sale. The best fit, for example, may be an asset card transaction that tends to maximize the number of assets that are fully owned by the exchange. Inblock 802, the component creates a transfer message (e.g., a transaction) to transfer the sold number of units to the buyer. Inblock 803, the component signs the transfer message. Inblock 804, the component sends the transfer message to the identified asset card transaction to complete the transfer. The component then completes. -
FIG. 9 is a flow diagram that illustrates the processing of a full scan component of a vault system of the AC system in some embodiments. Thescan component 900 is invoked to scan the inventory in a vault. Inblock 901, the component selects the next asset in the vault. Indecision block 902, if all the assets have already been selected, then the component continues atblock 908, else the component continues atblock 903. Inblock 903, the component sends a query to the identification component of the selected asset, requesting the serial number of the asset. Inblock 904, the component waits for a response or a timeout. Indecision block 905, if a response is received, then the component continues atblock 906, else t he component continues atblock 907. Inblock 906, the component marks the asset as in the vault and loops to block 901 to select the next asset. Inblock 907, the component marks the asset as not in the vault and loops to block 901 to select the next asset. Inblock 908, the component records the results and then completes. - The following paragraphs describe various embodiments of aspects of the AC system. An implementation of the AC system may employ any combination of the embodiments. The processing described below may be performed by a computing device with a processor that executes computer-executable instructions stored on a computer-readable storage medium that implements the AC system.
- A method performed by one or more computing systems for tracking units that are divisions of an asset is provided. For each of a plurality of assets, the method records in an asset card distributed ledger an asset card transaction. The asset card transaction has an asset card smart contract and an asset card state. The asset card smart contract for controlling transfer of ownership of units of an asset between entities. The asset card state identifying the asset, an owner, and a divisibility factor. The divisibility factor indicating the number of units of the asset. The number of units are initially owned by an initial owner. For each of a plurality of assets, the method also receives by the asset card transaction for that asset a transfer message to transfer a transfer number of units of the asset from a current owner to a new owner. Under control of the asset card smart contract, the method verifies that the transfer message was signed by the current owner and verifies that the current owner owns at least the transfer number of units of the asset. When the verifications are successful, the method updates the asset card state to reflect the transfer of the transfer number of units of the asset from the current owner to the new owner. Each asset card transaction is used to track ownership of units of a single asset. In some embodiments, the asset card state of an asset card transaction specifies a weight of the asset identified by the asset card state. In some embodiments, the method further, prior to recording an asset card transaction that identifies an asset, records in an asset distributed ledger an asset transaction having an asset smart contract and an asset state. The asset smart contract for recording in the asset card distributed ledger an asset card transaction for the asset. The asset state including an identifier of the asset and an indicator indicating whether an asset card transaction has been recorded for the identified asset. In some embodiments, the asset state further includes an identification of an asset location of the asset, an indication of whether an asset card transaction can be created for the asset, and a dividable indicator of whether the asset is in a state where it can be divided into units. In some embodiments, an asset is gold, the asset location is in a vault, and the dividable indicator is that the gold has been minted. In some embodiments, the asset distributed ledger and the asset card distributed ledger are the same distributed ledger. In some embodiments, the asset card state includes an owner table and the updating of the asset card state includes updating the owner table to reflect units owned by the current owner and the new owner after the transfer. In some embodiments, the owner table includes a history of all transfers of units of the asset. In some embodiments, the owner table indicates current ownership of units of the asset. In some embodiments, the owner table does not indicate prior ownership of units of the asset. In some embodiments, the asset card distributed ledger is a blockchain distributed ledger.
- In some embodiments, a method performed by one or more computing systems for transferring ownership of a transfer number of units of an asset is provided. The method receives a request to transfer ownership of a unit of an asset from a first entity to a second entity. The first entity owns units of assets. Each asset is represented by an asset card transaction in an asset card distributed ledger. Each asset card transaction has an asset card state indicating entities that each own a specified number of units of the asset. The method identifies n asset card transaction for which the asset card state indicates that the first entity owns some units of the asset, but not all the units of the asset. When an asset card transaction is not identified, the method identifies an asset card transaction for which the asset card state indicates that the first entity owns all the units of the asset. The method transfers ownership of the transfer number of units of the asset of the identified asset card transaction from the first entity to the second entity. In some embodiments, the identifying of asset card transactions seeks to identify asset card transactions to maximize the number of the asset card transactions in which all the units of the asset of the asset card transaction are owned by the first entity. In some embodiments, the asset card transactions are recorded in a distributed ledger. Each asset card transaction has an asset card smart contract and an asset card state. The asset card smart contract for controlling transfer of ownership of units of an asset between entities. The asset card state identifies the asset, an owner of the asset card transaction, a divisibility factor, and owner data. The divisibility factor indicates the number of units of the asset. The number of units is initially owned by an initial owner. The owner data identifies each entity that owns one or more units of the asset and the number of units owned by each entity. In some embodiments, when the first entity is owner of an asset card transaction and owns all the units of the asset of that asset card transaction, the method transfers ownership of the asset card transaction.
- In some embodiments, one or more computing systems for tracking units that are divisions of assets is provided. The one or more computing systems includes one or more computer-readable storage mediums storing computer-executable instructions and one or more processors for executing the computer-executable instructions stored in the one or more computer-readable storage mediums. The computer-executable instructions control the one or more computing system to, for each asset, record, in an asset card distributed ledger, an asset card transaction. The asset card transaction has an asset card smart contract and an asset card state. The asset card smart contract for controlling transfer of ownership of units of an asset between entities. The asset card state identifying the asset and a divisibility factor. The divisibility factor indicates the number of units of the asset. Under control of the asset card smart contract, the computer-executable instructions control the one or more computing system to update the asset card state to reflect a transfer of a transfer number of units of the asset from a current owner to a new owner. In some embodiments, the asset card state of each asset card transaction specifies the weight of the asset identified by the asset card state. In some embodiments, the asset card state includes owner data and the instructions that control the one or more computing systems to update the asset card state update the owner data to reflect units owned by the current owner and the new owner after the transfer. In some embodiments, the asset card smart contract conforms to the Ethereum Request for Comment 20 technical standard. In some embodiments, each asset is a gold bar held in a vault. In some embodiments, when an entity who owns all units of a gold bar identified by an asset card transaction takes possession of the gold bar, the asset card state is changed to indicate that the gold bar is no longer in the vault. In some embodiments, each asset has an attached identification component for electromagnetically providing an identification number of the asset. In some embodiments, the identification component is a near-field communication component. In some embodiments, the identification component stores a private key for the asset for signing the identification number.
- Although the subject matter has been described in language specific to structural features and/or acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. Accordingly, the invention is not limited except as by the appended claims
Claims (24)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/262,821 US20190164223A1 (en) | 2017-05-10 | 2019-01-30 | Asset cards for tracking divisible assets in a distributed ledger |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762504386P | 2017-05-10 | 2017-05-10 | |
US15/976,798 US20190130484A1 (en) | 2017-05-10 | 2018-05-10 | Asset cards for tracking divisible assets in a distributed ledger |
US16/262,821 US20190164223A1 (en) | 2017-05-10 | 2019-01-30 | Asset cards for tracking divisible assets in a distributed ledger |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/976,798 Continuation US20190130484A1 (en) | 2017-05-10 | 2018-05-10 | Asset cards for tracking divisible assets in a distributed ledger |
Publications (1)
Publication Number | Publication Date |
---|---|
US20190164223A1 true US20190164223A1 (en) | 2019-05-30 |
Family
ID=62631155
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/976,798 Abandoned US20190130484A1 (en) | 2017-05-10 | 2018-05-10 | Asset cards for tracking divisible assets in a distributed ledger |
US15/976,763 Expired - Fee Related US10657595B2 (en) | 2017-05-10 | 2018-05-10 | Method of tokenization of asset-backed digital assets |
US16/216,819 Abandoned US20200193516A9 (en) | 2017-05-10 | 2018-12-11 | Method of tokenization of asset-backed digital assets |
US16/262,821 Abandoned US20190164223A1 (en) | 2017-05-10 | 2019-01-30 | Asset cards for tracking divisible assets in a distributed ledger |
US17/036,816 Pending US20210264516A1 (en) | 2017-05-10 | 2020-09-29 | Asset cards for tracking divisible assets in a distributed ledger |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/976,798 Abandoned US20190130484A1 (en) | 2017-05-10 | 2018-05-10 | Asset cards for tracking divisible assets in a distributed ledger |
US15/976,763 Expired - Fee Related US10657595B2 (en) | 2017-05-10 | 2018-05-10 | Method of tokenization of asset-backed digital assets |
US16/216,819 Abandoned US20200193516A9 (en) | 2017-05-10 | 2018-12-11 | Method of tokenization of asset-backed digital assets |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/036,816 Pending US20210264516A1 (en) | 2017-05-10 | 2020-09-29 | Asset cards for tracking divisible assets in a distributed ledger |
Country Status (2)
Country | Link |
---|---|
US (5) | US20190130484A1 (en) |
WO (2) | WO2018209148A1 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210133728A1 (en) * | 2019-11-04 | 2021-05-06 | Diamond Standard Inc. | Blockchain tracking of a physical diamond token |
WO2021102116A1 (en) * | 2019-11-20 | 2021-05-27 | Eygs Llp | Systems, apparatus and methods for identifying and securely storing distinguishing characteristics in a distributed ledger within a distributed ledger-based network based on fungible and non-fungible tokens |
US11206138B2 (en) | 2019-05-02 | 2021-12-21 | Ernst & Young U.S. Llp | Biosignature-based tokenization of assets in a blockchain |
US11232439B2 (en) | 2019-08-09 | 2022-01-25 | Eygs Llp | Methods and systems for preventing transaction tracing on distributed ledger-based networks |
US11314729B2 (en) | 2020-02-20 | 2022-04-26 | International Business Machines Corporation | Multi-candidate data structure for transaction validation |
US11316691B2 (en) | 2019-04-15 | 2022-04-26 | Eygs Llp | Methods and systems for enhancing network privacy of multiple party documents on distributed ledger-based networks |
US11528141B2 (en) | 2018-08-18 | 2022-12-13 | Eygs Llp | Methods and systems for enhancing privacy and efficiency on distributed ledger-based networks |
EP4102768A1 (en) * | 2021-06-07 | 2022-12-14 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain-based transaction methods |
US11574308B2 (en) | 2020-04-15 | 2023-02-07 | Eygs Llp | Intelligent assertion tokens for authenticating and controlling network communications using a distributed ledger |
US12100025B2 (en) | 2019-12-11 | 2024-09-24 | Data Vault Holdings, Inc. | Platform for management of user data |
US12198201B2 (en) | 2019-12-11 | 2025-01-14 | Data Vault Holdings, Inc. | Platform and method for preparing a tax return |
EP4433972A4 (en) * | 2021-11-19 | 2025-09-17 | Trade Capital Corp | INVENTORY MANAGEMENT PROCEDURE AND SYSTEM |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10796591B2 (en) | 2017-04-11 | 2020-10-06 | SpoonRead Inc. | Electronic document presentation management system |
US20190130484A1 (en) * | 2017-05-10 | 2019-05-02 | Responsible Gold Operations Ltd. | Asset cards for tracking divisible assets in a distributed ledger |
US10839379B2 (en) * | 2017-07-20 | 2020-11-17 | Chicago Mercantile Exchange Inc. | Blockchain including linked digital assets |
US12393960B2 (en) * | 2017-10-20 | 2025-08-19 | Adp, Inc. | Incentive-based electronic messaging system |
US11348120B2 (en) * | 2017-11-21 | 2022-05-31 | International Business Machines Corporation | Digital agreement management on digital twin ownership change |
US11676098B2 (en) | 2017-11-21 | 2023-06-13 | International Business Machines Corporation | Digital twin management in IoT systems |
US11354615B2 (en) | 2017-11-21 | 2022-06-07 | International Business Machines Corporation | Blockchain-implemented digital agreement management for digital twin assets |
US20190180371A1 (en) * | 2017-12-07 | 2019-06-13 | Oliver Benkert | Atomically swapping ownership certificates |
US11544708B2 (en) * | 2017-12-29 | 2023-01-03 | Ebay Inc. | User controlled storage and sharing of personal user information on a blockchain |
US20190220861A1 (en) * | 2018-01-12 | 2019-07-18 | Overstock.Com, Inc. | Vehicle tracking, analysis and payment of processing system and method using a distributed ledger |
US10887254B2 (en) * | 2018-02-01 | 2021-01-05 | Red Hat, Inc. | Enterprise messaging using blockchain system |
US11164254B1 (en) | 2018-02-14 | 2021-11-02 | Equity Shift, Inc. | Blockchain instrument for transferable equity |
US10699340B2 (en) | 2018-02-14 | 2020-06-30 | Equity Shift, Inc. | Blockchain instrument for transferable equity |
US12008649B1 (en) | 2018-02-14 | 2024-06-11 | Equity Shift, Inc. | Blockchain instrument for transferable equity |
CN108416675A (en) * | 2018-02-14 | 2018-08-17 | 阿里巴巴集团控股有限公司 | Asset management method and device, electronic equipment |
US10713722B2 (en) | 2018-02-14 | 2020-07-14 | Equity Shift, Inc. | Blockchain instrument for transferable equity |
US11625783B1 (en) | 2018-02-14 | 2023-04-11 | Equity Shift, Inc. | Blockchain instrument for transferable equity |
US11922405B2 (en) * | 2018-02-19 | 2024-03-05 | Lawrence Hilton | System and method for performing transactions with exchangeable cryptocurrency and legal tender currency |
US11416931B2 (en) * | 2018-03-16 | 2022-08-16 | Salt Blockchain Inc. | Investment fund token ownership |
WO2019213530A1 (en) * | 2018-05-03 | 2019-11-07 | SigmaLedger, Inc. | Verifying authenticity of products based on proof and transfer of ownership |
US11917090B2 (en) * | 2019-10-31 | 2024-02-27 | Nicholas Juntilla | Methods and systems for tracking ownership of goods with a blockchain |
US11410136B2 (en) * | 2018-08-01 | 2022-08-09 | American Express Travel Related Services Company, Inc. | Procurement system using blockchain |
JP7336518B2 (en) * | 2018-08-01 | 2023-08-31 | リッジビュー デジタル エルエルシー | Systems and methods for facilitating transactions using digital currency |
JP7624386B2 (en) * | 2018-08-31 | 2025-01-30 | ジェイピーモルガン・チェース・バンク,ナショナル・アソシエーション | Systems and methods for token-based cross-currency interoperability |
CN109272385B (en) * | 2018-09-14 | 2021-03-23 | 创新先进技术有限公司 | Copyright event agent evidence storage method and system based on block chain |
US11301452B2 (en) | 2018-10-09 | 2022-04-12 | Ebay, Inc. | Storing and verification of derivative work data on blockchain with original work data |
CN112492006B (en) * | 2018-10-31 | 2023-12-05 | 创新先进技术有限公司 | Node management method and device based on block chain |
US20230124608A1 (en) * | 2018-11-02 | 2023-04-20 | Verona Holdings Sezc | Analytics systems for cryptographic tokens that link to real world objects |
EP3874440A4 (en) | 2018-11-02 | 2022-07-27 | Verona Holdings Sezc | A tokenization platform |
US12154086B2 (en) | 2018-11-02 | 2024-11-26 | Verona Holdings Sezc | Tokenization platform |
EP3549087A4 (en) * | 2018-11-30 | 2019-11-27 | Alibaba Group Holding Limited | Platform for atomic transfer of smart assets within blockchain networks |
CN109508564B (en) * | 2018-12-20 | 2021-08-13 | 姚前 | Block chain-based digital asset storage system and method |
US11461565B2 (en) * | 2019-01-03 | 2022-10-04 | Blockchain Innovation, Llc | Apparatus and methods for remote controlled cold storage of digital assets using near field communication tags |
US20220130005A1 (en) * | 2019-01-31 | 2022-04-28 | Roxe Holding Inc. | Digital asset management systems and methods |
JP7018206B2 (en) * | 2019-03-08 | 2022-02-10 | スマートラクト株式会社 | Product and service evaluation system and evaluation method |
US12277571B2 (en) | 2019-03-22 | 2025-04-15 | SigmaLedger, Inc. | System and method including a distributed ledger data structure for authenticating and clearing coupons |
US11063747B2 (en) * | 2019-03-25 | 2021-07-13 | Micron Technology, Inc. | Secure monitoring using block chain |
US11595211B2 (en) * | 2019-04-15 | 2023-02-28 | Eygs Llp | Apparatus and methods for intelligent token-based authentication within a distributed database using hierarchical data files |
US20200327473A1 (en) * | 2019-04-15 | 2020-10-15 | Eygs Llp | Methods and systems for bridging pairwise communication in a network of disparate enterprise systems |
US20240005409A1 (en) * | 2019-04-17 | 2024-01-04 | Securrency, Inc. | Systems, methods, and storage media for managing digital liquidity tokens in a distributed ledger platform |
US20200349625A1 (en) * | 2019-05-05 | 2020-11-05 | Microsoft Technology Licensing, Llc | Monetizable template for asset token |
US11315150B2 (en) | 2019-05-08 | 2022-04-26 | Data Vault Holdings, Inc. | Portfolio driven targeted advertising network, system, and method |
US12340394B2 (en) | 2019-05-08 | 2025-06-24 | Datavault Ai Inc. | System and method for tokenized utilization of event information |
US11522690B2 (en) * | 2019-06-07 | 2022-12-06 | Bengala Technologies, Llc | Supply chain management system |
US10797887B2 (en) | 2019-06-26 | 2020-10-06 | Alibaba Group Holding Limited | Confidential blockchain transactions |
CN110349021B (en) * | 2019-06-26 | 2020-08-25 | 阿里巴巴集团控股有限公司 | Method and device for realizing confidential transaction in block chain |
US11252166B2 (en) | 2019-07-31 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Providing data authorization based on blockchain |
US11251963B2 (en) | 2019-07-31 | 2022-02-15 | Advanced New Technologies Co., Ltd. | Blockchain-based data authorization method and apparatus |
CA3153011A1 (en) | 2019-09-10 | 2021-03-25 | Currency Com Limited | Distributed blockchain-type implementations configured to manage tokenized digital assets and improved electronic wallets, and methods of use thereof |
US11360963B2 (en) | 2019-09-24 | 2022-06-14 | International Business Machines Corporation | Tracking and verification of physical assets |
JP7652765B2 (en) | 2019-09-26 | 2025-03-27 | ヤクブ シリフカ,ルカシュ | Distributed ledger lending system with smart contract architecture and method thereof |
WO2021063030A1 (en) * | 2019-09-30 | 2021-04-08 | 东南大学 | Blockchain-enhanced open internet of things access architecture |
WO2021087475A1 (en) * | 2019-11-01 | 2021-05-06 | Jpmorgan Chase Bank, N.A. | Systems and methods for cross-ecosystem aggregation of assets using distributed ledgers |
CN110992052A (en) * | 2019-12-05 | 2020-04-10 | 腾讯科技(深圳)有限公司 | Data processing method and device, electronic equipment and storage medium |
US11784799B2 (en) | 2019-12-16 | 2023-10-10 | The Toronto-Dominion Bank | Secure distribution and management of cryptographic keys within a computing environment using distributed ledgers |
US11310051B2 (en) * | 2020-01-15 | 2022-04-19 | Advanced New Technologies Co., Ltd. | Blockchain-based data authorization method and apparatus |
US11710373B2 (en) | 2020-01-23 | 2023-07-25 | SpoonRead Inc. | Distributed ledger based distributed gaming system |
EP4097666A1 (en) * | 2020-01-28 | 2022-12-07 | R3 Ltd. | Notary system for a distributed ledger |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
US11682095B2 (en) | 2020-02-25 | 2023-06-20 | Mark Coast | Methods and apparatus for performing agricultural transactions |
KR102141069B1 (en) * | 2020-02-26 | 2020-08-04 | 주식회사 아트블록코리아 | Transaction system to managing a transparent transaction history |
JPWO2021191656A1 (en) * | 2020-03-23 | 2021-09-30 | ||
US11991284B1 (en) * | 2020-07-02 | 2024-05-21 | Steven Ali Ghabel | Blockchain-based authentication system and method |
CN116034388A (en) * | 2020-09-04 | 2023-04-28 | 恩晨特许股份公司 | Method and system for synchronization and atomic tracking |
US11669627B1 (en) | 2020-10-13 | 2023-06-06 | Wells Fargo Bank, N.A. | System for data access token management |
US12301725B2 (en) * | 2021-04-16 | 2025-05-13 | Portable Data Corporation | Apparatuses and methods for facilitating cryptographically mediated organizations and tokens and related interactions |
US11811944B2 (en) | 2021-07-15 | 2023-11-07 | Bank Of America Corporation | Electronic system for resource origination tracking |
US11985256B2 (en) | 2021-07-22 | 2024-05-14 | Bank Of America Corporation | Electronic system for automatic provisioning of limited-transferability electronic digital certificates associated with events |
US12028464B2 (en) | 2021-08-05 | 2024-07-02 | Bank Of America Corporation | Electronic system for generating and tracking linked electronic digital certificates |
US12028465B2 (en) | 2021-08-05 | 2024-07-02 | Bank Of America Corporation | Electronic system for convergent distribution of electronic digital certificates |
US12003651B2 (en) | 2021-08-05 | 2024-06-04 | Bank Of America Corporation | Electronic system for divergent distribution of electronic digital certificates |
WO2023043778A1 (en) * | 2021-09-14 | 2023-03-23 | Maverick Gold (Nv), Llc | Methods and systems for titling and trading alternative reserves |
US20230126016A1 (en) * | 2021-10-27 | 2023-04-27 | Collectors Universe, Inc. | Tokenization of collectibles and related methods |
US20250174049A1 (en) * | 2021-11-22 | 2025-05-29 | P4 X Group, Inc. | Secure Environment Public Register (SEPR) |
US11797666B1 (en) * | 2021-11-22 | 2023-10-24 | Ideal Innovations, Inc. | Secure environment public register (SEPR) |
US20250174050A1 (en) * | 2021-11-22 | 2025-05-29 | P4 X Group, Inc. | Secure Environment Public Register (SEPR) |
US20250173427A1 (en) * | 2021-11-22 | 2025-05-29 | P4 X Group, Inc. | Secure Environment Public Register (SEPR) |
US12164626B2 (en) * | 2021-11-22 | 2024-12-10 | Ideal Innovations, Inc. | Secure environment register system |
US20230169497A1 (en) * | 2021-12-01 | 2023-06-01 | Aiden Automotive Technologies, Inc. | Automotive payment platform |
US12271899B2 (en) | 2022-11-17 | 2025-04-08 | Bank Of America Corporation | Voice based feature extraction and optical receptive net for non-fungible token transfer |
US20250086711A1 (en) * | 2023-09-07 | 2025-03-13 | Ritchy Leandro Marques | System and Method for Linking Cryptocurrency to a Physical Asset |
US20240095773A1 (en) * | 2023-10-21 | 2024-03-21 | John Davenport | System and method for creating cryptographic assets that describe content-display rights for the holder and the use and exchange thereof |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004034196A2 (en) | 2002-10-04 | 2004-04-22 | The Bank Of New York | Systems and methods for securitizing a commodity |
US8626641B1 (en) | 2013-03-15 | 2014-01-07 | Merk Investments LLC | Deliverable commodity investment vehicle |
WO2016053760A1 (en) * | 2014-09-30 | 2016-04-07 | Raistone, Inc. | Systems and methods for transferring digital assets using a de-centralized exchange |
US11023968B2 (en) * | 2015-03-05 | 2021-06-01 | Goldman Sachs & Co. LLC | Systems and methods for updating a distributed ledger based on partial validations of transactions |
US20160328705A1 (en) * | 2015-05-04 | 2016-11-10 | BitGold IP Holdings Corp. | Mediated conversion of cryptographic currency and other funding sources to gold |
US20170091756A1 (en) * | 2015-07-14 | 2017-03-30 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
EP3326138A4 (en) * | 2015-07-24 | 2019-01-16 | Castor Pollux Holdings S.a.r.l. | Device, system, and method for transfer of commodities |
US10402792B2 (en) * | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
US11915332B2 (en) * | 2015-10-02 | 2024-02-27 | Loyyal Holdings Incorporated | System and process for tokenization and management of liability |
US20170213210A1 (en) * | 2016-01-22 | 2017-07-27 | International Business Machines Corporation | Asset transfers using a multi-tenant transaction database |
US10447478B2 (en) * | 2016-06-06 | 2019-10-15 | Microsoft Technology Licensing, Llc | Cryptographic applications for a blockchain system |
US9747586B1 (en) * | 2016-06-28 | 2017-08-29 | Cpn Gold B.V. | System and method for issuance of electronic currency substantiated by a reserve of assets |
US11037211B2 (en) * | 2016-08-04 | 2021-06-15 | Clarovia Holdings, Llc | Systems and methods for using smart contracts to control the trade, supply, manufacture, and distribution of commodities |
US10380560B2 (en) * | 2016-11-14 | 2019-08-13 | International Business Machines Corporation | Enforcing multi-use constraints on a blockchain |
SG10202107575VA (en) | 2017-01-13 | 2021-08-30 | Jpmorgan Chase Bank Na | Systems and methods for management of asset or obligation-backed virtual receipts on a distributed system |
WO2018145024A1 (en) | 2017-02-03 | 2018-08-09 | Terry Aronson | System and method for asset backed crypto-currency |
US11188977B2 (en) | 2017-03-08 | 2021-11-30 | Stichting Ip-Oversight | Method for creating commodity assets from unrefined commodity reserves utilizing blockchain and distributed ledger technology |
US20190130484A1 (en) * | 2017-05-10 | 2019-05-02 | Responsible Gold Operations Ltd. | Asset cards for tracking divisible assets in a distributed ledger |
JP2020190762A (en) * | 2017-08-07 | 2020-11-26 | 功 比嘉 | Secured cryptocurrency operation system and method for issuing cryptocurrency based on secured cryptocurrency operation system |
US11107156B2 (en) * | 2018-03-25 | 2021-08-31 | Gideon Samid | Digital finance: cash, credit, and investment instruments in a unified framework (BitMint) |
-
2018
- 2018-05-10 US US15/976,798 patent/US20190130484A1/en not_active Abandoned
- 2018-05-10 US US15/976,763 patent/US10657595B2/en not_active Expired - Fee Related
- 2018-05-10 WO PCT/US2018/032160 patent/WO2018209148A1/en active Application Filing
- 2018-05-10 WO PCT/US2018/032165 patent/WO2018209153A1/en active Application Filing
- 2018-12-11 US US16/216,819 patent/US20200193516A9/en not_active Abandoned
-
2019
- 2019-01-30 US US16/262,821 patent/US20190164223A1/en not_active Abandoned
-
2020
- 2020-09-29 US US17/036,816 patent/US20210264516A1/en active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11528141B2 (en) | 2018-08-18 | 2022-12-13 | Eygs Llp | Methods and systems for enhancing privacy and efficiency on distributed ledger-based networks |
US11316691B2 (en) | 2019-04-15 | 2022-04-26 | Eygs Llp | Methods and systems for enhancing network privacy of multiple party documents on distributed ledger-based networks |
US11206138B2 (en) | 2019-05-02 | 2021-12-21 | Ernst & Young U.S. Llp | Biosignature-based tokenization of assets in a blockchain |
US11972420B2 (en) | 2019-08-09 | 2024-04-30 | Eygs Llp | Methods and systems for preventing transaction tracing on distributed ledger-based networks |
US11232439B2 (en) | 2019-08-09 | 2022-01-25 | Eygs Llp | Methods and systems for preventing transaction tracing on distributed ledger-based networks |
US20210133728A1 (en) * | 2019-11-04 | 2021-05-06 | Diamond Standard Inc. | Blockchain tracking of a physical diamond token |
US12118544B2 (en) * | 2019-11-04 | 2024-10-15 | Diamond Standard Inc. | Blockchain tracking of a physical diamond token |
WO2021102116A1 (en) * | 2019-11-20 | 2021-05-27 | Eygs Llp | Systems, apparatus and methods for identifying and securely storing distinguishing characteristics in a distributed ledger within a distributed ledger-based network based on fungible and non-fungible tokens |
US11481841B2 (en) | 2019-11-20 | 2022-10-25 | Eygs Llp | Systems, apparatus and methods for identifying distinguishing characteristics of fungible assets using zero-knowledge proof on a distributed ledger-based network |
US12169869B2 (en) | 2019-11-20 | 2024-12-17 | Eygs Llp | Systems, apparatus and methods for identifying and securely storing distinguishing characteristics in a distributed ledger within a distributed ledger-based network based on fungible and non-fungible tokens |
US12198201B2 (en) | 2019-12-11 | 2025-01-14 | Data Vault Holdings, Inc. | Platform and method for preparing a tax return |
US12100025B2 (en) | 2019-12-11 | 2024-09-24 | Data Vault Holdings, Inc. | Platform for management of user data |
US11314729B2 (en) | 2020-02-20 | 2022-04-26 | International Business Machines Corporation | Multi-candidate data structure for transaction validation |
US11783333B2 (en) | 2020-04-15 | 2023-10-10 | Eygs Llp | Intelligent assertion tokens for authenticating and controlling network communications using a distributed ledger |
US11574308B2 (en) | 2020-04-15 | 2023-02-07 | Eygs Llp | Intelligent assertion tokens for authenticating and controlling network communications using a distributed ledger |
US11615078B2 (en) | 2021-06-07 | 2023-03-28 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain-based transaction methods |
EP4102768A1 (en) * | 2021-06-07 | 2022-12-14 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain-based transaction methods |
EP4433972A4 (en) * | 2021-11-19 | 2025-09-17 | Trade Capital Corp | INVENTORY MANAGEMENT PROCEDURE AND SYSTEM |
Also Published As
Publication number | Publication date |
---|---|
US20190130484A1 (en) | 2019-05-02 |
WO2018209153A1 (en) | 2018-11-15 |
US10657595B2 (en) | 2020-05-19 |
US20190130483A1 (en) | 2019-05-02 |
US20210264516A1 (en) | 2021-08-26 |
WO2018209148A1 (en) | 2018-11-15 |
US20190347725A1 (en) | 2019-11-14 |
US20200193516A9 (en) | 2020-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210264516A1 (en) | Asset cards for tracking divisible assets in a distributed ledger | |
US12288198B2 (en) | Systems and methods for math-based currency (MBC) exchanges | |
US20200160289A1 (en) | Lazy updating and state prediction for blockchain-based applications | |
US20220172201A1 (en) | Controlling asset access based on payments via a distributed ledger | |
CN109214792B (en) | Method and system for electronic vouchers via a blockchain | |
US11734760B1 (en) | Systems and methods for operating a math-based currency exchange | |
US10026118B2 (en) | System for allowing external validation of data in a process data network | |
US20210374853A1 (en) | Atomically swapping ownership certificates | |
JP2022506010A (en) | Methods and systems for dispute resolution on the public blockchain | |
US20170243287A1 (en) | System for managing serializability of resource transfers in a process data network | |
US20170243222A1 (en) | System for use of secure data from a process data network as secured access by users | |
US12073371B1 (en) | Math based currency point of sale systems and methods | |
US11847620B1 (en) | Math based currency credit card | |
US11170351B1 (en) | Systems and methods for identity verification of math-based currency account holders | |
US12136073B1 (en) | Systems and methods for math-based currency credit transactions | |
US20240296430A1 (en) | Mobile wallet using math based currency systems and methods | |
US20230385787A1 (en) | Infrastructure for maintaining math-based currency accounts | |
US10970684B1 (en) | Systems and methods for maintaining deposits of math-based currency | |
US20230394472A1 (en) | Federated Currency Payment Exchange System | |
US20250124435A1 (en) | Systems and methods for generating tokens for tracking items using a blockchain | |
JP2024501883A (en) | Systems and methods for facilitating transactions using digital currencies | |
CN110992220A (en) | An information processing method, device and medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
AS | Assignment |
Owner name: RESPONSIBLE GOLD OPERATIONS LTD., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DE JONG, BRENT WILLIAM;GOLDSTEIN, FERNANDO DANIEL;GRINALDS, STEPHEN HENRY;REEL/FRAME:050856/0298 Effective date: 20191025 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: EMERGENT TECHNOLOGY LTD, TEXAS Free format text: CHANGE OF NAME;ASSIGNOR:RESPONSIBLE GOLD OPERATIONS LTD.;REEL/FRAME:056134/0169 Effective date: 20200818 |