[发明专利]区块链智能合约方法、电子设备、计算机可读存储介质及区块链系统在审
申请号: | 202010920884.8 | 申请日: | 2020-09-04 |
公开(公告)号: | CN112085600A | 公开(公告)日: | 2020-12-15 |
发明(设计)人: | 徐皓 | 申请(专利权)人: | 芜湖明轩科技有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06Q20/40;G06F21/64 |
代理公司: | 芜湖安汇知识产权代理有限公司 34107 | 代理人: | 钟雪 |
地址: | 241000 安徽省芜湖*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 智能 合约 方法 电子设备 计算机 可读 存储 介质 系统 | ||
本发明提供了一种区块链的智能合约方法,包括:S1、节点接收用户提交的智能交易或其它节点传送的区块,区块中包含智能交易;S2、节点执行智能交易中所有智能合约调用,智能合约向该交易添加输入项;S3、节点验证该智能交易的合法性,包括在所有智能合约调用执行结束后验证交易的完整性;S4、若验证结果为交易合法,则接受该智能交易,否则拒绝该智能交易;智能交易是包含智能合约调用的交易,智能交易可在交易的输出项中定义用户期望;能合约以提供恰当的输入来满足用户想要的结果。矿工验证智能合约所提供的输入是否满足用户想要的结果。在合同法的意义上,这相当于验证双方意思是否一致。只有通过验证的交易才会被区块链所接受。
技术领域
本发明涉及区块链技术领域,具体涉及一种区块链智能合约方法、电子设备、计算机可读存储介质及区块链系统。
背景技术
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。区块链技术不仅可以支持可编程合约,而且具有去中心化、不可篡改、过程透明可追踪等优点,天然适合于智能合约。以太坊是第一个支持图灵完备智能合约的区块链。
区块链智能合约是部署在区块链上的程序和数据,用户通过向区块链节点(矿工)发送包含调用智能合约的交易触发智能合约程序的执行。
矿工收到交易后,执行所调用智能合约程序,若智能合约程序返回表示成功的执行结果,矿工将该交易打包进区块,将区块添加进区块链。发送交易的用户除了提供智能合约调用参数外,对于智能合约的执行结果没有任何控制。而合约开发者所部署的智能合约可能存在错误,甚至可能是恶意代码。如果由于调用者对智能合约存在理解错误,或者智能合约本身存在错误或恶意,导致执行结果不符合调用者预期,调用者也只能接受,因为一旦智能合约执行成功,调用者无法阻止矿工将交易添加进区块,成为区块链记录的一部分,而区块链记录是不可更改、不可撤销的。
发明内容
本发明提出一种区块链智能合约方法,旨在改善上述问题。
本发明是这样实现的,一种区块链的智能合约方法,所述方法具体包括如下步骤:
S1、节点接收智能交易或区块,区块中包含智能交易;
S2、节点执行智能交易中所有智能合约调用,智能合约向该交易添加输入项,或者是向该交易添加输入项和向该交易和/或当前币基交易添加输出项;
S3、节点验证该智能交易的合法性,交易的合法性验证包括在所有智能合约调用执行结束后验证交易的完整性;
S4、若验证结果为交易合法,则接受该智能交易,否则拒绝该智能交易;
智能交易是包含智能合约调用的交易,智能交易可在交易的输出项中定义智能交易创建者的期望;
若节点接收的是智能交易,接受智能交易即将该交易打包添加进当前区块中;拒绝智能交易即是放弃该智能交易;
若节点接收的是区块,拒绝智能交易即是放弃该区块。
进一步的,节点使用虚拟机解释执行该智能合约的程序,该虚拟机的指令集中包括:花费指令,虚拟机解释执行所述花费指令的方法包括以下步骤:向智能交易的输入列表添加输入项。
进一步的,虚拟机的指令集中包括至少以下一种指令:支付指令,造币指令;
虚拟机解释执行所述支付指令的方法包括以下步骤:向智能交易的输出列表中添加一个输出项;
虚拟机解释执行所述造币指令的方法包括以下步骤:向当前区块币基交易的输出列表中添加一个输出项。
进一步的,所述输出项中的脚本为另一个智能合约调用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芜湖明轩科技有限公司,未经芜湖明轩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010920884.8/2.html,转载请声明来源钻瓜专利网。