IP Library Granted Patent US 11,748,752
Granted Patent B2
US 11,748,752 · App. 17/408,861 · Granted Sep 5, 2023

Modular, configurable smart contracts for blockchain transaction processing validations

Inventors: Steven K. Rainey (Vienna, VA); David Richard Jarczyk (Palatine, IL); Nikola G. Ognjanovic (Medford, NY); Noah Leuthaeuser (Denver, CO); Michal Pol (Mahwah, NJ); Christopher Donnelly (Hawthorne, NY); Jenny Li (New York, NY); Rafiq Mohamed Jalal (Greenwood Village, CO); Ashish Lal Rajbanshi (Centennial, CO)
Assignee: KPMG LLP
G06Q20/401H04L9/3236H04L9/3263G06Q2220/12H04L9/50H04L2209/56
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,748,752
App. No.
17/408,861
Granted
Sep 5, 2023
Kind
B2
Abstract

The invention relates to systems and methods for providing modular and configurable smart contracts for blockchain applications. The smart contracts may be utilized to retain all transaction attribute values in a world state database of the blockchain-implemented ledger. The systems and methods can further provide for dynamically configurable validation metadata and validation rules for transaction attributes recorded on a blockchain transaction log. The validation metadata and validation rules corresponding to the transaction attributes can be dynamically updated and applied to the transaction attributes to validate or invalidate a transaction.

Claims (37)

1. A computer-implemented method for recording a current status of a distributed ledger using a modular smart contract, the method comprising:

receiving, by a processing device, one or more new data object attributes and attribute values for an object key;

identifying, by the processing device, a data object matching the object key in the distributed ledger;

storing, by the processing device executing a first modular contract from a transaction log partition of the distributed ledger, a first version of the data object associated with the object key in the distributed ledger, wherein the data object has a first version number and includes a first set of data object attributes and attribute values;

calling, by the processing device executing the first modular smart contract, a second smart contract from a validation data partition of the distributed ledger;

creating, by the processing device executing the second smart contract, a second version of the data object that is associated with the object key and that has a second version number;

importing, by the processing device executing the second smart contract, the first set of data object attributes and attribute values into the second version of the data object;

validating, by the processing device executing the second smart contract, the one or more new data object attributes and attribute values by retrieving one or more validation rules from the validation data partition, applying the one or more validation rules to a hierarchy associated with the one or more new data object attributes and attribute values, and determining that the hierarchy associated with the one or more new data object attributes and attribute values satisfies the one or more validation rules;

submitting, by the processing device executing the second smart contract, the second version of the data object to the distributed ledger that references the object key;

recording, by the processing device, a snapshot of the distributed ledger holding the second version of the data object in a world state database; and

retaining by the processing device, the first version of the data object and the second version of the data object in the transaction log partition.

2. The method of claim 1 , wherein the data object attributes comprise financial data.

3. The method of claim 1 , wherein the data object attributes comprise non-financial data.

4. The method of claim 1 , wherein the current status of the distributed ledger is recorded in real time or near real time.

5. The method of claim 1 , wherein the one or more new data object attributes comprises a set of new private attributes and attribute values, as well as one or more shared attributes and attribute values.

6. The method of claim 5 , wherein the first set of data object attributes comprises a set of existing private attributes and attribute values, as well as one or more shared attribute and attribute values.

7. The method of claim 6 , further comprising submitting, by the processing device executing the second smart contract, the second version of the data object to the distributed ledger upon validating the one or more shared attributes associated with the one or more new data object attributes, against the one or more shared attributes values associated with the first set of data object attributes.

8. The method of claim 1 , wherein a new data object having a new version number and comprising the one or more new data object attributes and attribute values is created if no existing data object matching the object key exists in the distributed ledger.

9. The method of claim 1 , wherein the identified data object matching the object key is updated to incorporate the one or more new data object attributes and attribute values.

10. The method of claim 1 , wherein the new and first set of data object attributes and attribute values are automatically retained in the world state database of the distributed ledger.

11. The method of claim 1 , further comprising storing, by the processing device, the second version of the data object in the world state database, using the second modular smart contract.

12. The method of claim 11 , further comprising submitting, by the processing device, the second version of the data object and the associated object key to a distributed ledger in the world state database.

13. The method of claim 1 , further comprising

preventing, by the processing device, a first party from reading and writing confidential information of a second party, using the first modular smart contract, and preventing the second party from reading and writing confidential information of the first party, using the second modular smart contract; wherein:

the first set of attributes and attribute values are associated with the first party and comprise confidential information of the first party; and

a second set of attributes and attribute values are associated with the second party and comprise confidential information of the second party.

14. The method of claim 13 , wherein the first set of attributes and attribute values and the second set of attributes and attribute values each further comprises shared attributes and attribute values that are accessible to the first party and to the second party.

15. The method of claim 13 , wherein the step of submitting, by the processing device, the second version of the data object to the distributed ledger by the second modular smart contract is contingent upon the second modular smart contract validating that the shared attributes and attribute values within the first set of attributes and attribute values is the same as the shared attributes and attribute values within the second set of attributes and attribute values.

16. The method of claim 13 , further comprising creating, by the processing device, a data object having a first version number if no existing data object matching the object key exists in the distributed ledger, using the first modular smart contract.

17. The method of claim 13 , further comprising:

preventing, by the processing device, the first party from reading and writing confidential information of the second party and third party, using the first modular smart contract;

preventing, by the processing device, the second party from reading and writing confidential information of the first party and the third party, using the second modular smart contract; and

preventing, by the processing device, the third party from reading and writing confidential information of the first party and the second party, using the third modular smart contract.

18. The method of claim 13 , further comprising:

creating, by the processing device executing a third modular smart contract, a third version of the data object that is associated with the object key and that has a third version number; importing, by the processing device executing a third modular smart contract, the second set of attributes and attribute values into the third version of the data object; and importing, by the processing device executing a third modular smart contract, a third set of attributes and attribute values into the third version of the data object, wherein the third set of attributes and attribute values are associated with a third party and comprise confidential information of the third party; and

storing, by the processing device executing a third modular smart contract, the third version of the data object in the world state database; and submitting the third version of the data object and the object key to the distributed ledger.

19. The method of claim 18 , further comprising storing, by the processing device executing a third modular smart contract, the third version of the data object in the world state database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2021
From: JARCZYK, DAVID RICHARD; OGNJANOVIC, NIKOLA G.; LEUTHAEUSER, NOAH; POL, MICHAL; RAINEY, STEVEN K.; DONNELLY, CHRISTOPHER; LI, JENNY; JALAL, RAFIQ MOHAMED; RAJBANSHI, ASHISH LAL
To: KPMG LLP
Reel/Frame 057256/0222 →
Continuity (3)
Continuation 17077593 · Oct 22, 2020
Division 16881157 · May 22, 2020
Related Publication 20210383380A1 · Dec 9, 2021
Cited By (1)
US 12,700,000