(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211110995.8 (22)申请日 2022.09.13 (71)申请人 天聚地合(苏州)科技股份有限公司 地址 215128 江苏省苏州市苏州工业园区 启月街28 8号紫金东方大厦3 07室 (72)发明人 左磊 张沈斌  (74)专利代理 机构 北京德崇智捷知识产权代理 有限公司 1 1467 专利代理师 王欣 (51)Int.Cl. G06F 21/64(2013.01) G06Q 40/04(2012.01) G06F 16/22(2019.01) G06F 16/27(2019.01) (54)发明名称 一种基于区块链的交易数据校验方法和系 统 (57)摘要 本发明公开了一种基于区块链的交易数据 校验方法和系统, 涉及区块链技术领域。 该方法 包括: 用户端向数据库端提交交易; 数据库端执 行交易, 将执行结果中键值对的读集合和/或写 集合存储至可信数据库中; 用户端根据保存的 Merkle树的第一根哈希, 向数据库端请求状态转 移证明, 验证可信数据库中的交易数据是否被篡 改, 如果没有被篡改, 将保存的Merkle树的当前 根哈希由第一根哈希更新为第二根哈希, 将第二 根哈希上传至区块链; 调用第一智能合约, 以当 超过设定数量的用户上传的Merkle树的当前根 哈希均为第二根哈希时, 将区块链中保存的 Merkle树的当前根哈希更新为第二根哈希 。 该实 施方式能够提高可信数据库的安全性。 权利要求书4页 说明书10页 附图3页 CN 115186304 A 2022.10.14 CN 115186304 A 1.一种基于区块链的交易数据校验方法, 其特 征在于, 包括: 用户端向数据库端提交针对可信数据库的交易; 所述数据库端执行所述交易, 得到执行结果, 将所述执行结果中键值对的读集合和/或 写集合存储至所述可信 数据库中; 其中, 所述可信 数据库以Merkle树的叶子节点的形式存 储所述交易的数据; 所述用户端根据本地保存的所述Merkle树的第一根哈希, 向所述数据库端请求所述第 一根哈希至第二根哈希的状态转移证明, 根据得到的所述状态转移证明, 验证所述Merkle 树由所述第一根哈希变化至所述第二根哈希 过程中, 所述可信数据库中的交易数据是否被 篡改, 如果没有被篡改, 将本地保存的Merkle树的当前根哈希由所述第一根哈希更新为所 述第二根哈希, 将所述第二根哈希上传至区块链中; 调用所述区块链中预先部署的第一智 能合约, 以当超过设定数量的用户上传的所述Merkle树的当前根哈希均为所述第二根哈希 时, 将所述区块链中保存的所述Merk le树的当前根哈希更新 为所述第二 根哈希。 2.如权利要求1所述的方法, 其特 征在于, 所述数据库端执 行所述交易, 得到执 行结果, 包括: 所述数据库端并发解析多个所述交易中的操作语句, 得到键值对的读集合和/或写集 合; 该方法进一 步包括: 所述数据库端根据 所述执行结果, 确定所述交易是否有效, 如果有效, 则执行所述将所 述执行结果中键值对的读集 合和/或写集 合存储至所述可信数据库中; 其中, 如果所述交易为读写交易、 且所述执行结果中的读集合和入库交易队列中的写 集合不包含相同的键, 或, 所述交易为只写交易, 或, 所述交易为只读交易, 则所述交易有 效。 3.如权利要求1所述的方法, 其特 征在于, 将所述执 行结果中键值对的读集 合和/或写集 合存储至所述可信数据库中, 包括: 将所述执 行结果中键值对的读集 合和/或写集 合添加到入库交易队列; 按照所述交易 提交的时间戳, 对所述入库交易队列中多个交易的执 行结果进行排序; 当相邻的至少两个执行结果所属的交易由同一个用户提交、 且所述至少两个交易对应 的键值对的写集合中不存在相同的键, 则将所述至少两个交易的执行结果合并为一个交易 的执行结果; 将合并后所述入库交易队列中的执 行结果存储至所述可信数据库中。 4.如权利要求1所述的方法, 其特 征在于, 所述执行结果中还 包括: API调用信息; 该方法进一 步包括: 所述数据库端将所述API调用信息存 储至审计方的调用信息数据库; 所述用户端在验证所述可信数据库中的交易数据被篡改时, 向审计端提交针对所述状 态转移证明的状态审计请求; 所述审计端根据 所述状态审计请求, 将所述可信数据库回滚至所述第 一根哈希对应的 状态; 从所述调用信息数据库 获取所述API调用信息; 根据所述API调用信息更新所述可信 数据库。权 利 要 求 书 1/4 页 2 CN 115186304 A 25.如权利要求1 ‑4中任一所述的方法, 其特 征在于, 所述执行结果还包括: 哈希信息; 所述哈希信息包括以下任意一项或多项: 在所述交易执行过程中所述Merkle树的根哈 希, 在得到所述执行结果之后、 将所述执行结果存储至所述可信 数据库之前所述Merkle树 的根哈希, 在所述执行结果存储至所述可信 数据库之后所述Merkle树的根哈希, 以及所述 执行结果中键值对的读集 合和/或写集 合的哈希; 所述交易由第一用户通过 所述用户端发起; 该方法进一 步包括: 所述用户端从所述数据库端获取所述哈希信 息, 根据所述哈希信 息生成所述交易的零 知识证明, 将所述 零知识证明上传至所述区块链。 6.如权利要求5所述的方法, 其特 征在于, 进一 步包括: 所述用户端根据第二用户的触发操作, 向审计端提交针对所述交易的真实性审计请 求; 所述审计端根据 所述真实性审计请求, 查找所述 区块链中是否存在所述交易的零知识 证明, 如果存在, 根据所述零知识证明, 验证所述交易对应的叶子节点的哈希是否由所述交 易计算得到, 向所述用户端反馈验证结果。 7.如权利要求6所述的方法, 其特 征在于, 如果所述区块链中存在所述交易的零知识证明, 该 方法进一 步包括: 所述审计端调用所述 区块链中预先部署的第 二智能合约, 以将所述第 二用户的账户中 的资源转移至所述第一用户的账户。 8.如权利要求6所述的方法, 其特 征在于, 所述执行结果中还 包括: API调用信息; 该方法进一 步包括: 所述数据库端将所述API调用信息存 储至审计方的调用信息数据库; 如果所述 区块链中不存在所述交易的零知识证明, 所述审计端从所述调用信 息数据库 获取所述API调用信息, 根据所述API调用信息, 计算所述交易的目标执行结果, 对比所述目 标执行结果与所述可信数据库中存储的所述交易的执行结果是否相同, 向所述用户端反馈 对比结果。 9.如权利要求 4所述的方法, 其特 征在于, 所述API调用信息在所述调用信息数据库中以链式结构存 储; 其中, 当前节点中存储当前笔交易的API调用信息, 以及前一笔交易的API调用信息的 哈希。 10.如权利要求9所述的方法, 其特 征在于, 进一 步包括: 所述数据库端监测所述链式结构, 以确定所述API调用信息是否被篡改。 11.如权利要求1所述的方法, 其特 征在于, 所述执行结果还包括: 哈希信息; 所述哈希信息包括: 在将所述执行结果存储至所述可信数据库之前所述Merkle树的根 哈希, 在所述执 行结果存储至所述可信数据库之后所述Merk le树的根哈希; 该方法进一 步包括:权 利 要 求 书 2/4 页 3 CN 115186304 A 3

.PDF文档 专利 一种基于区块链的交易数据校验方法和系统

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