Search

US-20260128913-A1 - SYSTEM FOR ENABLING MODIFICATION OF DATA AND ENDORSEMENTS OF SMART CONTRACTS WITHIN A DISTRIBUTED TRUST COMPUTING NETWORK

US20260128913A1US 20260128913 A1US20260128913 A1US 20260128913A1US-20260128913-A1

Abstract

Enabling modifications to smart contracts within a distributed trust computing network platform. Enablement of smart contract modifications is made possible by generating a smart contract and an associated hash value and storing such in an intermediate data block held within a staging area. The intermediate data block is held in the staging area until (i) all the parties accept the smart contract and (ii) the conditions are met and the smart contract self-executes. As long as the intermediate data block remains in the staging area, the data stored therein is subject to modification. Once the parties to the smart contract accept the smart contract (and/or modifications to the smart contact) and the conditions are met, such that the smart contact self-executes, the intermediate data block is synthesized/transformed into an immutable data block which is stored within a distributed ledger of the corresponding distributed trust computing network.

Inventors

  • Nimish Ravindra Deshpande
  • Bharat Indrakanti
  • Gautam Ravi

Assignees

  • BANK OF AMERICA CORPORATION

Dates

Publication Date
20260507
Application Date
20251219

Claims (17)

  1. 1 . A system for managing a smart contract in a distributed trust computing network, the system comprising: a distributed trust computing network comprising a plurality of decentralized nodes, each decentralized node including first memory and at least one first computing processor device in communication with the first memory, wherein the first memory of the decentralized nodes is configured to store one or more distributed ledgers, each distributed ledger comprising a plurality of immutable data blocks that store data; a staging area in communication with the distributed trust computing network and comprising second memory and at least one second computing processor device in communication with the second memory; and a computing platform including third memory and at least one third computing processor device in communication with the third memory, wherein the third memory stores smart contract generator and management application that is executable by one or more of the at least one third computing processor devices and configured to: receive, from an initiating party, one or more initial conditions related to a smart contract being formed between the initiating party and one or more other parties, generate (i) the smart contract based on the one or more initial conditions and (ii) a first hash value for the smart contract, generate an intermediate data block comprising the smart contract and the first hash value; store the intermediate data block in the second memory of the staging area, wherein the intermediate data block is modifiable while stored in the second memory of the staging area; prior to executing the smart contract, receive, from the initiating party or one of the one or more parties, one or more updates to the smart contract including at least one chosen from the group consisting of (i) one or more modifications to the one or more initial conditions of the smart contract and (ii) one or more additional conditions related to the smart contract; update the smart contract based on the one or more updates; generate a second hash value for the one or more updates; and modify the intermediate data block stored in the second memory of the staging area to include the updated smart contract and the second hash value.
  2. 2 . The system of claim 1 , wherein the smart contract generator and management application is further configured to: in response to (i) acceptance of the smart contract by the one or more other parties, and (ii) execution of the smart contract based on fulfillment of the one or more initial conditions, synthesize the intermediate data block into an immutable data block stored on a distributed ledger from amongst the one of more distributed ledgers.
  3. 3 . The system of claim 1 , wherein the smart contract generator and management application is further configured to: receive, from the initiating party or one of the one or more other parties, a user input indicating cancellation or declination of the smart contract, and in response to receiving the user input, remove the intermediate block from the second memory of the staging area and release the first hash value for subsequent re-generation and re-use as a hash value for a later generated data block.
  4. 4 . The system of claim 1 , wherein the smart contract generator and management application is further configured to: receive consensus on the intermediate data block from at least two of the plurality of decentralized nodes, wherein consensus is received prior to storing the intermediate data block in the second memory of the staging area.
  5. 5 . The system of claim 1 , wherein the smart contract generator and management application is further configured to: synthesize the modified intermediate data block into an immutable data block stored on a distributed ledger from amongst the one of more distributed ledgers in response to (i) acceptance of (a) the smart contract by the one or more other parties and (b) the one or more updates to the smart contract by one or more parties to the smart contract affected by the one or more updates, and (ii) execution of the updated smart contract based on fulfillment of the one or more conditions including the at least one of the one or modified conditions or the one or more additional conditions.
  6. 6 . The system of claim 1 , wherein the smart contract generator and management application is further configured to: receive, from a party to the smart contract affected by the one or more updates, a user input indicating declination of at least one of the one or more updates to the smart contract, and in response to receiving the user input, remove the at least one of the one or more updates from the intermediate data block stored in the second memory of the staging area and release the second hash value for subsequent re-generation and re-use as a hash value for a later generated data block.
  7. 7 . A computer-implemented method for managing a smart contract in a distributed trust computing network, method being executable by one or more computing processor devices and comprising: receiving, from an initiating party, one or more initial conditions related to a smart contract being formed between the initiating party and one or more other parties; generating (i) the smart contract based on the one or more initial conditions and (ii) a first hash value for the smart contract; generating an intermediate data block comprising the smart contract and the first hash value; storing the intermediate data block in a memory of a staging area, wherein the intermediate data block is modifiable while stored in the memory of the staging area, wherein the staging area is in communication with a distributed trust computing network comprising a plurality of decentralized nodes, each decentralized node configured to store one or more distributed ledgers, each distributed ledger comprising a plurality of immutable data blocks that store data; prior to executing the smart contract, receiving, from the initiating party or one of the one or more parties, one or more updates to the smart contract including at least one chosen from the group consisting of (i) one or more modifications to the one or more initial conditions of the smart contract and (ii) one or more additional conditions related to the smart contract; updating the smart contract based on the one or more updates; generating a second hash value for the one or more updates; and modifying the intermediate data block stored in the second memory of the staging area to include the updated smart contract and the second hash value.
  8. 8 . The computer-implemented method of claim 7 , further comprising: in response to (i) acceptance of the smart contract by the one or more other parties, and (ii) execution of the smart contract based on fulfillment of the one or more initial conditions, synthesizing the intermediate data block into an immutable data block stored on a distributed ledger from amongst the one of more distributed ledgers.
  9. 9 . The computer-implemented method of claim 7 , further comprising: receiving, from the initiating party or one of the one or more other parties, a user input indicating cancellation or declination of the smart contract; and in response to receiving the user input, removing the intermediate data block from the memory of the staging area and releasing the first hash value for subsequent re-generation and re-use as a hash value for a later generated data block.
  10. 10 . The computer-implemented method of claim 7 , further comprising: receiving consensus on the intermediate data block from at least two of the plurality of decentralized nodes, wherein consensus is received prior to storing the intermediate data block in the memory of the staging area.
  11. 11 . The computer-implemented method of claim 7 , further comprising: synthesizing the modified intermediate data block into an immutable data block stored on a distributed ledger from amongst the one of more distributed ledgers in response to (i) acceptance of (a) the smart contract by the one or more other parties, and (b) the one or more updates to the smart contract by one or more parties to the smart contract affected by the one or more updates, and (ii) execution of the updated smart contract based on fulfillment of the one or more conditions including the at least one of the one or modified conditions or the one or more additional conditions.
  12. 12 . The computer-implemented method of claim 7 , further comprising: receiving, from a party to the smart contract affected by the one or more updates, a user input indicating declination of at least one of the one or more updates to the smart contract; and in response to receiving the user input, removing the at least one of the one or more updates from the intermediate data block and releasing the second hash value for subsequent re-generation and re-use as a hash value for a later generated data block.
  13. 13 . A computer program product comprising: a non-transitory computer-readable medium comprising sets of codes for causing one or more computing devices to: receive, from an initiating party, one or more initial conditions related to a smart contract being formed between the initiating party and one or more other parties; generate (i) the smart contract based on the one or more initial conditions and (ii) a first hash value for the smart contract; generate an intermediate data block comprising the smart contract and the first hash value; store the intermediate data block in a memory of a staging area, wherein the intermediate data block is modifiable while stored in the memory of the staging area, wherein the staging area is in communication with a distributed trust computing network comprising a plurality of decentralized nodes, each decentralized node configured to store one or more distributed ledgers, each distributed ledger comprising a plurality of immutable data blocks that store data; prior to executing the smart contract, receive, from the initiating party or one of the one or more parties, one or more updates to the smart contract including at least one chosen from the group consisting of (i) one or more modifications to the one or more initial conditions of the smart contract and (ii) one or more additional conditions related to the smart contract; update the smart contract based on the one or more updates; generate a second hash value for the one or more updates; and modify the intermediate data block stored in the second memory of the staging area to include the updated smart contract and the second hash value.
  14. 14 . The computer program product of claim 13 , wherein the sets of codes further cause the one or more computing devices to: in response to (i) acceptance of the smart contract by the one or more other parties, and (ii) execution of the smart contract based on fulfillment of the one or more initial conditions, synthesize the intermediate data block into an immutable data block stored on a distributed ledger from amongst the one of more distributed ledgers.
  15. 15 . The computer program product of claim 13 , wherein the sets of codes further cause the one or more computing devices to: receive, from the initiating party or one of the one or more other parties, a user input indicating cancellation or declination of the smart contract; and in response to receiving the user input, remove the intermediate data block from the memory of the staging area and releasing the first hash value for subsequent re-generation and re-use as a hash value for a later generated data block.
  16. 16 . The computer program product of claim 13 , wherein the sets of codes further cause the one or more computing devices to: receive consensus on the intermediate data block from at least two of the plurality of decentralized nodes, wherein consensus is received prior to storing the intermediate data block in the memory of the staging area.
  17. 17 . the computer program product of claim 13 , wherein the sets of codes further cause the one or more computing devices to: synthesize the modified intermediate data block into an immutable data block stored on a distributed ledger from amongst the one of more distributed ledgers in response to (i) acceptance of (a) the smart contract by the one or more other parties, and (b) the one or more updates to the smart contract by one or more parties to the smart contract affected by the one or more updates, and (ii) execution of the updated smart contract based on fulfillment of the one or more conditions including the at least one of the one or modified conditions or the one or more additional conditions.

