全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210602790.5 (22)申请日 2022.05.30 (71)申请人 蚂蚁区块链科技 (上海) 有限公司 地址 200010 上海市黄浦区外马路618号8 层803室 (72)发明人 林鹏  (74)专利代理 机构 北京亿腾知识产权代理事务 所(普通合伙) 11309 专利代理师 张静娟 周良玉 (51)Int.Cl. G06F 9/50(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页 附图3页 CN 114942847 A 2022.08.26 CN 114942847 A 1.一种在区块链中执行交易的方法, 所述区块链包括第一节点和第二节点, 所述第一 节点中运行有第一预执行进程、 缓存进程和 第一共识进程, 所述方法由所述第一节点执行, 包括: 所述缓存进程将接收的多个交易发送给所述第 一预执行进程, 所述缓存进程的内存中 存储有区块链中至少部分变量的当前状态; 所述第一预执行进程预执行所述多个交易, 得到所述多个交易的预执行读写集和所述 多个交易的预执行顺序, 将所述多个交易的预执行读写集和预执行顺序发送 给所述缓存进 程, 其中, 所述第一预执行进程在预执行所述多个交易中的第一交易时, 从所述缓存进程接 收所述第一交易中请求读取的变量的状态; 所述缓存进程将所述多个交易的预执行读写集和所述多个交易的预执行顺序发送给 所述第一共识进程, 基于所述多个交易的预执行读写集更新所述缓存进程的内存中存储的 状态数据; 所述第一共识进程生成共识提议, 将所述共识提议发送给所述区块链中的第二节点, 所述共识提议包括所述多个交易的预执行读写集及所述多个交易的排列顺序, 所述排列顺 序对应于所述预 执行顺序。 2.根据权利要求1所述的方法, 所述第 一预执行进程预执行所述多个交易包括: 所述第 一预执行进程在预执行所述第一交易时, 在确定所述第一预执行进程的内存中未存储所述 第一交易请求读取的变量的状态时, 从所述缓存进程接收所述第一交易中请求读取的变量 的状态, 基于所述第一交易的预执行读写集更新所述第一预执行进程的内存中存储的状态 数据。 3.根据权利要求2所述的方法, 所述第 一预执行进程预执行所述多个交易包括: 所述第 一预执行进程在预执行所述多个交易中的第二交易时, 基于所述第一预执行进程的内存中 存储的状态数据预 执行所述第二交易。 4.根据权利要求1所述的方法, 所述第 一节点中还运行有第 二预执行进程, 所述方法还 包括: 所述缓存进程根据所述缓存进程的内存中当前存储的状态数据对所述多个交易的预 执行读写集中的读集进行验证, 在验证通过时, 在所述缓存进程的内存中存储所述多个交 易的预执行读写集和所述多个交易的预执行顺序, 基于所述多个交易的预执行读写集更新 所述缓存进程的内存中当前存 储的状态数据。 5.根据权利要求1所述的方法, 所述第 一预执行进程预执行所述多个交易包括: 所述第 一预执行进程在预执行所述多个交易中的第三交易时, 在确定所述第一预执行进程的内存 中未存储所述第三交易请求读取的变量的状态、 且所述存储进程的内存中未存储所述第三 交易请求读取的变量的状态时, 从状态数据库中读取所述第三交易请求读取的变量的状 态。 6.根据权利要求1所述的方法, 所述第 一节点中还运行有第 一区块管理进程, 所述方法 还包括: 所述第一共识进程将所述共识提议发送给所述第一区块管理进程, 所述第一区块 管理进程根据所述多个交易的预执行读写集及所述多个交易的排列顺序更新状态数据库, 生成并存 储区块。 7.一种在区块链中执行交易的方法, 所述区块链包括第一节点和第二节点, 所述第二 节点中运行有第二共识进程、 第二区块管理进程和N个计算进程, 所述方法由所述第二节 点权 利 要 求 书 1/3 页 2 CN 114942847 A 2执行, 包括: 所述第二共识进程从所述第 一节点接收共识提议, 将所述共识提议发送给所述第 二区 块管理进程, 所述共识提议包括所述多个交易的预执行读写集及所述多个交易的排列顺 序, 所述排列顺序对应于所述多个交易的预 执行顺序; 所述第二区块管理进程根据 所述预执行读写集将所述多个交易分成多个交易组, 将所 述多个交易组分配给所述N个计算进程, 并将所述多个交易的排列顺序发送给所述N个计算 进程; 所述N个计算进程分别根据所述 排列顺序执 行分配给其的交易组中的交易。 8.根据权利要求7所述的方法, 所述N个计算进程分别根据 所述排列顺序 执行分配给其 的交易组中的交易包括: 所述N个计算进程中的第一计算进程根据分配给其的交易组中包 括的全部交易的预执行读集从状态数据库中读取状态数据, 将所述读取的状态数据存储到 所述第一计算进程的内存中。 9.根据权利要求8所述的方法, 还包括: 所述第 二区块管理进程将分配给各个计算进程 的交易的预 执行读写集发送给 各个计算进程; 所述N个计算进程分别根据所述排列顺序执行分配给其的交易组中的交易包括: 所述 第一计算进程在执行分配给其的交易组中的第一交易之后, 得到所述第一交易的执行读写 集, 比较所述第一交易的执行读写集与所述第一交易的预执行读写集是否一致, 在一致的 情况中, 根据所述第一交易的执行读写集更新所述第一计算进程的内存中当前存储的状态 数据。 10.根据权利要求9所述的方法, 还包括: 所述第一计算进程在执行完成分配给其的全 部交易之后, 根据分配给其的全部交易的执 行写集更新状态数据库中的世界状态。 11.一种区块链中的第一节点, 所述第 一节点中运行有第一预执行进程、 缓存进程和第 一共识进程, 所述缓存进程用于将接收的多个交易发送给所述第 一预执行进程, 所述缓存进程的内 存中存储有区块链中至少部分变量的当前状态; 所述第一预执行进程用于预执行所述多个交易, 得到所述多个交易的预执行读写集和 所述多个交易的预执行顺序, 将所述多个交易的预执行读写集和预执行顺序发送给所述缓 存进程, 其中, 所述第一预执行进程还用于在预执行所述多个交易中的第一交易时, 从所述 缓存进程接收所述第一交易中请求读取的变量的状态; 所述缓存进程用于将所述多个交易的预执行读写集和所述多个交易的预执行顺序发 送给所述第一共识进程, 基于所述多个交易的预执行读写集更新所述缓存进程的内存中存 储的状态数据; 所述第一共识进程用于生成共识提议, 将所述共识提议发送给所述区块链中的第 二节 点, 所述共识提议包括所述多个交易的预执行读写集及所述多个交易的排列顺序, 所述排 列顺序对应于所述预 执行顺序。 12.一种区块链中的第二节点, 所述第 二节点中运行有第二共识进程、 第 二区块管理进 程和N个计算进程, 所述第二共识进程用于从所述第 一节点接收共识提议, 将所述共识提议发送给所述第 二区块管理进程, 所述共识 提议包括所述多个交易的预执行读写集及所述多个交易的排列权 利 要 求 书 2/3 页 3 CN 114942847 A 3

PDF文档 专利 执行交易的方法和区块链节点

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