Method and apparatus to enforce smart contract execution hierarchy on blockchain

US11663609B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11663609-B2
Application numberUS-201615284814-A
CountryUS
Kind codeB2
Filing dateOct 4, 2016
Priority dateOct 4, 2016
Publication dateMay 30, 2023
Grant dateMay 30, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • using hash chains, e.g. blockchains or hash trees · CPC title

  • Business processing using cryptography · CPC title

  • G06Q30/018Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11663609B2 cover?
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…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06Q30/018. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 30 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).