区块链多方见证方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:21458059 阅读:18 留言:0更新日期:2019-06-26 06:10
本发明专利技术公开了一种区块链多方见证方法,包括:获取待见证的数据,计算待见证的数据的哈希值并使用见证发起方私钥对哈希值进行签名,根据经见证发起方私钥签名后的哈希值和预设的多方见证完成条件信息生成见证请求消息;将待见证的数据和见证请求消息发送至预设的见证参与方节点,并接收各见证参与方节点返回的见证响应消息;从见证响应消息中获取各见证参与方节点使用自身私钥对哈希值进行签名的签名信息,形成签名列表;发起基于签名列表的链上共识;当链上共识达成时,判定待见证的数据完成了多方见证。本发明专利技术还公开了一种区块链多方见证装置、设备和一种存储介质。本发明专利技术能够提升基于区块链进行多方见证的执行性能并降低数据存储压力。

【技术实现步骤摘要】
区块链多方见证方法、装置、设备及计算机可读存储介质
本专利技术涉及区块链(Blockchain)
,尤其涉及区块链多方见证方法、装置、设备及计算机可读存储介质。
技术介绍
近年来,随着金融科技(Fintech),尤其是互联网金融的不断发展,区块链(Blockchain)技术被逐渐引入银行等金融机构的业务交易中。区块链的核心价值在于由多方见证和不可篡改带来的数据真实性,其中,多方见证是指具有特定资格的机构以其机构名义,对数据的完整性和真实性予以证明,并对所作证明负责的一种活动。区块链中的多方见证的应用场景包括存证、投票等。现有技术中,基于区块链的多方见证方案一般为:业务机构生成需进行见证的数据的Hash(哈希)值,将数据的Hash值签名后进行上链,然后通知其他机构对链上的Hash值进行确认,其他机构确认后需上链追加各自机构基于该Hash值的签名,相关机构上传签名完毕,至此多方见证过程完成。上述多方见证方案的缺陷在于:1)性能限制。各类机构对数据Hash值的签名均需进行上链操作,一次完整的见证过程将包括多次上链操作,影响了见证的效率,进而限制了多方见证的大规模应用。2)存储限制。签名的每次上链操作均为执行智能合约的交易,交易及其数据需记录在区块链中,单次见证过程需多方机构签名的需求将增加交易量/数据量。
技术实现思路
本专利技术的主要目的在于提出一种区块链多方见证方法、装置、设备及计算机可读存储介质,旨在提升基于区块链进行多方见证的执行性能并降低数据存储压力,从而便于多方见证的大规模应用。为实现上述目的,本专利技术提供一种区块链多方见证方法,所述区块链多方见证方法包括如下步骤:获取待见证的数据,计算所述待见证的数据的哈希值并使用预先保存的见证发起方私钥对所述哈希值进行签名,根据经所述见证发起方私钥签名后的所述哈希值和预设的多方见证完成条件信息生成见证请求消息;将所述待见证的数据和所述见证请求消息发送至预设的见证参与方节点,并接收各见证参与方节点返回的见证响应消息;从所述见证响应消息中获取各见证参与方节点使用自身私钥对所述哈希值进行签名的签名信息,形成签名列表;发起基于所述签名列表的链上共识;当所述链上共识达成时,判定所述待见证的数据完成了多方见证。优选地,所述根据经所述见证发起方私钥签名后的所述哈希值和预设的多方见证完成条件信息生成见证请求消息的步骤包括:生成见证请求消息的唯一标识信息;将所述唯一标识信息、经所述见证发起方私钥签名后的所述哈希值和预设的多方见证完成条件信息打包成见证请求消息。优选地,所述发起基于所述签名列表的链上共识的步骤之前,还包括:对所述签名列表中的签名信息进行有效性验证;当所述有效性验证通过时,判断所述签名信息是否满足所述多方见证完成条件信息中规定的多方见证完成条件;若所述签名信息满足所述多方见证完成条件信息中规定的多方见证完成条件,则执行步骤:发起基于所述签名列表的链上共识。优选地,所述对所述签名列表中的签名信息进行有效性验证的步骤包括:使用预先保存的见证参与方公钥解密所述签名列表中的签名信息;当所述签名列表中的签名信息能够被所述见证参与方公钥解密时,判定所述签名列表中的签名信息是有效的。优选地,所述发起基于所述签名列表的链上共识的步骤包括:根据经所述见证发起方私钥签名后的所述哈希值、所述签名列表和所述多方见证完成条件信息生成一笔上链交易;执行所述上链交易的上链操作,以使区块链中的所有节点对所述上链交易进行共识。优选地,所述将所述待见证的数据和所述见证请求消息发送至预设的见证参与方节点,并接收各见证参与方节点返回的见证响应消息的步骤包括:读取预先保存在本地的Topic节点列表,所述Topic节点列表用于记录预先关注了同一Topic的见证发起方节点和见证参与方节点,其中Topic表示所述待见证的数据的哈希值;从所述Topic节点列表中随机选取预设数量的目标节点,将所述待见证的数据和所述见证请求消息发送至所述目标节点,并接收所述目标节点返回的见证响应消息。优选地,所述将所述待见证的数据和所述见证请求消息发送至预设的见证参与方节点,并接收各见证参与方节点返回的见证响应消息的步骤之前,还包括:创建Topic节点列表;当接收到其他节点发送的Topic消息时,使用所述见证发起方私钥解密所述Topic消息,其中Topic消息为使用见证发起方公钥对所述待见证的数据的哈希值进行加密后的消息;当所述Topic消息能够被所述见证发起方私钥解密时,将所述Topic消息的发送节点添加至所述Topic节点列表中。此外,为实现上述目的,本专利技术还提供一种区块链多方见证装置,所述区块链多方见证装置包括:请求生成模块,用于获取待见证的数据,计算所述待见证的数据的哈希值并使用预先保存的见证发起方私钥对所述哈希值进行签名,根据经所述见证发起方私钥签名后的所述哈希值和预设的多方见证完成条件信息生成见证请求消息;请求发送模块,用于将所述见证请求消息发送至预设的见证参与方节点,并接收各见证参与方节点返回的见证响应消息;获取模块,用于从所述见证响应消息中获取各见证参与方节点使用自身私钥对所述哈希值进行签名的签名信息,形成签名列表;共识发起模块,用于发起基于所述签名列表的链上共识;判定模块,用于当所述链上共识达成时,判定所述待见证的数据完成了多方见证。优选地,所述请求生成模块还用于:生成见证请求消息的唯一标识信息;将所述唯一标识信息、经所述见证发起方私钥签名后的所述哈希值和预设的多方见证完成条件信息打包成见证请求消息。优选地,所述区块链多方见证装置还包括:验证模块,用于对所述签名列表中的签名信息进行有效性验证;判断模块,用于当所述有效性验证通过时,判断所述签名信息是否满足所述多方见证完成条件信息中规定的多方见证完成条件;所述共识发起模块,还用于在所述签名信息满足所述多方见证完成条件信息中规定的多方见证完成条件时,发起基于所述签名列表的链上共识。优选地,所述验证模块还用于:使用预先保存的见证参与方公钥解密所述签名列表中的签名信息;当所述签名列表中的签名信息能够被所述见证参与方公钥解密时,判定所述签名列表中的签名信息是有效的。优选地,所述共识发起模块还用于:根据经所述见证发起方私钥签名后的所述哈希值、所述签名列表和所述多方见证完成条件信息生成一笔上链交易;执行所述上链交易的上链操作,以使区块链中的所有节点对所述上链交易进行共识。优选地,所述请求发送模块还用于:读取预先保存在本地的Topic节点列表,所述Topic节点列表用于记录预先关注了同一Topic的见证发起方节点和见证参与方节点,其中Topic表示所述待见证的数据的哈希值;从所述Topic节点列表中随机选取预设数量的目标节点,将所述待见证的数据和所述见证请求消息发送至所述目标节点,并接收所述目标节点返回的见证响应消息。优选地,所述请求发送模块还用于:读取预先保存在本地的Topic节点列表,所述Topic节点列表用于记录预先关注了同一Topic的见证发起方节点和见证参与方节点,其中Topic表示所述待见证的数据的哈希值;从所述Topic节点列表中随机选取预设数量的目标节点,将所述待见证的数据和所述见证请求消息发送至所述目标节点,并接收所述目标节点返回的见证响应消息。此外,为实现本文档来自技高网...

【技术保护点】
1.一种区块链多方见证方法,其特征在于,所述区块链多方见证方法包括如下步骤:获取待见证的数据,计算所述待见证的数据的哈希值并使用预先保存的见证发起方私钥对所述哈希值进行签名,根据经所述见证发起方私钥签名后的所述哈希值和预设的多方见证完成条件信息生成见证请求消息;将所述待见证的数据和所述见证请求消息发送至预设的见证参与方节点,并接收各见证参与方节点返回的见证响应消息;从所述见证响应消息中获取各见证参与方节点使用自身私钥对所述哈希值进行签名的签名信息,形成签名列表;发起基于所述签名列表的链上共识;当所述链上共识达成时,判定所述待见证的数据完成了多方见证。

【技术特征摘要】
1.一种区块链多方见证方法,其特征在于,所述区块链多方见证方法包括如下步骤:获取待见证的数据,计算所述待见证的数据的哈希值并使用预先保存的见证发起方私钥对所述哈希值进行签名,根据经所述见证发起方私钥签名后的所述哈希值和预设的多方见证完成条件信息生成见证请求消息;将所述待见证的数据和所述见证请求消息发送至预设的见证参与方节点,并接收各见证参与方节点返回的见证响应消息;从所述见证响应消息中获取各见证参与方节点使用自身私钥对所述哈希值进行签名的签名信息,形成签名列表;发起基于所述签名列表的链上共识;当所述链上共识达成时,判定所述待见证的数据完成了多方见证。2.如权利要求1所述的区块链多方见证方法,其特征在于,所述根据经所述见证发起方私钥签名后的所述哈希值和预设的多方见证完成条件信息生成见证请求消息的步骤包括:生成见证请求消息的唯一标识信息;将所述唯一标识信息、经所述见证发起方私钥签名后的所述哈希值和预设的多方见证完成条件信息打包成见证请求消息。3.如权利要求1所述的区块链多方见证方法,其特征在于,所述发起基于所述签名列表的链上共识的步骤之前,还包括:对所述签名列表中的签名信息进行有效性验证;当所述有效性验证通过时,判断所述签名信息是否满足所述多方见证完成条件信息中规定的多方见证完成条件;若所述签名信息满足所述多方见证完成条件信息中规定的多方见证完成条件,则执行步骤:发起基于所述签名列表的链上共识。4.如权利要求3所述的区块链多方见证方法,其特征在于,所述对所述签名列表中的签名信息进行有效性验证的步骤包括:使用预先保存的见证参与方公钥解密所述签名列表中的签名信息;当所述签名列表中的签名信息能够被所述见证参与方公钥解密时,判定所述签名列表中的签名信息是有效的。5.如权利要求1至4中任一项所述的区块链多方见证方法,其特征在于,所述发起基于所述签名列表的链上共识的步骤包括:根据经所述见证发起方私钥签名后的所述哈希值、所述签名列表和所述多方见证完成条件信息生成一笔上链交易;执行所述上链交易的上链操作,以使区块链中的所有节点对所述上链交易进行共识。6.如权利要求1至4中任一项所述的区块链多方见证方法,其特征在于,所述将所述待见证的数据和所述见证请求消息发送至预设的见证参与方节点,并接收各见证参与方节点返回的见证响应消息的步骤包括:读取预先保存在本地的Topic节点列表,所述Topic节点列表用于记录预先关注了同一Topic的见证发起方节点和见证参与方节点,其中Topic表示所述待见证的数据的哈希值;从所述Topic节点列表中随机选取预设数量的目标节点,将所述待见证的数据和所述见证请求消息发送至所述目标节点,并接收所述目标节点返回的见证响应消息。7.如权利要求6所述的区块链多方见证方法,其特征在于,所述将所述待见证的数据和所述见证请求消息发送至预设的见证参与方节点,并接收各见证参与方节点返回的见证响应消息的步骤之前,还包括:创建Topic节点列表;当接收到其他节点发送的Topic消息时,使用所述见证发起方私钥解密所述Topic消息,其中Topic消息为使用见证发起方公钥对所述待见证的数据的哈希值进行加密后的消息;当所述Topic消息能够被所述见证发起方私钥解密时,将所述Topic消息的发送节点添加至所述Topic节点列表中。8.一种区块链多方见证装置,其特征在于,所述区块链多方见证装置包括:请求生成模块,用于获取待见证的数据,计算...

【专利技术属性】
技术研发人员:陈宇李辉忠张开翔范瑞彬
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1