对写入块链的交易进行隐匿的方法及装置.pdf
《对写入块链的交易进行隐匿的方法及装置.pdf》由会员分享,可在线阅读,更多相关《对写入块链的交易进行隐匿的方法及装置.pdf(36页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910100752.8 (22)申请日 2019.01.31 (71)申请人 阿里巴巴集团控股有限公司 地址 英属开曼群岛大开曼资本大厦一座四 层847号邮箱 (72)发明人 杨新颖 (74)专利代理机构 北京博思佳知识产权代理有 限公司 11415 代理人 林祥 (51)Int.Cl. G06Q 20/38(2012.01) G06Q 20/40(2012.01) (54)发明名称 一种对写入块链的交易进行隐匿的方法及 装置 (57)摘要 公开了一种对写入块链的交易进行隐。
2、匿的 方法及装置。 如果写入块链的某个交易是敏感交 易(包含有不宜公开的敏感内容), 那么, 可以将 块链中的该交易替换成包括该交易的交易哈希 的隐匿化数据。 权利要求书3页 说明书20页 附图12页 CN 110009341 A 2019.07.12 CN 110009341 A 1.一种对写入块链的交易进行隐匿的方法, 包括: 接收隐匿指令; 所述隐匿指令包含目标交易标识; 获取所述隐匿指令的签名, 并判断获取的签名是否满足指定条件; 若是, 则根据所述隐匿指令, 确定包括所述目标交易标识对应的交易的交易哈希的隐 匿化数据, 以及, 将块链中对应于所述目标交易标识的交易替换成所述隐匿化数据。
3、; 若否, 则拒绝所述隐匿指令。 2.如权利要求1所述的方法, 若所述目标交易标识对应的交易是写入区块链的交易, 则 所述隐匿指令的签名为区块链节点的签名, 并且, 所述指定条件为获取的签名的数量大于 指定数量。 3.如权利要求1所述的方法, 若所述目标交易标识对应的交易是写入类区块链的交易, 则所述指定条件为获取的签名包括至少两个权限方的签名。 4.如权利要求1所述的方法, 每个权限方的签名分配有权重; 若所述目标交易标识对应的交易是写入类区块链的交易, 则所述指定条件为获取的各 签名分别对应的权重之和大于指定权重。 5.如权利要求1所述的方法, 根据所述隐匿指令, 确定隐匿化数据, 具体包。
4、括: 获取所述目标交易标识对应的交易的交易哈希; 将预设的前标记字符拼接到所述交易哈希的首部; 根据所述前标记字符与所述交易哈希拼接成的数据, 确定隐匿化数据。 6.如权利要求5所述的方法, 根据所述前标记字符与所述交易哈希拼接成的数据, 确定 隐匿化数据, 具体包括: 将预设的后标记字符拼接到所述交易哈希的尾部, 并且, 将备注信息拼接到所述后标 记字符的尾部; 将所述前标记字符、 所述交易哈希、 所述后标记字符以及所述备注信息拼接成的数据 确定为隐匿化数据。 7.如权利要求1所述的方法, 针对块链中的每个交易存储位置, 该交易存储位置存储有 内容字段以及标识字段, 所述内容字段包括交易或基。
5、于所述交易生成的隐匿化数据; 其中, 当所述内容字段包括交易时, 所述标识字段包括第一标识符, 当所述内容字段包 括基于所述交易生成的隐匿化数据时, 所述标识字段包括第二标识符。 8.如权利要求1所述的方法, 所述隐匿指令还包括隐匿条件, 用于确定所述目标交易标 识对应的交易中的敏感内容; 根据所述隐匿指令, 确定隐匿化数据, 具体包括: 获取所述目标交易标识对应的交易的交易哈希, 并根据所述隐匿指令包括的隐匿条 件, 从所述目标交易标识对应的交易中提取非敏感内容; 根据所述交易哈希与所述非敏感内容, 确定隐匿化数据。 9.如权利要求8所述的方法, 所述隐匿条件为敏感位置信息, 用于表征敏感内。
6、容在所述 目标交易标识对应的交易中所处的位置。 10.如权利要求8所述的方法, 根据所述交易哈希与所述非敏感内容, 确定隐匿化数据, 具体包括: 将预设的后标记字符拼接到所述交易哈希的尾部; 权利要求书 1/3 页 2 CN 110009341 A 2 将所述非敏感内容拼接到所述后标记字符的尾部; 将所述交易哈希、 所述后标记字符与所述非敏感内容拼接成的数据确定为隐匿化数 据。 11.如权利要求8所述的方法, 根据所述交易哈希与所述非敏感内容, 确定隐匿化数据, 具体包括: 基于预设的表述方式调整模型, 调整所述非敏感内容的表述方式; 根据所述交易哈希与调整后的所述非敏感内容, 确定隐匿化数据。
7、。 12.如权利要求1所述的方法, 所述方法还包括: 将所述目标交易标识对应的交易所在的区块的标签确定为指定标签。 13.如权利要求1所述的方法, 针对块链中的任一区块, 若该区块未包含隐匿化数据, 则 该区块的标签不是所述指定标签。 14.如权利要求13所述的方法, 设块链包括N个区块, 预先创建的二进制数串的第i个二 进制位的值为块链中的第i个区块的标签, i1, N。 15.如权利要求1所述的方法, 所述方法还包括: 将封装有所述隐匿指令的隐匿交易写入块链。 16.如权利要求15所述的方法, 将封装有所述隐匿指令的隐匿交易写入块链, 具体包 括: 将封装有所述隐匿指令与所述隐匿化数据的数。
8、据哈希的隐匿交易写入块链。 17.一种对写入块链的交易进行隐匿的装置, 包括: 接收模块, 接收隐匿指令; 所述隐匿指令包含目标交易标识; 获取判断模块, 获取所述隐匿指令的签名, 并判断获取的签名是否满足指定条件; 第一处理模块, 若是, 则根据所述隐匿指令, 确定包括所述目标交易标识对应的交易的 交易哈希的隐匿化数据, 以及, 将块链中对应于所述目标交易标识的交易替换成所述隐匿 化数据; 第二处理模块, 若否, 则拒绝所述隐匿指令。 18.如权利要求17所述的装置, 若所述目标交易标识对应的交易是写入区块链的交易, 则所述隐匿指令的签名为区块链节点的签名, 并且, 所述指定条件为获取的签名。
9、的数量大 于指定数量。 19.如权利要求17所述的装置, 若所述目标交易标识对应的交易是写入类区块链的交 易, 则所述指定条件为获取的签名包括至少两个权限方的签名。 20.如权利要求17所述的装置, 每个权限方的签名分配有权重; 若所述目标交易标识对应的交易是写入类区块链的交易, 则所述指定条件为获取的各 签名分别对应的权重之和大于指定权重。 21.如权利要求17所述的装置, 所述第一处理模块, 获取所述目标交易标识对应的交易 的交易哈希; 将预设的前标记字符拼接到所述交易哈希的首部; 根据所述前标记字符与所 述交易哈希拼接成的数据, 确定隐匿化数据。 22.如权利要求21所述的装置, 所述第。
10、一处理模块, 将预设的后标记字符拼接到所述交 易哈希的尾部, 并且, 将备注信息拼接到所述后标记字符的尾部; 将所述前标记字符、 所述 交易哈希、 所述后标记字符以及所述备注信息拼接成的数据确定为隐匿化数据。 权利要求书 2/3 页 3 CN 110009341 A 3 23.如权利要求17所述的装置, 针对块链中的每个交易存储位置, 该交易存储位置存储 有内容字段以及标识字段, 所述内容字段包括交易或基于所述交易生成的隐匿化数据; 其中, 当所述内容字段包括交易时, 所述标识字段包括第一标识符, 当所述内容字段包 括基于所述交易生成的隐匿化数据时, 所述标识字段包括第二标识符。 24.如权利。
11、要求17所述的装置, 所述隐匿指令还包括隐匿条件, 用于确定所述目标交易 标识对应的交易中的敏感内容; 所述第一处理模块, 获取所述目标交易标识对应的交易的交易哈希, 并根据所述隐匿 指令包括的隐匿条件, 从所述目标交易标识对应的交易中提取非敏感内容; 根据所述交易 哈希与所述非敏感内容, 确定隐匿化数据。 25.如权利要求24所述的装置, 所述隐匿条件为敏感位置信息, 用于表征敏感内容在所 述目标交易标识对应的交易中所处的位置。 26.如权利要求24所述的装置, 所述第一处理模块, 将预设的后标记字符拼接到所述交 易哈希的尾部; 将所述非敏感内容拼接到所述后标记字符的尾部; 将所述交易哈希、。
12、 所述后 标记字符与所述非敏感内容拼接成的数据确定为隐匿化数据。 27.如权利要求24所述的装置, 所述第一处理模块, 基于预设的表述方式调整模型, 调 整所述非敏感内容的表述方式; 根据所述交易哈希与调整后的所述非敏感内容, 确定隐匿 化数据。 28.如权利要求17所述的装置, 所述装置还包括: 标签确定模块, 将所述目标交易标识对应的交易所在的区块的标签确定为指定标签。 29.如权利要求17所述的装置, 针对块链中的任一区块, 若该区块未包含隐匿化数据, 则该区块的标签不是所述指定标签。 30.如权利要求19所述的装置, 设块链包括N个区块, 预先创建的二进制数串的第i个二 进制位的值为块。
13、链中的第i个区块的标签, i1, N。 31.如权利要求17所述的装置, 所述装置还包括: 交易写入模块, 将封装有所述隐匿指令的隐匿交易写入块链。 32.如权利要求31所述的装置, 所述交易写入模块, 将封装有所述隐匿指令与所述隐匿 化数据的数据哈希的隐匿交易写入块链。 33.一种计算机设备, 包括存储器、 处理器及存储在存储器上并可在处理器上运行的计 算机程序, 其中, 所述处理器执行所述程序时实现如权利要求116任一项所述的方法。 权利要求书 3/3 页 4 CN 110009341 A 4 一种对写入块链的交易进行隐匿的方法及装置 技术领域 0001 本说明书实施例涉及信息技术领域, 。
14、尤其涉及一种对写入块链的交易进行隐匿的 方法及装置。 背景技术 0002 区块链网络是一种去中心化的、 由多个节点参与的分布式数据存储系统。 数据一 旦被写入每个节点上的区块链, 一方面, 意味着数据在全网公开, 另一方面, 写入区块链的 数据也难以被删除与篡改。 基于此, 在数据存证领域, 区块链技术具有很大的应用前景。 0003 此外, 实践中, 中心化设备也可以采用类区块链存储(可以视为中心化的区块链存 储)的方式对数据进行存储, 区块链中的区块与类区块链中的区块的生成原理相同。 显然, 如果要删除写入类区块链中的数据, 除非中心化设备将存储的整个类区块链都删除。 因此, 中心化的类区块。
15、链存储也比较适合应用于数据存证业务。 本文将区块链存储方式与其他中 心化的类区块链存储方式统称为块链存储。 0004 然而, 在实际应用中, 有些内容(本文称之为敏感内容)一旦被写入块链, 就会造成 难以消除的危害后果。 发明内容 0005 为了解决敏感内容被写入块链容易造成危害后果的问题, 本说明书实施例提供一 种对写入块链的交易进行隐匿的方法及装置, 技术方案如下: 0006 根据本说明书实施例的第1方面, 提供一种对写入块链的交易进行隐匿的方法, 包 括: 0007 接收隐匿指令; 所述隐匿指令包含目标交易标识; 0008 获取所述隐匿指令的签名, 并判断获取的签名是否满足指定条件; 0。
16、009 若是, 则根据所述隐匿指令, 确定包括所述目标交易标识对应的交易的交易哈希 的隐匿化数据, 以及, 将块链中对应于所述目标交易标识的交易替换成所述隐匿化数据; 0010 若否, 则拒绝所述隐匿指令。 0011 根据本说明书实施例的第2方面, 提供一种对写入块链的交易进行隐匿的装置, 包 括: 0012 接收模块, 接收隐匿指令; 所述隐匿指令包含目标交易标识; 0013 获取判断模块, 获取所述隐匿指令的签名, 并判断获取的签名是否满足指定条件; 0014 第一处理模块, 若是, 则根据所述隐匿指令, 确定包括所述目标交易标识对应的交 易的交易哈希的隐匿化数据, 以及, 将块链中对应于。
17、所述目标交易标识的交易替换成所述 隐匿化数据; 0015 第二处理模块, 若否, 则拒绝所述隐匿指令。 0016 本说明书实施例所提供的技术方案, 如果写入块链的某个交易是敏感交易(包含 有不宜公开的敏感内容), 那么, 可以将块链中的该交易替换成包括该交易的交易哈希的隐 说明书 1/20 页 5 CN 110009341 A 5 匿化数据。 一方面, 该交易的交易哈希是对该交易采用单向散列算法(即哈希算法)计算得 到的, 由该交易的交易哈希无法逆推出该交易, 因此, 将该交易替换成隐匿化数据, 相当于 将块链中公示的该交易的明文内容不可恢复地隐匿起来。 另一方面, 将该交易替换成隐匿 化数据。
18、, 并不会影响该交易所在区块对应的梅克尔树的稳定性, 也就不会影响到针对其他 交易(与该交易位于同一区块中的交易)的简单支付验证(Simplified Payment Verification, SPV)的准确性, 从而保证了数据存证业务的正常运行。 0017 应当理解的是, 以上的一般描述和后文的细节描述仅是示例性和解释性的, 并不 能限制本说明书实施例。 0018 此外, 本说明书实施例中的任一实施例并不需要达到上述的全部效果。 附图说明 0019 为了更清楚地说明本说明书实施例或现有技术中的技术方案, 下面将对实施例或 现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述。
19、中的附图仅仅是 本说明书实施例中记载的一些实施例, 对于本领域普通技术人员来讲, 还可以根据这些附 图获得其他的附图。 0020 图1是本说明提供的梅克尔树的结构示意图; 0021 图2是本说明书实施例提供的一种对写入块链的交易进行隐匿的方法, 的流程示 意图; 0022 图3是本说明书实施例提供的构造隐匿化数据的过程示意图; 0023 图4是本说明书实施例提供的构造隐匿化数据的另一过程示意图; 0024 图5是本说明书实施例提供的一种对写入块链的交易进行隐匿的方法的流程示意 图; 0025 图6是本说明书实施例提供的内容字段与标识字段的示意图; 0026 图7是本说明书实施例提供的一种对写入。
20、区块链的交易进行隐匿的方法的流程示 意图; 0027 图8是本说明书实施例提供的一种包含非敏感内容的隐匿化数据的示意图; 0028 图9是本说明书实施例提供的一种对写入块链的交易进行隐匿的方法的流程示意 图; 0029 图10是本说明书实施例提供的一种对写入块链的交易进行隐匿的方法的流程示 意图; 0030 图11是本说明书实施例提供的一种构建区块对应的梅克尔树的方法的流程示意 图; 0031 图12是本说明书实施例提供的一种对写入块链的交易进行隐匿的方法的流程示 意图; 0032 图13是本说明书实施例提供的另一种构建区块对应的梅克尔树的方法的流程示 意图; 0033 图14是本说明书实施例。
21、提供的一种简单支付验证方法的流程示意图; 0034 图15是本说明书实施例提供的一种对写入块链的交易进行隐匿的装置的结构示 意图; 说明书 2/20 页 6 CN 110009341 A 6 0035 图16是本说明苏实施例提供的一种对写入块链的交易进行隐匿的装置的结构示 意图; 0036 图17是本说明苏实施例提供的一种对写入块链的交易进行隐匿的装置的结构示 意图; 0037 图18是本说明苏实施例提供的一种对写入块链的交易进行隐匿的装置的结构示 意图; 0038 图19是本说明苏实施例提供的一种对写入块链的交易进行隐匿的装置的结构示 意图; 0039 图20是本说明书实施例提供的一种构建区。
22、块对应的梅克尔树的装置的结构示意 图; 0040 图21是本说明书实施例提供的一种简单支付验证装置的结构示意图; 0041 图22是用于配置本说明书实施例装置的一种计算机设备的结构示意图。 具体实施方式 0042 如前所述, 在实际应用中, 敏感内容一旦被写入块链, 就会造成难以消除的危害后 果。 0043 例如, 张三对李四进行诽谤, 并将诽谤言论的文本文件上传到区块链网络进行存 证, 导致该文本文件被写入区块链, 对李四的名誉造成不可消除的伤害。 又如, A公司盗取B 公司的商业机密, 并将盗取的商业机密提交给采用类区块链存储方式的中心化设备进行存 证, 导致该商业机密被写入类区块链, 为。
23、了消除危害, 只能由中心化设备删除存储的整个类 区块链, 付出的代价过于巨大。 0044 需要说明的是, 在本说明书中所描述的交易(transaction), 是指写入块链中的一 笔数据。 交易是区块链协议或类区块链协议中所约定的一种数据结构, 一笔数据要存入块 链, 就需要被封装成交易。 0045 在基于块链的数据存证场景下, 交易一旦被写入块链, 就难以删除与篡改。 然而, 在实际应用中, 如果写入块链的交易后续被认定包含不宜公开的敏感内容, 那么, 如何在保 证块链存储业务正常运行的前提下, 写入块链的敏感内容不再公开, 就成为一个难以解决 的技术问题。 0046 需要说明的是, 假设将。
24、写入块链的敏感交易(包含敏感内容的交易)直接删除, 那 么很容易导致基于块链所运行的数据存证业务无法正常运行。 原因具体为: 0047 常见的块链技术(区块链或中心化的类区块链)往往支持简单支付SPV验证。 SPV是 指针对某个交易, 验证该交易是否已写入块链。 SPV的原理是, 验证请求方向数据存储方(区 块链节点或中心化设备)请求验证某个交易(称为目标交易)是否已写入块链, 数据存储方 首先会定位所述目标交易所在的区块(称为目标区块), 然后基于目标区块中的各交易构建 梅克尔树(Merkle trees), 然后确定目标交易对应的梅克尔路径, 并将目标交易对应的梅 克尔路径所关联的哈希值返。
25、回给验证请求方。 验证请求方会数据存储方返回的哈希值, 验 证目标交易对应的梅克尔路径是否正确, 即根据目标交易的交易哈希与数据存储方返回的 哈希值, 依照所述目标交易对应的梅克尔路径, 计算梅克尔树的根哈希, 并判断计算得到的 根哈希与目标区块的区块头中的根哈希是否一致, 如果一致, 就认定验证通过, 证明目标交 说明书 3/20 页 7 CN 110009341 A 7 易确实已经被写入块链中。 0048 图1是本说明提供的梅克尔树的结构示意图。 如图1所示, 在梅克尔树中, 各叶子节 点与目标区块中存储的各交易一一对应。 每个叶子节点上的哈希值是对相应的交易进行哈 希运算得到的交易哈希。。
26、 而针对每个父节点, 该父节点上的哈希值是对该父节点的两个子 节点上的哈希值进行哈希运算得到的。 0049 假设目标交易交易1。 验证请求方需要验证交易1是否被写入块链中。 于是, 验证请 求方向任一数据存储方发送请求, 数据存储方首先会确定目标区块并构建出如图1所示的 梅克尔树。 然后, 数据存储方会确定交易1对应的梅克尔路径所关联的哈希值为Hash2、 Hash10、 Hash14, 并将Hash2、 Hash10、 Hash14返回给验证请求方。 验证请求方根据Hash1(交 易1的交易哈希)、 Hash2、 Hash10、 Hash14, 依照交易1对应的梅克尔路径, 就可以计算得到梅。
27、 克尔树的根哈希, 然后, 验证请求方若发现计算得到的根哈希与目标区块的区块头中存储 的根哈希一致, 就认定交易1确实已经被写入块链。 0050 显然, 在触发针对目标交易的简单支付验证之前, 数据存储方通常需要基于目标 区块中的各交易构建梅克尔树。 这样, 才能把目标交易对应的梅克尔路径所关联的哈希值 返回给验证请求方, 从而针对目标交易进行SPV。 这也意味着, 交易1交易8中的任一交易 被篡改或被删除, 梅克尔树的根哈希(即Hash1-8)就会发生改变, 从而导致简单支付验证失 败。 0051 例如, 如图1所示, 交易2包含敏感内容, 如果直接将交易2从块链中删除, 那么, 当 需要针。
28、对交易1、 交易38中的任一交易进行简单支付验证时, 由于缺少交易2, 只能基于交 易1、 交易38构建梅克尔树, 如此, 构建的梅克尔树的根哈希与目标区块的区块头中存储 的根哈希是不一致的, 会导致简单支付验证失败, 得出交易1、 交易38都未上链的错误结 论。 0052 为此, 本发明可以在对块链系统中的简单支付验证不构成干扰的前提下, 实现了 对块链中某个交易的隐匿。 本发明的核心技术手段是将块链中需要被隐匿的交易(敏感交 易)替换成包含该交易的交易哈希的隐匿化数据。 如此, 既可以停止公开该交易的明文内 容, 又不会干扰到基于块链的简单支付验证体系的平稳运行。 0053 为了使本领域技。
29、术人员更好地理解本说明书实施例中的技术方案, 下面将结合本 说明书实施例中的附图, 对本说明书实施例中的技术方案进行详细地描述, 显然, 所描述的 实施例仅仅是本说明书的一部分实施例, 而不是全部的实施例。 基于本说明书中的实施例, 本领域普通技术人员所获得的所有其他实施例, 都应当属于保护的范围。 0054 以下结合附图, 详细说明本说明书各实施例提供的技术方案。 0055 实施例一 0056 图2是本说明书实施例提供的一种对写入块链的交易进行隐匿的方法, 的流程示 意图, 包括以下步骤: 0057 S200: 接收隐匿指令。 0058 本发明所应用的场景为基于块链的数据存证场景。 在此场景。
30、下, 由包括多个节点 的区块链网络对数据进行块链式的分布式存证, 或者, 由中心化设备对数据进行块链式的 中心化存证。 0059 在区块链场景下, 本方法的执行主体可以是各区块链节点; 在类区块链场景下, 本 说明书 4/20 页 8 CN 110009341 A 8 方法的执行主体可以是中心化设备。 0060 在本说明书中, 隐匿指令包含目标交易标识, 所述目标交易标识一般是包含敏感 内容的敏感交易的交易标识。 当然, 图1所示的方法也可以对写入块链的非敏感交易进行隐 匿, 因此, 所述目标交易标识理论上可以是任一交易的交易标识。 0061 需要说明的是, 交易的交易标识用于唯一标识交易。 。
31、具体地, 交易的交易标识可以 是对交易进行哈希运算后得到的交易哈希, 也可以是为交易分配的唯一编号。 0062 在步骤S200中, 隐匿指令可以是某个用户发出的。 该用户可以是上传敏感内容的 用户, 也可以是有权要求隐匿敏感内容的主体(如法院、 受害人等)。 0063 在区块链场景下, 各区块链节点接收隐匿指令, 具体可以是: 各区块链节点接收封 装有隐匿指令的隐匿交易。 各区块链节点以执行所述隐匿交易的方式执行隐匿指令, 待隐 匿交易执行完毕后, 各区块链节点会将隐匿交易也写入区块链进行存证。 0064 S202: 根据所述隐匿指令, 确定隐匿化数据。 0065 在本说明书中, 隐匿化数据至。
32、少包括目标交易标识对应的交易的交易哈希。 0066 S204: 将块链中对应于所述目标交易标识的交易替换成所述隐匿化数据。 0067 在本说明书中, 将块链中对应于所述目标交易标识的交易替换成所述隐匿化数 据, 具体可以是: 0068 首先确定块链中所述目标交易标识对应的交易所在的区块(称为目标区块), 然后 将目标区块中所述目标交易标识对应的交易存储位置所存储的交易更换为所述隐匿化数 据。 0069 块链实际上是由多个区块按照成块的时间先后顺序连接成的存储结构。 对于每个 区块而言, 该区块中存在多个交易存储位置。 所谓交易存储位置, 是指区块中用于存储交易 的存储空间或存储地址。 假设块链。
33、中写入了100个交易, 那么, 区块链中也同时有100个交易 存储位置, 分别用于存储这100个交易。 0070 在本说明书中, 可以根据所述目标交易标识, 在块链中进行遍历, 以搜索所述目标 交易标识对应的交易, 也就是定位到所述目标交易标识对应的交易所在的交易存储位置。 随后, 从定位到的交易存储位置删除所述目标交易标识对应的交易, 并向定位到的交易存 储位置存入隐匿化数据。 0071 进一步地, 由于根据目标交易标识在区块链中以遍历的方式定位交易效率较低, 因此, 在本说明书中, 可以预先针对写入块链的任一交易, 在块链之外, 另行记录该交易的 交易标识与块链中该交易所在的交易存储位置之。
34、间的对应关系。 0072 其中, 针对写入块链的任一交易, 块链中该交易所在的交易存储位置, 一般是该交 易所在的区块的高度(即区块链中区块的顺位号)以及该交易在区块中的偏移量。 例如, 打 包有交易A的区块被写入到区块链中第4个区块之后, 即打包有交易A的区块的高度是5, 并 且, 交易A在区块中的偏移量为120, 则交易A对应的交易存储位置可以是(5, 120)。 0073 在本说明书中, 在类区块链的场景下, 中心化设备还可以将所述隐匿指令封装成 隐匿交易写入块链。 0074 此外, 在区块链或类区块链的场景下, 写入块链的隐匿交易不仅封装有隐匿指令, 还封装有所述隐匿化数据的数据哈希。。
35、 0075 通过图2所述的方法, 可以实现对写入块链中的敏感内容的隐匿。 并且, 由于对敏 说明书 5/20 页 9 CN 110009341 A 9 感内容的隐匿方式为将包含敏感内容的敏感交易替换成包含敏感交易的交易哈希的隐匿 化数据, 因此, 并不会对正常的SPV产生影响。 0076 此外, 所述隐匿化数据除了包括所述目标交易标识对应的交易的交易哈希之外, 还可以包括更多信息。 0077 具体地, 图3是本说明书实施例提供的构造隐匿化数据的过程示意图。 每个节点在 构造隐匿化数据时, 可以获取所述目标交易标识对应的交易的交易哈希; 将预设的前标记 字符拼接到所述交易哈希的首部; 根据所述前。
36、标记字符与所述交易哈希拼接成的数据, 确 定所述隐匿化数据。 0078 上述的前标记字符的作用是, 当针对某个交易存储位置进行数据读取时, 如果该 交易存储位置的交易已经被替换成了隐匿化数据, 那么, 读取到所述隐匿化数据中的前标 记字符时, 相当于明确:“该交易存储位置所存储的不是交易的明文内容, 而是交易哈希” 。 0079 由于交易哈希一般是固定长度的字符串, 因此, 还可以进一步在隐匿化数据中交 易哈希之后增加备注信息。 这样, 当读取完所述隐匿化数据中的交易哈希之后, 所述隐匿化 数据中剩余的部分即是备注信息。 0080 需要说明的是, 所述备注信息具体可以是为实现特定业务需要所添加。
37、的信息。 例 如, 所述备注信息可以是 “hidden” , 表明所述目标交易标识对应的交易已经被隐匿。 当用户 查询所述目标交易标识对应的交易时, 所述备注信息可以提示用户交易是不可见的。 0081 进一步地, 图4是本说明书实施例提供的构造隐匿化数据的另一过程示意图。 在构 造隐匿化数据时, 可以获取所述目标交易标识对应的交易的交易哈希; 将预设的前标记字 符拼接到所述交易哈希的首部, 将预设的后标记字符拼接到所述交易哈希的尾部, 并且, 将 备注信息拼接到所述后标记字符的尾部; 然后, 将所述前标记字符、 所述交易哈希、 所述后 标记字符以及所述备注信息拼接成的数据确定为所述隐匿化数据。。
38、 0082 上述的后标记字符的作用是, 当隐匿化数据中包括备注信息(或后文提及的非敏 感内容)时, 不需要根据交易哈希的固定长度值进行数据读取, 而是使用后标记字符将隐匿 化数据中的交易哈希与备注信息(非敏感内容)进行区隔, 以便进行区分。 0083 需要说明的是, 上述的前标记字符与后标记字符可以根据实际需要进行指定。 例 如, 所述前标记字符可以为 “0E” , 所述后标记字符可以为 “0F” 。 0084 实施例二 0085 在本说明书中, 所述隐匿化数据中也可以不包括实施例一中所述的前标记字符以 及后标记字符, 而是采用其他手段对某个交易存储位置上存储的是交易还是隐匿化数据进 行标记。。
39、 0086 具体地, 预先针对块链中的每个交易存储位置, 在该交易存储位置创设内容字段 和标识字段, 内容字段用于存储交易或基于所述交易生成的隐匿化数据, 标识字段用于存 储第一标识符或第二标识符, 对该内容字段中是交易还是隐匿化数据进行标识。 0087 其中, 当所述内容字段包括交易时, 所述标识字段包括第一标识符, 当所述内容字 段包括基于所述交易生成的隐匿化数据时, 所述标识字段包括第二标识符。 0088 图5是本说明书实施例提供的另一种对写入块链的交易进行隐匿的方法的流程示 意图, 包括如下步骤: 0089 S500: 接收包含目标交易标识隐匿指令, 并确定存储所述目标交易标识对应的交。
40、 说明书 6/20 页 10 CN 110009341 A 10 易的交易存储位置, 作为目标交易存储位置。 0090 在本说明书中, 针对块链中的每个交易存储位置, 该交易存储位置存储有内容字 段以及标识字段, 若所述内容字段包含交易, 则所述标识字段包含第一标识符。 0091 S502: 根据所述隐匿指令, 确定隐匿化数据。 0092 S504: 将所述目标交易存储位置的内容字段中的交易替换成所述隐匿化数据。 0093 S506: 将所述目标交易存储位置的标识字段中的第一标识符替换成第二标识符。 0094 例如, 所述第一标识符可以占用两个字节的 “FF” , 所述第二标识符可以是占用两 。
41、个字节的 “00” 。 0095 此处对实施例二的有益效果进行分析。 在实施例一中, 采用在所述隐匿化数据中 的交易哈希之前拼接前标记字符的方式, 来对某个交易存储位置上存储的是交易还是隐匿 化数据进行标记区分。 0096 但是, 实践中, 为了避免隐匿化数据中的交易哈希与前标记字符产生 “哈希碰撞” (即节点或中心化设备在执行交易隐匿逻辑时, 无法区分从交易存储位置读取的字符是前 标记字符还是交易哈希中的字符), 通常会将前标记字符设置为理论上不会与交易哈希重 复的特殊字符, 这样的特殊字符一般很长(占用很多字节), 给从交易存储位置上读取数据 的节点或中心化设备带来很大的负担。 0097 。
42、为此, 如果采用实施例二中的方式, 不再使用前标记字符与交易哈希进行拼接, 而 是在交易存储位置上划分出两个独立的字段, 即内容字段与标识字段, 内容字段用于存储 交易或交易被隐匿后替换成的隐匿化数据, 标识字段存储用于标识内容字段中是交易还是 隐匿化数据的标识符。 这样, 只需要在标识字段中写入较短的标识符, 就可以实现对某个交 易存储位置上存储的是交易还是隐匿化数据的标记区分。 0098 图6是本说明书实施例提供的内容字段与标识字段的示意图。 如图6所示, 假设目 标区块中的交易存储位置1的内容字段存储的是交易, 交易存储位置2的内容字段存储的是 隐匿化数据, 那么, 可以根据标识字段进行。
43、识别。 0099 实施例三 0100 基于实施例一与实施例二, 还可以对隐匿化数据的构成进行优化。 0101 图7是本说明书实施例提供的另一种对写入区块链的交易进行隐匿的方法的流程 示意图, 包括以下步骤: 0102 S700: 接收隐匿指令。 0103 在本说明书中, 所述隐匿指令具体可以包括目标交易标识与隐匿条件。 其中, 所述 隐匿条件用于确定所述目标交易标识对应的交易中的敏感内容。 0104 进一步地, 所述隐匿条件可以是敏感位置信息, 用于表征敏感内容在所述目标交 易标识对应的交易中所处的位置。 例如, 所述敏感位置信息可以是字节范围信息(1, 6), 表 示目标交易标识对应的交易中。
44、第1个字节到第6个字节的内容是敏感内容。 0105 S702: 获取所述目标交易标识对应的交易的交易哈希, 并根据所述隐匿指令包括 的隐匿条件, 从所述目标交易标识对应的交易中提取非敏感内容。 0106 所述非敏感内容是所述目标交易标识对应的交易中除敏感内容以外的内容。 0107 S704: 根据所述交易哈希与所述非敏感内容, 确定隐匿化数据。 0108 在步骤S704中, 所述隐匿化数据可以只包括所述交易哈希与所述非敏感内容。 由 说明书 7/20 页 11 CN 110009341 A 11 于交易哈希一般是固定长度的, 因此, 一般不会出现交易哈希与所述非敏感内容的混淆。 0109 此外。
45、, 可以结合实施例一, 存在以下几种情况: 0110 1、 所述隐匿化数据中还可以包括前标记字符。 0111 2、 所述隐匿化数据中还可以包括前标记字符、 后标记字符。 0112 其中, 后标记字符可以用于将所述交易哈希与所述非敏感内容进行区隔。 0113 3、 所述隐匿化数据中还可以包括前标记字符、 第一后标记字符、 第二后标记字符、 备注信息。 0114 其中, 第一后标记字符可以用于将所述交易哈希与所述非敏感内容进行区隔, 第 二后标记字符可以用于将所述非敏感内容与所述备注信息进行区隔。 0115 S706: 将块链中对应于所述目标交易标识的交易替换成所述隐匿化数据。 0116 如此, 。
46、可以在隐匿所述目标交易标识对应的交易中的敏感内容的前提下, 保留所 述目标交易标识对应的交易中的非敏感内容, 如图8所示。 0117 实施例四 0118 基于实施例三, 还可以对所述隐匿化数据的生成方法进行进一步优化。 0119 图9是本说明书实施例提供的一种对写入块链的交易进行隐匿的方法的流程示意 图, 包括如下步骤: 0120 S900: 接收隐匿指令。 0121 S902: 获取所述目标交易标识对应的交易的交易哈希, 并根据所述隐匿指令包括 的隐匿条件, 从所述目标交易标识对应的交易中提取非敏感内容。 0122 S904: 基于预设的表述方式调整模型, 调整所述非敏感内容的表述方式, 并。
47、根据所 述交易哈希与调整后的所述非敏感内容, 确定隐匿化数据。 0123 S906: 将块链中对应于所述目标交易标识的交易替换成所述隐匿化数据。 0124 其中, 所述表述方式调整模型具体可以是预设的表述方式调整规则, 例如, 所述表 述方式调整规则可以是: 如果非敏感内容中存在汉字, 则将该汉字替换成拼音。 又如, 所述 表述方式调整规则可以是: 如果非敏感内容中存在大写英文字母, 则将至少一个大写英文 字母替换成小写英文字母。 0125 所述表述方式调整模型具体也可以是预先根据机器学习算法训练的智能模型。 0126 总之, 所述表述方式调整模型的作用在于, 对所述非敏感内容表述方式进行调整。
48、, 使得调整后的非敏感内容所传达的信息在调整前的非敏感内容所传达的信息的涵盖范围 内。 0127 优选地, 调整后的非敏感内容所传达的信息与调整前的非敏感内容所传达的信息 可以一致, 即非敏感内容的表述方式经过调整后, 所传达的信息并未丢失。 0128 为了杜绝这种情况出现, 对写入隐匿化数据中的非敏感内容的表述方式进行调 整, 就可以使得不论如何尝试, 都无法根据调整后的非敏感内容破解出被隐匿的敏感内容。 0129 实施例五 0130 基于上述的实施例一四, 可以引入权限验证机制。 0131 图10是本说明书实施例提供的一种对写入块链的交易进行隐匿的方法的流程示 意图, 包括如下步骤: 01。
49、32 S1000: 接收隐匿指令; 说明书 8/20 页 12 CN 110009341 A 12 0133 S1002: 获取所述隐匿指令的签名, 并判断获取的签名是否满足指定条件, 若是, 则 执行步骤S804, 若否, 则执行步骤S806。 0134 S1004: 根据所述隐匿指令, 确定包括所述目标交易标识对应的交易的交易哈希的 隐匿化数据, 以及, 将块链中对应于所述目标交易标识的交易替换成所述隐匿化数据。 0135 S1006: 拒绝所述隐匿指令。 0136 在实际应用中, 可以要求所述隐匿指令必须具有满足指定条件的签名。 各区块链 节点或中心化设备当确定隐匿指令的签名满足指定条件。
50、时, 才会执行所述隐匿指令。 0137 具体地, 所述指定条件可以包括但不限于以下三种情况: 0138 1、 若所述目标交易标识对应的交易是写入区块链的交易, 则所述隐匿指令的签名 为区块链节点的签名。 此时, 所述指定条件为获取的签名的数量大于指定数量。 0139 例如, 区块链网络中有10个节点, 可以将所述指定数量设置为5, 则所述隐匿指令 必须得到多于5个节点的认可才有效。 0140 2、 若所述目标交易标识对应的交易是写入类区块链的交易, 则所述指定条件为获 取的签名包括至少两个权限方的签名。 0141 具体而言, 实践中, 权限方可以包括法院、 中心化设备的控制方、 中心化设备的数。
- 内容关键字: 写入 交易 进行 隐匿 方法 装置
电动车玩具车配件清洗设备.pdf
电缆架设用缓冲夹具.pdf
保温墙体连接结构.pdf
卧式液压装配机.pdf
密封胶圈结构.pdf
电缆挤出设备.pdf
自动数控陶瓷茶壶磨口机.pdf
用于锂云母矿的浮选装置.pdf
汽车用线性灯光模块.pdf
多腔体注压成型模具的均匀冷却结构.pdf
空气环境监测装置.pdf
污水净化处理装置.pdf
自动反清洗管道过滤器.pdf
智慧采油系统.pdf
内科护理诊断监测呼吸装置.pdf
压滤机接液翻板支撑结构.pdf
工程材料切割装置.pdf
双侧气囊压榨机罐体.pdf
滚动筛.pdf
均温板.pdf
活塞止转销压力检测装置.pdf
数据抽取与加载方法、装置、电子设备及存储介质.pdf
路面隔离装置.pdf
基于中继技术的UWB传输方法及电子设备、存储介质.pdf
膨化食品原料清洗装置.pdf
低GI冲泡速食米组合物及其制备方法和应用.pdf
基于人工智能的电路故障监测方法及系统.pdf
生态旅游资源卫星遥感数据批量处理及下载系统.pdf
焦炉烟气去除焦油的装置及方法.pdf
基于物联网的智能海洋牧场投喂系统.pdf
脉冲信号的时间及电荷测量方法及装置.pdf
废钢破碎的防阻塞布袋除尘器.pdf
喷淋冲洗、清洗水回收、脱水及加料的秸秆清洗装置.pdf
一种双电机手持搅拌器.pdf
喷淋冲洗、清洗水回收及快捷脱水的秸秆清洗装置.pdf
一种双向高效搅拌机.pdf
一种蚓粪生物质炭及其高效去除水体中雌二醇的方法.pdf
一种用于LED封装的胶水自动搅拌系统.pdf
平面被动式微混合器.pdf
一种简易手动水下搅拌器.pdf
一种便携式药学配药装置.pdf
一种新型的铌酸铋钙钠光催化材料的制备方法及其应用.pdf
印染污水深度处理全自动石灰配液系统及其方法.pdf
钢绞线放线架及具有该放线架的钢绞线裁断装置.pdf
一种新型整排接触体弯曲装置.pdf
一种可聚合的含丙烯酰氧基的三聚阳离子表面活性剂及其制备方法.pdf
化学实验仪器.pdf
具同质PN结结构纳米复合光催化剂制备方法.pdf
化学污泥的资源化处理方法.pdf
一种用于摩托车尾气处理的催化转化器及其制备方法.pdf
采用粉末冶金工艺制备的铁硅系软磁合金及方法.pdf