全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210600442.4 (22)申请日 2022.05.30 (71)申请人 蚂蚁区块链科技 (上海) 有限公司 地址 200010 上海市黄浦区外马路618号8 层803室 (72)发明人 林鹏 徐文博  (74)专利代理 机构 北京亿腾知识产权代理事务 所(普通合伙) 11309 专利代理师 张静娟 周良玉 (51)Int.Cl. G06F 9/50(2006.01) G06F 9/54(2006.01) G06F 16/27(2019.01) G06F 16/23(2019.01) G06Q 20/22(2012.01)G06Q 20/10(2012.01) G06Q 20/38(2012.01) G06Q 20/40(2012.01) (54)发明名称 在区块链中执行交易的方法及区块链的主 节点 (57)摘要 本说明书提供一种在区块链中执行交易的 方法及区块链的主节点, 所述区块链包括主节点 和从节点, 其中, 在区块链中执行交易的方法由 所述主节点执行, 所述方法包括: 预执行属于第 一区块的多个交易; 确定所述多个交易中的第一 交易为预设类型的交易; 在预执行所述多个交易 之后, 与所述从节点对所述第一区块进行共识; 在完成对所述第一区块的共识之后, 重新执行所 述第一交易。 权利要求书3页 说明书14页 附图5页 CN 114936092 A 2022.08.23 CN 114936092 A 1.一种在区块链中执行交易的方法, 所述区块链包括主节点和从节点, 所述方法由所 述主节点执 行, 所述方法包括: 预执行属于第一区块的多个交易; 确定所述多个交易中的第一交易 为预设类型的交易; 在预执行所述多个交易之后, 与所述从节点对所述第一区块进行共识; 在完成对所述第一区块的共识之后, 重新执 行所述第一交易。 2.根据权利要求1所述的方法, 其中, 所述预设类型的交易为读集中包括预设变量的交 易, 所述预设变量采用随机数作为状态值。 3.根据权利要求2所述的方法, 其中, 所述确定所述多个交易中的第 一交易为预设类型 的交易, 包括: 在预执行所述第一交易的过程中, 确定所述第一交易调用智能合约; 在调用所述智能合约时, 判断是否调用预设接口; 若调用所述预设接口, 则确定所述第一交易 为预设类型的交易。 4.根据权利要求2所述的方法, 其中, 所述重新执 行所述第一交易, 包括: 获取共识结果; 所述共识结果中包括经过共识后的目标状态值; 所述目标状态值为所 述第一交易的读集中所述预设变量的状态值; 基于所述目标状态值重新执 行所述第一交易。 5.根据权利要求1所述的方法, 其中, 在确定所述多个交易中的第 一交易为预设类型的 交易之后, 所述方法还 包括: 对所述第一交易进行 标记。 6.根据权利要求1所述的方法, 其中, 所述第 一交易为所述第 一区块的多个交易中首个 被预执行的预设类型的交易; 其中, 在重新执 行所述第一交易之后, 所述方法还 包括: 重新执行所述多个交易中在所述第一交易之后被预 执行的交易。 7.根据权利要求1所述的方法, 其中, 所述主节点包括预执行进程, 共识进程和计算进 程; 所述主节点通过所述预执行进程预执行所述多个交易, 并确定所述多个交易中的第一 交易为预设类型 的交易; 所述主节点通过所述共识进程对所述第一区块进行共识; 所述主 节点通过所述计算进程重新执 行所述第一交易。 8.根据权利要求7所述的方法, 其中, 所述主节点还包括缓存进程, 所述缓存进程存储 有所述区块链的最 新世界状态的状态数据; 其中, 在所述预 执行进程预 执行所述多个交易之后, 还 包括: 所述预执行进程将预执行所述多个交易得到的各个交易的预执行读写集提交给所述 缓存进程, 所述缓存进程根据所述各个交易的预执行读写集中的预执行写集更新存储的世 界状态的状态数据。 9.根据权利要求8所述的方法, 在所述计算进程重新执 行所述第一交易之后, 还 包括: 所述计算进程向所述缓存进程发送重新执行事件通知, 所述重新执行事件通知包括重 新执行所述第一交易得到的执 行写集; 所述缓存进程利用所述执 行写集重新更新存 储的世界状态的状态数据。 10.根据权利要求8所述的方法, 其中, 所述预 执行进程预 执行所述多个交易, 包括: 所述预执行进程从所述缓存进程读取所述多个交易的预执行读集, 并利用读取的所述 预执行读集预 执行所述多个交易。权 利 要 求 书 1/3 页 2 CN 114936092 A 211.根据权利要求10所述的方法, 其中, 所述主节点还包括管理进程和存储进程; 所述 存储进程存 储有所述区块链的状态数据库; 所述方法还 包括: 所述共识进程从所述缓存进程获取 所述各个交易的预 执行读写集; 所述管理进程从所述共识进程获取 所述各个交易的预 执行读写集中的预 执行写集; 在对所述第一区块进行共识 的过程中, 所述管理进程并行地基于所述预执行写集, 更 新所述存 储进程存 储的所述区块链的状态数据库。 12.一种区块链中的主节点, 所述区块链还 包括从节点, 所述主节点包括: 预执行进程, 用于预执行属于第一区块的多个交易, 并确定所述多个交易中的第一交 易为预设类型的交易; 共识进程, 用于在预 执行所述多个交易之后, 与所述从节点对所述第一区块进行共识; 计算进程, 用于在完成对所述第一区块的共识之后, 重新执 行所述第一交易。 13.根据权利要求12所述的主节点, 其中, 所述预设类型的交易为读集中包括预设变量 的交易, 所述预设变量采用随机数作为状态值。 14.根据权利要求13所述的主节点, 其中, 所述预执行进程通过如下方式确定所述多个 交易中的第一交易 为预设类型的交易: 在预执行所述第一交易的过程中, 确定所述第一交易调用智能合约; 在调用所述智能合约时, 判断是否调用预设接口; 若调用所述预设接口, 则确定所述第一交易 为预设类型的交易。 15.根据权利要求13所述的主节点, 所述计算进程通过如下方式重新执行所述第一交 易: 获取共识结果; 所述共识结果中包括经过共识后的目标状态值; 所述目标状态值为所 述第一交易的读集中所述预设变量的状态值; 基于所述目标状态值重新执 行所述第一交易。 16.根据权利要求12所述的主节点, 其中, 所述第 一交易为所述第 一区块的多个交易中 首个被预执行的预设类型的交易; 其中, 在重新执行所述第一交易之后, 所述计算进程还重 新执行所述多个交易中在所述第一交易之后被预 执行的交易。 17.根据权利要求12所述的主节点, 其中, 所述主节点还包括缓存进程, 所述缓存进程 存储有所述区块链的最 新世界状态的状态数据; 其中, 在所述预执行进程预执行所述多个交易之后, 所述预执行进程将预执行所述多 个交易得到的各个交易的预执行读写集提交给所述缓存进程, 所述缓存进程根据所述各个 交易的预 执行读写集中的预 执行写集更新存 储的世界状态的状态数据。 18.根据权利要求17所述的主节点, 其中, 在所述计算进程重新执行所述第一交易之 后, 所述计算进程向所述缓存进程发送重新执行事件通知, 所述重新执行事件通知包括重 新执行所述第一交易得到的执行写集; 所述缓存进程利用所述执行写集重新更新存储的世 界状态的状态数据。 19.根据权利要求17所述的主节点, 其中, 所述预执行进程被配置用于: 从所述缓存进 程读取所述多个交易的预 执行读集, 并利用读取的所述预 执行读集预 执行所述多个交易。 20.根据权利要求10所述的主节点, 其中, 所述主节点还包括管理进程和存储进程; 所 述存储进程存 储有所述区块链的状态数据库;权 利 要 求 书 2/3 页 3 CN 114936092 A 3

PDF文档 专利 在区块链中执行交易的方法及区块链的主节点

文档预览
中文文档 23 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共23页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 在区块链中执行交易的方法及区块链的主节点 第 1 页 专利 在区块链中执行交易的方法及区块链的主节点 第 2 页 专利 在区块链中执行交易的方法及区块链的主节点 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:43:53上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。