In the blockchain space, it is often remarked that while EDCCs (also referred to as smart contracts) are a promising technology, they are rigidly unforgiving of sloppy programming and incredibly literal in the ways that they execute. When a system or application relies on multiple EDCCs and two or more of these contracts contain common or conflicting terms, this overlap can lead to unexpected and possibly undesirable outcomes.
A 2016 patent application, published on April 5, indicates that IBM has been exploring a way to insulate firms that rely on these contracts from the dangers of redundant or conflicting EDCC programming. The system described in the document would automatically remedy overlap and conflicts in different contracts that are deployed on the same blockchain or sidechain. The authors claim that the process would result in the creation of a new contract that would function as intended by the entity which originally deployed it.
The application describes several potential use cases for this technology. It could help a company ensure that none of its transactions involve another firm with which it has had negative experiences in the past. An enterprise could also use it to avoid inadvertently violating certain regulations, such as rules defining what pesticide levels are acceptable in foodstuffs that will be labeled organic. Theoretically, the system would be capable of simultaneously preventing the transgression of local, federal, and international laws.
The proposed apparatus works by assigning each contract a level of "priority," which situates them in a "hierarchy" relative to one another. This hierarchy indicates which contracts are supposed to take precedence over others in the case of an overlap or conflict. The patent application calls for the deployment of a "master smart contract," which has a higher level of priority than all the others.
This master contract provides information to validator nodes that allow them to verify the compliance of newly deployed contracts with the rules already established by existing contracts of higher priority, and thus allows the new contracts to be written to the blockchain.
In the case of contractual overlap or conflict, the proposed apparatus would cause the terms to be resolved in such a way that those of the higher priority contract would win out over those of the lower priority one. It would do this by creating a new, automatically revised version of the lower priority contract, which would then be deployed anew so that validator nodes could verify its compliance and allow it to be recorded to the blockchain.
In the words of the application's authors, this mechanism enables the "automated, distributed regulation of smart contracts, a pre-execution verification of requirements rather than post-facto lawsuits, [and] a standardization of contracts."
The proposed system would not be limited to verifying contracts, however. When a transaction related to these contracts is sent, validator nodes would execute the terms of the contracts in order to verify that the transaction is entirely compliant with those terms before it can be written to the blockchain.