CN110543407A - 一种Solidity智能合约性能静态分析方法 - Google Patents

一种Solidity智能合约性能静态分析方法 Download PDF

Info

Publication number
CN110543407A
CN110543407A CN201910772369.7A CN201910772369A CN110543407A CN 110543407 A CN110543407 A CN 110543407A CN 201910772369 A CN201910772369 A CN 201910772369A CN 110543407 A CN110543407 A CN 110543407A
Authority
CN
China
Prior art keywords
program
loop
intelligent contract
polynomial
gas
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910772369.7A
Other languages
English (en)
Other versions
CN110543407B (zh
Inventor
邱炜伟
李伟
李启雷
梁秀波
尹可挺
张丁文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN201910772369.7A priority Critical patent/CN110543407B/zh
Publication of CN110543407A publication Critical patent/CN110543407A/zh
Priority to JP2022511179A priority patent/JP7394213B2/ja
Priority to PCT/CN2020/110367 priority patent/WO2021032177A1/zh
Application granted granted Critical
Publication of CN110543407B publication Critical patent/CN110543407B/zh
Priority to US17/676,155 priority patent/US11681509B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/425Lexical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种Solidity智能合约性能静态分析方法。该方法具体为:通过对需要进行性能分析的函数进行分片、建立符号计算模型、计算出GAS消耗公式,并进一步优化,能够自动地计算包含多项式循环的程序执行所消耗的GAS值,或者通过极少的人工辅助计算包含非线性循环的程序执行所消耗的GAS值,从而反映出其性能。本发明通过静态分析的方式准确计算Solidity智能合约的GAS消耗值,使开发者不需要准备繁杂的测试用例来运行智能合约就可以准确的得到GAS消耗的计算公式,从而能够对智能合约的性能进行定量判断,有助于判断Solidity智能合约在何种情况下达到GAS上限,对于评估执行成本与收益起到显著的效果。

Description

一种Solidity智能合约性能静态分析方法
技术领域
本发明涉及Solidity智能合约、编译原理、符号计算的技术领域,具体地涉及一种Solidity智能合约性能静态分析方法。
背景技术
智能合约是区块链中可执行的可信计算机代码,Solidity是一种编写智能合约的计算机高级语言。Solidity智能合约在EVM虚拟机上执行,部署在以太坊平台上,其特殊的执行机制使得开发者除了关注代码功能性和安全性之外,每一笔调用Solidity智能合约的交易,都要根据复杂度消耗一定的GAS费用,因此Solidity智能合约复杂度越高,需要的花费的代价也越高。如何开发出即满足需求又便宜的Solidity智能合约是开发者们需要面对的问题。事实上,Solidity智能合约复杂度分析其实就是性能分析。目前的主要方法是根据经验判断或者动态执行查看实际GAS消耗这两种,对于静态的性能分析方法尚不成熟,难点在于循环不变量和终止条件的判定。领域内缺乏能够准确地计算Solidity智能合约GAS消耗值的成熟的静态分析方法。
发明内容
针对现有的Solidity智能合约性能分析方法存在的不足,本发明公开了一种Solidity智能合约性能静态分析方法,该方法能够对大部分情形下的包含循环程序的Solidity智能合约进行静态分析,得到GAS消耗计算式。
本发明是通过以下技术方案实现的:一种Solidity智能合约性能静态分析方法,所述分析方法具体包括如下步骤:
(1)输入Solidity智能合约,对所述Solidity智能合约性能分析的函数进行分片,提取出完整的程序片段。
(2)根据步骤(1)所述完整的程序片段,建立符号计算模型。
(3)根据步骤(2)所述符号计算模型,计算出GAS消耗公式,并输出化简后的GAS公式。
进一步地,步骤(1)具体过程为:
(1)对输入的Solidity智能合约进行语法分析,建立语法树;
(2)根据所述语法树,建立Solidity系统依赖图;
(3)使用分片算法对所述Solidity系统依赖图进行分片,提取出完整的程序片段。
进一步地,步骤(2)包括以下子步骤:
(1)根据Solidity编译器的编译原理,将所述完整的程序片段转化为EVM虚拟机的执行码(或称汇编指令)程序;
(2)根据所述执行码程序所消耗的GAS大小对照表,将所述执行码程序转化为GAS累加的符号计算表达式,生成循环不变式。对于所述执行码程序中包含多项式循环的情形,自动生成循环不变式;对于所述执行码程序中包含非线性循环的情形,人工辅助添加循环不变式。
进一步地,步骤(3)具体为:
(1)对于所述执行码程序中包含循环的情形,将循环赋值语句表示为程序变量关于循环次数的一阶常系数差分方程组,求出差分方程组的闭形式解,然后将所述闭形式解代入循环条件,得到与循环次数相关的循环GAS消耗计算表达式;对于所述执行码程序中包含逻辑控制的情形,将逻辑控制语句转化为含相关变量符号的齐次多项式,作为GAS消耗计算表达式。
(2)根据符号计算方法,依次累计所述切片中所有GAS消耗计算公式,得到最终的GAS消耗计算公式,化简输出GAS公式。
进一步地,所述符号计算方法具体为:
(1)输入多项式循环程序P、程序变量个数m、多项式不变式的次数上界U。
(2)初始化LoopInv为空。
(3)将所述多项式循环程序P用多项式变迁系统T表示,其中T由V、L、Y、l0、O组成,V表示变量集合,L表示有限位置集合,Y表示状态变迁集合,l0表示初始位置,O表示初始条件。
(4)根据步骤3的所述多项式循环程序P得到样本点集合S。
(5)通过BM算法,在分次字典序下,计算出所述样本点集合S消去理想的Grobner基I(S)=<p1,p2,…ps>,并计算出I(S)中所有多项式p1,p2,…,ps的最低次数,将pi=0作为所述多项式循环程序P的候选不变式,其中i=1,2,…s。
(6)验证所述候选不变式:如果pi(V)|pi(V’)成立,则将LoopInv赋值为LoopInv^pi。
(7)重复步骤6直至i>s,生成所述多项式循环程序P的循环不变式。
本发明的有益效果如下:本发明所提供的一种Solidity智能合约性能静态分析方法,能够自动计算包含多项式循环的程序执行所消耗的GAS值,或者通过极少的人工辅助计算包含非线性循环的程序执行所消耗的GAS值,从而反映出Solidity智能合约的性能。本方法计算所得的GAS消耗值一般情况下是一个含有符号变量的公式,这些符号变量关联于Solidity智能合约中的入参、局部变量、循环次数。本发明使开发者不需要准备繁杂的测试用例来运行智能合约,就可以准确的得到GAS消耗的计算公式,从而能够对智能合约的性能进行定量判断,有助于判断Solidity智能合约在何种情况下达到GAS上限,有利于开发者对Solidity智能合约进行精准的性能优化,也有利于项目相关方对该合约的经济性进行准确的判定,对于评估执行成本与收益起到显著的效果。另外,本发明涉及的处理循环程序的符号计算方法对该领域具有一定的参考和借鉴意义。
附图说明
图1是基于本发明对Solidity智能合约进行性能静态分析的流程图;
图2是基于本发明处理Solidity智能合约循环程序的核心算法图。
具体实施方式
下面结合附图对Solidity智能合约性能静态分析方法作进一步说明。
如图1所示,基于本发明对Solidity智能合约进行性能静态分析的流程如下:
(1)开发者输入Solidity智能合约,该智能合约如果包含非线性循环过程,则需要人工添加循环不变式。所述循环不变式语法结构由循环不变式标签和不变式组成,其中不变式就是循环迭代过程中成立的等式。对所述Solidity智能合约性能分析的函数进行分片,分片时,首先对输入的Solidity智能合约进行语法分析,建立语法树,然后在建立Solidity系统依赖图,最后根据分片算法对所述Solidity系统依赖图进行分片,提取出完整的程序片段。
(2)对Solidity智能合约的分片结果进行建模。建模时,首先根据Solidity编译器原理将所述完整的程序片段转化为EVM虚拟机的执行码程序(或称汇编指令);然后根据Solidity执行码程序所消耗的GAS大小对照表,将所述执行码程序转化为GAS累加的符号计算表达式,生成循环不变式。对于所述执行码程序中包含多项式循环的情形,自动生成循环不变式;对于所述执行码程序中包含非线性循环的情形,人工辅助添加循环不变式。
(3)对Solidity智能合约的静态分析模型进行计算。对于所述执行码程序中包含循环的情形,将循环赋值语句表示为程序变量关于循环次数的一阶常系数差分方程组,求出差分方程组的闭形式解,然后将所述闭形式解代入循环条件,得到与循环次数相关的循环GAS消耗计算表达式;对于所述执行码程序中包含逻辑控制的情形,将逻辑控制语句转化为含相关变量符号的齐次多项式,作为GAS消耗计算表达式。根据符号计算方法,依次累计所述切片中所有GAS消耗计算公式,得到最终的GAS消耗计算公式,得到化简后的Solidity智能合约GAS消耗表达式,一般情况下这是一个含有符号变量的公式,这些符号变量关联于Solidity智能合约中的入参、局部变量、循环次数。开发者根据该表达式可以分析出影响性能的关键参数,从而通过控制这些参数或者改变算法等形式来优化性能。
根据本发明公开的Solidity智能合约性能静态分析方法,所述循环程序的符号计算方法是循环不变式的自动生成,其方法流程如图2所示。该符号计算方法基于BM算法,针对多项式变迁系统,计算出多项式等式作为其循环不变式。对于给定含有m个变量的程序P,只需给定预期生成不变式的次数上界U,根据程序P得到含有至多(d+m,m)个样本点的集合S,然后计算出样本点集S的消去理想的Grobner基I(S)作为程序的候选不变式,同时得到I(S)中所有多项式的最低次数,利用多项式整除性质验证候选不变式,最后生成多项式作为循环不变式。所述符号计算方法具体流程如下:
(1)输入多项式循环程序P、程序变量个数m、多项式不变式的次数上界U。
(2)初始化LoopInv为空。
(3)将所述多项式循环程序P用多项式变迁系统T表示,其中T由V、L、Y、l0、O组成,V表示变量集合,L表示有限位置集合,Y表示状态变迁集合,l0表示初始位置,O表示初始条件。
(4)根据步骤3的所述多项式循环程序P得到样本点集合S。
(5)通过BM算法,在分次字典序下,计算出所述样本点集合S消去理想的Grobner基I(S)=<p1,p2,…ps>,并计算出I(S)中所有多项式p1,p2,…,ps的最低次数,将pi=0作为所述多项式循环程序P的候选不变式,其中i=1,2,…s。
(6)验证所述候选不变式:如果pi(V)|pi(V’)成立,则将LoopInv赋值为LoopInv^pi。
(7)重复步骤6直至i>s,生成所述多项式循环程序P的循环不变式。
上述算法要求给定预期得到多项式不变式的次数上界U,并没有预设不变式模板。因为在应用模板方法时,对于预设变元个数为m,次数为d的多项式模板,将产生(d+m,m)个未知参数,这样的约束求解问题是困难的。算法中要求计算出至多(d+m,m)个样本点,实际上就是模板方法中未知参数的个数,但在算法的实际运用中,并不需要如此多的样本点。而且基于多项式时间复杂度的BM算法计算候选不变式,对比模板方法应用量词消去、多项式理想的Grobner基以及参系数半代数系统等双指数时间复杂度的方法求解约束问题,本算法具有更高的效率。

Claims (5)

1.一种Solidity智能合约性能静态分析方法,其特征在于,所述分析方法具体包括如下步骤:
(1)输入Solidity智能合约,对所述Solidity智能合约性能分析的函数进行分片,提取出完整的程序片段。
(2)根据步骤(1)所述完整的程序片段,建立符号计算模型。
(3)根据步骤(2)所述符号计算模型,计算出GAS消耗公式,并输出化简后的GAS公式。
2.根据权利要求1所述Solidity智能合约性能静态分析方法,其特征在于,步骤(1)还包括以下子步骤:
(1)对输入的Solidity智能合约进行语法分析,建立语法树;
(2)根据所述语法树,建立Solidity系统依赖图;
(3)使用分片算法对所述Solidity系统依赖图进行分片,提取出完整的程序片段。
3.根据权利要求1所述Solidity智能合约性能静态分析方法,其特征在于,步骤(2)具体为:
(1)根据Solidity编译器的编译原理,将所述完整的程序片段转化为EVM虚拟机的执行码(或称汇编指令)程序;
(2)根据所述执行码程序所消耗的GAS大小对照表,将所述执行码程序转化为GAS累加的符号计算表达式,生成循环不变式。对于所述执行码程序中包含多项式循环的情形,自动生成循环不变式;对于所述执行码程序中包含非线性循环的情形,人工辅助添加循环不变式。
4.根据权利要求1所述Solidity智能合约性能静态分析方法,其特征在于,步骤(3)具体为:
(1)对于所述执行码程序中包含循环的情形,将循环赋值语句表示为程序变量关于循环次数的一阶常系数差分方程组,求出差分方程组的闭形式解,然后将所述闭形式解代入循环条件,得到与循环次数相关的循环GAS消耗计算表达式;对于所述执行码程序中包含逻辑控制的情形,将逻辑控制语句转化为含相关变量符号的齐次多项式,作为GAS消耗计算表达式。
(2)根据符号计算方法,依次累计所述切片中所有GAS消耗计算公式,得到最终的GAS消耗计算公式,化简输出GAS公式。
5.根据权利要求4所述Solidity智能合约性能静态分析方法,其特征在于,所述符号计算方法具体为:
(1)输入多项式循环程序P、程序变量个数m、多项式不变式的次数上界U。
(2)初始化LoopInv为空。
(3)将所述多项式循环程序P用多项式变迁系统T表示,其中T由V、L、Y、l0、O组成,V表示变量集合,L表示有限位置集合,Y表示状态变迁集合,l0表示初始位置,O表示初始条件。
(4)根据步骤3的所述多项式循环程序P得到样本点集合S。
(5)通过BM算法,在分次字典序下,计算出所述样本点集合S消去理想的Grobner基I(S)=<p1,p2,…ps>,并计算出I(S)中所有多项式p1,p2,…,ps的最低次数,将pi=0作为所述多项式循环程序P的候选不变式,其中i=1,2,…s。
(6)验证所述候选不变式:如果pi(V)|pi(V’)成立,则将LoopInv赋值为LoopInv^pi。
(7)重复步骤6直至i>s,生成所述多项式循环程序P的循环不变式。
CN201910772369.7A 2019-08-21 2019-08-21 一种Solidity智能合约性能静态分析方法 Active CN110543407B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910772369.7A CN110543407B (zh) 2019-08-21 2019-08-21 一种Solidity智能合约性能静态分析方法
JP2022511179A JP7394213B2 (ja) 2019-08-21 2020-08-21 スマートコントラクト処理方法、システム、コンピュータ機器、および読み取り可能な記憶媒体
PCT/CN2020/110367 WO2021032177A1 (zh) 2019-08-21 2020-08-21 智能合约处理方法、系统、计算机设备和可读存储介质
US17/676,155 US11681509B2 (en) 2019-08-21 2022-02-20 Smart contract processing method and system, computer device, and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910772369.7A CN110543407B (zh) 2019-08-21 2019-08-21 一种Solidity智能合约性能静态分析方法

Publications (2)

Publication Number Publication Date
CN110543407A true CN110543407A (zh) 2019-12-06
CN110543407B CN110543407B (zh) 2021-11-05

Family

ID=68711884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910772369.7A Active CN110543407B (zh) 2019-08-21 2019-08-21 一种Solidity智能合约性能静态分析方法

Country Status (4)

Country Link
US (1) US11681509B2 (zh)
JP (1) JP7394213B2 (zh)
CN (1) CN110543407B (zh)
WO (1) WO2021032177A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035350A (zh) * 2020-08-27 2020-12-04 腾讯科技(深圳)有限公司 针对区块链系统的测试方法、装置及计算机设备
WO2021032177A1 (zh) * 2019-08-21 2021-02-25 杭州趣链科技有限公司 智能合约处理方法、系统、计算机设备和可读存储介质
CN112564972A (zh) * 2020-12-09 2021-03-26 华东师范大学 基于Event-B方法的区块链PBFT共识算法的形式化建模和安全性验证方法
CN117574320A (zh) * 2024-01-15 2024-02-20 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机可读介质及电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110519277B (zh) * 2019-08-29 2020-08-21 上海威尔立杰网络科技发展有限公司 一种基于单点执行合约实现控制其它系统的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108226390A (zh) * 2017-12-08 2018-06-29 赫普科技发展(北京)有限公司 一种区块链碳排放监测装置和监测系统
US20180218176A1 (en) * 2017-01-30 2018-08-02 SALT Lending Holdings, Inc. System and method of creating an asset based automated secure agreement
WO2018144302A1 (en) * 2017-01-31 2018-08-09 Rush Thomas Jay Blockchain data-processing engine
CN109191287A (zh) * 2018-06-27 2019-01-11 浙江超脑时空科技有限公司 一种区块链智能合约的分片方法、装置及电子设备
CN109285071A (zh) * 2018-09-10 2019-01-29 中国银联股份有限公司 一种基于区块链的数据处理平台及数据处理方法
CN109375899A (zh) * 2018-09-25 2019-02-22 杭州趣链科技有限公司 一种形式验证Solidity智能合约的方法
CN109492402A (zh) * 2018-10-25 2019-03-19 杭州趣链科技有限公司 一种基于规则引擎的智能合约安全评测方法
CN109815098A (zh) * 2018-12-14 2019-05-28 深圳壹账通智能科技有限公司 区块链系统的性能测试方法、相应的装置及电子设备
CN109981416A (zh) * 2019-04-04 2019-07-05 中山大学 一种区块链性能检测方法与系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112015010016A2 (pt) * 2012-11-07 2017-07-11 Koninklijke Philips Nv compilador, computador, método de compilação e programa de computador
US9417850B2 (en) * 2015-01-10 2016-08-16 Logics Research Centre Grace˜operator for changing order and scope of implicit parameters
CN105786715B (zh) * 2016-04-08 2018-08-31 南京大学 一种程序静态自动分析方法
US20180089760A1 (en) * 2016-09-26 2018-03-29 Shapeshift Ag System and method of providing a multi-asset rebalancing mechanism
CN108073513A (zh) 2017-04-21 2018-05-25 富士通株式会社 对基于区块链的智能合约进行测试的装置和方法
CN107358099B (zh) * 2017-06-09 2020-05-05 南京邮电大学 基于llvm中间表示程序切片技术的无用变量检测方法
CN108628600B (zh) * 2018-05-08 2020-12-15 北京理工大学 基于控制流分析的软件动态行为建模方法和装置
CN109710385A (zh) * 2018-12-29 2019-05-03 杭州趣链科技有限公司 一种基于Java虚拟机的智能合约复杂度限制方法
JP6856749B2 (ja) 2018-12-29 2021-04-14 アドバンスド ニュー テクノロジーズ カンパニー リミテッド ブロックチェーン上のネイティブ契約を実施するためのシステムおよび方法
US10866823B2 (en) 2019-03-26 2020-12-15 Advanced New Technologies Co., Ltd. System and method for implementing different types of blockchain contracts
US10656923B1 (en) * 2019-07-31 2020-05-19 Capital One Services, Llc Systems for determining regulatory compliance of smart contracts
CN110543407B (zh) * 2019-08-21 2021-11-05 杭州趣链科技有限公司 一种Solidity智能合约性能静态分析方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180218176A1 (en) * 2017-01-30 2018-08-02 SALT Lending Holdings, Inc. System and method of creating an asset based automated secure agreement
WO2018144302A1 (en) * 2017-01-31 2018-08-09 Rush Thomas Jay Blockchain data-processing engine
CN108226390A (zh) * 2017-12-08 2018-06-29 赫普科技发展(北京)有限公司 一种区块链碳排放监测装置和监测系统
CN109191287A (zh) * 2018-06-27 2019-01-11 浙江超脑时空科技有限公司 一种区块链智能合约的分片方法、装置及电子设备
CN109285071A (zh) * 2018-09-10 2019-01-29 中国银联股份有限公司 一种基于区块链的数据处理平台及数据处理方法
CN109375899A (zh) * 2018-09-25 2019-02-22 杭州趣链科技有限公司 一种形式验证Solidity智能合约的方法
CN109492402A (zh) * 2018-10-25 2019-03-19 杭州趣链科技有限公司 一种基于规则引擎的智能合约安全评测方法
CN109815098A (zh) * 2018-12-14 2019-05-28 深圳壹账通智能科技有限公司 区块链系统的性能测试方法、相应的装置及电子设备
CN109981416A (zh) * 2019-04-04 2019-07-05 中山大学 一种区块链性能检测方法与系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡文: "《一种优化的智能合约模版生成方法》", 《哈尔滨商业大学学报(自然科学版)》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021032177A1 (zh) * 2019-08-21 2021-02-25 杭州趣链科技有限公司 智能合约处理方法、系统、计算机设备和可读存储介质
US11681509B2 (en) 2019-08-21 2023-06-20 Hangzhou Qulian Technology Co., Ltd. Smart contract processing method and system, computer device, and readable storage medium
CN112035350A (zh) * 2020-08-27 2020-12-04 腾讯科技(深圳)有限公司 针对区块链系统的测试方法、装置及计算机设备
CN112035350B (zh) * 2020-08-27 2021-09-28 腾讯科技(深圳)有限公司 针对区块链系统的测试方法、装置及计算机设备
CN112564972A (zh) * 2020-12-09 2021-03-26 华东师范大学 基于Event-B方法的区块链PBFT共识算法的形式化建模和安全性验证方法
CN112564972B (zh) * 2020-12-09 2022-04-05 华东师范大学 基于Event-B方法的区块链PBFT共识算法的形式化建模和安全性验证方法
CN117574320A (zh) * 2024-01-15 2024-02-20 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机可读介质及电子设备
CN117574320B (zh) * 2024-01-15 2024-04-26 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机可读介质及电子设备

Also Published As

Publication number Publication date
US20220171607A1 (en) 2022-06-02
CN110543407B (zh) 2021-11-05
WO2021032177A1 (zh) 2021-02-25
JP7394213B2 (ja) 2023-12-07
US11681509B2 (en) 2023-06-20
JP2022545250A (ja) 2022-10-26

Similar Documents

Publication Publication Date Title
CN110543407B (zh) 一种Solidity智能合约性能静态分析方法
Semeráth et al. A graph solver for the automated generation of consistent domain-specific models
Marre et al. Test sequences generation from lustre descriptions: Gatel
CN111125716B (zh) 一种以太坊智能合约漏洞检测方法及装置
CN110737899A (zh) 一种基于机器学习的智能合约安全漏洞检测方法
CN109753288A (zh) 一种适用于形式化验证的智能合约编译方法
CN106503496A (zh) 基于操作码替换与合并的Python脚本程序防逆转方法
CN103150200A (zh) 一种计算机语言转换系统及c语言到msvl语言的转换方法
CN110196720B (zh) 一种Simulink生成动态链接库的优化方法
CN102375895B (zh) 一种自动构建器件模型参数优化提取过程的方法
CN110147235A (zh) 一种源代码与二进制代码间的语义比对方法和装置
Huber et al. Combined WCET analysis of bitcode and machine code using control-flow relation graphs
CN103455362A (zh) 一种硬件语言自动转换系统
Albert et al. Resource analysis driven by (conditional) termination proofs
CN104216703A (zh) 嵌入式软件系统程序的开发方法
CN114153422A (zh) 一种基于形式化模型的智能合约代码设计生成方法及系统
Grigoraş et al. Aspect driven compilation for dataflow designs
Jilani et al. A search based test data generation approach for model transformations
Alias et al. Algorithm recognition based on demand-driven dataflow analysis
CN104731705B (zh) 一种基于复杂网络的脏数据传播路径发现方法
CN114510414B (zh) 一种基于符号执行对智能合约功能属性进行形式化验证的方法及系统
CN116401670A (zh) 一种无源码场景下的漏洞补丁存在性检测方法及系统
CN115310095A (zh) 一种区块链智能合约混合形式化验证方法及系统
Riviere et al. Reflexive Event-B: semantics and correctness the EB4EB framework
CN114153435A (zh) 一种用于智能合约代码设计生成的eb2s系统及使用方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant