Using ledger sensors to enable contextual contracts across various enterprise blockchain applications
US-2018089638-A1 · Mar 29, 2018 · US
US11663609B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11663609-B2 |
| Application number | US-201615284814-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 4, 2016 |
| Priority date | Oct 4, 2016 |
| Publication date | May 30, 2023 |
| Grant date | May 30, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The present disclosure relates to the enforcement of a smart contract execution hierarchy on a blockchain. A method includes receiving a submission of a first smart contract to be appended to a blockchain, comparing a priority value of the first smart contract to a priority value of a second smart contract previously appended to the blockchain, determining based on the comparison that the first smart contract has a lower priority than the second smart contract, comparing the terms of the first smart contract to the terms of the second smart contract, determining at least one of an overlap and a conflict between the terms of the first smart contract and the terms of the second smart contract, resolving any terms of the first smart contract that are determined to overlap or conflict with the terms of the second smart contract, and appending the resolved first smart contract to the blockchain.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method of enforcing a smart contract execution hierarchy on a blockchain implemented by at least one hardware processor associated with one or more validator nodes of multiple computing nodes, the method comprising: receiving, at the at least one hardware processor associated with said one or more validator nodes, a second smart contract for storage at a distributed ledger of the blockchain, said second smart contract governing a compliance of all new transactions and smart contracts entered into by a same entity that are subsequently submitted to the ledger for appending to the blockchain; receiving, at the at least one hardware processor associated with said one or more validator nodes, over a respective communications network connection, a submission of a first smart contract to be deployed at the distributed ledger, the distributed ledger comprising a database shared by the multiple computing nodes participating in a system based on a blockchain protocol; determining, by said at least one hardware processor, a priority level associated with said first smart contract to be deployed; and assigning, by a priority assignment system associated with said distributed ledger, a priority value to said first smart contract in response to determining no priority level is associated with the first smart contract; determining, by said at least one hardware processor at the one or more validator nodes, in response to the received first smart contract submission, whether said first smart contract references the second smart contract previously stored on said ledger of the blockchain; comparing, by said at least one hardware processor at the one or more validator nodes, in response to the determining of a reference to the second smart contract, the corresponding priority value of the first smart contract to a value corresponding to a priority of the second smart contract previously appended to the blockchain; determining, by said hardware processor, based on the comparison that the first smart contract has a lower priority than the second smart contract; in response to determining that the first smart contract has a lower priority than the second smart contract, performing, by at least one hardware processor at said one or more validator nodes, a string matching analysis, a syntax analysis or both a string matching and syntax analyses for comparing on said blockchain the terms of the first smart contract to terms of the second smart contract; determining on said blockchain, by said at least one hardware processor running at the one or more validator nodes, at least one of an overlap and a conflict between the terms of the first smart contract and the terms of the second smart contract based on the string matching, syntax analysis or both the string matching and syntax analysis comparison; resolving on said blockchain, by said at least one hardware processor at the one or more validator nodes, any terms of the first smart contract that are determined to overlap or conflict with the terms of the second smart contract, said resolving comprising at least one of: removing terms from the first smart contract that are determined overlap or conflict and modifying terms of the first smart contract that are determined to overlap or conflict; packaging, using said at least one hardware processor, said resolved first smart contract into a new data block; sharing, by said at least one hardware processor, among the validator nodes associated with the blockchain, the new data block by transmitting and receiving consensus messages via communication network connections; voting, by said at least one hardware processor at each respective validator nodes associated with the blockchain, whether to add the new block to the blockchain; determining, by said at least one hardware processor at the one or more validator nodes, in response to the voting, that a consensus is reached among said validator nodes to append the new data block to said blockchain; and in response to reaching the consensus, appending, by the at least one hardware processor, the new data block comprising said resolved first smart contract to the ledger of the blockchain, and prior to the appending the new data block comprising said resolved first contract to the ledger of the blockchain: comparing, by the at least one hardware processor, the terms of at least a third smart contract that is already appended to the blockchain that has a lower priority than the second smart contract to the terms of the second smart contract; determining, by the at least one hardware processor, that the at least a third smart contract includes a term that does not overlap or conflict with the terms of the second smart contract based on the comparison of the terms of the at least a third smart contract with the terms of the second smart contract; comparing, by the at least one hardware processor, a combination of a term of the first smart contract that is determined to not overlap or conflict with the terms of the second smart contract and the term of the at least a third smart contract that is determined to not overlap or conflict with the terms of the second smart contract to the terms of the second smart contract; determining, by the at least one hardware processor, at least one of an overlap and a conflict between the combined terms of the first smart contract and the at least a third smart contract and the terms of the second smart contract based on the comparison of the combination of the terms with the terms of the second smart contract; and removing, by the at least one hardware processor, the term from the first smart contract that is determined to at least one of overlap and conflict with the terms of the second smart contract when combined with the term of the at least a third smart contract; and executing, by said at least one hardware processor, said terms of said first contract and said second contract according to a hierarchy based on said priority, wherein only terms of said first contract that are non-overlapping or non-conflicting with terms of said second contract are executed; wherein said method further comprises: storing, at a pool database associated with said one or more validator nodes, smart contracts, priorities and terms; and said comparing on said blockchain the combination of a term of the first smart contract and the term of the at least third smart contract further comprising: examining, by said at least one hardware processor, said priorities, terms and smart contracts stored at said pool database and comparing terms of newly received contracts or transactions against each deployed contracts having a higher priority entered into by the same entity, and resolving conflicts of said newly received contracts or transactions with said deployed contracts having said higher priority. 2. The computer-implemented method of claim 1 , wherein the terms of the second smart contract include at least one law and the determination of whether there is at least one of an overlap and a conflict between the terms of the first smart contract and the terms of the second smart contract includes determining, by the at least one hardware processor, whether the terms of the first smart contract violate the at least one law. 3. The computer-implemented method of claim 1 , further comprising: comparing, by the at least one hardware processor, the value of the first smart contract to a value corresponding to a priority of a fourth smart contract previously appended to the blockchain; determining, by the at least one hardware processor, based on the comparison that the first smart contract has the same priority as the fourth smart contract; comparing, by the at least one hardware processor, the terms of the first smart contract to the terms of the fourth smart contract; de
using hash chains, e.g. blockchains or hash trees · CPC title
Business processing using cryptography · CPC title
Certifying business or products · CPC title
Hash functions, e.g. MD5, SHA, HMAC or f9 MAC · CPC title
involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.