【技术实现步骤摘要】
对智能合约的执行进行资源扣除的方法和处理器
本说明书实施例涉及区块链
,更具体地,涉及一种对智能合约的执行进行资源扣除的方法和处理器、计算设备及计算机数字信号。
技术介绍
在区块链中,当在虚拟机中执行智能合约之前,通常需要从相应账户中扣除预定数量的燃料(GAS),以作为用于执行预定操作所支付的代价。当前,在对智能合约中的包括一条或多条指令的基本块进行GAS扣费时,基本流程包括:判断分配给该智能合约的GAS余额是否大于等于在编译时确定的该基本块的GAS消耗值,如果大于等于,则进行与该基本块对应的GAS扣费,然后执行该基本块中的所有指令,如果小于,则终止对智能合约的执行。然而,在现有技术中,通过使用处理器的多个通用指令来执行上述GAS扣费操作,而在执行智能合约的过程中,所述GAS扣费为热点操作(即,频繁进行的操作),因此,使用多个通用指令执行GAS扣费操作影响了智能合约的执行效率。因此,需要一种更有效的对智能合约的执行进行资源扣除的方案。
技术实现思路
本说明书实施例旨在提供一种更有效的对智能合 ...
【技术保护点】
1.一种对智能合约的执行进行资源扣除的方法,所述方法由计算设备中的处理器执行,所述处理器中包括专用寄存器,所述专用寄存器中存储有用于执行所述智能合约的第一资源余额,所述方法包括:/n读取第一扩展指令,所述第一扩展指令中包括与智能合约中的预定代码集合对应的扣除资源额度,基于所述第一扩展指令进行以下操作:/n从所述专用寄存器读取所述第一资源余额;/n将所述第一资源余额与所述扣除资源额度比较;/n在所述比较的结果为第一资源余额大于等于所述扣除资源额度的情况中,将第一资源余额与所述扣除资源额度相减,以获取第二资源余额;/n将所述第二资源余额存入所述专用寄存器中。/n
【技术特征摘要】
1.一种对智能合约的执行进行资源扣除的方法,所述方法由计算设备中的处理器执行,所述处理器中包括专用寄存器,所述专用寄存器中存储有用于执行所述智能合约的第一资源余额,所述方法包括:
读取第一扩展指令,所述第一扩展指令中包括与智能合约中的预定代码集合对应的扣除资源额度,基于所述第一扩展指令进行以下操作:
从所述专用寄存器读取所述第一资源余额;
将所述第一资源余额与所述扣除资源额度比较;
在所述比较的结果为第一资源余额大于等于所述扣除资源额度的情况中,将第一资源余额与所述扣除资源额度相减,以获取第二资源余额;
将所述第二资源余额存入所述专用寄存器中。
2.根据权利要求1所述的方法,所述处理器中还包括第一通用寄存器,所述第一通用寄存器中在执行所述智能合约之前存储有用于执行所述智能合约的第三资源余额,所述方法还包括:
在执行所述智能合约之前,读取第二扩展指令,所述第二扩展指令中包括第一通用寄存器的标识,基于所述第二扩展指令进行以下操作:
从所述第一通用寄存器读取所述第三资源余额;
将所述第三资源余额存入所述专用寄存器。
3.根据权利要求1或2所述的方法,所述处理器中还包括第二通用寄存器,所述方法还包括:
在执行完所述智能合约之后,读取第三扩展指令,所述第三扩展指令中包括第二通用寄存器的标识,基于所述第三扩展指令进行以下操作:
从所述专用寄存器读取当前的第四资源余额;
将所述第四资源余额存入所述第二通用寄存器。
4.根据权利要求1所述的方法,所述处理器中还包括状态寄存器,所述方法还包括,在所述比较的结果为第一资源余额小于所述扣除资源额度的情况中,结束对所述智能合约的执行,并在所述状态寄存器中对余额不足的状态进行记录。
5.根据权利要求1所述的方法,其中,读取第一扩展指令包括,在执行智能合约中的预定代码集合之前,读取第一扩展指令。
6.一种对智能合约的执行进行资源扣除的方法,所述方法由计算设备中的处理器执行,所述计算设备中包括第一存储单元,所述第一存储单元中存储有用于执行所述智能合约的第一资源余额,所述方法包括:
读取第四扩展指令,所述第四扩展指令中包括所述第一存储单元的标识和与智能合约中的预定代码集合对应的扣除资源额度,基于所述第四扩展指令进行以下操作:
从所述第一存储单元读取所述第一资源余额;
将所述第一资源余额与所述扣除资源额度比较;
在所述比较的结果为第一资源余额大于等于所述扣除资源额度的情况中,将第一资源余额与所述扣除资源额度相减,以获取第二资源余额;
将所述第二资源余额存入所述第一存储单元中。
7.根据权利要求6所述的方法,其中,所述第一存储单元为处理器中包括的第一通用寄存器。
8.根据权利要求6所述的方法,其中,所述第一存储单元为计算设备中的第一内存地址。
9.一种处理器,包括第一逻辑电路,所述第一逻辑电路包括:专用寄存器,用于存储用于执行智能合约的第一资源余额;比较器和加法器,
所述第一逻辑电路用于在接收到第一数字信号之后执行以下操作,其中,所述第一数字信号包括与智能合约中预定代码集合对应的扣除资源额度:
从所述专用寄存器读取所述第一资源余额;
通过所述比较器将所述第一资源余额与所述扣除资源额度比较;
在所述比较的结果为第一资源余额大于等于所述扣除资源额度的情况中,通过所述加法器将第一资源余额与所述扣除资源额度相减,以获取第二资源余额;
将所述第二资源余额存入所述专用寄存器中。
10.根据权利要求9所述的处理器,所述处...
【专利技术属性】
技术研发人员:郭学鹏,赵宽,郭任,郭宇波,高海源,任麒斌,黄祖城,张磊,潘国振,魏长征,陈志坚,闫莺,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。