Smart Contract GAS Consumption Calculation via Static Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for analyzing the performance and GAS consumption of Solidity smart contracts rely heavily on experience-based judgment and dynamic execution, lacking a mature static analysis method to accurately calculate GAS consumption, particularly due to difficulties in determining cycle invariants and termination conditions.

Innovation Solution

A static analysis method is developed that involves inputting a Solidity smart contract, segmenting performance analyzing functions, establishing a symbol calculation model, and calculating a simplified GAS consumption formula through syntax analysis, conversion to execution code, and application of algorithms like the Boyer-Moore algorithm to generate cycle invariants.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If experience-based judgment or dynamic execution methods are used to analyze smart contract performance, then the analysis can be performed with existing tools, but the accuracy of GAS consumption calculation is insufficient and cannot provide precise performance prediction

Engineering Contradiction:
ImproveGAS consumption calculation accuracyVSAvoidanalysis method complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the smart contract code into basic blocks and constructs a control flow graph, dividing the complex analysis task into manageable parts. This segmentation enables precise tracking of execution paths and GAS consumption at each segment, resolving the contradiction between accuracy and complexity by making the complex task structured and systematic

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate representations including syntax trees, control flow graphs, and symbol tables as mediators between the source code and GAS consumption calculation. These intermediaries enable accurate tracking of variable states and execution paths without requiring complex direct analysis of the original code, thus improving measurement precision while managing complexity through structured transformation

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If static analysis method is developed to accurately calculate GAS consumption, then precise performance prediction is achieved, but the difficulty in determining cycle invariants and termination conditions increases analysis complexity

Engineering Contradiction:
ImproveGAS consumption calculation accuracyVSAvoidcycle invariant determination difficulty
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The patent performs preliminary actions by constructing syntax trees and control flow graphs before GAS consumption calculation, and pre-defines symbol tables to track variable states. This preliminary structuring of the code analysis enables systematic handling of cycle invariants and termination conditions, reducing the difficulty of detecting and measuring these critical elements while maintaining high calculation accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms through the symbol table that continuously tracks variable states and execution paths during static analysis. This feedback enables the system to automatically determine cycle invariants and termination conditions by monitoring state changes, reducing the manual effort and difficulty associated with these challenging aspects of static analysis

Inventive Principle:
Principle #23Feedback

3Reliability

If developers focus on code functionality and security, then the smart contract meets basic requirements, but the GAS consumption cost increases with code complexity

Engineering Contradiction:
Improvecode functionality and securityVSAvoidGAS consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent performs preliminary GAS consumption analysis during the development phase using static analysis, allowing developers to identify and optimize expensive operations before deployment. This preliminary evaluation enables developers to balance functionality and security requirements with GAS cost considerations, preventing unnecessary complexity from inflating costs

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent provides feedback on GAS consumption metrics during code development through the static analysis system. This feedback mechanism allows developers to see the impact of their coding decisions on GAS costs in real-time, enabling them to optimize their code to maintain reliability while minimizing energy consumption

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11681509B2Smart contract processing method and system, computer device, and readable storage medium
Publication Date: 2023.06.20 HANGZHOU QULIAN TECHNOLOGY CO LTD
  • US11681509B2 patent drawing
  • US11681509B2 patent drawing
  • US11681509B2 patent drawing

AI summary

The present disclosure relates to a smart contract processing method and a system, and a readable storage medium. By segmenting a function requiring performance analysis, establishing a symbol calculation model and calculating a GAS consumption formula, and performing further optimization, a GAS value consumed by the execution of a program containing a polynomial cycle can be automatically calculated, or a GAS value consumed by the execution of a program containing a non-linear cycle can be calculated with minimal human assistance, so as to reflect the performance thereof.