US20210264426A1 - Blockchain based asset access - Google Patents
Blockchain based asset access Download PDFInfo
- Publication number
- US20210264426A1 US20210264426A1 US15/878,067 US201815878067A US2021264426A1 US 20210264426 A1 US20210264426 A1 US 20210264426A1 US 201815878067 A US201815878067 A US 201815878067A US 2021264426 A1 US2021264426 A1 US 2021264426A1
- Authority
- US
- United States
- Prior art keywords
- request
- asset
- blockchain
- processor
- asset data
- 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
- 238000000034 method Methods 0.000 claims abstract description 96
- 230000009471 action Effects 0.000 claims abstract description 62
- 230000015654 memory Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 33
- 238000004891 communication Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 9
- 238000011156 evaluation Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000010200 validation analysis Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000013498 data listing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06Q20/4014—Identity check for transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/08—Insurance
-
- 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
-
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06Q2220/10—Usage protection of distributed data files
- G06Q2220/18—Licensing
-
- H04L2209/38—
-
- 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
- Provisional Application No. 62/450,441 entitled “Using Blockchain for Banking, Asset, and Identity Services,” filed Jan. 25, 2017,
- Provisional Application No. 62/520,376 entitled “Blockchain Based Banking Identity Authentication,” filed Jun. 15, 2017,
- Provisional Application No. 62/520,401 entitled “Blockchain Based Account Funding and Distribution,” filed Jun. 15, 2017,
- the present disclosure relates to using and accessing data stored in a blockchain.
- a blockchain In particular, interacting with the blockchain and users of the blockchain to use and access asset data stored on the blockchain.
- an interaction between a business and a customer, or the business and another business typically requires validation of one or more pieces of information before a transaction can take place.
- This validation is often achieved by the participants involved in the interaction contacting a central authority that is a trusted source of truth for the particular piece of information.
- the central authority may then validate, or not validate the particular piece of information and communicate its findings to the participants. Based upon the validation, or lack of validation, a consensus among the participants is formed and assuming the information is valid the transaction between the participants may take place, and subsequently be recorded. Similar issues arise between citizens and their governments, and businesses and governments.
- the central authority may be responsible for determining the validity of information stored in a database or a ledger and functioning as an arbiter of consensus for interested parties.
- a blockchain is a new way of achieving a distributed consensus on the validity or invalidity of information.
- a blockchain is a distributed database or ledger, in which a transactional record is maintained at each node of a peer to peer network.
- the distributed ledger is comprised of groupings of transactions bundled together into a “block.”
- a change to the distributed ledger is made (e.g., when a new transaction and/or block is created)
- each node must form a consensus as to how the change is integrated into the distributed ledger.
- the agreed upon change is pushed out to each node so that each node maintains an identical copy of the updated distributed ledger. Any change that does not achieve a consensus is ignored.
- a single party cannot unilaterally alter the distributed ledger. This inability to modify past transactions lead to blockchains being generally described as trusted, secure, and/or immutable.
- Blockchains are typically deployed in an open, decentralized, and permissionless manner meaning that any party may view information, submit new information, or join the blockchain as a node responsible for confirming information.
- This open, decentralized, and permissionless approach to a blockchain has limitations. As an example, these blockchains may not be good candidates for interactions that require information to be kept private, or for interactions that require all participants to be vetted prior to their participation.
- a computer-implemented method for using and accessing asset data stored on a blockchain maintained by a plurality of participants may be provided.
- the method may include, via one or more processors, servers, and/or transceivers, (1) receiving, such as via wired communication, or wireless communication or data transmission over one or more radio frequency links or communication channels, at least one request from at least one user for asset data stored on the blockchain, wherein the request includes a set of request parameters; (2) analyzing the at least one request to determine a type of request; (3) accessing the asset data stored on the blockchain based upon the type of request and the set of request parameters; (4) performing an action involving the asset data based upon the request; and/or (5) communicating, such as via wired communication, or wireless communication or data transmission over one or more radio frequency links or communication channels, to the at least one user that the action was performed involving the asset data.
- the method may include additional, less, or alternate actions, including those discussed elsewhere herein.
- a computer-implemented method for using and accessing asset data stored on a blockchain maintained by a plurality of participants may be provided.
- the method may include, via one or more processors, servers, and/or transceivers, (1) receiving, such as via wired communication or wireless communication or data transmission over one or more radio frequency links or communication channels, at least one request from at least one user for asset data stored on the blockchain, wherein the request includes a set of request parameters; (2) analyzing the at least one request to determine a type of request; (3) accessing the asset data stored on the blockchain based upon the type of request and the set of request parameters; (4) performing an action involving the asset data based upon the request; (5) generating a transaction involving the action involving the asset data; (6) adding the transaction to a block of transactions; (7) solving a cryptographic puzzle for the block of transactions; (8) transmitting, such as via wired communication or wireless communication or data transmission over one or more radio frequency links or communication channels, the at least one user that the action was performed involving the asset data
- a computer system for using and accessing asset data stored on a blockchain maintained by a plurality of participants may be provided.
- the computer system may include: a memory configured to store non-transitory computer executable instructions; and a processor configured to interface with the memory, wherein the processor is configured to execute the non-transitory computer executable instructions to cause the processor (and/or an associated transceiver) to: (1) receive at least one request from at least one user for asset data stored on the blockchain, wherein the request includes a set of request parameters; (2) analyze the at least one request to determine a type of request; (3) access the asset data stored on the blockchain based upon the type of request and the set of request parameters; (4) perform an action involving the asset data based upon the request; and/or (5) communicate to the at least one user that the action was performed involving the asset data.
- the system may include additional, less, or alternate functionality, including that discussed elsewhere herein.
- FIG. 1A depicts an exemplary database system 100 in accordance with one aspect of the present disclosure
- FIG. 1B depicts an exemplary distributed ledger system 112 in accordance with one aspect of the present disclosure
- FIG. 2A depicts an exemplary transaction flow 200 in accordance with one aspect of the present disclosure
- FIG. 2B depicts an exemplary block propagation 210 in accordance with one aspect of the present disclosure
- FIG. 3 depicts an exemplary sequence diagram 300 in accordance with one aspect of the present disclosure
- FIG. 4 depicts an exemplary node 400 in accordance with one aspect of the present disclosure
- FIG. 5 depicts an exemplary blockchain 500 in accordance with one aspect of the present disclosure
- FIG. 6 depicts an exemplary flow diagram 600 associated with one aspect of the present disclosure
- FIG. 7 depicts an exemplary flow diagram 700 associated with one aspect of the present disclosure
- FIG. 8 depicts an exemplary flow diagram 800 associated with one aspect of the present disclosure
- FIG. 9 depicts an exemplary flow diagram 900 associated with one aspect of the present disclosure.
- FIG. 10 depicts an exemplary flow diagram 1000 associated with one aspect of the present disclosure
- FIG. 11 depicts an exemplary flow diagram 1100 associated with one aspect of the present disclosure
- FIG. 12 depicts an exemplary flow diagram 1200 associated with one aspect of the present disclosure
- FIG. 13 depicts an exemplary flow diagram 1300 associated with one aspect of the present disclosure
- FIG. 14 depicts an exemplary flow diagram 1400 associated with one aspect of the present disclosure.
- FIG. 15 depicts an exemplary flow diagram 1500 associated with one aspect of the present disclosure.
- the present embodiments relate to, inter alia, systems and methods for using a blockchain to perform services related to banking, identity management, and insurance applications.
- the systems and methods described herein allow for using a blockchain which gives the option for private information, and permissioned participants in the blockchain.
- the systems and methods allow for a distributed consensus amongst businesses, consumers, and authorities, as to the validity of information and transactions stored on the blockchain.
- the businesses, authorities, and consumers may all be considered participants in the blockchain network.
- businesses e.g., banks, financial institutions, insurers
- customers as well as regulators
- Each of these participants may maintain nodes that are part of the blockchain network, but may also maintain their own systems and networks that may interface with the blockchain network.
- Some exemplary, but not limiting, applications that may take advantage of the disclosed systems and methods include specific applications directed to banking, mutual funds, and insurance. These examples relate to problems surrounding money transfers, digital identities, and collective reporting. Specifically, such applications may be: identity authentication, account funding and distribution, card activation, actions trigged by death registry, using and accessing asset data lien perfection obtaining settlement values contractor ratings/evaluations single view of customer's products, associate licensing, using and accessing user data, blockchain based payments, interest validation, industry reporting, agent sales data fund transfers, unclaimed property, auditing and compliance, policy delivery and interaction, and exercising riders and form/rate filing.
- each new block may be cryptographically linked to the previous block in order to form a “blockchain.” More particularly, to create a new block, each transaction within a block may be assigned a hash value (i.e., an output of a cryptographic hash function, such as SHA-256 or MD5). These hash values may then be combined together utilizing cryptographic techniques (e.g., a Merkle Tree) to generate a hash value representative of the entire new block, and consequently the transactions stored in the block. This hash value may then be combined with the hash value of the previous block to form a hash value included in the header of the new block, thereby cryptographically linking the new block to the blockchain. To this end, the precise value utilized in the header of the new block is dependent on the hash value for each transaction in the new block, as well as the hash value for each transaction in every prior block.
- a hash value i.e., an output of a cryptographic hash function, such as SHA-256 or MD5
- cryptographic techniques
- information stored in blockchains can be trusted, because the hash value generated for the new block and a nonce value (an arbitrary number used once) are used as inputs into a cryptographic puzzle.
- the cryptographic puzzle may have a difficulty set by the nodes connected to the blockchain network, or the difficulty may be set by administrators of the blockchain network.
- a solving node uses the hash value generated for the new block and repeatedly changes the value of the nonce until a solution for the puzzle is found. For example, finding the solution to the cryptographic puzzle may involve finding the nonce value that meets certain criteria (e.g., the nonce value begins with five zeros).
- the solving node publishes the solution and the other nodes then verify that the solution is the correct solution. Because the solution also depends on the particular hash values for each transaction within the blockchain, if the solving node attempted to modify any transaction, the solution would not be verified by the other nodes. More particularly, if a single node attempts to modify a prior transaction within the blockchain, a cascade of different hash values are generated for each tier of the cryptographic combination technique. This results in the header for one or more blocks being different than the corresponding header(s) in every other node that did not make the exact same modification.
- the solution generated by the modifying node would not solve the cryptographic puzzle presented to any node without the identical modification.
- the version of the new block generated by the modifying node is readily recognized as including an improper modification and is rejected by the consensus. This inability to modify past transactions lead to blockchains being generally described as trusted, secure, and/or immutable.
- the systems and methods disclosed herein also include performing actions utilizing the distributed consensus achieved through the blockchain.
- these actions may be executed by smart contracts.
- a smart contract is a computer protocol that enables the automatic execution and/or enforcement of an agreement between different parties.
- the smart contract may include one or more trigger conditions, that, when satisfied, correspond to one or more actions.
- which action(s) from the one or more actions are performed is determined based upon one or more decision conditions.
- Nodes on the network may subscribe to one or more data streams including data related to a trigger condition and/or a decision condition. Accordingly, the nodes may route the data streams to the smart contract so that the smart contract may detect that a trigger condition has occurred and/or analyze a decision condition to direct the node to perform one or more actions.
- FIG. 1A depicts an exemplary database system 100 in accordance with one aspect of the present disclosure.
- FIG. 1A includes a central authority 102 , a plurality of nodes 104 A, 104 B, and 106 , a central ledger 108 , and a plurality of network connections 110 .
- one of the nodes for example Node A 104 A, would issue a request to the central authority 102 to perform an action on data stored in the central ledger 108 .
- This request may be a request to create, read, update, or delete data that is stored in the central ledger 108 .
- the central authority 102 would receive the request, processes the request, make any necessary changes to the data stored in the central ledger 108 , and inform the requesting node, Node A 104 A, of the status of the request.
- the central authority 102 may also send out status updates to the other nodes on the network about the change made, if any, to the data as requested by Node A 104 A.
- all interaction with the data stored in the central ledger 108 occurs through the central authority 102 . In this way, the central authority functions as a gatekeeper of the data.
- the central authority 102 operates a single point of entry for interacting with the data, and consequently the central authority 102 is a single point of failure for the entire database system 100 .
- the central authority 102 is not accessible to the nodes in the database system 100 , then the data stored in the central ledger 108 is not accessible.
- each individual node may keep their own databases and then at the end of the day each node sends a copy of their database to the central authority 102 where the databases received are reconciled to form a single cohesive record of the data stored in the central ledger 108 .
- FIG. 1B depicts an exemplary distributed ledger system 112 in accordance with one aspect of the present disclosure.
- An example of a distributed ledger system 112 is the blockchain system described above.
- FIG. 1B includes a plurality of nodes 104 A, 104 B, and 106 , a distributed ledger 114 , and network connections 110 .
- each node keeps a copy of the distributed ledger 114 .
- a consensus mechanism may be used by the nodes in the distributed ledger system 112 to decide when it is appropriate to make changes to the distributed ledger 114 .
- each node has their own copy of the distributed ledger 114 , which is identical to every other copy of the distributed ledger 114 stored by each other node.
- the distributed ledger system 112 is more robust than a central authority database system, which is depicted in FIG. 1A , because the distributed ledger system 112 is decentralized and there is no single point of failure.
- FIG. 2A depicts an exemplary transaction flow 200 in accordance with one aspect of the present disclosure.
- FIG. 2A includes a transaction 202 , three different time frames 204 , 206 , and 208 , a set of nodes, network connections 110 , and a distributed ledger 114 .
- the transaction flow 200 may represent a sequential flow of a transaction through a network, such as the network depicted in FIG. 1B .
- Node A 104 A generates a transaction 202 .
- the transaction 202 may use data that is stored in the distributed ledger 114 , or the transaction 202 may use data received by the node from outside the distributed ledger 114 .
- Node A 104 A may transmit the newly generated transaction to Node C 106 via the network connection 110 .
- Node C 106 receives the transaction 202 and confirms that the information contained therein is correct. If the information contained in the transaction 202 is not correct Node C 106 may reject the transaction and not propagate the transaction 202 through the system. If the information contained in the transaction 202 is correct Node C 106 may transmit the transaction 202 to its neighbor Node B 104 B.
- Node B 104 B may receive the transaction 202 and either confirm or reject the transaction 202 .
- the Node B 104 B may not transmit the confirmed transaction 202 , because there are no further nodes to transmit to, or all the nodes in the network have already received transaction 202 .
- any of the nodes may add the confirmed transaction 202 to their copy of the distributed ledger 114 , or to a block of transactions stored in the distributed ledger.
- confirming the transaction 202 includes checking a cryptographic key-pair for participants involved in the transaction 202 . Checking the cryptographic key-pair may follow a set method laid out by a consensus protocol, such as the consensus protocol discussed in FIG. 1B .
- FIG. 2B depicts an exemplary block propagation 210 in accordance with one aspect of the present disclosure.
- FIG. 2B includes two time frames 212 and 214 , Node C 106 and Node B 104 B, a set of transactions 202 A- 202 D, a set of blocks of transactions 216 A- 216 D, a distributed ledger 114 , and a blockchain 218 .
- the block propagation 210 may follow the blockchain system described above, or may follow another blockchain propagation algorithm.
- the block propagation 210 may begin with Node C 106 receiving transaction 202 A at time 212 .
- the node may add the transaction to a newly generated block 216 .
- Node C 106 may solve a cryptographic puzzle and include the solution in the newly generated block 216 as proof of the work done to generate the block 216 . This proof of work may be similar to the proof of work described above which utilizes guessing a nonce value.
- the transaction 202 A may be added to a pool of transactions until enough transactions exist to add together to create a block.
- Node C 106 may transmit the newly created block 216 to the network at 220 . Before or after propagating the block 216 , Node C 106 may add the block 216 to its copy of the blockchain 218 .
- Node B 104 B may receive the newly created block 216 .
- Node B 104 B may verify that the block of transactions 216 is valid by checking the solution to the cryptographic puzzle provided in the block 216 . If the solution is accurate then Node B 104 B may add the block 216 to its blockchain 218 and transmit the block 216 to the rest of the network at 222 .
- FIG. 3 depicts an exemplary sequence diagram 300 in accordance with one aspect of the present disclosure.
- FIG. 3 includes a set of nodes 104 A, 104 B, and 106 .
- Node A 104 A may generate a transaction.
- the transaction may be transmitted from Node A 104 A to Node C 106 at 304 .
- Node C 106 may validate the transaction at 306 , and if the transaction is valid, transmit the transaction at 308 to Node B 104 B.
- Node B 104 B may validate the transaction at 310 .
- Node C 106 may compile a block at 312 including the validated transaction.
- Compiling a block may include generating a solution to a cryptographic puzzle, and linking the block to other blocks, as described in the embodiments above. Once the block is compiled, Node C 106 may transmit the block with the solution at 314 to both Node A 104 A and Node B 104 B.
- Both nodes may then validate the solution to the block at 316 .
- Verifying may include checking a cryptographic key-pair as described above.
- the three nodes form a consensus that the solution is valid, and accordingly all the nodes have formed a consensus on the blocks of transactions stored by all the nodes.
- FIG. 4 depicts an exemplary node 400 in accordance with one aspect of the present disclosure.
- node 400 may be the same type of node as Node C 106 in FIGS. 1A-3 .
- node 400 may be the same type of node as Node A 104 A and Node B 104 B in FIGS. 1A-3 .
- Node 400 may be capable of performing all the embodiments disclosed herein.
- node 400 may utilize the decentralized system described in FIG. 1B , the flows of transactions and blocks described in FIGS. 2A and 2B , and the blockchain system 500 described below in FIG. 5 .
- FIG. 4 includes at least one processor 402 , memory 404 , a communication module 406 , a set of applications 408 , external ports 410 , user interface 412 , a blockchain manager 414 , smart contracts 416 , operating system 418 , a display screen 420 , and input/output components 422 .
- the node 400 may generate a new block of transactions by using the blockchain manager 414 .
- the node 400 may use the blockchain manager 414 in conjunction with the smart contracts 416 stored in memory 404 to execute the functionality disclosed herein.
- the smart contracts 416 operate independent of the blockchain manager 414 or other applications.
- node 400 does not have a blockchain manager 414 , or smart contracts 416 stored at the node.
- the node 400 may have additional or less components than what is described. The components of the node 400 are described in more detail below.
- the node 400 may be used to handle systems that interact with and manipulate data and transactions designed for banking identity authentication, banking account funding and distribution, banking card activation, actions triggered by a death registry, using and accessing asset data, lien perfection, obtaining settlement values, contractor ratings, single view of customer's products, and associate licensing.
- FIG. 5 depicts an exemplary blockchain system 500 in accordance with one aspect of the present disclosure.
- FIG. 5 includes a blockchain 502 , a block of transactions 504 , a Merkle Tree 506 , and a transaction 508 .
- the Merkle Tree may be the same Merkle Tree described above that cryptographically links transactions together.
- the blockchain system 500 may utilize a different method of organizing transactions in a block.
- the blockchain system 500 includes a plurality of blocks connected together to form a chain of blocks of transactions 502 .
- Each block of transactions 504 may include at least one transaction 508 .
- each block of transactions 504 has a size limit that necessarily limits the number of transactions that the block may store.
- Each block of transactions 504 includes a reference to a previous block of transactions that was added to the blockchain 502 prior to the block of transactions 504 being added to the blockchain 502 . As such, and as described above, each block of transactions 504 is linked to every other block in the blockchain 502 .
- the block of transactions 504 may organize the transactions it has received into a Merkle Tree 506 to facilitate access to the stored transactions.
- the transactions may be hashed using a cryptographic hash algorithm, such as the algorithms discussed above, and the hash of each transaction is stored in the tree. As the tree is constructed the hash of each adjacent node is hashed together to create a new node that exists at a higher level in the tree. Therefore, the root of the tree, or the node at the top of the tree, is dependent upon the hash of each transaction stored in the tree.
- Each transaction 508 may include a set of data 510 .
- the set of data 510 may include identifying data for the transaction, and transaction data identifying the nature of the transaction and what the transactions entails.
- FIG. 6 depicts an exemplary flow diagram 600 for a computer-implemented method for manipulating and accessing a blockchain containing identity authentication information for banking services maintained by a network of participants.
- the network of participants may be the nodes described above, for example node 400 depicted in FIG. 4 .
- the blockchain used by the participants may be the blockchain 500 depicted in FIG. 5 , whose operation is described in FIGS. 2A, 2B, and 5 .
- the steps of the method 600 may be performed by the nodes in the network of participants, such as the nodes described in FIGS. 1A-4 .
- the method 600 may include additional, fewer, or alternative actions, including those described elsewhere herein.
- the exemplary flow diagram 600 includes receiving at least one bank transaction from at least one participant (block 602 ). Verifying the at least one bank transaction (block 604 ). When the transaction is not valid, generating and communicating a confirmation that the bank transaction is not valid (block 606 ), or alternatively, when the transaction is valid, adding the bank transaction to a block of transactions (block 608 ). Generating a cryptographic hash for the block of bank transactions (block 610 ). Solving a cryptographic puzzle involving the generated hash (block 612 ), adding the block to the blockchain (block 614 ), and transmitting the block to at least one other participant.
- FIG. 7 depicts an exemplary flow diagram 700 for a computer-implemented method for account funding and distribution using smart contracts stored on a blockchain maintained by a plurality of participants.
- the network of participants may be the nodes described above, for example node 400 depicted in FIG. 4 .
- the blockchain used by the participants may be the blockchain 500 depicted in FIG. 5 , whose operation is described in FIGS. 2A, 2B, and 5 .
- the steps of the method 700 may be performed by the nodes in the network of participants, such as the nodes described in FIGS. 1A-4 .
- the method 700 may include additional, fewer, or alternative actions, including those described elsewhere herein.
- the exemplary flow diagram 700 includes receiving, at a processor coupled with a network interface, at least one transaction from at least one participant, wherein the at least one transaction has a set of parameters (block 702 ). Verifying, at the processor, the at least one transaction, wherein verifying includes accessing a smart contract stored on the blockchain and checking the set of parameters against a set of conditions stored in the smart contract (block 704 ). And, when the set of parameters satisfy the set of conditions, indicating, at the processor, a change in a fund balance for the at least one participant (block 706 ), and generating and transmitting, via the processor coupled with the network interface, a confirmation to the at least one participant that the transaction has been approved (block 708 ). And, when the set of parameters do not satisfy the set of conditions, generating and transmitting, via the processor coupled with the network interface, a rejection to the at least one participant that the transaction has been rejected (block 710 ).
- FIG. 8 depicts an exemplary flow diagram 800 for a computer-implemented method for credit card activation using a smart contract stored on a blockchain maintained by a plurality of participants.
- the network of participants may be the nodes described above, for example node 400 depicted in FIG. 4 .
- the blockchain used by the participants may be the blockchain 500 depicted in FIG. 5 , whose operation is described in FIGS. 2A, 2B , and 5 .
- the steps of the method 800 may be performed by the nodes in the network of participants, such as the nodes described in FIGS. 1A-4 .
- the method 800 may include additional, fewer, or alternative actions, including those described elsewhere herein.
- the exemplary flow diagram 800 includes receiving, at a processor, at least one credit card application package associated with a credit card, wherein the credit card application package includes credit card information and a set of user information (block 802 ). Verifying, at the processor, the credit card information and the set of user information (block 804 ). Checking, at the processor, the credit card information and the set of user information against the smart contract stored on the blockchain, wherein the smart contract includes a set of conditions (block 806 ). Activating, at the processor, the credit card when the credit card information and the set of user information satisfy the set of conditions stored in the smart contract (block 808 ).
- FIG. 9 depicts an exemplary flow diagram 900 for a computer-implemented method for performing actions designated in smart contracts, stored on a blockchain maintained by a plurality of participants, based upon notification of a person's death or passing.
- the network of participants may be the nodes described above, for example node 400 depicted in FIG. 4 .
- the blockchain used by the participants may be the blockchain 500 depicted in FIG. 5 , whose operation is described in FIGS. 2A, 2B, and 5 .
- the steps of the method 900 may be performed by the nodes in the network of participants, such as the nodes described in FIGS. 1A-4 .
- the method 900 may include additional, fewer, or alternative actions, including those described elsewhere herein.
- the exemplary flow diagram 900 includes receiving, at a processor coupled with a network interface, at least one passing or death registry notification, wherein the passing or death registry notification has a set of personal information (block 902 ). Verifying, at the processor, the passing or death registry notification and the set of personal information (block 904 ). Accessing, at the processor, a set of documents relevant to the set of personal information (block 906 ). Generating, at the processor, a passing or death registry action based upon the set of documents, the set of personal information, and the passing or death registry notification (block 908 ). Checking, at the processor, the passing or death registry action against a smart contract stored on the blockchain, wherein the set of documents has a set of conditions (block 910 ). Executing, at the processor, the passing or death registry action when the passing or death registry action satisfies the set of conditions (block 912 ).
- FIG. 10 depicts an exemplary flow diagram 1000 for a computer-implemented method for using and accessing asset data stored on a blockchain maintained by a plurality of participants.
- the network of participants may be the nodes described above, for example node 400 depicted in FIG. 4 .
- the blockchain used by the participants may be the blockchain 500 depicted in FIG. 5 , whose operation is described in FIGS. 2A, 2B, and 5 .
- the steps of the computer-implemented method 1000 may be performed by the nodes in the network of participants, such as the nodes described in FIGS. 1A-4 .
- the method 1000 may include additional, fewer, or alternative actions, including those described elsewhere herein.
- the systems and methods described herein may cover processes and services that allow for participants in the blockchain network to use and access asset data stored on a blockchain maintained by the plurality of participants.
- an individual may be applying for a loan to start a business.
- the individual lists an ownership interest in a house and a car.
- the party that is considering issuing the loan may check a blockchain network that contains information on the ownership interests in houses (e.g., a network that lists all the homeowners in an area) for asset data listing the individual as the owner of the home. If the individual is listed as the owner of the home then the loan issuing party may grant the loan to the individual.
- the same process may be used to verify ownership of the car listed as an asset by the individual.
- Another exemplary implementation may be verifying information related to assets owned by an individual as part of a credit check.
- the company performing the credit check may need to verify that an individual owns particular assets, what the value of those assets are, or the type of assets owned by the individual.
- the assets related to the individual that has filed a claim may need to be reviewed. This review may be facilitated by referencing the asset data stored on a blockchain network.
- the exemplary flow diagram 1000 may include, via one or more local or remote processors, servers, and/or transceivers, (1) receiving, such as via wired communication, or wireless communication or data transmission over one or more radio frequency links or communication channels, at least one request from at least one user for asset data stored on the blockchain, wherein the request includes a set of request parameters (block 1002 ); (2) analyzing the at least one request to determine a type of request (block 1004 ); (3) accessing the asset data stored on the blockchain based upon the type of request and the set of request parameters (block 1006 ); performing an action involving the asset data based upon the request (block 1008 ); and/or (5) communicating, such as via wired communication, or wireless communication or data transmission over one or more radio frequency links or communication channels to the at least one user that the action was performed involving the asset data (block 1010 ).
- the asset data is data indicative of a person's ownership of an automobile, a house, a piece of land, or some combination thereof.
- the data could be a title, or deed, to the piece of property, recordation of such a title or deed, or other proof of ownership in that.
- the data may include particular information about the asset, such as identifying information, registration information, or other particulars about the asset.
- the type of request for asset data is a request to verify ownership of the asset, the value of the asset, the type of asset, or some combination thereof.
- analyzing the at least one request to determine the type of request may further include determining the type of asset data requested by the set of request parameters; and generating a request action based upon the set of request parameters and the asset data.
- the request parameters may include identifying information on the owner(s) of the asset(s), identifying information for the asset itself, and/or descriptive information about the asset.
- ownership of the asset needs to be verified which may only require viewing the asset data stored in the blockchain to see the ownership information.
- an audit of the asset data must be conducted that requires editing the information that requires both viewing the data and editing the data.
- performing an action involving the asset data based upon the request may further include editing the asset data stored on the blockchain according to the request.
- Editing may mean changing ownership information, registration/recordation information for the asset, and/or information related to the value of the asset.
- editing the asset data may include generating a transaction including the change performed on the asset data, and transmitting the transaction to at least one other participant.
- the method may also include receiving a block of transactions representative of actions performed on asset data stored on the blockchain; verifying the block of transactions; transmitting the block of transactions to at least one other participant; and/or adding the block of transactions to a copy of the blockchain.
- the copy of the blockchain may be stored locally on a device controlled by the participant, and it may also be stored in a distributed manner in a “cloud storage” solution that the participants utilizes.
- Another embodiment of the computer-implemented method for using and accessing asset data stored on a blockchain maintained by a plurality of participants may include, via one or more processors, servers, and/or transceivers, (1) receiving (such as via wireless communication or data transmission over one or more radio links) at least one request from at least one user for asset data stored on the blockchain, wherein the request includes a set of request parameters; (2) analyzing the at least one request to determine a type of request; (3) accessing the asset data stored on the blockchain based upon the type of request and the set of request parameters; (4) performing an action or operation involving the asset data based upon the request; (5) generating a transaction involving the action involving the asset data; (6) adding the transaction to a block of transactions; (7) solving a cryptographic puzzle for the block of transactions; (8) transmitting the at least one user that the action was performed involving the asset data; and/or (9) transmitting the block of transactions and solution for the cryptographic puzzle to at least one other participant.
- the computer-implemented method may include receiving a block of transactions representative of actions performed on asset data stored on the blockchain; verifying the block of transactions; transmitting the block of transactions to at least one other participant; and/or adding the block of transactions to a copy of the blockchain.
- the method may include additional, less, or alternate actions, including those discussed elsewherein.
- FIG. 11 depicts an exemplary flow diagram 1100 for a computer-implemented method for lien perfection using smart contracts stored on a blockchain maintained by a plurality of participants.
- the network of participants may be the nodes described above, for example node 400 depicted in FIG. 4 .
- the blockchain used by the participants may be the blockchain 500 depicted in FIG. 5 , whose operation is described in FIGS. 2A, 2B, and 5 .
- the steps of the method 1100 may be performed by the nodes in the network of participants, such as the nodes described in FIGS. 1A-4 .
- the method 1100 may include additional, fewer, or alternative actions, including those described elsewhere herein.
- the exemplary flow diagram 1100 includes receiving, at a processor coupled with a network interface, at least one security interest notification, wherein the security interest notification has a set of lienholder information for an asset (block 1102 ). Verifying, at the processor, the security interest notification and the set of lienholder information (block 1104 ). Accessing, at the processor, a smart contract stored on the blockchain, wherein the smart contract has a set of conditions which indicate at least a priority process (block 1106 ). Executing, at the processor, the priority process when the set of conditions are satisfied by the security interest notification and the set of lienholder information (block 1108 ). Generating, at the processor, a transaction containing the security interest (block 1110 ). Communicating, via the processor coupled with the network interface, the transaction to the network of participants (block 1112 ).
- FIG. 12 depicts an exemplary flow diagram 1200 for a computer-implemented method for obtaining settlement values for a set of lienholders with a security interest in an asset stored on a blockchain maintained by a plurality of participants using smart contracts.
- the network of participants may be the nodes described above, for example node 400 depicted in FIG. 4 .
- the blockchain used by the participants may be the blockchain 500 depicted in FIG. 5 , whose operation is described in FIGS. 2A, 2B, and 5 .
- the steps of the method 1200 may be performed by the nodes in the network of participants, such as the nodes described in FIGS. 1A-4 .
- the method 1200 may include additional, fewer, or alternative actions, including those described elsewhere herein.
- the exemplary flow diagram 1200 includes receiving, at a processor coupled with a network interface, at least one foreclosure notification for at least one asset stored on a blockchain, wherein the at least one foreclosure notification includes at least one request for a set of settlement values from one of the plurality of participants (block 1202 ). Verifying, at the processor, the at least one foreclosure notification (block 1204 ). Accessing, at the processor, the at least one asset stored on the blockchain, wherein the asset has a set of lienholder information and a smart contract priority process, wherein the smart contract priority process indicates the settlement values for each member of the set of lienholders (block 1206 ). Executing, at the processor, the smart contract priority process to recalculate and distribute the settlement values for each member of the set of lienholders (block 1208 ). Communicating and distributing, via the processor coupled with the network interface, the recalculated settlement values to the at least one plurality of participants that requested the set of settlement values (block 1210 ).
- FIG. 13 depicts an exemplary flow diagram 1300 for a computer-implemented method for using and accessing contractor evaluations stored on a blockchain maintained by a plurality of participants
- the network of participants may be the nodes described above, for example node 400 depicted in FIG. 4 .
- the blockchain used by the participants may be the blockchain 500 depicted in FIG. 5 , whose operation is described in FIGS. 2A, 2B, and 5 .
- the steps of the method 1300 may be performed by the nodes in the network of participants, such as the nodes described in FIGS. 1A-4 .
- the method 1300 may include additional, fewer, or alternative actions, including those described elsewhere herein.
- the exemplary flow diagram 1300 includes receiving, at a processor coupled to a network interface, at least one contractor evaluation for a contractor from at least one participant of the plurality of participants, wherein the at least one contractor evaluation includes an evaluation, an evaluationer, and a set of contractor information (block 1302 ). Verifying, at the processor, the evaluation, the evaluationer, and the set of contractor information (block 1304 ). Verifying, at the processor, that the set of contractor information is stored on the blockchain (block 1306 ).
- FIG. 14 depicts an exemplary flow diagram 1400 for a computer-implemented method for using and accessing customer information stored on a blockchain maintained by a plurality of participants.
- the network of participants may be the nodes described above, for example node 400 depicted in FIG. 4 .
- the blockchain used by the participants may be the blockchain 500 depicted in FIG. 5 , whose operation is described in FIGS. 2A, 2B, and 5 .
- the steps of the method 1400 may be performed by the nodes in the network of participants, such as the nodes described in FIGS. 1A-4 .
- the method 1400 may include additional, fewer, or alternative actions, including those described elsewhere herein.
- the exemplary flow diagram 1400 includes receiving, at a processor coupled to a network interface, at least one customer request for customer information stored on the blockchain from at least one participant of the plurality of participants (block 1402 ). Verifying, at the processor, the customer information request (block 1404 ). Verifying, at the processor, that the customer information is stored on the blockchain (block 1406 ), and when the customer information is stored on the blockchain generating, at the processor, a customer information action and transaction (block 1408 ), and when the customer information is not stored on the blockchain, generating, at the processor, a transaction involving the customer information request (block 1410 ). Transmitting, via the processor coupled to the network interface, the transaction to the plurality of participants (block 1412 ).
- FIG. 15 depicts an exemplary flow diagram 1500 for a computer-implemented method for using and accessing associate data stored on a blockchain maintained by a plurality of participants
- the network of participants may be the nodes described above, for example node 400 depicted in FIG. 4 .
- the blockchain used by the participants may be the blockchain 500 depicted in FIG. 5 , whose operation is described in FIGS. 2A, 2B, and 5 .
- the steps of the method 1500 may be performed by the nodes in the network of participants, such as the nodes described in FIGS. 1A-4 .
- the method 1500 may include additional, fewer, or alternative actions, including those described elsewhere herein.
- the exemplary flow diagram 1500 includes receiving, at a processor coupled to a network interface, at least one associate request, the associate request having an associate request type, from at least one participant of the plurality of participants for information on an associate stored on the blockchain, wherein the at least one associate request includes associate identifying information, associate sales data, and associate licensing data (block 1502 ). Verifying, at the processor, the associate request based upon the associate request type (block 1504 ). Verifying, at the processor, that the associate information is stored on the blockchain (block 1506 ).
- the embodiments described herein often utilize credit report information as an example of sensitive information
- the embodiments described herein are not limited to such examples.
- the embodiments described herein may be implemented in any suitable environment in which it is desirable to identify and control specific type of information.
- the aforementioned embodiments may be implemented by a financial institution to identify and contain bank account statements, brokerage account statements, tax documents, etc.
- the aforementioned embodiments may be implemented by a lender to not only identify, re-route, and quarantine credit report information, but to apply similar techniques to prevent the dissemination of loan application documents that are preferably delivered to a client for signature in accordance with a more secure means (e.g., via a secure login to a web server) than via email.
- a more secure means e.g., via a secure login to a web server
- routines, subroutines, applications, or instructions may constitute either software (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware.
- routines, etc. are tangible units capable of performing certain operations and may be configured or arranged in a certain manner.
- one or more computer systems e.g., a standalone, client or server computer system
- one or more hardware modules of a computer system e.g., a processor or a group of processors
- software e.g., an application or application portion
- a hardware module may be implemented mechanically or electronically.
- a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations.
- a hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
- the term “hardware module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein.
- hardware modules are temporarily configured (e.g., programmed)
- each of the hardware modules need not be configured or instantiated at any one instance in time.
- the hardware modules comprise a general-purpose processor configured using software
- the general-purpose processor may be configured as respective different hardware modules at different times.
- Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
- Hardware modules may provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple of such hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and may operate on a resource (e.g., a collection of information).
- a resource e.g., a collection of information
- processors may be temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions.
- the modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
- the methods or routines described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented hardware modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
- the performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines.
- the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.
- any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment.
- the appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
- Coupled and “connected” along with their derivatives.
- some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact.
- the term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
- the embodiments are not limited in this context.
- the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion.
- a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
- “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
The present methods and systems relate to using and accessing data stored in a blockchain, and in particular, interacting with the blockchain and users via smart contracts, and protocols to maintain security, and reliability. The methods and systems deal with using and accessing asset information on a blockchain network. For example, the methods and systems may receive a request from a user for asset data stored on the blockchain, analyze the request to determine a type of request, access the asset data stored on the blockchain based upon the type of request and a set of request parameters, perform an action involving the asset data based upon the request, and communicate to the user that the action was performed involving the asset data.
Description
- This application claims priority to (1) Provisional Application No. 62/450,441, entitled “Using Blockchain for Banking, Asset, and Identity Services,” filed Jan. 25, 2017, (2) Provisional Application No. 62/523,523, entitled “Blockchain Based Asset Access,” filed Jun. 22, 2017, (3) Provisional Application No. 62/520,376 entitled “Blockchain Based Banking Identity Authentication,” filed Jun. 15, 2017, (4) Provisional Application No. 62/520,401, entitled “Blockchain Based Account Funding and Distribution,” filed Jun. 15, 2017, (5) Provisional Application No. 62/520,648, entitled “Blockchain Based Card Activation,” filed Jun. 16, 2017, (6) Provisional Application No. 62/520,708, entitled “Blockchain Based Passing Registry Actions,” filed Jun. 16, 2017, (7) Provisional Application No. 62/528,791, entitled “Blockchain Based Lien Perfection,” filed Jul. 5, 2017, (8) Provisional Application No. 62/528,806, entitled “Blockchain Based Settlement Processes,” filed Jul. 5, 2017, (9) Provisional Application No. 62/532,072, entitled “Blockchain Based Contractor Ratings,” filed Jul. 13, 2017, (10) Provisional Application No. 62/532,089, entitled “Blockchain Based Customer Records,” filed Jul. 13, 2017, and (11) Provisional Application No. 62/532,102, entitled “Blockchain Based Associate Information and Licensing,” filed Jul. 13, 2017, each of which is incorporated herein by reference in its entirety.
- The present disclosure relates to using and accessing data stored in a blockchain. In particular, interacting with the blockchain and users of the blockchain to use and access asset data stored on the blockchain.
- In the business world, an interaction between a business and a customer, or the business and another business, typically requires validation of one or more pieces of information before a transaction can take place. This validation is often achieved by the participants involved in the interaction contacting a central authority that is a trusted source of truth for the particular piece of information. The central authority may then validate, or not validate the particular piece of information and communicate its findings to the participants. Based upon the validation, or lack of validation, a consensus among the participants is formed and assuming the information is valid the transaction between the participants may take place, and subsequently be recorded. Similar issues arise between citizens and their governments, and businesses and governments.
- Traditionally, businesses, customers, and central authorities have stored information related to transactions, and records of transactions, in databases, or ledgers which have been used in accounting to track transactions and information related to those transactions. Often these databases or ledgers held by the participants must be reconciled to achieve consensus as to the validity of the information stored in the databases and ledgers. Alternatively, as described above the central authority may be responsible for determining the validity of information stored in a database or a ledger and functioning as an arbiter of consensus for interested parties.
- A blockchain is a new way of achieving a distributed consensus on the validity or invalidity of information. As opposed to using a central authority, a blockchain is a distributed database or ledger, in which a transactional record is maintained at each node of a peer to peer network. Commonly, the distributed ledger is comprised of groupings of transactions bundled together into a “block.” When a change to the distributed ledger is made (e.g., when a new transaction and/or block is created), each node must form a consensus as to how the change is integrated into the distributed ledger. Upon consensus, the agreed upon change is pushed out to each node so that each node maintains an identical copy of the updated distributed ledger. Any change that does not achieve a consensus is ignored. Accordingly, unlike a traditional system which uses a central authority, a single party cannot unilaterally alter the distributed ledger. This inability to modify past transactions lead to blockchains being generally described as trusted, secure, and/or immutable.
- Blockchains are typically deployed in an open, decentralized, and permissionless manner meaning that any party may view information, submit new information, or join the blockchain as a node responsible for confirming information. This open, decentralized, and permissionless approach to a blockchain has limitations. As an example, these blockchains may not be good candidates for interactions that require information to be kept private, or for interactions that require all participants to be vetted prior to their participation.
- In one aspect, a computer-implemented method for using and accessing asset data stored on a blockchain maintained by a plurality of participants may be provided. The method may include, via one or more processors, servers, and/or transceivers, (1) receiving, such as via wired communication, or wireless communication or data transmission over one or more radio frequency links or communication channels, at least one request from at least one user for asset data stored on the blockchain, wherein the request includes a set of request parameters; (2) analyzing the at least one request to determine a type of request; (3) accessing the asset data stored on the blockchain based upon the type of request and the set of request parameters; (4) performing an action involving the asset data based upon the request; and/or (5) communicating, such as via wired communication, or wireless communication or data transmission over one or more radio frequency links or communication channels, to the at least one user that the action was performed involving the asset data. The method may include additional, less, or alternate actions, including those discussed elsewhere herein.
- In another aspect, a computer-implemented method for using and accessing asset data stored on a blockchain maintained by a plurality of participants may be provided. The method may include, via one or more processors, servers, and/or transceivers, (1) receiving, such as via wired communication or wireless communication or data transmission over one or more radio frequency links or communication channels, at least one request from at least one user for asset data stored on the blockchain, wherein the request includes a set of request parameters; (2) analyzing the at least one request to determine a type of request; (3) accessing the asset data stored on the blockchain based upon the type of request and the set of request parameters; (4) performing an action involving the asset data based upon the request; (5) generating a transaction involving the action involving the asset data; (6) adding the transaction to a block of transactions; (7) solving a cryptographic puzzle for the block of transactions; (8) transmitting, such as via wired communication or wireless communication or data transmission over one or more radio frequency links or communication channels, the at least one user that the action was performed involving the asset data; and/or (9) transmitting, such as via wired communication or wireless communication or data transmission over one or more radio frequency links or communication channels, the block of transactions and solution for the cryptographic puzzle to at least one other participant. The method may include additional, less, or alternate actions, including those discussed elsewhere herein.
- In yet another aspect, a computer system for using and accessing asset data stored on a blockchain maintained by a plurality of participants may be provided. The computer system may include: a memory configured to store non-transitory computer executable instructions; and a processor configured to interface with the memory, wherein the processor is configured to execute the non-transitory computer executable instructions to cause the processor (and/or an associated transceiver) to: (1) receive at least one request from at least one user for asset data stored on the blockchain, wherein the request includes a set of request parameters; (2) analyze the at least one request to determine a type of request; (3) access the asset data stored on the blockchain based upon the type of request and the set of request parameters; (4) perform an action involving the asset data based upon the request; and/or (5) communicate to the at least one user that the action was performed involving the asset data. The system may include additional, less, or alternate functionality, including that discussed elsewhere herein.
- Advantages will become more apparent to those of ordinary skill in the art from the following description of the preferred aspects, which have been shown and described by way of illustration. As will be realized, the present aspects may be capable of other and different aspects, and their details are capable of modification in various respects. Accordingly, the drawings and description are to be regarded as illustrative in nature and not as restrictive.
- The figures described below depict various aspects of the system and methods disclosed herein. It should be understood that each figure depicts an embodiment of a particular aspect of the disclosed system and methods, and that each of the figures is intended to accord with a possible embodiment thereof. Further, wherever possible, the following description refers to the reference numerals included in the following figures, in which features depicted in multiple figures are designated with consistent reference numerals.
- There are shown in the drawings arrangements which are presently discussed, it being understood, however, that the present embodiments are not limited to the precise arrangements and instrumentalities shown, wherein:
-
FIG. 1A depicts anexemplary database system 100 in accordance with one aspect of the present disclosure; -
FIG. 1B depicts an exemplary distributedledger system 112 in accordance with one aspect of the present disclosure; -
FIG. 2A depicts anexemplary transaction flow 200 in accordance with one aspect of the present disclosure; -
FIG. 2B depicts anexemplary block propagation 210 in accordance with one aspect of the present disclosure; -
FIG. 3 depicts an exemplary sequence diagram 300 in accordance with one aspect of the present disclosure; -
FIG. 4 depicts anexemplary node 400 in accordance with one aspect of the present disclosure; -
FIG. 5 depicts anexemplary blockchain 500 in accordance with one aspect of the present disclosure; -
FIG. 6 depicts an exemplary flow diagram 600 associated with one aspect of the present disclosure; -
FIG. 7 depicts an exemplary flow diagram 700 associated with one aspect of the present disclosure; -
FIG. 8 depicts an exemplary flow diagram 800 associated with one aspect of the present disclosure; -
FIG. 9 depicts an exemplary flow diagram 900 associated with one aspect of the present disclosure; -
FIG. 10 depicts an exemplary flow diagram 1000 associated with one aspect of the present disclosure; -
FIG. 11 depicts an exemplary flow diagram 1100 associated with one aspect of the present disclosure; -
FIG. 12 depicts an exemplary flow diagram 1200 associated with one aspect of the present disclosure; -
FIG. 13 depicts an exemplary flow diagram 1300 associated with one aspect of the present disclosure; -
FIG. 14 depicts an exemplary flow diagram 1400 associated with one aspect of the present disclosure; and -
FIG. 15 depicts an exemplary flow diagram 1500 associated with one aspect of the present disclosure. - As stated, the Figures depict aspects of the present embodiments for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternate aspects of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
- The present embodiments relate to, inter alia, systems and methods for using a blockchain to perform services related to banking, identity management, and insurance applications. The systems and methods described herein allow for using a blockchain which gives the option for private information, and permissioned participants in the blockchain. In particular, the systems and methods allow for a distributed consensus amongst businesses, consumers, and authorities, as to the validity of information and transactions stored on the blockchain. The businesses, authorities, and consumers may all be considered participants in the blockchain network. For example, businesses (e.g., banks, financial institutions, insurers), and their customers, as well as regulators, may all be participants in the blockchain network, which may be open and permissionless, or closed and permissioned. Each of these participants may maintain nodes that are part of the blockchain network, but may also maintain their own systems and networks that may interface with the blockchain network.
- Some exemplary, but not limiting, applications that may take advantage of the disclosed systems and methods include specific applications directed to banking, mutual funds, and insurance. These examples relate to problems surrounding money transfers, digital identities, and collective reporting. Specifically, such applications may be: identity authentication, account funding and distribution, card activation, actions trigged by death registry, using and accessing asset data lien perfection obtaining settlement values contractor ratings/evaluations single view of customer's products, associate licensing, using and accessing user data, blockchain based payments, interest validation, industry reporting, agent sales data fund transfers, unclaimed property, auditing and compliance, policy delivery and interaction, and exercising riders and form/rate filing.
- The above listed examples, and disclosed systems and methods, may use an application of distributed ledgers, where each new block may be cryptographically linked to the previous block in order to form a “blockchain.” More particularly, to create a new block, each transaction within a block may be assigned a hash value (i.e., an output of a cryptographic hash function, such as SHA-256 or MD5). These hash values may then be combined together utilizing cryptographic techniques (e.g., a Merkle Tree) to generate a hash value representative of the entire new block, and consequently the transactions stored in the block. This hash value may then be combined with the hash value of the previous block to form a hash value included in the header of the new block, thereby cryptographically linking the new block to the blockchain. To this end, the precise value utilized in the header of the new block is dependent on the hash value for each transaction in the new block, as well as the hash value for each transaction in every prior block.
- According to certain aspects disclosed herein, information stored in blockchains can be trusted, because the hash value generated for the new block and a nonce value (an arbitrary number used once) are used as inputs into a cryptographic puzzle. The cryptographic puzzle may have a difficulty set by the nodes connected to the blockchain network, or the difficulty may be set by administrators of the blockchain network. In one example of the cryptographic puzzle, a solving node uses the hash value generated for the new block and repeatedly changes the value of the nonce until a solution for the puzzle is found. For example, finding the solution to the cryptographic puzzle may involve finding the nonce value that meets certain criteria (e.g., the nonce value begins with five zeros).
- When a solution to the cryptographic puzzle is found, the solving node publishes the solution and the other nodes then verify that the solution is the correct solution. Because the solution also depends on the particular hash values for each transaction within the blockchain, if the solving node attempted to modify any transaction, the solution would not be verified by the other nodes. More particularly, if a single node attempts to modify a prior transaction within the blockchain, a cascade of different hash values are generated for each tier of the cryptographic combination technique. This results in the header for one or more blocks being different than the corresponding header(s) in every other node that did not make the exact same modification.
- As a result, the solution generated by the modifying node would not solve the cryptographic puzzle presented to any node without the identical modification. Thus, the version of the new block generated by the modifying node is readily recognized as including an improper modification and is rejected by the consensus. This inability to modify past transactions lead to blockchains being generally described as trusted, secure, and/or immutable.
- The systems and methods disclosed herein also include performing actions utilizing the distributed consensus achieved through the blockchain. In particular, these actions may be executed by smart contracts. A smart contract is a computer protocol that enables the automatic execution and/or enforcement of an agreement between different parties. The smart contract may include one or more trigger conditions, that, when satisfied, correspond to one or more actions. For some smart contracts, which action(s) from the one or more actions are performed is determined based upon one or more decision conditions. Nodes on the network may subscribe to one or more data streams including data related to a trigger condition and/or a decision condition. Accordingly, the nodes may route the data streams to the smart contract so that the smart contract may detect that a trigger condition has occurred and/or analyze a decision condition to direct the node to perform one or more actions.
-
FIG. 1A depicts anexemplary database system 100 in accordance with one aspect of the present disclosure.FIG. 1A includes acentral authority 102, a plurality ofnodes central ledger 108, and a plurality ofnetwork connections 110. In one example operation of thedatabase system 100, one of the nodes, forexample Node A 104A, would issue a request to thecentral authority 102 to perform an action on data stored in thecentral ledger 108. This request may be a request to create, read, update, or delete data that is stored in thecentral ledger 108. - The
central authority 102 would receive the request, processes the request, make any necessary changes to the data stored in thecentral ledger 108, and inform the requesting node,Node A 104A, of the status of the request. Thecentral authority 102 may also send out status updates to the other nodes on the network about the change made, if any, to the data as requested byNode A 104A. In thedatabase system 100, all interaction with the data stored in thecentral ledger 108 occurs through thecentral authority 102. In this way, the central authority functions as a gatekeeper of the data. - Accordingly, the
central authority 102 operates a single point of entry for interacting with the data, and consequently thecentral authority 102 is a single point of failure for theentire database system 100. As such, if thecentral authority 102 is not accessible to the nodes in thedatabase system 100, then the data stored in thecentral ledger 108 is not accessible. In another example, each individual node may keep their own databases and then at the end of the day each node sends a copy of their database to thecentral authority 102 where the databases received are reconciled to form a single cohesive record of the data stored in thecentral ledger 108. - Conversely,
FIG. 1B depicts an exemplary distributedledger system 112 in accordance with one aspect of the present disclosure. An example of a distributedledger system 112 is the blockchain system described above.FIG. 1B includes a plurality ofnodes ledger 114, andnetwork connections 110. In a distributedledger system 112, each node keeps a copy of the distributedledger 114. As changes are made to the distributedledger 114 each node updates their copy of the distributedledger 114. A consensus mechanism may be used by the nodes in the distributedledger system 112 to decide when it is appropriate to make changes to the distributedledger 114. - Therefore, each node has their own copy of the distributed
ledger 114, which is identical to every other copy of the distributedledger 114 stored by each other node. The distributedledger system 112 is more robust than a central authority database system, which is depicted inFIG. 1A , because the distributedledger system 112 is decentralized and there is no single point of failure. -
FIG. 2A depicts anexemplary transaction flow 200 in accordance with one aspect of the present disclosure.FIG. 2A includes atransaction 202, threedifferent time frames network connections 110, and a distributedledger 114. Thetransaction flow 200 may represent a sequential flow of a transaction through a network, such as the network depicted inFIG. 1B . For example, attime 204Node A 104A generates atransaction 202. - The
transaction 202 may use data that is stored in the distributedledger 114, or thetransaction 202 may use data received by the node from outside the distributedledger 114.Node A 104A may transmit the newly generated transaction toNode C 106 via thenetwork connection 110. Attime 206,Node C 106 receives thetransaction 202 and confirms that the information contained therein is correct. If the information contained in thetransaction 202 is notcorrect Node C 106 may reject the transaction and not propagate thetransaction 202 through the system. If the information contained in thetransaction 202 iscorrect Node C 106 may transmit thetransaction 202 to itsneighbor Node B 104B. - Similarly, at
time 208Node B 104B may receive thetransaction 202 and either confirm or reject thetransaction 202. In some embodiments, theNode B 104B may not transmit the confirmedtransaction 202, because there are no further nodes to transmit to, or all the nodes in the network have already receivedtransaction 202. - In some embodiments, at any of
time frames transaction 202 to their copy of the distributedledger 114, or to a block of transactions stored in the distributed ledger. In some embodiments, confirming thetransaction 202 includes checking a cryptographic key-pair for participants involved in thetransaction 202. Checking the cryptographic key-pair may follow a set method laid out by a consensus protocol, such as the consensus protocol discussed inFIG. 1B . -
FIG. 2B depicts anexemplary block propagation 210 in accordance with one aspect of the present disclosure.FIG. 2B includes twotime frames Node C 106 andNode B 104B, a set oftransactions 202A-202D, a set of blocks oftransactions 216A-216D, a distributedledger 114, and ablockchain 218. Theblock propagation 210 may follow the blockchain system described above, or may follow another blockchain propagation algorithm. - The
block propagation 210 may begin withNode C 106 receivingtransaction 202A attime 212. When Node C 106C confirms thattransaction 202A is valid, the node may add the transaction to a newly generatedblock 216. As part of adding thetransaction 202A to block 216,Node C 106 may solve a cryptographic puzzle and include the solution in the newly generatedblock 216 as proof of the work done to generate theblock 216. This proof of work may be similar to the proof of work described above which utilizes guessing a nonce value. In other embodiments, thetransaction 202A may be added to a pool of transactions until enough transactions exist to add together to create a block.Node C 106 may transmit the newly createdblock 216 to the network at 220. Before or after propagating theblock 216,Node C 106 may add theblock 216 to its copy of theblockchain 218. - At
time 214Node B 104B may receive the newly createdblock 216.Node B 104B may verify that the block oftransactions 216 is valid by checking the solution to the cryptographic puzzle provided in theblock 216. If the solution is accurate thenNode B 104B may add theblock 216 to itsblockchain 218 and transmit theblock 216 to the rest of the network at 222. -
FIG. 3 depicts an exemplary sequence diagram 300 in accordance with one aspect of the present disclosure.FIG. 3 includes a set ofnodes Node A 104A may generate a transaction. The transaction may be transmitted fromNode A 104A toNode C 106 at 304.Node C 106 may validate the transaction at 306, and if the transaction is valid, transmit the transaction at 308 toNode B 104B.Node B 104B may validate the transaction at 310. At 312,Node C 106 may compile a block at 312 including the validated transaction. Compiling a block may include generating a solution to a cryptographic puzzle, and linking the block to other blocks, as described in the embodiments above. Once the block is compiled,Node C 106 may transmit the block with the solution at 314 to bothNode A 104A andNode B 104B. - Both nodes may then validate the solution to the block at 316. Verifying may include checking a cryptographic key-pair as described above. At 318 the three nodes form a consensus that the solution is valid, and accordingly all the nodes have formed a consensus on the blocks of transactions stored by all the nodes.
-
FIG. 4 depicts anexemplary node 400 in accordance with one aspect of the present disclosure. In some embodiments,node 400 may be the same type of node asNode C 106 inFIGS. 1A-3 . In other embodiments,node 400 may be the same type of node asNode A 104A andNode B 104B inFIGS. 1A-3 .Node 400 may be capable of performing all the embodiments disclosed herein. In particular,node 400 may utilize the decentralized system described inFIG. 1B , the flows of transactions and blocks described inFIGS. 2A and 2B , and theblockchain system 500 described below inFIG. 5 . -
FIG. 4 includes at least oneprocessor 402,memory 404, acommunication module 406, a set ofapplications 408,external ports 410,user interface 412, ablockchain manager 414,smart contracts 416,operating system 418, adisplay screen 420, and input/output components 422. In some embodiments, thenode 400 may generate a new block of transactions by using theblockchain manager 414. Similarly, thenode 400 may use theblockchain manager 414 in conjunction with thesmart contracts 416 stored inmemory 404 to execute the functionality disclosed herein. - In other embodiments, the
smart contracts 416 operate independent of theblockchain manager 414 or other applications. In some embodiments,node 400 does not have ablockchain manager 414, orsmart contracts 416 stored at the node. In some embodiments, thenode 400 may have additional or less components than what is described. The components of thenode 400 are described in more detail below. - The
node 400, as part of adecentralized ledger system 112, or another decentralized or centralized network, may be used to handle systems that interact with and manipulate data and transactions designed for banking identity authentication, banking account funding and distribution, banking card activation, actions triggered by a death registry, using and accessing asset data, lien perfection, obtaining settlement values, contractor ratings, single view of customer's products, and associate licensing. -
FIG. 5 depicts anexemplary blockchain system 500 in accordance with one aspect of the present disclosure.FIG. 5 includes ablockchain 502, a block oftransactions 504, aMerkle Tree 506, and atransaction 508. The Merkle Tree may be the same Merkle Tree described above that cryptographically links transactions together. In other embodiments, theblockchain system 500 may utilize a different method of organizing transactions in a block. In some embodiments, theblockchain system 500 includes a plurality of blocks connected together to form a chain of blocks oftransactions 502. - Each block of
transactions 504 may include at least onetransaction 508. In other embodiments, each block oftransactions 504 has a size limit that necessarily limits the number of transactions that the block may store. Each block oftransactions 504 includes a reference to a previous block of transactions that was added to theblockchain 502 prior to the block oftransactions 504 being added to theblockchain 502. As such, and as described above, each block oftransactions 504 is linked to every other block in theblockchain 502. - In some embodiments, the block of
transactions 504 may organize the transactions it has received into aMerkle Tree 506 to facilitate access to the stored transactions. The transactions may be hashed using a cryptographic hash algorithm, such as the algorithms discussed above, and the hash of each transaction is stored in the tree. As the tree is constructed the hash of each adjacent node is hashed together to create a new node that exists at a higher level in the tree. Therefore, the root of the tree, or the node at the top of the tree, is dependent upon the hash of each transaction stored in the tree. Eachtransaction 508 may include a set ofdata 510. The set ofdata 510 may include identifying data for the transaction, and transaction data identifying the nature of the transaction and what the transactions entails. -
FIG. 6 depicts an exemplary flow diagram 600 for a computer-implemented method for manipulating and accessing a blockchain containing identity authentication information for banking services maintained by a network of participants. In some embodiments, the network of participants may be the nodes described above, forexample node 400 depicted inFIG. 4 . The blockchain used by the participants may be theblockchain 500 depicted inFIG. 5 , whose operation is described inFIGS. 2A, 2B, and 5 . The steps of themethod 600 may be performed by the nodes in the network of participants, such as the nodes described inFIGS. 1A-4 . Themethod 600 may include additional, fewer, or alternative actions, including those described elsewhere herein. - The exemplary flow diagram 600 includes receiving at least one bank transaction from at least one participant (block 602). Verifying the at least one bank transaction (block 604). When the transaction is not valid, generating and communicating a confirmation that the bank transaction is not valid (block 606), or alternatively, when the transaction is valid, adding the bank transaction to a block of transactions (block 608). Generating a cryptographic hash for the block of bank transactions (block 610). Solving a cryptographic puzzle involving the generated hash (block 612), adding the block to the blockchain (block 614), and transmitting the block to at least one other participant.
-
FIG. 7 depicts an exemplary flow diagram 700 for a computer-implemented method for account funding and distribution using smart contracts stored on a blockchain maintained by a plurality of participants. In some embodiments, the network of participants may be the nodes described above, forexample node 400 depicted inFIG. 4 . The blockchain used by the participants may be theblockchain 500 depicted inFIG. 5 , whose operation is described inFIGS. 2A, 2B, and 5 . The steps of themethod 700 may be performed by the nodes in the network of participants, such as the nodes described inFIGS. 1A-4 . Themethod 700 may include additional, fewer, or alternative actions, including those described elsewhere herein. - The exemplary flow diagram 700 includes receiving, at a processor coupled with a network interface, at least one transaction from at least one participant, wherein the at least one transaction has a set of parameters (block 702). Verifying, at the processor, the at least one transaction, wherein verifying includes accessing a smart contract stored on the blockchain and checking the set of parameters against a set of conditions stored in the smart contract (block 704). And, when the set of parameters satisfy the set of conditions, indicating, at the processor, a change in a fund balance for the at least one participant (block 706), and generating and transmitting, via the processor coupled with the network interface, a confirmation to the at least one participant that the transaction has been approved (block 708). And, when the set of parameters do not satisfy the set of conditions, generating and transmitting, via the processor coupled with the network interface, a rejection to the at least one participant that the transaction has been rejected (block 710).
-
FIG. 8 depicts an exemplary flow diagram 800 for a computer-implemented method for credit card activation using a smart contract stored on a blockchain maintained by a plurality of participants. In some embodiments, the network of participants may be the nodes described above, forexample node 400 depicted inFIG. 4 . The blockchain used by the participants may be theblockchain 500 depicted inFIG. 5 , whose operation is described inFIGS. 2A, 2B , and 5. The steps of themethod 800 may be performed by the nodes in the network of participants, such as the nodes described inFIGS. 1A-4 . Themethod 800 may include additional, fewer, or alternative actions, including those described elsewhere herein. - The exemplary flow diagram 800 includes receiving, at a processor, at least one credit card application package associated with a credit card, wherein the credit card application package includes credit card information and a set of user information (block 802). Verifying, at the processor, the credit card information and the set of user information (block 804). Checking, at the processor, the credit card information and the set of user information against the smart contract stored on the blockchain, wherein the smart contract includes a set of conditions (block 806). Activating, at the processor, the credit card when the credit card information and the set of user information satisfy the set of conditions stored in the smart contract (block 808).
-
FIG. 9 depicts an exemplary flow diagram 900 for a computer-implemented method for performing actions designated in smart contracts, stored on a blockchain maintained by a plurality of participants, based upon notification of a person's death or passing. In some embodiments, the network of participants may be the nodes described above, forexample node 400 depicted inFIG. 4 . The blockchain used by the participants may be theblockchain 500 depicted inFIG. 5 , whose operation is described inFIGS. 2A, 2B, and 5 . The steps of themethod 900 may be performed by the nodes in the network of participants, such as the nodes described inFIGS. 1A-4 . Themethod 900 may include additional, fewer, or alternative actions, including those described elsewhere herein. - The exemplary flow diagram 900 includes receiving, at a processor coupled with a network interface, at least one passing or death registry notification, wherein the passing or death registry notification has a set of personal information (block 902). Verifying, at the processor, the passing or death registry notification and the set of personal information (block 904). Accessing, at the processor, a set of documents relevant to the set of personal information (block 906). Generating, at the processor, a passing or death registry action based upon the set of documents, the set of personal information, and the passing or death registry notification (block 908). Checking, at the processor, the passing or death registry action against a smart contract stored on the blockchain, wherein the set of documents has a set of conditions (block 910). Executing, at the processor, the passing or death registry action when the passing or death registry action satisfies the set of conditions (block 912).
-
FIG. 10 depicts an exemplary flow diagram 1000 for a computer-implemented method for using and accessing asset data stored on a blockchain maintained by a plurality of participants. In some embodiments, the network of participants may be the nodes described above, forexample node 400 depicted inFIG. 4 . The blockchain used by the participants may be theblockchain 500 depicted inFIG. 5 , whose operation is described inFIGS. 2A, 2B, and 5 . The steps of the computer-implementedmethod 1000 may be performed by the nodes in the network of participants, such as the nodes described inFIGS. 1A-4 . Themethod 1000 may include additional, fewer, or alternative actions, including those described elsewhere herein. - The systems and methods described herein may cover processes and services that allow for participants in the blockchain network to use and access asset data stored on a blockchain maintained by the plurality of participants. For example, an individual may be applying for a loan to start a business. As part of the loan application process the individual lists an ownership interest in a house and a car. The party that is considering issuing the loan may check a blockchain network that contains information on the ownership interests in houses (e.g., a network that lists all the homeowners in an area) for asset data listing the individual as the owner of the home. If the individual is listed as the owner of the home then the loan issuing party may grant the loan to the individual. Similarly, the same process may be used to verify ownership of the car listed as an asset by the individual. Another exemplary implementation may be verifying information related to assets owned by an individual as part of a credit check. The company performing the credit check may need to verify that an individual owns particular assets, what the value of those assets are, or the type of assets owned by the individual. Additionally, as part of an insurance claim process the assets related to the individual that has filed a claim may need to be reviewed. This review may be facilitated by referencing the asset data stored on a blockchain network.
- The exemplary flow diagram 1000 may include, via one or more local or remote processors, servers, and/or transceivers, (1) receiving, such as via wired communication, or wireless communication or data transmission over one or more radio frequency links or communication channels, at least one request from at least one user for asset data stored on the blockchain, wherein the request includes a set of request parameters (block 1002); (2) analyzing the at least one request to determine a type of request (block 1004); (3) accessing the asset data stored on the blockchain based upon the type of request and the set of request parameters (block 1006); performing an action involving the asset data based upon the request (block 1008); and/or (5) communicating, such as via wired communication, or wireless communication or data transmission over one or more radio frequency links or communication channels to the at least one user that the action was performed involving the asset data (block 1010).
- In some embodiments of the computer-implemented method, the asset data is data indicative of a person's ownership of an automobile, a house, a piece of land, or some combination thereof. For example, the data could be a title, or deed, to the piece of property, recordation of such a title or deed, or other proof of ownership in that. In addition to proof of ownership, the data may include particular information about the asset, such as identifying information, registration information, or other particulars about the asset.
- In some embodiments of the computer-implemented method, the type of request for asset data is a request to verify ownership of the asset, the value of the asset, the type of asset, or some combination thereof. In other embodiments, analyzing the at least one request to determine the type of request may further include determining the type of asset data requested by the set of request parameters; and generating a request action based upon the set of request parameters and the asset data. In some embodiments, the request parameters may include identifying information on the owner(s) of the asset(s), identifying information for the asset itself, and/or descriptive information about the asset. In some cases, ownership of the asset needs to be verified which may only require viewing the asset data stored in the blockchain to see the ownership information. In other cases, an audit of the asset data must be conducted that requires editing the information that requires both viewing the data and editing the data.
- In some embodiments, performing an action involving the asset data based upon the request may further include editing the asset data stored on the blockchain according to the request. Editing may mean changing ownership information, registration/recordation information for the asset, and/or information related to the value of the asset. For example, editing the asset data may include generating a transaction including the change performed on the asset data, and transmitting the transaction to at least one other participant.
- The method may also include receiving a block of transactions representative of actions performed on asset data stored on the blockchain; verifying the block of transactions; transmitting the block of transactions to at least one other participant; and/or adding the block of transactions to a copy of the blockchain. The copy of the blockchain may be stored locally on a device controlled by the participant, and it may also be stored in a distributed manner in a “cloud storage” solution that the participants utilizes.
- Another embodiment of the computer-implemented method for using and accessing asset data stored on a blockchain maintained by a plurality of participants may include, via one or more processors, servers, and/or transceivers, (1) receiving (such as via wireless communication or data transmission over one or more radio links) at least one request from at least one user for asset data stored on the blockchain, wherein the request includes a set of request parameters; (2) analyzing the at least one request to determine a type of request; (3) accessing the asset data stored on the blockchain based upon the type of request and the set of request parameters; (4) performing an action or operation involving the asset data based upon the request; (5) generating a transaction involving the action involving the asset data; (6) adding the transaction to a block of transactions; (7) solving a cryptographic puzzle for the block of transactions; (8) transmitting the at least one user that the action was performed involving the asset data; and/or (9) transmitting the block of transactions and solution for the cryptographic puzzle to at least one other participant.
- In some embodiments, the computer-implemented method may include receiving a block of transactions representative of actions performed on asset data stored on the blockchain; verifying the block of transactions; transmitting the block of transactions to at least one other participant; and/or adding the block of transactions to a copy of the blockchain. The method may include additional, less, or alternate actions, including those discussed elsewherein.
-
FIG. 11 depicts an exemplary flow diagram 1100 for a computer-implemented method for lien perfection using smart contracts stored on a blockchain maintained by a plurality of participants. In some embodiments, the network of participants may be the nodes described above, forexample node 400 depicted inFIG. 4 . The blockchain used by the participants may be theblockchain 500 depicted inFIG. 5 , whose operation is described inFIGS. 2A, 2B, and 5 . The steps of themethod 1100 may be performed by the nodes in the network of participants, such as the nodes described inFIGS. 1A-4 . Themethod 1100 may include additional, fewer, or alternative actions, including those described elsewhere herein. - The exemplary flow diagram 1100 includes receiving, at a processor coupled with a network interface, at least one security interest notification, wherein the security interest notification has a set of lienholder information for an asset (block 1102). Verifying, at the processor, the security interest notification and the set of lienholder information (block 1104). Accessing, at the processor, a smart contract stored on the blockchain, wherein the smart contract has a set of conditions which indicate at least a priority process (block 1106). Executing, at the processor, the priority process when the set of conditions are satisfied by the security interest notification and the set of lienholder information (block 1108). Generating, at the processor, a transaction containing the security interest (block 1110). Communicating, via the processor coupled with the network interface, the transaction to the network of participants (block 1112).
-
FIG. 12 depicts an exemplary flow diagram 1200 for a computer-implemented method for obtaining settlement values for a set of lienholders with a security interest in an asset stored on a blockchain maintained by a plurality of participants using smart contracts. In some embodiments, the network of participants may be the nodes described above, forexample node 400 depicted inFIG. 4 . The blockchain used by the participants may be theblockchain 500 depicted inFIG. 5 , whose operation is described inFIGS. 2A, 2B, and 5 . The steps of themethod 1200 may be performed by the nodes in the network of participants, such as the nodes described inFIGS. 1A-4 . Themethod 1200 may include additional, fewer, or alternative actions, including those described elsewhere herein. - The exemplary flow diagram 1200 includes receiving, at a processor coupled with a network interface, at least one foreclosure notification for at least one asset stored on a blockchain, wherein the at least one foreclosure notification includes at least one request for a set of settlement values from one of the plurality of participants (block 1202). Verifying, at the processor, the at least one foreclosure notification (block 1204). Accessing, at the processor, the at least one asset stored on the blockchain, wherein the asset has a set of lienholder information and a smart contract priority process, wherein the smart contract priority process indicates the settlement values for each member of the set of lienholders (block 1206). Executing, at the processor, the smart contract priority process to recalculate and distribute the settlement values for each member of the set of lienholders (block 1208). Communicating and distributing, via the processor coupled with the network interface, the recalculated settlement values to the at least one plurality of participants that requested the set of settlement values (block 1210).
-
FIG. 13 depicts an exemplary flow diagram 1300 for a computer-implemented method for using and accessing contractor evaluations stored on a blockchain maintained by a plurality of participants In some embodiments, the network of participants may be the nodes described above, forexample node 400 depicted inFIG. 4 . The blockchain used by the participants may be theblockchain 500 depicted inFIG. 5 , whose operation is described inFIGS. 2A, 2B, and 5 . The steps of themethod 1300 may be performed by the nodes in the network of participants, such as the nodes described inFIGS. 1A-4 . Themethod 1300 may include additional, fewer, or alternative actions, including those described elsewhere herein. - The exemplary flow diagram 1300 includes receiving, at a processor coupled to a network interface, at least one contractor evaluation for a contractor from at least one participant of the plurality of participants, wherein the at least one contractor evaluation includes an evaluation, an evaluationer, and a set of contractor information (block 1302). Verifying, at the processor, the evaluation, the evaluationer, and the set of contractor information (block 1304). Verifying, at the processor, that the set of contractor information is stored on the blockchain (block 1306). When the set of contractor information is stored on the blockchain, generating, at the processor, a transaction involving the set of contractor information and the evaluation (block 1308), and when the set of contractor information is not stored on the blockchain, generating, at the processor, a transaction involving the set of contractor information and the evaluation (block 1310). Transmitting, via the processor coupled to the network interface, the transaction to the plurality of participants (block 1312).
-
FIG. 14 depicts an exemplary flow diagram 1400 for a computer-implemented method for using and accessing customer information stored on a blockchain maintained by a plurality of participants. In some embodiments, the network of participants may be the nodes described above, forexample node 400 depicted inFIG. 4 . The blockchain used by the participants may be theblockchain 500 depicted inFIG. 5 , whose operation is described inFIGS. 2A, 2B, and 5 . The steps of themethod 1400 may be performed by the nodes in the network of participants, such as the nodes described inFIGS. 1A-4 . Themethod 1400 may include additional, fewer, or alternative actions, including those described elsewhere herein. - The exemplary flow diagram 1400 includes receiving, at a processor coupled to a network interface, at least one customer request for customer information stored on the blockchain from at least one participant of the plurality of participants (block 1402). Verifying, at the processor, the customer information request (block 1404). Verifying, at the processor, that the customer information is stored on the blockchain (block 1406), and when the customer information is stored on the blockchain generating, at the processor, a customer information action and transaction (block 1408), and when the customer information is not stored on the blockchain, generating, at the processor, a transaction involving the customer information request (block 1410). Transmitting, via the processor coupled to the network interface, the transaction to the plurality of participants (block 1412).
-
FIG. 15 depicts an exemplary flow diagram 1500 for a computer-implemented method for using and accessing associate data stored on a blockchain maintained by a plurality of participants In some embodiments, the network of participants may be the nodes described above, forexample node 400 depicted inFIG. 4 . The blockchain used by the participants may be theblockchain 500 depicted inFIG. 5 , whose operation is described inFIGS. 2A, 2B, and 5 . The steps of themethod 1500 may be performed by the nodes in the network of participants, such as the nodes described inFIGS. 1A-4 . Themethod 1500 may include additional, fewer, or alternative actions, including those described elsewhere herein. - The exemplary flow diagram 1500 includes receiving, at a processor coupled to a network interface, at least one associate request, the associate request having an associate request type, from at least one participant of the plurality of participants for information on an associate stored on the blockchain, wherein the at least one associate request includes associate identifying information, associate sales data, and associate licensing data (block 1502). Verifying, at the processor, the associate request based upon the associate request type (block 1504). Verifying, at the processor, that the associate information is stored on the blockchain (block 1506). When the associate information is stored on the blockchain, generating, at the processor, a transaction corresponding to the associate request type (block 1508), and when the associate information is not stored on the blockchain, generating, at the processor, a transaction involving the associate identifying information, associate sales data, and associate licensing data (block 1510). Transmitting, via the processor coupled to the network interface, the transaction to the plurality of participants (block 1512).
- This detailed description is to be construed as exemplary only and does not describe every possible embodiment, as describing every possible embodiment would be impractical, if not impossible. One may be implement numerous alternate embodiments, using either current technology or technology developed after the filing date of this application.
- Further to this point, although the embodiments described herein often utilize credit report information as an example of sensitive information, the embodiments described herein are not limited to such examples. Instead, the embodiments described herein may be implemented in any suitable environment in which it is desirable to identify and control specific type of information. For example, the aforementioned embodiments may be implemented by a financial institution to identify and contain bank account statements, brokerage account statements, tax documents, etc. To provide another example, the aforementioned embodiments may be implemented by a lender to not only identify, re-route, and quarantine credit report information, but to apply similar techniques to prevent the dissemination of loan application documents that are preferably delivered to a client for signature in accordance with a more secure means (e.g., via a secure login to a web server) than via email.
- Furthermore, although the present disclosure sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the description is defined by the words of the claims set forth at the end of this patent and equivalents. The detailed description is to be construed as exemplary only and does not describe every possible embodiment since describing every possible embodiment would be impractical. Numerous alternative embodiments may be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims. Although the following text sets forth a detailed description of numerous different embodiments, it should be understood that the legal scope of the description is defined by the words of the claims set forth at the end of this patent and equivalents. The detailed description is to be construed as exemplary only and does not describe every possible embodiment since describing every possible embodiment would be impractical. Numerous alternative embodiments may be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims.
- The following additional considerations apply to the foregoing discussion. Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
- Additionally, certain embodiments are described herein as including logic or a number of routines, subroutines, applications, or instructions. These may constitute either software (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware. In hardware, the routines, etc., are tangible units capable of performing certain operations and may be configured or arranged in a certain manner. In exemplary embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware modules of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.
- In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
- Accordingly, the term “hardware module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.
- Hardware modules may provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple of such hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and may operate on a resource (e.g., a collection of information).
- The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
- Similarly, the methods or routines described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented hardware modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
- The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the one or more processors or processor-implemented modules may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example embodiments, the one or more processors or processor-implemented modules may be distributed across a number of geographic locations.
- Unless specifically stated otherwise, discussions herein using words such as “processing,” “computing,” “calculating,” “determining,” “presenting,” “displaying,” or the like may refer to actions or processes of a machine (e.g., a computer) that manipulates or transforms data represented as physical (e.g., electronic, magnetic, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.
- As used herein any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
- Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. For example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
- As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
- In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the description. This description, and the claims that follow, should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.
- The patent claims at the end of this patent application are not intended to be construed under 35 U.S.C. § 112(f) unless traditional means-plus-function language is expressly recited, such as “means for” or “step for” language being explicitly recited in the claim(s).
Claims (20)
1. A computer-implemented method for using and accessing asset data using a blockchain maintained by a plurality of participants, the method comprising:
receiving, at a processor coupled to a network interface, at least one request from at least one user for asset data stored on a blockchain, wherein the request is a verification request that includes a set of request parameters that identify at least an individual and a type of asset;
accessing, at the processor, the asset data stored on the blockchain based upon individual and type of asset;
verifying that the individual owns an asset corresponding to the type of asset based upon the asset data;
performing, at the processor, an action involving a modification to the asset data based upon the request;
obtaining, at the processor, consensus regarding a cryptographic hash included in a transaction including the modified asset data with at least one other participant;
transmitting, via the processor coupled to the network interface, the transaction to the plurality of participants based upon the consensus regarding the cryptographic hash; and
communicating, via the processor coupled to the network interface, to the at least one user that the action was performed involving the asset data.
2. The method of claim 1 , wherein the asset data is data indicative of a person's ownership of an automobile, a house, a piece of land, or some combination thereof.
3. The method of claim 1 , wherein the type of request for the asset data is a request to verify ownership of the asset, the value of the asset, the type of asset, or some combination thereof.
4. The method of claim 1 , wherein analyzing the at least one request to determine the type of request includes:
determining, at the processor, the type of asset data requested by the set of request parameters; and
generating, at the processor, a request action based upon the set of request parameters and the asset data.
5. The method of claim 1 , wherein performing the action involving the asset data based upon the request includes:
editing, at the processor, the asset data stored on the blockchain according to the request.
6. (canceled)
7. The computer-implemented method of claim 1 , further comprising:
receiving, at the processor coupled with the network interface, a block of transactions representative of actions performed on asset data stored on the blockchain;
verifying, at the processor, the block of transactions;
transmitting, at the processor coupled with the network interface, the block of transactions to at least one other participant; and
adding, at a memory coupled with the processor, the block of transactions to a copy of the blockchain.
8. A computer-implemented method for using and accessing asset data using a blockchain maintained by a plurality of participants, the method comprising:
receiving, at a processor coupled to a network interface, at least one request from at least one user for asset data stored on the blockchain, wherein the request is a verification request that includes a set of request parameters that identify at least an individual and a type of asset;
accessing, at the processor, the asset data stored on the blockchain based upon individual and type of asset;
verifying that the individual owns an asset corresponding to the type of asset based upon the asset data;
performing, at the processor, an action involving modifying the asset data based upon the request;
generating, at the processor, a transaction involving the modified asset data;
adding, at the processor, the transaction to a block of transactions;
solving, at the processor, a cryptographic puzzle for the block of transactions;
obtaining, via the processor coupled to the network interface, consensus regarding a solution to the cryptographic puzzle and the block of transactions with at least one of the participants; and
transmitting, via the processor coupled to the network interface, the block of transactions and the solution to at least one other participant.
9. The computer-implemented method of claim 8 , further comprising:
receiving, at the processor coupled with the network interface, a block of transactions representative of actions performed on asset data stored on the blockchain;
verifying, at the processor, the block of transactions;
transmitting, at the processor coupled with the network interface, the block of transactions to at least one other participant; and
adding, at a memory coupled with the processor, the block of transactions to a copy of the blockchain.
10. The method of claim 8 , wherein the asset data is data indicative of a person's ownership of an automobile, a house, a piece of land, or some combination thereof.
11. The method of claim 8 , wherein the type of request for the asset data is a request to verify ownership of the asset, the value of the asset, the type of asset, or some combination thereof.
12. The method of claim 8 , wherein analyzing the at least one request to determine the type of request includes:
determining, at the processor, the type of asset data requested by the set of request parameters; and
generating, at the processor, a request action based upon the set of request parameters and the asset data.
13. The method of claim 8 , wherein performing the action involving the asset data based upon the request includes:
editing, at the processor, the asset data stored on the blockchain according to the request.
14. The method of claim 8 , further comprising:
generating, at the processor, a transaction including a change performed on the asset data; and
transmitting, at the processor coupled with the network interface, the transaction to at least one other participant.
15. A computer system for using and accessing asset data stored on a blockchain maintained by a plurality of participants, the computer system comprising:
a memory configured to store non-transitory computer executable instructions; and
a processor configured to interface with the memory, wherein the processor is configured to execute the non-transitory computer executable instructions to cause the processor to:
receive at least one request from at least one user for asset data stored on the blockchain, wherein the request is a verification request that includes a set of request parameters that identify at least an individual and a type of asset;
access the asset data stored on the blockchain based upon individual and type of asset;
verify that the individual owns an asset corresponding to the type of asset based upon the asset data;
perform an action involving a change to the asset data based upon the request;
obtain consensus regarding a cryptographic hash for a transaction involving the changed asset data with at least one other participant;
communicate the transaction to a plurality of participants based upon the consensus regarding the cryptographic hash; and
communicate to the at least one user that the action was performed involving the asset data.
16. The system of claim 15 , further configured to:
add the transaction to a block of transactions;
solve a cryptographic puzzle for the block of transactions; and
transmit the block of transactions and a solution for the cryptographic puzzle to at least one other participant.
17. The system of claim 15 , further configured to:
receive a block of transactions representative of actions performed on asset data stored on the blockchain;
verify the block of transactions;
transmit the block of transactions to at least one other participant; and
add the block of transactions to a copy of the blockchain.
18. The system of claim 15 , wherein the type of request for asset data is a request to verify ownership of the asset, the value of the asset, the type of asset, or some combination thereof.
19. The system of claim 15 , wherein analyzing the at least one request to determine the type of request includes:
determine the type of asset data requested by the set of request parameters; and
generate a request action based upon the set of request parameters and the asset data.
20. (canceled)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/878,067 US20210264426A1 (en) | 2017-01-25 | 2018-01-23 | Blockchain based asset access |
Applications Claiming Priority (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762450441P | 2017-01-25 | 2017-01-25 | |
US201762520376P | 2017-06-15 | 2017-06-15 | |
US201762520401P | 2017-06-15 | 2017-06-15 | |
US201762520648P | 2017-06-16 | 2017-06-16 | |
US201762520708P | 2017-06-16 | 2017-06-16 | |
US201762523523P | 2017-06-22 | 2017-06-22 | |
US201762528791P | 2017-07-05 | 2017-07-05 | |
US201762528806P | 2017-07-05 | 2017-07-05 | |
US201762532089P | 2017-07-13 | 2017-07-13 | |
US201762532102P | 2017-07-13 | 2017-07-13 | |
US201762532072P | 2017-07-13 | 2017-07-13 | |
US15/878,067 US20210264426A1 (en) | 2017-01-25 | 2018-01-23 | Blockchain based asset access |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210264426A1 true US20210264426A1 (en) | 2021-08-26 |
Family
ID=73653913
Family Applications (10)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/878,007 Active 2038-02-23 US10861015B1 (en) | 2017-01-25 | 2018-01-23 | Blockchain based account funding and distribution |
US15/878,067 Abandoned US20210264426A1 (en) | 2017-01-25 | 2018-01-23 | Blockchain based asset access |
US15/877,982 Abandoned US20220138741A1 (en) | 2017-01-25 | 2018-01-23 | Blockchain based banking identity authentication |
US15/878,154 Abandoned US20210264000A1 (en) | 2017-01-25 | 2018-01-23 | Blockchain based associate information and licensing |
US16/895,797 Active 2038-07-12 US11429969B1 (en) | 2017-01-25 | 2020-06-08 | Blockchain based account funding and distribution |
US17/175,867 Pending US20210166233A1 (en) | 2017-01-25 | 2021-02-15 | Blockchain based account funding and distribution |
US17/198,687 Active 2039-07-17 US12039534B2 (en) | 2017-01-25 | 2021-03-11 | Blockchain based account activation |
US17/536,764 Pending US20220084027A1 (en) | 2017-01-25 | 2021-11-29 | Blockchain based account funding and distribution |
US17/868,527 Active US11836723B2 (en) | 2017-01-25 | 2022-07-19 | Blockchain based account funding and distribution |
US18/739,706 Pending US20240330928A1 (en) | 2017-01-25 | 2024-06-11 | Blockchain based account activation |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/878,007 Active 2038-02-23 US10861015B1 (en) | 2017-01-25 | 2018-01-23 | Blockchain based account funding and distribution |
Family Applications After (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/877,982 Abandoned US20220138741A1 (en) | 2017-01-25 | 2018-01-23 | Blockchain based banking identity authentication |
US15/878,154 Abandoned US20210264000A1 (en) | 2017-01-25 | 2018-01-23 | Blockchain based associate information and licensing |
US16/895,797 Active 2038-07-12 US11429969B1 (en) | 2017-01-25 | 2020-06-08 | Blockchain based account funding and distribution |
US17/175,867 Pending US20210166233A1 (en) | 2017-01-25 | 2021-02-15 | Blockchain based account funding and distribution |
US17/198,687 Active 2039-07-17 US12039534B2 (en) | 2017-01-25 | 2021-03-11 | Blockchain based account activation |
US17/536,764 Pending US20220084027A1 (en) | 2017-01-25 | 2021-11-29 | Blockchain based account funding and distribution |
US17/868,527 Active US11836723B2 (en) | 2017-01-25 | 2022-07-19 | Blockchain based account funding and distribution |
US18/739,706 Pending US20240330928A1 (en) | 2017-01-25 | 2024-06-11 | Blockchain based account activation |
Country Status (1)
Country | Link |
---|---|
US (10) | US10861015B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11514203B2 (en) | 2020-05-18 | 2022-11-29 | Best Apps, Llc | Computer aided systems and methods for creating custom products |
US11580581B2 (en) | 2017-06-29 | 2023-02-14 | Best Apps, Llc | Computer aided systems and methods for creating custom products |
US12056419B2 (en) | 2018-11-21 | 2024-08-06 | Best Apps, Llc | Computer aided systems and methods for creating custom products |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346846B2 (en) * | 2014-04-24 | 2019-07-09 | Swoop Ip Holdings Llc | SMS and social media dual authorization, management oversight, and non-password security in email based e-commerce |
US10861015B1 (en) | 2017-01-25 | 2020-12-08 | State Farm Mutual Automobile Insurance Company | Blockchain based account funding and distribution |
WO2019092725A1 (en) * | 2017-11-13 | 2019-05-16 | Newglobes Ltd. | Novel means and methods for implementation of secure transactions. |
KR102461631B1 (en) * | 2018-09-12 | 2022-10-31 | 삼성에스디에스 주식회사 | Method and apparatus for compensating a missing value in data |
US11282076B2 (en) * | 2018-12-14 | 2022-03-22 | American Express Travel Related Services Company, Inc. | Transaction account data maintenance using blockchain |
CN109636427B (en) * | 2019-01-29 | 2024-03-01 | 深圳市智税链科技有限公司 | Business processing method, device, medium and electronic equipment based on block chain system |
EP3716570B1 (en) * | 2019-03-29 | 2022-07-27 | Mitsubishi Electric R&D Centre Europe B.V. | Computational puzzles against dos attacks |
KR20200119601A (en) * | 2019-04-10 | 2020-10-20 | 현대모비스 주식회사 | Apparatus and method for secure update of a binary data in vehicle |
JP7314993B2 (en) * | 2019-05-31 | 2023-07-26 | 日本電気株式会社 | Data management method, data distribution system, computer program and recording medium |
US11188521B2 (en) * | 2019-06-05 | 2021-11-30 | International Business Machines Corporation | Flexible transaction validation |
US11366879B2 (en) * | 2019-07-08 | 2022-06-21 | Microsoft Technology Licensing, Llc | Server-side audio rendering licensing |
FR3098947B1 (en) * | 2019-07-19 | 2021-09-10 | Idemia Identity & Security France | Process for processing a transaction issued from a proof entity |
WO2022081657A1 (en) * | 2020-10-13 | 2022-04-21 | Castro Marco Antonio | Social media platform |
CN112835700B (en) * | 2020-12-07 | 2022-07-12 | 腾讯科技(深圳)有限公司 | Data processing method, device, equipment and storage medium based on intelligent contract |
US11494799B1 (en) * | 2021-05-14 | 2022-11-08 | William C. Rehm | Supporting action tracking and deeds between multiple parties |
US20220101315A1 (en) * | 2021-11-14 | 2022-03-31 | Moleculus LLC | System and method for implementing distributed multiple blockchain based digital index token / utility smart contract on a blockchain and distributed/allocation on multiple blockchain networks |
Family Cites Families (155)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5241466A (en) | 1991-06-26 | 1993-08-31 | Perry Victor A | System for administering a central depository for living wills and other associated information |
JP3916749B2 (en) | 1998-03-11 | 2007-05-23 | 富士通株式会社 | Work mediation apparatus and recording medium |
JP2002049708A (en) | 2000-08-01 | 2002-02-15 | Nec Corp | Method and system for service regarding will and recording medium with control program therefor recorded |
US8606684B2 (en) | 2000-11-10 | 2013-12-10 | Aol Inc. | Digital content distribution and subscription system |
US20030050829A1 (en) | 2001-09-13 | 2003-03-13 | International Business Machines Corporation | Method and system for collecting and distributing data evaluating the job performances of short term job contractors through a computer controlled centralized database |
US20040019557A1 (en) | 2002-07-29 | 2004-01-29 | Howard Yaruss | Method and apparatus for protecting a lender having an interest in a property against a loss |
US20080281649A1 (en) | 2002-07-30 | 2008-11-13 | Morris Daniel R | System and method for automated release tracking |
EP1553848B1 (en) | 2002-10-11 | 2007-09-05 | Novozymes A/S | Method of preparing a heat-treated product |
US20050033628A1 (en) * | 2003-08-05 | 2005-02-10 | Alverson David J. | Contractor certification system |
US7769607B2 (en) | 2003-08-07 | 2010-08-03 | Indianola Development Company, L.L.C. | Method of enhancing value of pension plan assets |
US20060069717A1 (en) | 2003-08-27 | 2006-03-30 | Ascential Software Corporation | Security service for a services oriented architecture in a data integration platform |
US7127457B1 (en) | 2003-10-29 | 2006-10-24 | Ncr Corp. | Method and system for executing database queries |
US20050203815A1 (en) | 2004-01-07 | 2005-09-15 | Abts Henry W.Iii | Trust administration system and methods of use and doing business |
US7945495B2 (en) | 2004-02-11 | 2011-05-17 | Mt One, Inc. | Integrated on-line system for identifying and valuing foreclosure properties |
US7455221B2 (en) * | 2004-11-12 | 2008-11-25 | Boscov's Department Store, Llc | Method and system for providing multiple credit lines |
US20060287949A1 (en) | 2005-06-16 | 2006-12-21 | Silverman Gary C | Debt collection system |
JP2009501981A (en) * | 2005-07-15 | 2009-01-22 | レボリューション マネー,インコーポレイテッド | System and method for new execution and management of financial and data transactions |
US7797174B2 (en) | 2005-10-21 | 2010-09-14 | Samuels Property Group LLC | Life insurance option |
US7693838B2 (en) | 2005-11-12 | 2010-04-06 | Intel Corporation | Method and apparatus for securely accessing data |
US8930253B1 (en) | 2006-01-27 | 2015-01-06 | The Guardian Life Insurance Company Of America | Interactive systems and methods for estate planning related activities |
US8166003B2 (en) | 2006-05-05 | 2012-04-24 | Microsoft Corporation | Permission-based document server |
US8554584B2 (en) | 2006-07-03 | 2013-10-08 | Hargroder Companies, Inc | Interactive credential system and method |
US8374998B2 (en) | 2006-07-10 | 2013-02-12 | Oracle International Corporation | Computer implemented methods and systems to facilitate retrieval and viewing of call center contact and customer information |
US7885832B2 (en) | 2006-10-02 | 2011-02-08 | Golden Rule Insurance Company | Insurance policy and method for providing an insurance policy having dormancy features |
US20120246085A1 (en) | 2007-07-19 | 2012-09-27 | Depalma Mark S | Systems and methods for entity specific, data capture and exchange over a network |
US7856385B2 (en) | 2007-09-07 | 2010-12-21 | National Default Exchange Lp | System and method for management and processing of bankruptcy claims and payments |
US20090100091A1 (en) | 2007-10-15 | 2009-04-16 | Srikanth Chandru | Method and system for providing a process object framework for processing a request-type process |
US20100153262A1 (en) | 2008-12-12 | 2010-06-17 | Hartford Fire Insurance Company | System and method for administering insurance and loan accounts |
US8359221B2 (en) | 2009-06-04 | 2013-01-22 | Mitesh Gala | Systems and methods for personnel monitoring and management |
US20110113150A1 (en) | 2009-11-10 | 2011-05-12 | Abundance Studios Llc | Method of tracking and reporting user behavior utilizing a computerized system |
US20130091052A1 (en) * | 2011-10-07 | 2013-04-11 | Paal Kaperdal | Systems and methods for generating new accounts with a financial institution |
US20130159188A1 (en) | 2011-12-16 | 2013-06-20 | SaySearch Inc. | Automatic user validation system and method |
US8799057B2 (en) | 2012-01-03 | 2014-08-05 | Infosys Limited | System and method for assessment and consolidation of contractor data |
US20130179326A1 (en) * | 2012-01-09 | 2013-07-11 | Miles Beacom | System, program product and method for initiating a credit card account |
AU2012200120A1 (en) | 2012-01-10 | 2013-07-25 | Kingswood Pty Ltd | Priority waterfall in relation to security interests and other interests under the Personal Property Securities Act 2009 (Cth) |
US20130290198A1 (en) | 2012-04-19 | 2013-10-31 | Lenore VASSIL | Estate and life event organization and management system |
US20120253853A1 (en) | 2012-06-11 | 2012-10-04 | Michael Schornstein | Institutional Endowment Using Donor Originated Life Insurance |
US20150379510A1 (en) * | 2012-07-10 | 2015-12-31 | Stanley Benjamin Smith | Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain. |
US20140101060A1 (en) | 2012-10-08 | 2014-04-10 | Bank Of America Corporation | Asset titler |
US10102510B2 (en) * | 2012-11-28 | 2018-10-16 | Hoverkey Ltd. | Method and system of conducting a cryptocurrency payment via a mobile device using a contactless token to store and protect a user's secret key |
US20150052045A1 (en) * | 2013-08-19 | 2015-02-19 | Capital One Financial Corporation | Systems and methods for instant funding of financial service products |
US10546149B2 (en) | 2013-12-10 | 2020-01-28 | Early Warning Services, Llc | System and method of filtering consumer data |
CA2961193A1 (en) | 2014-09-12 | 2016-03-17 | Insamco Holdings, LLC | Method and system for generating and distributing optimized life insurance packages and visual representations thereof |
US10482538B1 (en) | 2014-10-27 | 2019-11-19 | United Services Automobile Association (Usaa) | Systems and methods for configuring a life insurance system |
US20160299918A1 (en) | 2015-04-07 | 2016-10-13 | Dell Software, Inc. | Device Control Using a Secure Decentralized Transactional Ledger |
EP3286699A1 (en) * | 2015-04-20 | 2018-02-28 | OGY Docs Inc. | A method of distributed management of electronic documents of title (edt) and system thereof |
US10635471B2 (en) | 2015-05-15 | 2020-04-28 | Joshua Paul Davis | System and method for an autonomous entity |
US11481771B2 (en) * | 2015-05-20 | 2022-10-25 | Ripple Luxembourg S.A. | One way functions in a resource transfer system |
US11367072B2 (en) | 2015-05-20 | 2022-06-21 | Ripple Luxembourg S.A. | Private networks and content requests in a resource transfer system |
US9904544B2 (en) | 2015-06-08 | 2018-02-27 | Ripple Luxembourg S.A. | System and method for determining that results produced from executions of software have not been altered or falsified |
EP3317775B1 (en) | 2015-07-02 | 2022-02-16 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
US20170011460A1 (en) * | 2015-07-09 | 2017-01-12 | Ouisa, LLC | Systems and methods for trading, clearing and settling securities transactions using blockchain technology |
US20170085545A1 (en) * | 2015-07-14 | 2017-03-23 | Fmr Llc | Smart Rules and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US10339523B2 (en) * | 2015-07-14 | 2019-07-02 | Fmr Llc | Point-to-point transaction guidance apparatuses, methods and systems |
US20170048235A1 (en) * | 2015-07-14 | 2017-02-16 | Fmr Llc | Crypto Captcha and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
WO2017021155A1 (en) * | 2015-07-31 | 2017-02-09 | British Telecommunications Public Limited Company | Controlled resource provisioning in distributed computing environments |
US10366204B2 (en) * | 2015-08-03 | 2019-07-30 | Change Healthcare Holdings, Llc | System and method for decentralized autonomous healthcare economy platform |
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 |
US10984413B2 (en) * | 2015-08-14 | 2021-04-20 | Identitii Pty Ltd | Computer implemented method for processing a financial transaction and a system therefor |
US11195177B1 (en) * | 2015-08-21 | 2021-12-07 | United Services Automobile Association (Usaa) | Distributed ledger systems for tracking recurring transaction authorizations |
WO2017044554A1 (en) | 2015-09-11 | 2017-03-16 | Aware, Inc. | Biometric verification of a blockchain database transaction contributor |
US20160078549A1 (en) | 2015-10-02 | 2016-03-17 | Bijan Dokhanian | Life insurance with borrowed premium |
CN108431845A (en) * | 2015-10-13 | 2018-08-21 | 交互网格公司 | Use of block chain based distributed coherency control |
US11526877B2 (en) * | 2015-10-22 | 2022-12-13 | Coinbase, Inc. | Electronic devices having embedded circuitry for accessing remote digital services |
CA3041904A1 (en) * | 2015-10-29 | 2017-05-04 | RiskWhip Pty Ltd | Technology adapted to configure computer systems to perform management, and enable streamlined user-configuration, of complex autonomous peer-to-peer transaction frameworks |
US10269012B2 (en) * | 2015-11-06 | 2019-04-23 | Swfl, Inc. | Systems and methods for secure and private communications |
US10915874B2 (en) * | 2015-11-10 | 2021-02-09 | Loyyal Corporation | System and process for tokenization of digital media |
US20170132630A1 (en) * | 2015-11-11 | 2017-05-11 | Bank Of America Corporation | Block chain alias for person-to-person payments |
US10586062B1 (en) | 2015-11-23 | 2020-03-10 | United Services Automobile Association (Usaa) | Systems and methods to track, store, and manage events, rights and liabilities |
WO2017091530A1 (en) | 2015-11-24 | 2017-06-01 | Gartland & Mellina Group | Blockchain solutions for financial services and other transaction-based industries |
US10791123B2 (en) | 2015-11-25 | 2020-09-29 | Yaron Gvili | Selectivity in privacy and verification with applications |
US9992028B2 (en) * | 2015-11-26 | 2018-06-05 | International Business Machines Corporation | System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger |
US10833843B1 (en) | 2015-12-03 | 2020-11-10 | United Services Automobile Association (USAA0 | Managing blockchain access |
US10521780B1 (en) | 2015-12-16 | 2019-12-31 | United Services Automobile Association (Usaa) | Blockchain based transaction management |
US20170178127A1 (en) | 2015-12-18 | 2017-06-22 | International Business Machines Corporation | Proxy system mediated legacy transactions using multi-tenant transaction database |
CA3002235C (en) * | 2015-12-22 | 2021-01-26 | Thomson Reuters Global Resources Unlimited Company | Methods and systems for identity creation, verification and management |
CA2952874A1 (en) | 2015-12-23 | 2017-06-23 | Royal Bank Of Canada | System and method for dynamic monitoring of credit parameters |
US10380522B1 (en) | 2015-12-31 | 2019-08-13 | Palantir Technologies Inc. | Asset allocation evaluation system |
US10650456B2 (en) * | 2016-01-20 | 2020-05-12 | Flair, Inc. | Systems and methods for managing a talent based exchange |
US10116667B2 (en) | 2016-01-26 | 2018-10-30 | Bank Of America Corporation | System for conversion of an instrument from a non-secured instrument to a secured instrument in a process data network |
US10679215B2 (en) | 2016-02-22 | 2020-06-09 | Bank Of America Corporation | System for control of device identity and usage in a process data network |
US10142312B2 (en) * | 2016-02-22 | 2018-11-27 | Bank Of America Corporation | System for establishing secure access for users in a process data network |
US10135870B2 (en) | 2016-02-22 | 2018-11-20 | Bank Of America Corporation | System for external validation of secure process transactions |
US10026118B2 (en) * | 2016-02-22 | 2018-07-17 | Bank Of America Corporation | System for allowing external validation of data in a process data network |
CN105809062B (en) * | 2016-03-01 | 2019-01-25 | 布比(北京)网络技术有限公司 | A kind of building of contract executes method and device |
WO2017148527A1 (en) * | 2016-03-03 | 2017-09-08 | Nec Europe Ltd. | Method for managing data in a network of nodes |
US10839096B2 (en) * | 2016-03-28 | 2020-11-17 | International Business Machines Corporation | Cryptographically provable zero-knowledge content distribution network |
US10346406B2 (en) * | 2016-03-28 | 2019-07-09 | International Business Machines Corporation | Decentralized autonomous edge compute coordinated by smart contract on a blockchain |
US10063529B2 (en) * | 2016-03-28 | 2018-08-28 | Accenture Global Solutions Limited | Secure 3D model sharing using distributed ledger |
US11048723B2 (en) | 2016-04-08 | 2021-06-29 | Chicago Mercantile Exchange Inc. | Bilateral assertion model and ledger implementation thereof |
US10720232B2 (en) * | 2016-04-13 | 2020-07-21 | Accenture Global Solutions Limited | Distributed healthcare records management |
US10803537B2 (en) * | 2016-04-18 | 2020-10-13 | R3 Ltd. | System and method for managing transactions in dynamic digital documents |
US20170344988A1 (en) * | 2016-05-24 | 2017-11-30 | Ubs Ag | System and method for facilitating blockchain-based validation |
US20170345011A1 (en) | 2016-05-26 | 2017-11-30 | Hitfin, Inc. | System and method executed on a blockchain network |
US10546277B2 (en) | 2016-06-24 | 2020-01-28 | Raise Marketplace, Llc | Securely modifying exchange items in an exchange item marketplace network |
US10108954B2 (en) * | 2016-06-24 | 2018-10-23 | PokitDok, Inc. | System and method for cryptographically verified data driven contracts |
US10282555B2 (en) * | 2016-07-13 | 2019-05-07 | HKS, Inc. | Validation and authentication of digital documents issued by an architect |
US10963869B2 (en) * | 2016-07-14 | 2021-03-30 | International Business Machines Corporation | System and method of cryptographically provable zero knowledge social networking |
US10785167B2 (en) * | 2016-07-26 | 2020-09-22 | Nec Corporation | Method for controlling access to a shared resource |
US11176584B2 (en) | 2016-08-03 | 2021-11-16 | Raise Marketplace, Llc | Cross-brand redemption in an exchange item marketplace network |
US20180046992A1 (en) | 2016-08-10 | 2018-02-15 | Jpmorgan Chase Bank, N.A. | Systems and methods for account reconciliation using a distributed ledger |
US10915969B2 (en) | 2016-08-11 | 2021-02-09 | Jpmorgan Chase Bank, N.A. | Systems and methods for enhanced organizational transparency using a credit chain |
US10361869B2 (en) * | 2016-08-23 | 2019-07-23 | International Business Machines Corporation | Event ledger |
DE102016215917A1 (en) * | 2016-08-24 | 2018-03-01 | Siemens Aktiengesellschaft | Secured processing of a credential request |
US20180089655A1 (en) | 2016-09-27 | 2018-03-29 | The Toronto-Dominion Bank | Real time virtual draft system and method |
US10262140B2 (en) * | 2016-09-29 | 2019-04-16 | Intel Corporation | Methods and apparatus to facilitate blockchain-based boot tracking |
US11115205B2 (en) * | 2016-09-29 | 2021-09-07 | Nokia Technologies Oy | Method and apparatus for trusted computing |
US11128603B2 (en) * | 2016-09-30 | 2021-09-21 | Nec Corporation | Method and system for providing a transaction forwarding service in blockchain implementations |
US11663609B2 (en) | 2016-10-04 | 2023-05-30 | International Business Machines Corporation | Method and apparatus to enforce smart contract execution hierarchy on blockchain |
US11282137B2 (en) * | 2016-10-07 | 2022-03-22 | The Toronto-Dominion Bank | Secure element method for distributed electronic ledger |
KR101849917B1 (en) * | 2016-10-13 | 2018-05-31 | 주식회사 코인플러그 | Method for providing certificate service based on smart contract and server using the same |
US10291627B2 (en) * | 2016-10-17 | 2019-05-14 | Arm Ltd. | Blockchain mining using trusted nodes |
US11182851B2 (en) * | 2016-10-20 | 2021-11-23 | International Business Machines Corporation | Inter-ledger messaging in a blockchain |
US10733616B1 (en) | 2016-10-20 | 2020-08-04 | Massachusets Mutual Life Insurance Company | Systems and methods for trigger based synchronized updates in a distributed records environment |
US11070378B1 (en) * | 2016-11-07 | 2021-07-20 | Wells Fargo Bank, N.A. | Signcrypted biometric electronic signature tokens |
US20180130034A1 (en) * | 2016-11-07 | 2018-05-10 | LedgerDomain, LLC | Extended blockchains for event tracking and management |
US10621510B2 (en) * | 2016-11-09 | 2020-04-14 | Cognitive Scale, Inc. | Hybrid blockchain data architecture for use within a cognitive environment |
US20180130135A1 (en) | 2016-11-09 | 2018-05-10 | Melissa Norwicke | System and method for obtaining information about a deceased person's life insurance policy and submitting a claim thereunder |
US11176519B2 (en) * | 2016-11-11 | 2021-11-16 | International Business Machines Corporation | Smart contract admission check and fault tolerance in a blockchain |
US20180165598A1 (en) * | 2016-12-09 | 2018-06-14 | Cognitive Scale, Inc. | Method for Providing Financial-Related, Blockchain-Associated Cognitive Insights Using Blockchains |
US20180165758A1 (en) * | 2016-12-09 | 2018-06-14 | Cognitive Scale, Inc. | Providing Financial-Related, Blockchain-Associated Cognitive Insights Using Blockchains |
US10311230B2 (en) * | 2016-12-24 | 2019-06-04 | Cisco Technology, Inc. | Anomaly detection in distributed ledger systems |
FR3061330B1 (en) * | 2016-12-28 | 2019-05-24 | Bull Sas | SYSTEM AND METHOD FOR CREATING AND MANAGING DECENTRALIZED AUTHORIZATIONS FOR CONNECTED OBJECTS |
WO2018129118A1 (en) * | 2017-01-06 | 2018-07-12 | FirstBlood Technologies, Inc. | Decentralized competitive arbitration using digital ledgering |
US11468439B2 (en) | 2017-01-12 | 2022-10-11 | American Express Travel Related Services Company, Inc. | Systems and methods for blockchain based proof of payment |
US10861015B1 (en) | 2017-01-25 | 2020-12-08 | State Farm Mutual Automobile Insurance Company | Blockchain based account funding and distribution |
WO2018140963A1 (en) | 2017-01-30 | 2018-08-02 | Dais Technology, Inc. | System for creating and utilizing smart policies on a blockchain |
US20180285971A1 (en) * | 2017-03-31 | 2018-10-04 | International Business Machines Corporation | Management of consumer debt collection using a blockchain and machine learning |
US11238543B2 (en) | 2017-05-06 | 2022-02-01 | Adp, Llc | Payroll based blockchain identity |
US11410166B2 (en) | 2017-07-13 | 2022-08-09 | Jpmorgan Chase Bank, N.A. | Systems and methods for automated decentralized multilateral transaction processing |
US10878512B1 (en) | 2017-08-07 | 2020-12-29 | United Services Automobile Association (Usaa) | Blockchain technology for storing electronic medical records to enable instant life insurance underwriting |
US10805085B1 (en) | 2017-08-24 | 2020-10-13 | United Services Automobile Association (Usaa) | PKI-based user authentication for web services using blockchain |
US10891694B1 (en) | 2017-09-06 | 2021-01-12 | State Farm Mutual Automobile Insurance Company | Using vehicle mode for subrogation on a distributed ledger |
US10872381B1 (en) | 2017-09-06 | 2020-12-22 | State Farm Mutual Automobile Insurance Company | Evidence oracles |
CN113204532A (en) | 2017-10-04 | 2021-08-03 | 邓白氏公司 | System and method for identity resolution across disparate immutable distributed ledger networks |
US20190172059A1 (en) | 2017-12-05 | 2019-06-06 | Bank Of America Corporation | Real-time net settlement by distributed ledger system |
WO2019126390A1 (en) | 2017-12-19 | 2019-06-27 | Baton Systems, Inc. | Financial settlement systems and methods |
US10796393B2 (en) | 2018-03-14 | 2020-10-06 | Motorola Solutions, Inc. | System for validating and appending incident-related data records in an inter-agency distributed electronic ledger |
JP6684850B2 (en) | 2018-05-16 | 2020-04-22 | 株式会社日立製作所 | Distributed ledger system, distributed ledger subsystem, and distributed ledger node |
US10606669B2 (en) | 2018-06-08 | 2020-03-31 | Optum, Inc. | Domain and event type-specific consensus process for a distributed ledger |
US20190392438A1 (en) | 2018-06-26 | 2019-12-26 | bootstrap legal Inc. | Method and System for Modifying a Smart Contract on a Distributed Ledger |
TWI656496B (en) | 2018-08-16 | 2019-04-11 | 楊少銘 | Weakly centralized fund trading system and method thereof |
US11842322B2 (en) | 2018-08-22 | 2023-12-12 | Equinix, Inc. | Smart contract interpreter |
US20200177373A1 (en) | 2018-11-14 | 2020-06-04 | Royal Bank Of Canada | System and method for storing contract data structures on permissioned distributed ledgers |
US20200226677A1 (en) | 2019-01-11 | 2020-07-16 | Bank Of America Corporation | Syndicated loan distributed ledger pass-through processing |
US11416934B2 (en) | 2019-02-05 | 2022-08-16 | Edmon Blount | System and method for securities finance smart contracts on blockchains and distributed ledgers |
US11636425B2 (en) | 2019-02-22 | 2023-04-25 | Jon Kirkegaard | Decentralized ledger supply chain planning interchange |
US20200279328A1 (en) | 2019-03-01 | 2020-09-03 | Mosaique LLC | Multi-party Financial Services Agreements |
US11762842B2 (en) | 2019-03-18 | 2023-09-19 | Jio Platforms Limited | Systems and methods for asynchronous delayed updates in virtual distributed ledger networks |
US20200394321A1 (en) | 2019-06-11 | 2020-12-17 | International Business Machines Corporation | Document redaction and reconciliation |
US11972004B2 (en) | 2019-06-11 | 2024-04-30 | International Business Machines Corporation | Document redaction and reconciliation |
US11321307B2 (en) | 2019-06-25 | 2022-05-03 | Optum, Inc. | Orchestrated consensus validation for distributed ledgers using heterogeneous validation pools |
US20210065293A1 (en) | 2019-08-29 | 2021-03-04 | The Lendingcoin, Inc. | Distributed ledger lending |
JP2022547130A (en) | 2019-09-06 | 2022-11-10 | ボソニック,インコーポレイテッド | Systems and methods for providing a blockchain-based process of record |
EP4073732A4 (en) | 2019-12-09 | 2023-11-15 | Eris Digital Holdings, LLC | Electronic trading and settlement system for blockchain-integrated cryptographic difficulty-based financial instruments |
-
2018
- 2018-01-23 US US15/878,007 patent/US10861015B1/en active Active
- 2018-01-23 US US15/878,067 patent/US20210264426A1/en not_active Abandoned
- 2018-01-23 US US15/877,982 patent/US20220138741A1/en not_active Abandoned
- 2018-01-23 US US15/878,154 patent/US20210264000A1/en not_active Abandoned
-
2020
- 2020-06-08 US US16/895,797 patent/US11429969B1/en active Active
-
2021
- 2021-02-15 US US17/175,867 patent/US20210166233A1/en active Pending
- 2021-03-11 US US17/198,687 patent/US12039534B2/en active Active
- 2021-11-29 US US17/536,764 patent/US20220084027A1/en active Pending
-
2022
- 2022-07-19 US US17/868,527 patent/US11836723B2/en active Active
-
2024
- 2024-06-11 US US18/739,706 patent/US20240330928A1/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11580581B2 (en) | 2017-06-29 | 2023-02-14 | Best Apps, Llc | Computer aided systems and methods for creating custom products |
US12056419B2 (en) | 2018-11-21 | 2024-08-06 | Best Apps, Llc | Computer aided systems and methods for creating custom products |
US11514203B2 (en) | 2020-05-18 | 2022-11-29 | Best Apps, Llc | Computer aided systems and methods for creating custom products |
Also Published As
Publication number | Publication date |
---|---|
US11429969B1 (en) | 2022-08-30 |
US20210201315A1 (en) | 2021-07-01 |
US20240330928A1 (en) | 2024-10-03 |
US20220351205A1 (en) | 2022-11-03 |
US10861015B1 (en) | 2020-12-08 |
US20220084027A1 (en) | 2022-03-17 |
US20210264000A1 (en) | 2021-08-26 |
US20210166233A1 (en) | 2021-06-03 |
US20220138741A1 (en) | 2022-05-05 |
US11836723B2 (en) | 2023-12-05 |
US12039534B2 (en) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11836723B2 (en) | Blockchain based account funding and distribution | |
US11880228B2 (en) | Systems and methods for verifying data via blockchain | |
Pasdar et al. | Connect API with blockchain: A survey on blockchain oracle implementation | |
US12021992B2 (en) | System and method for authenticating user identity | |
US10783590B1 (en) | Mutual aid network based on smart contract and blockchain | |
CN114363327A (en) | Compliance mechanism in blockchain networks | |
CN111095863A (en) | Block chain based system and method for communicating, storing and processing data over a block chain network | |
US20240320663A1 (en) | Blockchain Secured Transaction Workflows | |
US20230013119A1 (en) | Tainted asset marker management | |
US20210256512A1 (en) | Provisioning Of Assets Based On Content Usage | |
US11861697B1 (en) | Distributed ledger for letter of credit tracking | |
US12126721B2 (en) | Reputation profile propagation on blockchain networks | |
WO2023123153A1 (en) | Systems and methods for miner fee settlement between wallets | |
AU2023240236A1 (en) | Integrated platform for digital asset registration, tracking and validation | |
Skiera | Microtransactions in Bitcoin |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY, ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ALT, JACOB J.;BELLAS, ERIC;SKAGGS, JAIME;AND OTHERS;SIGNING DATES FROM 20180103 TO 20180122;REEL/FRAME:044710/0621 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |