[发明专利]对智能合约的执行进行资源扣除的方法和处理器有效
申请号: | 202010713739.2 | 申请日: | 2020-07-23 |
公开(公告)号: | CN111738710B | 公开(公告)日: | 2020-12-01 |
发明(设计)人: | 郭学鹏;赵宽;郭任;郭宇波;高海源;任麒斌;黄祖城;张磊;潘国振;魏长征;陈志坚;闫莺 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06Q20/12 | 分类号: | G06Q20/12;G06F9/50 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 张静娟;周良玉 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 执行 进行 资源 扣除 方法 处理器 | ||
本说明书实施例提供了一种对智能合约的执行进行资源扣除的方法和处理器,所述方法由处理器执行,所述处理器中包括专用寄存器,所述专用寄存器中存储有用于执行所述智能合约的第一资源余额,所述方法包括:读取第一扩展指令,所述第一扩展指令中包括与所述预定代码集合对应的扣除资源额度,基于所述第一扩展指令进行以下操作:从所述专用寄存器读取所述第一资源余额;将所述第一资源余额与所述扣除资源额度比较;在所述比较的结果为第一资源余额大于等于所述扣除资源额度的情况中,将第一资源余额与所述扣除资源额度相减,以获取第二资源余额;将所述第二资源余额存入所述专用寄存器中。
技术领域
本说明书实施例涉及区块链技术领域,更具体地,涉及一种对智能合约的执行进行资源扣除的方法和处理器、计算设备及计算机数字信号。
背景技术
在区块链中,当在虚拟机中执行智能合约之前,通常需要从相应账户中扣除预定数量的燃料(GAS),以作为用于执行预定操作所支付的代价。当前,在对智能合约中的包括一条或多条指令的基本块进行GAS扣费时,基本流程包括:判断分配给该智能合约的GAS余额是否大于等于在编译时确定的该基本块的GAS消耗值,如果大于等于,则进行与该基本块对应的GAS扣费,然后执行该基本块中的所有指令,如果小于,则终止对智能合约的执行。然而,在现有技术中,通过使用处理器的多个通用指令来执行上述GAS扣费操作,而在执行智能合约的过程中,所述GAS扣费为热点操作(即,频繁进行的操作),因此,使用多个通用指令执行GAS扣费操作影响了智能合约的执行效率。
因此,需要一种更有效的对智能合约的执行进行资源扣除的方案。
发明内容
本说明书实施例旨在提供一种更有效的对智能合约的执行进行资源扣除的方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种对智能合约的执行进行资源扣除的方法,所述方法由处理器执行,所述处理器中包括专用寄存器,所述专用寄存器中存储有用于执行所述智能合约的第一资源余额,所述方法包括:
读取第一扩展指令,所述第一扩展指令中包括与所述预定代码集合对应的扣除资源额度,基于所述第一扩展指令进行以下操作:
从所述专用寄存器读取所述第一资源余额;
将所述第一资源余额与所述扣除资源额度比较;
在所述比较的结果为第一资源余额大于等于所述扣除资源额度的情况中,将第一资源余额与所述扣除资源额度相减,以获取第二资源余额;
将所述第二资源余额存入所述专用寄存器中。
在一种实施方式中,所述处理器中还包括第一通用寄存器,所述第一通用寄存器中在执行所述智能合约之前存储有用于执行所述智能合约的第三资源余额,所述方法还包括:
在执行所述智能合约之前,读取第二扩展指令,所述第二扩展指令中包括第一通用寄存器的标识;
从所述第一通用寄存器读取所述第三资源余额;
将所述第三资源余额存入所述专用寄存器。
在一种实施方式中,所述处理器中还包括第二通用寄存器,所述方法还包括:
在执行完所述智能合约之后,读取第三扩展指令,所述第三扩展指令中包括第二通用寄存器的标识;
从所述专用寄存器读取当前的第四资源余额;
将所述第四资源余额存入所述第二通用寄存器。
在一种实施方式中,所述处理器中还包括状态寄存器,所述方法还包括,在所述比较的结果为第一资源余额小于所述扣除资源额度的情况中,结束对所述智能合约的执行,并在所述状态寄存器中对余额不足的状态进行记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010713739.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:双端口电路网络和孤立电路的建模方法
- 下一篇:一种黑水虻一体化养殖设备