Description

CROSS-REFERENCE TO RELATED APPLICATION This application is a continuation of and claims the benefit of priority to U.S. Patent Application No. 18/381,740, filed October 19, 2023, and of the same title; the contents of which are also incorporated herein by reference. FIELD OF THE INVENTION The present invention is related generally to managing smart contracts within a distributed trust computing network and, more specifically, enabling modifications to smart contracts through use of a staging area which stores intermediate data blocks prior synthesizing/transforming the data blocks into immutable data blocks stored on the distributed trust computing network. BACKGROUND A distributed trust computing network, such as blockchain network like, includes multiple decentralized computing devices commonly referred to as nodes. Nodes stored distributed ledgers which comprise data blocks formed within the ledger in a chain-like manner. In order to add a data block to a distributed ledger, the data contained therein undergoes a consensus process in which multiple nodes making up the distributed trust computing network reach consensus on the validity of the data. Characteristic of distributed trust computing, once the data is stored on the network (i.e., a data block is added to a distributed ledger), the data is immutable (i.e., the data cannot be altered or deleted). A smart contract is one form of data that is commonly stored within a distributed ledger of a distributed trust computing network. A smart contract is a self-executing and self-enforcing contract between multiple parties with the terms of the contract/agreement directly written into software code. Smart contracts are run on a blockchain platform and automatically execute when predefined conditions are met. However, in certain instances a need exists to provide the ability to modify data once the data has been added to a data block and, in some instances, undergone consensus but prior to adding the data block to a distributed ledger. Such modification of data within a data block prior to inclusion within a distributed ledger, would lessen the burden placed on the nodes since less data blocks would need to be created, undergo consensus and added to the distributed ledger. An example of such a need is evident in smart contracts in which conditions which need to be met in order for the contract to self-execute may change over time. BRIEF SUMMARY The following presents a simplified summary of one or more embodiments of the invention in order to provide a basic understanding of such embodiments. This summary is not an extensive overview of all contemplated embodiments and is intended to neither identify key or critical elements of all embodiments, nor delineate the scope of any or all embodiments. Its sole purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later. Embodiments of the present invention provide for systems, methods, computer program products and the like provide for enabling modifications to smart contracts within a distributed trust computing network platform. Specifically, embodiments provide for generating a smart contract and an associated hash value, which are stored in an intermediate data block held within a staging area. The intermediate data block is held in the staging area until (i) all the parties accept the smart contract and (ii) the conditions are met and the smart contract self-executes. As long as the intermediate data block remains in the staging area, the data stored therein is subject to modification (e.g., conditions and/or parties can be changed, added or deleted). Once the parties to the smart contract accept the smart contract (and, in some embodiments modifications to the smart contact) and the conditions are met, such that the smart contact self-executes, the intermediate data block is synthesized (i.e., transformed) into an immutable data block which is stored within a distributed ledger of the corresponding distributed trust computing network. Once the data block has been synthesized/transformed, the data stored therein is no longer modifiable and, thus, is deemed to be immutable. In specific embodiments of the invention, in the event that a party to the smart contract cancels the smart contract or otherwise declines the conditions defined by the smart contract including modifications to the conditions, the intermediate data block is removed from the staging area and corresponding hash value is released. This means that the hash value is subject to subsequent re-generation by the corresponding hash algorithm and can be re-used as the hash value for a subsequently generated data block. A system for managing a smart contract in a distributed trust computing network defines first embodiments of the invention. The system includes a distributed trust computing network that includes a plurality of decentralized nodes. Each decentra