CN113327109A - 一种区块链智能合约构建方法 - Google Patents
一种区块链智能合约构建方法 Download PDFInfo
- Publication number
- CN113327109A CN113327109A CN202110659764.1A CN202110659764A CN113327109A CN 113327109 A CN113327109 A CN 113327109A CN 202110659764 A CN202110659764 A CN 202110659764A CN 113327109 A CN113327109 A CN 113327109A
- Authority
- CN
- China
- Prior art keywords
- contract
- intelligent contract
- code
- file
- intelligent
- 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.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims abstract description 8
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000012790 confirmation Methods 0.000 claims abstract description 9
- 238000012795 verification Methods 0.000 claims abstract description 6
- 238000007689 inspection Methods 0.000 claims description 8
- 238000004088 simulation Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000012552 review Methods 0.000 claims description 3
- 241000220010 Rhode Species 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 abstract description 2
- 230000002427 irreversible effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Human Resources & Organizations (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种区块链智能合约构建方法,包括以下步骤:步骤一,合约编写;步骤二,审查验证;步骤三,转化编译;步骤四,合约加密;步骤五,合约布署;步骤六,验证确认;步骤七,合约执行;本发明通过对智能合约代码进行自我审查、工具审查、他人审查以及软件模拟测试等多种方法相结合的方式进行检查,有效的避免了代码错误的情况出现,避免了漏洞被不法分子利用的情况出现,提升了智能合约交易的安全性,通过在智能合约执行之前将相互验证文件和确认文件发送给双方,有利于减少合约执行过程中产生的纠纷和矛盾,并且降低了违约的风险,通过数字加密算法以及安全管理***的设立,有利于数据的隐私保护。
Description
技术领域
本发明涉及区块链技术领域,具体为一种区块链智能合约构建方法。
背景技术
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转,现今市场上的区块链智能合约构建方法有较多优点,但是依然存在一定的不足之处,具体问题有以下几点:
(1)现有的区块链智能合约在代码编写过程中较为繁杂,检查不仔细则会出现错误和漏洞,这些漏洞会被不法分子利用,降低了合约交易的安全性;
(2)现有的区块链智能合约主张公开透明和不可逆,只要满足条件即可执行,不可逆是一把双刃剑,极易产生纠纷和矛盾,同样会带来一定的风险,从而造成不必要的麻烦;
(3)现有的区块链智能合约在布署和调用的过程中均是公开透明的,容易造成不必要的隐私泄露问题,甚至会出现信息安全问题,给交易双方造成损失。
发明内容
本发明的目的在于提供一种区块链智能合约构建方法,以解决上述背景技术中提出代码错误、容易产生纠纷以及隐私暴露的问题。
为实现上述目的,本发明提供如下技术方案:一种区块链智能合约构建方法,包括以下步骤:步骤一,合约编写;步骤二,审查验证;步骤三,转化编译;步骤四,合约加密;步骤五,合约布署;步骤六,验证确认;步骤七,合约执行;
其中在上述步骤一中,首先根据功能和需求利用高级编程语言进行智能合约的代码编写;
其中在上述步骤二中,当步骤一种的合约代码编写完成后利用审查工具和审查方法进行自我审查,自我审查完成后和专业的评审人员进行联合逐行审查,最后利用模拟软件进行模拟,找出并且修改代码中的bug,形成以.sol为后缀的智能合约代码文件;
其中在上述步骤三中,将步骤二中审查修改完成的智能合约代码文件通过编译器根据特定的文法规则编译成可执行的二进制合约文件;
其中在上述步骤四中,利用数学加密算法对步骤三中得到的可执行的二进制合约文件进行加密,并且建立可信的安全管理***;
其中在上述步骤五中,利用以太坊客户端将步骤四中加密后的智能合约代码上传布署到以太坊的区块链上,随后合约代码将存储在以太坊区块链上,即智能合约被发送到所有连接网络的设备上;
其中在上述步骤六中,当网络中的用户调用步骤五中已经布署的智能合约时,安全管理***会对调用者的公钥和访问证书进行审查验证,验证访问证书是否正确,验证完成后启动虚拟机执行下一步操作;
其中在上述步骤七中,步骤六中的虚拟机启动后给交易双方发送一份相互验证文件以及合约确认文件,随后交易双方分别利用各自私钥进行确认,节点接收到交易确认后,其中的EVM会执行对应的合约代码,从而达成合约。
优选的,所述步骤一中,高级编程语言为Solidity。
优选的,所述步骤二中,代码审查工具为CodeStriker、RhodeCode、Codebrag、Phabricator、Codifferous、Getbarkeep、Crucible和Code Review Tool的其中一种或者多种,审查方法为检查表和台面审查。
优选的,所述步骤三中,编译器为solc编译器,智能合约代码编译后为EVM字节码。
优选的,所述步骤五中,布署过程中用户需要利用个人私钥对即将布署的合约进行签名,同时布署完成后用户获得合约的地址以及调用合约所需要的接口。
优选的,所述步骤六中,调用时采用web3.js库所提供的JavaScript API接口来调用合约。
优选的,所述步骤七中,相互验证文件主要包括智能合约执行条件、智能合约执行步骤以及数字资产。
与现有技术相比,本发明的有益效果是:
1.本发明通过对智能合约代码进行自我审查、工具审查、他人审查以及软件模拟测试等多种方法相结合的方式进行检查,有效的避免了代码错误的情况出现,避免了漏洞被不法分子利用的情况出现,提升了智能合约交易的安全性;
2.本发明通过在智能合约执行之前将相互验证文件和确认文件发送给双方,有利于减少合约执行过程中产生的纠纷和矛盾,并且降低了违约的风险;
3.本发明通过数字加密算法以及安全管理***的设立,有利于数据的隐私保护,避免了隐私泄露的情况发生。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供的一种实施例:一种区块链智能合约构建方法,包括以下步骤:步骤一,合约编写;步骤二,审查验证;步骤三,转化编译;步骤四,合约加密;步骤五,合约布署;步骤六,验证确认;步骤七,合约执行;
其中在上述步骤一中,首先根据功能和需求利用高级编程语言进行智能合约的代码编写,且高级编程语言为Solidity;
其中在上述步骤二中,当步骤一种的合约代码编写完成后利用审查工具和审查方法进行自我审查,自我审查完成后和专业的评审人员进行联合逐行审查,最后利用模拟软件进行模拟,且代码审查工具为CodeStriker、RhodeCode、Codebrag、Phabricator、Codifferous、Getbarkeep、Crucible和Code Review Tool的其中一种或者多种,审查方法为检查表和台面审查,找出并且修改代码中的bug,形成以.sol为后缀的智能合约代码文件;
其中在上述步骤三中,将步骤二中审查修改完成的智能合约代码文件通过编译器根据特定的文法规则编译成可执行的二进制合约文件,且编译器为solc编译器,智能合约代码编译后为EVM字节码;
其中在上述步骤四中,利用数学加密算法对步骤三中得到的可执行的二进制合约文件进行加密,并且建立可信的安全管理***;
其中在上述步骤五中,利用以太坊客户端将步骤四中加密后的智能合约代码上传布署到以太坊的区块链上,随后合约代码将存储在以太坊区块链上,即智能合约被发送到所有连接网络的设备上,且布署过程中用户需要利用个人私钥对即将布署的合约进行签名,同时布署完成后用户获得合约的地址以及调用合约所需要的接口;
其中在上述步骤六中,当网络中的用户调用步骤五中已经布署的智能合约时,且采用web3.js库所提供的JavaScript API接口来调用合约,安全管理***会对调用者的公钥和访问证书进行审查验证,验证访问证书是否正确,验证完成后启动虚拟机执行下一步操作;
其中在上述步骤七中,步骤六中的虚拟机启动后给交易双方发送一份相互验证文件以及合约确认文件,且相互验证文件主要包括智能合约执行条件、智能合约执行步骤以及数字资产,随后交易双方分别利用各自私钥进行确认,节点接收到交易确认后,其中的EVM会执行对应的合约代码,从而达成合约。
基于上述,本发明的优点在于通过自我审查、工具审查、联合审查和模拟验证等方式共同检测代码,确保代码准确无误,避免了智能合约布署后漏洞被不法分子利用的情况出现,有利于提高智能合约的安全性,同时在合约执行之前给双方发送相互验证文件以及确认文件,有利于减少智能合约执行后的矛盾和纠纷的产生,并且本方法保证了数据的隐私性,避免了隐私泄露的情况发生。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (7)
1.一种区块链智能合约构建方法,包括以下步骤:步骤一,合约编写;步骤二,审查验证;步骤三,转化编译;步骤四,合约加密;步骤五,合约布署;步骤六,验证确认;步骤七,合约执行;其特征在于:
其中在上述步骤一中,首先根据功能和需求利用高级编程语言进行智能合约的代码编写;
其中在上述步骤二中,当步骤一种的合约代码编写完成后利用审查工具和审查方法进行自我审查,自我审查完成后和专业的评审人员进行联合逐行审查,最后利用模拟软件进行模拟,找出并且修改代码中的bug,形成以.sol为后缀的智能合约代码文件;
其中在上述步骤三中,将步骤二中审查修改完成的智能合约代码文件通过编译器根据特定的文法规则编译成可执行的二进制合约文件;
其中在上述步骤四中,利用数学加密算法对步骤三中得到的可执行的二进制合约文件进行加密,并且建立可信的安全管理***;
其中在上述步骤五中,利用以太坊客户端将步骤四中加密后的智能合约代码上传布署到以太坊的区块链上,随后合约代码将存储在以太坊区块链上,即智能合约被发送到所有连接网络的设备上;
其中在上述步骤六中,当网络中的用户调用步骤五中已经布署的智能合约时,安全管理***会对调用者的公钥和访问证书进行审查验证,验证访问证书是否正确,验证完成后启动虚拟机执行下一步操作;
其中在上述步骤七中,步骤六中的虚拟机启动后给交易双方发送一份相互验证文件以及合约确认文件,随后交易双方分别利用各自私钥进行确认,节点接收到交易确认后,其中的EVM会执行对应的合约代码,从而达成合约。
2.根据权利要求1所述的一种区块链智能合约构建方法,其特征在于:所述步骤一中,高级编程语言为Solidity。
3.根据权利要求1所述的一种区块链智能合约构建方法,其特征在于:所述步骤二中,代码审查工具为CodeStriker、RhodeCode、Codebrag、Phabricator、Codifferous、Getbarkeep、Crucible和Code Review Tool的其中一种或者多种,审查方法为检查表和台面审查。
4.根据权利要求1所述的一种区块链智能合约构建方法,其特征在于:所述步骤三中,编译器为solc编译器,智能合约代码编译后为EVM字节码。
5.根据权利要求1所述的一种区块链智能合约构建方法,其特征在于:所述步骤五中,布署过程中用户需要利用个人私钥对即将布署的合约进行签名,同时布署完成后用户获得合约的地址以及调用合约所需要的接口。
6.根据权利要求1所述的一种区块链智能合约构建方法,其特征在于:所述步骤六中,调用时采用web3.js库所提供的JavaScript API接口来调用合约。
7.根据权利要求1所述的一种区块链智能合约构建方法,其特征在于:所述步骤七中,相互验证文件主要包括智能合约执行条件、智能合约执行步骤以及数字资产。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110659764.1A CN113327109A (zh) | 2021-06-15 | 2021-06-15 | 一种区块链智能合约构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110659764.1A CN113327109A (zh) | 2021-06-15 | 2021-06-15 | 一种区块链智能合约构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113327109A true CN113327109A (zh) | 2021-08-31 |
Family
ID=77420723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110659764.1A Pending CN113327109A (zh) | 2021-06-15 | 2021-06-15 | 一种区块链智能合约构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113327109A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598549A (zh) * | 2016-12-08 | 2017-04-26 | 天津米游科技有限公司 | 一种基于区块链的智能合约***及实现方法 |
CN107844704A (zh) * | 2017-11-01 | 2018-03-27 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链可信智能合约加固方法 |
CN109766722A (zh) * | 2019-01-22 | 2019-05-17 | 苏州同济区块链研究院有限公司 | 一种区块链中构建智能合约的方法及其*** |
WO2020108138A1 (zh) * | 2018-11-30 | 2020-06-04 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法 |
WO2020119391A1 (zh) * | 2018-12-12 | 2020-06-18 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的数据处理方法及*** |
CN112379727A (zh) * | 2020-11-05 | 2021-02-19 | 重庆电子工程职业学院 | 一种基于区块链的考试成绩查询展示装置及方法 |
-
2021
- 2021-06-15 CN CN202110659764.1A patent/CN113327109A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598549A (zh) * | 2016-12-08 | 2017-04-26 | 天津米游科技有限公司 | 一种基于区块链的智能合约***及实现方法 |
CN107844704A (zh) * | 2017-11-01 | 2018-03-27 | 济南浪潮高新科技投资发展有限公司 | 一种基于区块链可信智能合约加固方法 |
WO2020108138A1 (zh) * | 2018-11-30 | 2020-06-04 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法 |
WO2020119391A1 (zh) * | 2018-12-12 | 2020-06-18 | 阿里巴巴集团控股有限公司 | 一种基于区块链智能合约的数据处理方法及*** |
CN109766722A (zh) * | 2019-01-22 | 2019-05-17 | 苏州同济区块链研究院有限公司 | 一种区块链中构建智能合约的方法及其*** |
CN112379727A (zh) * | 2020-11-05 | 2021-02-19 | 重庆电子工程职业学院 | 一种基于区块链的考试成绩查询展示装置及方法 |
Non-Patent Citations (1)
Title |
---|
陈淼绚;吕佳;: "加快对区块链技术的研究和应用,构建信用社会" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108399329B (zh) | 一种提高可信应用程序安全的方法 | |
EP3564884A1 (en) | Method and system for verifying policy compliance of transactions in a blockchain executing smart contracts | |
CN102760219B (zh) | 一种Android平台软件保护***、方法及设备 | |
CN102880456B (zh) | 插件加载方法及*** | |
CN112801663B (zh) | 区块链存证方法、装置、***、设备和介质 | |
CN113489584B (zh) | 一种区块链中随机数的处理方法、装置和电子设备 | |
CN104283860A (zh) | 一种基于代码签名的elf文件鉴别方法和装置 | |
WO2023029447A1 (zh) | 模型保护方法、装置、设备、***以及存储介质 | |
CN112231702B (zh) | 应用保护方法、装置、设备及介质 | |
WO2019178763A1 (zh) | 一种证书导入方法及终端 | |
CN111045722B (zh) | 智能合约打包方法、装置、***、计算机设备及存储介质 | |
CN115964684A (zh) | 检测电子档案元数据真实性的方法、***、设备及介质 | |
CN106888094B (zh) | 一种签名方法及服务器 | |
CN105873030A (zh) | 一种对终端应用进行副署签名的方法 | |
CN109902500B (zh) | 一种通过链接库实现业务调用数据安全的方法及*** | |
CN113032800A (zh) | 一种基于零知识证明的链上自动执行智能合约中间件*** | |
CN113327109A (zh) | 一种区块链智能合约构建方法 | |
EP4365808A1 (en) | Data verification method and apparatus | |
CN115048630A (zh) | 应用程序的完整性校验方法及装置、存储介质及电子设备 | |
CN114329567A (zh) | 投标文件生成方法、校验方法、电子设备及介质 | |
CN113360575A (zh) | 联盟链中交易数据的监管方法、装置、设备及存储介质 | |
CN109886043B (zh) | 用于生成区块链参与方的组织凭证的方法和装置 | |
Lloyd et al. | Security analysis of a biometric authentication system using UMLsec and JML | |
DONG et al. | Sesoa: Security enhancement system with online authentication for android apk | |
CN112906073A (zh) | 一种区块链机密计算通用模型的实现方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210831 |
|
RJ01 | Rejection of invention patent application after publication |