[发明专利]一种打包区块、验证区块和智能合约执行的方法有效
申请号: | 201811542134.0 | 申请日: | 2018-12-17 |
公开(公告)号: | CN109683995B | 公开(公告)日: | 2022-03-11 |
发明(设计)人: | 陈敏;张跃洋;周阳;薛鹏飞 | 申请(专利权)人: | 达闼机器人有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06Q40/04 |
代理公司: | 深圳市爱迪森知识产权代理事务所(普通合伙) 44341 | 代理人: | 何婷 |
地址: | 200000 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 打包 区块 验证 智能 合约 执行 方法 | ||
1.一种打包区块的方法,应用于区块链,其特征在于,包括:
接收事务;
判断所述事务是否为原子事务,其中,所述原子事务是指具有关联顺序的事务;
若是,判断所述原子事务对应的所有事务是否均已存在;
若是,则按所述关联顺序,将所述原子事务对应的所有事务打包进入所述区块链的同一区块。
2.根据权利要求1所述的方法,其特征在于,
所述接收事务前,所述原子事务对应的所有事务位于同一区块。
3.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
在所述接收事务步骤之后,记录接收到所述事务的当前时间;
获取接收到第一个原子事务的起始时间;
判断所述当前时间与所述起始时间之间的时间间隔是否超过时间阈值;
若是,则丢弃所述第一个原子事务及其对应的所有原子事务,并且继续执行所述判断所述事务是否为原子事务的步骤。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,
所述事务的事务头中包含原子事务的标识和所述关联顺序;
所述判断所述事务是否为原子事务包括:
判断所述事务的事务头中是否包含原子事务的标识;
若是,则确定所述事务为原子事务;
若否,则确定所述事务为非原子事务。
5.根据权利要求1-3中任意一项所述的方法,其特征在于,所述事务的事务头中还包含有原子事务的事务总数;
所述判断所述原子事务对应的所有事务是否均已存在包括:
获取所述原子事务对应的已存在的事务的数量;
判断获取到的数量是否达到所述事务总数;
若是,则确定所述原子事务对应的所有事务均已存在;
若否,则确定所述原子事务对应的所有事务还没有均存在。
6.一种验证区块的方法,应用于区块链,其特征在于,包括:
接收打包节点发送的区块;
判断所述区块中的事务是否包含原子事务,其中,所述原子事务是指具有关联顺序的事务;
若包含,判断所述区块中所包含的原子事务是否完整;
若完整,则对所述区块执行共识验证;
当共识验证通过时,向所述打包节点返回共识验证成功消息;
当共识验证失败时,向所述打包节点返回共识验证失败消息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若不完整,直接向所述打包节点返回共识验证失败消息。
8.根据权利要求6或者7所述的方法,其特征在于,所述事务的事务头中包含有原子事务的标识和原子事务的事务总数;
所述判断所述区块中所包含的原子事务是否完整包括:
从属于原子事务的事务的事务头中提取所述事务总数;
计算位于所述区块中的并且同属于所述原子事务的事务的数量;
判断计算得到的数量与事务总数是否相同;
若是,则确定所述区块中所包含的原子事务完整;
若否,则确定所述区块中所包含的原子事务不完整。
9.一种智能合约执行的方法,应用于区块链,其特征在于,所述方法包括:
接收事务;
判断所述事务是否为原子事务,其中,所述原子事务是指具有关联顺序的事务;
若是,则获取先前预执行的并且同属于所述原子事务的事务;
判断所述事务与获取到的事务是否满足原子事务所规定的预设执行条件;
若满足,则对所述事务进行预执行;
若不满足,将先前预执行的同属于所述原子事务的事务进行回滚操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于达闼机器人有限公司,未经达闼机器人有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811542134.0/1.html,转载请声明来源钻瓜专利网。