Decentralized Database Node Chaincode Functional Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Decentralized databases face challenges in ensuring the validity of chaincode software during the endorsement process, as existing methods rely on trust in software provided by other entities, leading to inefficiencies and risks in data integrity and security.

Innovation Solution

Implementing functional testing of chaincode during the endorsement process in a decentralized database system, where each node simulates the transaction and validates the chaincode's functionality based on predetermined business rules, ensuring that the chaincode performs as intended before endorsing it for storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If functional testing of chaincode is performed during endorsement process, then data integrity and security are improved, but device complexity and processing time increase

Engineering Contradiction:
Improvedata integrityVSAvoidtesting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs functional testing of chaincode during the endorsement process before the transaction is committed to the blockchain. This preliminary validation ensures that the chaincode behaves as expected and satisfies business rules before it executes in the live environment, preventing faulty software from compromising data integrity while maintaining system reliability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If functional testing of chaincode is performed during endorsement process, then data integrity and security are improved, but processing speed and productivity decrease

Engineering Contradiction:
Improvedata integrityVSAvoidtransaction processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements functional testing that focuses on critical business rules and expected behaviors rather than exhaustive testing of all possible scenarios. This partial testing approach validates the most important aspects of chaincode functionality during endorsement, ensuring data integrity while minimizing the impact on transaction processing speed.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If functional testing of chaincode is performed during endorsement process, then trust among entities is improved, but loss of time in validation increases

Engineering Contradiction:
Improvetrust among entitiesVSAvoidvalidation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs functional testing of chaincode during the endorsement process, which occurs before the transaction is committed to the blockchain. This preliminary validation ensures that the chaincode behaves as expected and satisfies business rules before it executes in the live environment, building trust among entities while minimizing time loss by integrating testing into the existing endorsement workflow.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11308073B2Database node functional testing
Publication Date: 2022.04.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11308073B2 patent drawing
  • US11308073B2 patent drawing
  • US11308073B2 patent drawing

AI summary

An example operation may include one or more of receiving a database storage request at a decentralized database, executing an operation of the database storage request at a database node based on chaincode to generate a simulated result without committing the database storage request to the decentralized database, determining whether the chaincode of the database node is valid via a functional testing that is performed based on an output of the execution of the database storage request, and, in response to determining the chaincode is valid, endorsing the database storage request for storage at the decentralized database and transmitting the endorsement to one or more database nodes of the decentralized database.