Blockchain Staging Environment Setup via State Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for creating a staging environment for blockchain systems are inefficient due to the need for copying large volumes of data from the production environment, which can be time-consuming and require significant storage, especially when adding new nodes, as they must read through all transactions to determine the current state, leading to validation failures with dummy cryptographic materials.

Innovation Solution

The solution involves recreating system configurations and state databases in the staging environment by obtaining data from the production environment, replacing root certificates with dummy ones, and extracting and loading state data without block data, allowing for the creation of a functional staging environment for testing purposes without the need for actual block data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all transaction data is copied from production to staging environment, then the staging environment can perform complete validation tests, but the data copying time and storage requirements become excessively large

Engineering Contradiction:
Improvevalidation completenessVSAvoiddata copying time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the essential state data from the production environment, specifically the current state of ledger elements, while excluding the complete transaction history. This extraction approach allows the staging environment to perform validation tests using representative state data without the overhead of copying all transactions, thus reducing data copying time while maintaining sufficient validation capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the data copying process into two distinct parts: (1) copying only the current state data of ledger elements, and (2) excluding the complete transaction history. This segmentation allows the staging environment to obtain sufficient data for validation testing without the excessive time and storage requirements of copying all transactions from the production environment.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all transaction data is copied from production to staging environment, then the staging environment can perform complete validation tests, but the storage requirements become excessively large

Engineering Contradiction:
Improvevalidation completenessVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential state data from the production environment, specifically the current state of ledger elements, while excluding the complete transaction history. This extraction approach allows the staging environment to perform validation tests using representative state data without the excessive storage requirements of copying all transactions, thus reducing storage space while maintaining sufficient validation capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the data copying process into two distinct parts: (1) copying only the current state data of ledger elements, and (2) excluding the complete transaction history. This segmentation allows the staging environment to obtain sufficient data for validation testing without the excessive storage requirements of copying all transactions from the production environment.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If dummy cryptographic materials are used in the staging environment, then the environment can be set up independently, but validation failures occur due to certificate mismatches

Engineering Contradiction:
Improveenvironment setup independenceVSAvoidtransaction validation
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent changes the cryptographic parameters by replacing the production environment's root certificates with dummy root certificates in the staging environment. This parameter change allows the staging environment to operate independently with its own cryptographic materials, while the system adapts by using these dummy certificates for validation, thus maintaining both setup independence and validation reliability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies different cryptographic qualities to different environments: production environment uses real root certificates for security, while staging environment uses dummy root certificates for independence. This local quality differentiation allows each environment to have the appropriate cryptographic characteristics for its purpose, resolving the conflict between independence and validation reliability.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11836071B2Method and apparatus creating test environments for blockchain systems
Publication Date: 2023.12.05 HITACHI LTD
  • US11836071B2 patent drawing
  • US11836071B2 patent drawing
  • US11836071B2 patent drawing

AI summary

Method and apparatus creating test environments for blockchain systems involving recreating system configurations and state database without block data to set up staging environments for blockchain systems. The example implementations involve a function getting the latest config block and database files of state database from a production environment. Further, there is a function extracting system configurations from the received latest config block, replacing root certifying authority certificate(s) in the system configurations with the certificate(s) for the staging environment, creating a system configuration transaction and sending the system configuration transaction to the staging environment to reflect the system configurations. Further, there is a function extracting a list of states from database files, creating a transaction request message having the list of states and sending a transaction to the staging environment to load the states into the state database.