The invention discloses a metadata verification method, a system, a server and a computer readable storage medium. The server of the invention receives metadata of files uploaded by the client, which includes a traceable node Hash list in Merkel tree constructed by multiple data blocks of the file. Then, the server calculates the root hash value of Merkel tree based on the traceable node hash list. Finally, the server determines whether the root hash value is the same as the hash value of the file, if the same. Determine that metadata is validated and save metadata. Compared with the existing technology and the existing technology, the present invention improves the security of metadata writing.
【技术实现步骤摘要】
元数据验证方法、系统服务器和计算机可读存储介质
本专利技术涉及区块链
,特别涉及一种元数据验证方法、系统、服务器和计算机可读存储介质。
技术介绍
区块链技术具备去中心化、信息不可篡改性等特点,运用区块链技术可实现多方参与的交易事件(例如,转账交易、支付交易、数据交易等)。例如,银行A与银行B在区块链上进行交易,那么所述区块链上所有其他节点都会知晓这笔交易,其他参与方可以一起参与确认交易准确性,防止信息的篡改。进一步地,区块链本质上是一个基于智能合约的分布式的数据库,一个用户当通过区块链上的一个交易节点设备将一个数据文件写入所述区块链的区块中,则所述数据文件就会被对等(Peer-to-peer,P2P)网络分享到所有区块链节点上去,形成对所述数据文件的共识。然而,基于现有的区块链共识机制,一个用户通过区块链系统上的一个交易节点设备将一个数据文件的元数据写入区块链系统之前,当区块链系统被恶意攻击或者加密机制被破译,则非法攻击者可以利用漏洞伪造数据文件的元数据(例如,所述元数据包括第一验证值、文件大小、文件拥有者等)并篡改文件拥有者,从而造成非公开文件的泄露,或者 ...
【技术保护点】
1.一种元数据验证方法,其特征在于,所述方法包括:服务器接收用户端上传的文件的元数据,所述元数据包括以所述文件的多个数据块构造的默克尔树中的可追溯节点哈希列表;服务器根据所述可追溯节点哈希列表计算所述默克尔树的根哈希值;服务器判断所述根哈希值是否与所述文件的哈希值相同,如果相同,确定所述元数据验证通过,并保存所述元数据。
【技术特征摘要】
1.一种元数据验证方法,其特征在于,所述方法包括:服务器接收用户端上传的文件的元数据,所述元数据包括以所述文件的多个数据块构造的默克尔树中的可追溯节点哈希列表;服务器根据所述可追溯节点哈希列表计算所述默克尔树的根哈希值;服务器判断所述根哈希值是否与所述文件的哈希值相同,如果相同,确定所述元数据验证通过,并保存所述元数据。2.根据权利要求1所述的元数据验证方法,其特征在于,所述保存所述元数据包括:服务器将所述元数据写入区块链。3.根据权利要求1所述的元数据验证方法,其特征在于,在所述服务器接收用户端上传的元数据之前,该方法还包括:用户端将所述文件按照预先确定的切分规则切分成第一预设数量的数据块,并利用预先确定的哈希算法计算出各数据块对应的第一哈希值,根据所述第一哈希值及预先确定的默克尔树构造规则构建默克尔树。4.如权利要求3所述的元数据验证方法,其特征在于,所述预先确定的切分规则包括:将所述数据文件切分成数据大小相同的第一预设数量的数据块;或者,将所述第一预设数量记为M,当M为大于或等于2的自然数时,根据预先确定的文件大小范围与切分数据块大小的映射关系,确定切分所述数据文件得到的数据块大小,根据确定的所述数据块大小及所述数据文件的字符顺序,切分所述数据文件得到大小相同的M-1个数据块,切分后余下的是第M个数据块。5.如权利要求3或4所述的元数据验证方法,其特征在于,所述预先确定的默克尔树构造规则包括:将所述各个第一哈希值作为所述默克尔树的最下级哈希值节点;按照预先确定的分组规则对所述各个第一哈希值进行分组得到若干个第一分组,针对每个第一分组中的所有第一哈希值,利用预先确定的哈希算法计算出一个对应的第二哈希值;针对计算得到的第N哈希值,N为大于或等于2的自然数,循环执行以下步骤:当所述第N哈希值的数量只有一个时结束哈希值计算,将所述第N哈希值作为所述默克尔树的最上级哈希值节点;或者,当所述第N哈希值的数量有多个时,将各个第N哈希值作为所述默克尔树的倒数第N级哈希值节点,按照预先确定的分组规则对所有第N哈希值进行分组得到若干个第N分组,针对每个第N分组中的第N哈希值,利用预先确定的哈希算法计算出一个对应的第N+1哈希值。6.如权利要求5所述的元数据验证方法,其特征在于,所述预先确定的分组规则包括:第一分组:按照所述待切分的数据文件的字符顺序将切分的数据块进行排序,根据所述各个数据块的排列顺序将各数据块对应的第一哈希值进行排序得到...
【专利技术属性】
技术研发人员:郭加楼,
申请(专利权)人:深圳市网心科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。