CN109146413A - 一种基于区块链的智能合约的构建方法 - Google Patents
一种基于区块链的智能合约的构建方法 Download PDFInfo
- Publication number
- CN109146413A CN109146413A CN201810872545.XA CN201810872545A CN109146413A CN 109146413 A CN109146413 A CN 109146413A CN 201810872545 A CN201810872545 A CN 201810872545A CN 109146413 A CN109146413 A CN 109146413A
- Authority
- CN
- China
- Prior art keywords
- contract
- block chain
- code
- participant
- 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
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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Finance (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于区块链技术领域,公开了一种不可篡改且可靠性高的基于区块链的智能合约的构建方法,包括智能合约的创建步骤和智能合约的执行步骤;智能合约的创建步骤包括:S100.接收参与方提交的合约创建申请;S200.根据步骤S100中的合约创建申请生成合约和合约记录;S300.将合约发送至步骤S100中的参与方;S400.参与方分别用自身私钥对合约进行签名;S500.存储经参与方签名的合约,在区块链发布合约的信息;智能合约的执行步骤包括:P100.设置合约定期检查,逐条遍历合约内包含的状态、事务和触发条件;P200.当事务满足触发条件,创建合约事务记录,将合约事务记录发布至区块链中并执行事务。
Description
技术领域
本发明属于区块链技术领域,具体涉及一种基于区块链的智能合约的构建方法。
背景技术
合约,指两方面或几方面在办理某事时,为了确定各自的权利和义务而订立的共同遵守的条文。
传统合约是写在纸上的,签字盖章之后才会生效,合约的执行过程由很多控制协议构成,控制协议包括表格账单等记录的保存以及记录的审核与协商,记录的审核与协商通常需要第三方的参与,而合约的执行效能只能通过法律和武力保证。
随着信息技术的发展,通过计算机、互联网和密码理论等技术减少合约指定、控制及执行的成本逐渐成为一种新的发展趋势。1997年,Nick Szabo引入“智能合约”的概念:智能合约把合约条款嵌入到软、硬件中,通过协议与用户接口来促进合约的执行,它是我们在互联网中形成安全、数字化关系的关键。也就是说,在计算机界里,合约是通过代码的形式实现的。数字化的合约,存在着是否有效、容易被否认、可能会被篡改及被黑客攻击的风险,因此数字化的合约始终可信度不高。如果执行过程中被人恶意篡改或干预,执行的结果将会偏离合约的本意。
发明内容
为了解决现有技术存在的上述问题,本发明目的在于提供一种不可篡改且可靠性高的基于区块链的智能合约的构建方法。
本发明所采用的技术方案为:
一种基于区块链的智能合约的构建方法,包括智能合约的创建步骤和智能合约的执行步骤;
所述智能合约的创建步骤的具体过程为:
S100.接收参与方提交的合约创建申请;合约创建申请中包括参与方的合约标的以及合约标的状态;
S200.根据步骤S100中的合约创建申请生成合约和合约记录,所述合约包含任务、规则以及触发条件;
S300.将合约发送至步骤S100中的参与方;
S400.参与方分别用自身私钥对合约进行签名;
S500.存储经参与方签名的合约,在区块链发布所述合约的信息;
所述智能合约的执行步骤的具体过程为:
P100.设置合约定期检查,逐条遍历合约内包含的状态、事务和触发条件;
P200.当事务满足触发条件,创建合约事务记录,将所述合约事务记录发布至区块链中并执行所述事务。
进一步地,所述步骤S500的具体过程如下:
S510.在服务器上存储经参与方签名的合约;
S520.经签名的合约在区块链中发布,区块链中参与该合约制定的参与方都收到一份合约并生成合约记录,将所述合约记录保存在区块中。
进一步地,所述步骤S520中,所述合约记录包括与合约记录对应的时间戳。
进一步地,所述步骤S520中,在区块链中发布合约的具体过程为:
S521.发送合约代码至区块链节点;
S522.区块链节点接收到合约代码后,判断智能合约代码是否是源代码形式合约:
若是,则调用编译模块编译合约代码,生成二进制合约代码,将二进制合约代码发布到区块链上;
若不是,则解析合约代码,将解析后的合约代码调用编译模块编译合约代码,生成二进制合约代码,将二进制合约代码发布到区块链上。
进一步地,在所述步骤S521之前,预先在区块链节点内部集成编译模块。
进一步地,所述预先在区块链节点内部集成编译模块的具体过程为:
获取编译器源代码,在编译器源代码中提取编译器模块代码;
将提到的编译器模块代码集成进区块链节点对应的以太坊代码,完成在区块链节点内部集成编译模块。
进一步地,所述合约标的包括智能合约的执行步骤涉及的数字资产。
本发明的有益效果为:
本发明通过将经参与方签名的合约发布至区块链上,避免了智能合约的恶意篡改;同时参与方不用担心***在合约的触发条件满足时合约不会被执行。
具体实施方式
下面结合具体实施例对本发明做进一步阐释。
实施例1:
本实施例提供一种基于区块链的智能合约的构建方法,包括智能合约的创建步骤和智能合约的执行步骤;
所述智能合约的创建步骤的具体过程为:
S100.接收参与方提交的合约创建申请;合约创建申请中包括参与方的合约标的以及合约标的状态;
S200.根据步骤S100中的合约创建申请生成合约和合约记录,所述合约包含任务、规则以及触发条件;
S300.将合约发送至步骤S100中的参与方;
S400.参与方分别用自身私钥对合约进行签名;
S500.存储经参与方签名的合约,在区块链发布所述合约的信息;
所述智能合约的执行步骤的具体过程为:
P100.设置合约定期检查,逐条遍历合约内包含的状态、事务和触发条件;
P200.当事务满足触发条件,创建合约事务记录,将所述合约事务记录发布至区块链中并执行所述事务。
以两个参与者为例说明本智能合约的构建方法的原理。参与者一和参与者二在区块链上通过智能合约约定对某数字资产的权属从参与者一转移到参与者二,转移的触发条件是参与者二向参与者一在区块链上支付一定数量的数字货币。首先,参与者一将数字资产抵押到智能合约中,具体方式是将行为动作和自己掌握的私钥进行数字签名后发送到区块链上;其次,参与者二将数字货币通过该智能合约发送给参与者一,具体方式同样是将该行为动作和自己掌握的私钥进行数字签名后发送到区块链上。区块链上其他节点对上述行为动作、数字签名进行验证,通过后即认可了这笔交易。
具体地,本实施例中的步骤S500的具体过程如下:
S510.在服务器上存储经参与方签名的合约;
S520.经签名的合约在区块链中发布,区块链中参与该合约制定的参与方都收到一份合约并生成合约记录,将所述合约记录保存在区块中。
进一步地,在步骤S520中,所述合约记录包括与合约记录对应的时间戳。
更进一步地,步骤S520中,在区块链中发布合约的具体过程为:
S521.发送合约代码至区块链节点;
S522.区块链节点接收到合约代码后,判断智能合约代码是否是源代码形式合约:
若是,则调用编译模块编译合约代码,生成二进制合约代码,将二进制合约代码发布到区块链上;
若不是,则解析合约代码,将解析后的合约代码调用编译模块编译合约代码,生成二进制合约代码,将二进制合约代码发布到区块链上。
用户可通过查看合约的源代码,提高了发布到区块链上的合约的可靠性和安全性,也能及时对合约的功能进行判断。
优选地,本实施例中,在所述步骤S521之前,预先在区块链节点内部集成编译模块。
具体地,预先在区块链节点内部集成编译模块的具体过程为:
获取编译器源代码,在编译器源代码中提取编译器模块代码;
将提到的编译器模块代码集成进区块链节点对应的以太坊代码,完成在区块链节点内部集成编译模块。
所述合约标的包括智能合约的执行步骤涉及的数字资产。
本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。
Claims (7)
1.一种基于区块链的智能合约的构建方法,其特征在于:包括智能合约的创建步骤和智能合约的执行步骤;
所述智能合约的创建步骤的具体过程为:
S100.接收参与方提交的合约创建申请;合约创建申请中包括参与方的合约标的以及合约标的状态;
S200.根据步骤S100中的合约创建申请生成合约和合约记录,所述合约包含任务、规则以及触发条件;
S300.将合约发送至步骤S100中的参与方;
S400.参与方分别用自身私钥对合约进行签名;
S500.存储经参与方签名的合约,在区块链发布所述合约的信息;
所述智能合约的执行步骤的具体过程为:
P100.设置合约定期检查,逐条遍历合约内包含的状态、事务和触发条件;
P200.当事务满足触发条件,创建合约事务记录,将所述合约事务记录发布至区块链中并执行所述事务。
2.根据权利要求1所述的一种基于区块链的智能合约的构建方法,其特征在于:所述步骤S500的具体过程如下:
S510.在服务器上存储经参与方签名的合约;
S520.经签名的合约在区块链中发布,区块链中参与该合约制定的参与方都收到一份合约并生成合约记录,将所述合约记录保存在区块中。
3.根据权利要求2所述的一种基于区块链的智能合约的构建方法,其特征在于:所述步骤S520中,所述合约记录包括与合约记录对应的时间戳。
4.根据权利要求2所述的一种基于区块链的智能合约的构建方法,其特征在于:所述步骤S520中,在区块链中发布合约的具体过程为:
S521.发送合约代码至区块链节点;
S522.区块链节点接收到合约代码后,判断智能合约代码是否是源代码形式合约:
若是,则调用编译模块编译合约代码,生成二进制合约代码,将二进制合约代码发布到区块链上;
若不是,则解析合约代码,将解析后的合约代码调用编译模块编译合约代码,生成二进制合约代码,将二进制合约代码发布到区块链上。
5.根据权利要求4所述的一种基于区块链的智能合约的构建方法,其特征在于:在所述步骤S521之前,预先在区块链节点内部集成编译模块。
6.根据权利要求5所述的一种基于区块链的智能合约的构建方法,其特征在于:所述预先在区块链节点内部集成编译模块的具体过程为:
获取编译器源代码,在编译器源代码中提取编译器模块代码;
将提到的编译器模块代码集成进区块链节点对应的以太坊代码,完成在区块链节点内部集成编译模块。
7.根据权利要求1-6任一项所述的一种基于区块链的智能合约的构建方法,其特征在于:所述合约标的包括智能合约的执行步骤涉及的数字资产。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810872545.XA CN109146413A (zh) | 2018-08-02 | 2018-08-02 | 一种基于区块链的智能合约的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810872545.XA CN109146413A (zh) | 2018-08-02 | 2018-08-02 | 一种基于区块链的智能合约的构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109146413A true CN109146413A (zh) | 2019-01-04 |
Family
ID=64799463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810872545.XA Pending CN109146413A (zh) | 2018-08-02 | 2018-08-02 | 一种基于区块链的智能合约的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109146413A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766722A (zh) * | 2019-01-22 | 2019-05-17 | 苏州同济区块链研究院有限公司 | 一种区块链中构建智能合约的方法及其*** |
CN110780847A (zh) * | 2019-10-15 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 随机数生成方法、随机数生成装置及电子设备 |
CN110796459A (zh) * | 2020-01-03 | 2020-02-14 | 支付宝(杭州)信息技术有限公司 | 基于协议栈的合约处理***、方法以及装置 |
CN112214552A (zh) * | 2020-11-05 | 2021-01-12 | 深圳市瀚兰区块链地产有限公司 | 一种建设工程施工智能合同执行方法、装置和电子设备 |
CN113344535A (zh) * | 2021-06-21 | 2021-09-03 | 上海计算机软件技术开发中心 | 一种基于区块链的软件开发外包控制***及实现方法 |
CN113472512A (zh) * | 2021-06-10 | 2021-10-01 | 东软集团股份有限公司 | 智能合约执行方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809062A (zh) * | 2016-03-01 | 2016-07-27 | 布比(北京)网络技术有限公司 | 一种合约构建、执行方法及装置 |
CN107103473A (zh) * | 2017-04-27 | 2017-08-29 | 电子科技大学 | 一种基于区块链的智能合约实现方法 |
CN107943469A (zh) * | 2017-11-17 | 2018-04-20 | 深圳圣马歌科技有限公司 | 一种智能合约的发布方法及装置 |
-
2018
- 2018-08-02 CN CN201810872545.XA patent/CN109146413A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809062A (zh) * | 2016-03-01 | 2016-07-27 | 布比(北京)网络技术有限公司 | 一种合约构建、执行方法及装置 |
CN107103473A (zh) * | 2017-04-27 | 2017-08-29 | 电子科技大学 | 一种基于区块链的智能合约实现方法 |
CN107943469A (zh) * | 2017-11-17 | 2018-04-20 | 深圳圣马歌科技有限公司 | 一种智能合约的发布方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766722A (zh) * | 2019-01-22 | 2019-05-17 | 苏州同济区块链研究院有限公司 | 一种区块链中构建智能合约的方法及其*** |
CN109766722B (zh) * | 2019-01-22 | 2020-11-10 | 苏州同济区块链研究院有限公司 | 一种区块链中构建智能合约的方法 |
CN110780847A (zh) * | 2019-10-15 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 随机数生成方法、随机数生成装置及电子设备 |
CN110780847B (zh) * | 2019-10-15 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 随机数生成方法、随机数生成装置及电子设备 |
CN110796459A (zh) * | 2020-01-03 | 2020-02-14 | 支付宝(杭州)信息技术有限公司 | 基于协议栈的合约处理***、方法以及装置 |
CN110796459B (zh) * | 2020-01-03 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 基于协议栈的合约处理***、方法以及装置 |
CN112214552A (zh) * | 2020-11-05 | 2021-01-12 | 深圳市瀚兰区块链地产有限公司 | 一种建设工程施工智能合同执行方法、装置和电子设备 |
CN113472512A (zh) * | 2021-06-10 | 2021-10-01 | 东软集团股份有限公司 | 智能合约执行方法、装置、存储介质及电子设备 |
CN113344535A (zh) * | 2021-06-21 | 2021-09-03 | 上海计算机软件技术开发中心 | 一种基于区块链的软件开发外包控制***及实现方法 |
CN113344535B (zh) * | 2021-06-21 | 2023-02-28 | 上海计算机软件技术开发中心 | 一种基于区块链的软件开发外包控制***及实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109146413A (zh) | 一种基于区块链的智能合约的构建方法 | |
Si et al. | IoT information sharing security mechanism based on blockchain technology | |
CN109040271B (zh) | 一种分布式环境下的网络设备完整性保护方法 | |
Tian et al. | A blockchain-based machine learning framework for edge services in IIoT | |
CN108876599B (zh) | 一种扶贫贷款管理*** | |
CN107103473A (zh) | 一种基于区块链的智能合约实现方法 | |
CN106919419A (zh) | 区块链上的智能合约程序的更新方法及装置 | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
US20220067730A1 (en) | Data processing method and device and computer-readable storage medium | |
Zhang et al. | A reliable data-transmission mechanism using blockchain in edge computing scenarios | |
KR102179498B1 (ko) | Did 기반의 스마트 모임 통장 서비스 제공 방법 및 그 시스템 | |
CN109995737B (zh) | 去中心化的数字证书管理方法及装置、节点、*** | |
CN112910870B (zh) | 基于区块链的协同隐私计算数据通信方法 | |
Jiang et al. | Security analysis of mandatory access control model | |
CN113569263A (zh) | 跨私域数据的安全处理方法、装置及电子设备 | |
CN112115204A (zh) | 一种基于区块链技术的多方安全计算实现方法 | |
Alexander et al. | Cybersecurity, information assurance, and big data based on blockchain | |
US20230208640A1 (en) | Selective audit process for privacy-preserving blockchain | |
JP2002529778A (ja) | 共有無作為性の分散暗号化への組み込み | |
Ge et al. | Accio: Variable-Amount, Optimized-Unlinkable and NIZK-Free Off-Chain Payments via Hubs | |
CN115729994B (zh) | 一种公共数据开发利用的一体化大数据应用方法 | |
Du et al. | Anti-collusion multiparty smart contracts for distributed watchtowers in payment channel networks | |
Singh et al. | Implementation of proof-of-work using ganache | |
CN115632774A (zh) | 一种基于门限签名的分布式预言机实现方法及*** | |
CN113014540B (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: 20190104 |
|
RJ01 | Rejection of invention patent application after publication |