一种验证交易的方法、一种节点及一种区块链系统技术方案

技术编号:20590315 阅读:26 留言:0更新日期:2019-03-16 07:36
本发明专利技术提供了一种验证交易的方法、一种节点及一种区块链系统,该方法,包括:根据交易信息,生成第一哈希标签;针对区块链网络中的每个其他节点,执行:获取与当前的其他节点的共享密钥,根据第一哈希标签、交易信息和与当前的其他节点的共享密钥,生成第二哈希标签;根据交易信息、第一哈希标签和每个第二哈希标签,生成广播信息;将广播信息广播到区块链网络中,以使每个其他节点执行:接收广播信息,根据接收到的广播信息,以及与发出广播信息的节点的共享密钥,生成待验证哈希标签,从广播信息中获取对应的第二哈希标签,判断获取的第二哈希标签是否与待验证哈希标签相同,如果是,则确定发出该交易通过验证。本发明专利技术能够对交易进行验证。

【技术实现步骤摘要】
一种验证交易的方法、一种节点及一种区块链系统
本专利技术涉及计算机
,特别涉及一种验证交易的方法、一种节点及一种区块链系统。
技术介绍
随着计算机技术的快速发展,网络交易越来越多。在现有技术中,网络交易的交易信息通过网络进行传输,接收到该交易信息的节点无法对该交易信息对应的交易进行验证。
技术实现思路
本专利技术实施例提供了一种验证交易的方法、一种节点及一种区块链系统,能够对交易进行验证。第一方面,本专利技术实施例提供了一种验证交易的方法,应用于区块链网络中的任一节点,在所述区块链网络中的每个节点中保存有与其他节点的共享密钥;包括:当所述区块链网络中的任一节点发起交易时,该节点执行:根据交易信息,生成第一哈希标签;针对所述区块链网络中的每个其他节点,执行:获取与当前的其他节点的共享密钥,根据所述第一哈希标签、所述交易信息和与当前的其他节点的共享密钥,生成当前的其他节点对应的第二哈希标签;根据所述交易信息、所述第一哈希标签和每个其他节点对应的第二哈希标签,生成广播信息;将所述广播信息广播到所述区块链网络中,以使每个其他节点执行:接收广播信息,根据接收到的广播信息,以及当前的其他节点与发出所述广播信息的节点的共享密钥,生成待验证哈希标签,从接收到的广播信息中获取当前的其他节点对应的第二哈希标签,判断获取的当前的其他节点对应的第二哈希标签是否与所述待验证哈希标签相同,如果是,则确定发出所述广播信息的节点发起的交易通过验证。优选地,所述根据交易信息,生成第一哈希标签,包括:将预先设置的秘密值作为带密钥的哈希算法的输入密钥;根据所述秘密值,利用所述带密钥的哈希算法计算所述交易信息的所述第一哈希标签。优选地,所述根据所述第一哈希标签、所述交易信息和与当前的其他节点的共享密钥,生成当前的其他节点对应的第二哈希标签,包括:将与当前的其他节点的共享密钥作为带密钥的哈希算法的输入密钥;将所述交易信息和所述第一哈希标签拼接成中间信息;根据与当前的其他节点的共享密钥,利用所述带密钥的哈希算法计算所述中间信息的第二哈希标签。优选地,所述根据所述交易信息、所述第一哈希标签和每个其他节点对应的第二哈希标签,生成广播信息,包括:根据第一式子,将所述交易信息、所述第一哈希标签和每个其他节点对应的第二哈希标签拼接成所述广播信息,其中,所述第一式子为:G=J||h||H1||H2||…Hi…||Hn;其中,G为所述广播信息,J为所述交易信息,h为所述第一哈希标签,Hi为第i个其他节点对应的第二哈希标签,i=1,2,…,n。第二方面,本专利技术实施例提供了一种节点,包括:第一哈希单元,用于根据交易信息,生成第一哈希标签;第二哈希单元,用于针对区块链网络中的每个其他节点,执行:获取与当前的其他节点的共享密钥,根据所述第一哈希标签、所述交易信息和与当前的其他节点的共享密钥,生成当前的其他节点对应的第二哈希标签;广播信息生成单元,用于根据所述交易信息、所述第一哈希标签和每个其他节点对应的第二哈希标签,生成广播信息;广播单元,用于将所述广播信息广播到所述区块链网络中,以使每个其他节点执行:接收广播信息,根据接收到的广播信息,以及当前的其他节点与发出所述广播信息的节点的共享密钥,生成待验证哈希标签,从接收到的广播信息中获取当前的其他节点对应的第二哈希标签,判断获取的当前的其他节点对应的第二哈希标签是否与所述待验证哈希标签相同,如果是,则确定发出所述广播信息的节点发起的交易通过验证;其中,在所述区块链网络中的每个节点中保存有与其他节点的共享密钥。优选地,所述第一哈希单元,用于将预先设置的秘密值作为带密钥的哈希算法的输入密钥;根据所述秘密值,利用所述带密钥的哈希算法计算所述交易信息的所述第一哈希标签。优选地,所述第二哈希单元,在执行所述根据所述第一哈希标签、所述交易信息和与当前的其他节点的共享密钥,生成当前的其他节点对应的第二哈希标签时,具体用于:将与当前的其他节点的共享密钥作为带密钥的哈希算法的输入密钥;将所述交易信息和所述第一哈希标签拼接成中间信息;根据与当前的其他节点的共享密钥,利用所述带密钥的哈希算法计算所述中间信息的第二哈希标签。优选地,所述广播信息生成单元,用于根据第一式子,将所述交易信息、所述第一哈希标签和每个其他节点对应的第二哈希标签拼接成所述广播信息,其中,所述第一式子为:G=J||h||H1||H2||…Hi…||Hn;其中,G为所述广播信息,J为所述交易信息,h为所述第一哈希标签,Hi为第i个其他节点对应的第二哈希标签,i=1,2,…,n。第三方面,本专利技术实施例提供了一种区块链系统,包括:多个节点;其中,每个节点中保存有与其他节点的共享密钥;针对每个节点,在当前节点发起交易时,当前节点作为发起节点,在其他节点发起交易时,当前节点作为接收节点;所述节点,用于当作为发起节点时,执行:根据交易信息,生成第一哈希标签;针对每个其他节点,执行:获取与当前的其他节点的共享密钥,根据所述第一哈希标签、所述交易信息和与当前的其他节点的共享密钥,生成当前的其他节点对应的第二哈希标签;根据所述交易信息、所述第一哈希标签和每个其他节点对应的第二哈希标签,生成广播信息,将该广播信息广播到区块链网络中;所述节点,用于当作为接收节点时,执行:接收到区块链网络中的广播信息,根据接收到的广播信息,以及与发出该广播信息的节点的共享密钥,生成待验证哈希标签,从接收到的广播信息中获取本节点对应的第二哈希标签,判断获取的本节点对应的第二哈希标签是否与所述待验证哈希标签相同,如果是,则确定发出该广播信息的节点发起的交易通过验证。优选地,所述节点,当作为发起节点时,在执行所述根据所述第一哈希标签、所述交易信息和与当前的其他节点的共享密钥,生成当前的其他节点对应的第二哈希标签时,具体用于包括:将与当前的其他节点的共享密钥作为带密钥的哈希算法的输入密钥;将交易信息和第一哈希标签拼接成中间信息;根据与当前的其他节点的共享密钥,利用所述带密钥的哈希算法计算所述中间信息的第二哈希标签;所述节点,当作为接收节点时,在执行所述根据接收到的广播信息,以及与发出该广播信息的节点的共享密钥,生成待验证哈希标签时,具体用于:根据接收到的广播信息,确定接收到的广播信息中的交易信息和第一哈希标签;将与发出该广播信息的节点的共享密钥作为带密钥的哈希算法的输入密钥;将接收到的广播信息中的交易信息和第一哈希标签拼接成待计算信息;根据与发出该广播信息的节点的共享密钥,利用带密钥的哈希算法计算所述待计算信息的所述待验证哈希标签。在本专利技术实施例中,在区块链网络中的每个两个节点之间有一个共享密钥,发起交易的节点根据交易信息生成第一哈希标签,然后,根据第一哈希标签、交易信息和与其他节点的共享密钥,生成第二哈希标签,根据交易信息、第一哈希标签和每个其他节点对应的第二哈希标签,生成广播信息,并广播到区块链网络中,区块链网络中的节点都可以接收到该广播信息,在接收到该广播信息后,接收到该广播信息的节点根据该广播信息和与发出广播信息的节点的共享密钥,生成待验证哈希标签,将该待验证哈希标签与广播信息中对应的第二哈希标签进行比较,如果相同则确定该交易通过验证,实现对交易的验证附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方本文档来自技高网...

【技术保护点】
1.一种验证交易的方法,其特征在于,应用于区块链网络中的任一节点,在所述区块链网络中的每个节点中保存有与其他节点的共享密钥;还包括:当所述区块链网络中的任一节点发起交易时,该节点执行:根据交易信息,生成第一哈希标签;针对所述区块链网络中的每个其他节点,执行:获取与当前的其他节点的共享密钥,根据所述第一哈希标签、所述交易信息和与当前的其他节点的共享密钥,生成当前的其他节点对应的第二哈希标签;根据所述交易信息、所述第一哈希标签和每个其他节点对应的第二哈希标签,生成广播信息;将所述广播信息广播到所述区块链网络中,以使每个其他节点执行:接收广播信息,根据接收到的广播信息,以及当前的其他节点与发出所述广播信息的节点的共享密钥,生成待验证哈希标签,从接收到的广播信息中获取当前的其他节点对应的第二哈希标签,判断获取的当前的其他节点对应的第二哈希标签是否与所述待验证哈希标签相同,如果是,则确定发出所述广播信息的节点发起的交易通过验证。

【技术特征摘要】
1.一种验证交易的方法,其特征在于,应用于区块链网络中的任一节点,在所述区块链网络中的每个节点中保存有与其他节点的共享密钥;还包括:当所述区块链网络中的任一节点发起交易时,该节点执行:根据交易信息,生成第一哈希标签;针对所述区块链网络中的每个其他节点,执行:获取与当前的其他节点的共享密钥,根据所述第一哈希标签、所述交易信息和与当前的其他节点的共享密钥,生成当前的其他节点对应的第二哈希标签;根据所述交易信息、所述第一哈希标签和每个其他节点对应的第二哈希标签,生成广播信息;将所述广播信息广播到所述区块链网络中,以使每个其他节点执行:接收广播信息,根据接收到的广播信息,以及当前的其他节点与发出所述广播信息的节点的共享密钥,生成待验证哈希标签,从接收到的广播信息中获取当前的其他节点对应的第二哈希标签,判断获取的当前的其他节点对应的第二哈希标签是否与所述待验证哈希标签相同,如果是,则确定发出所述广播信息的节点发起的交易通过验证。2.根据权利要求1所述的方法,其特征在于,所述根据交易信息,生成第一哈希标签,包括:将预先设置的秘密值作为带密钥的哈希算法的输入密钥;根据所述秘密值,利用所述带密钥的哈希算法计算所述交易信息的所述第一哈希标签。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一哈希标签、所述交易信息和与当前的其他节点的共享密钥,生成当前的其他节点对应的第二哈希标签,包括:将与当前的其他节点的共享密钥作为带密钥的哈希算法的输入密钥;将所述交易信息和所述第一哈希标签拼接成中间信息;根据与当前的其他节点的共享密钥,利用所述带密钥的哈希算法计算所述中间信息的第二哈希标签。4.根据权利要求1-3中任一所述的方法,其特征在于,所述根据所述交易信息、所述第一哈希标签和每个其他节点对应的第二哈希标签,生成广播信息,包括:根据第一式子,将所述交易信息、所述第一哈希标签和每个其他节点对应的第二哈希标签拼接成所述广播信息,其中,所述第一式子为:G=J||h||H1||H2||…Hi…||Hn;其中,G为所述广播信息,J为所述交易信息,h为所述第一哈希标签,Hi为第i个其他节点对应的第二哈希标签,i=1,2,…,n。5.一种节点,其特征在于,包括:第一哈希单元,用于根据交易信息,生成第一哈希标签;第二哈希单元,用于针对区块链网络中的每个其他节点,执行:获取与当前的其他节点的共享密钥,根据所述第一哈希标签、所述交易信息和与当前的其他节点的共享密钥,生成当前的其他节点对应的第二哈希标签;广播信息生成单元,用于根据所述交易信息、所述第一哈希标签和每个其他节点对应的第二哈希标签,生成广播信息;广播单元,用于将所述广播信息广播到所述区块链网络中,以使每个其他节点执行:接收广播信息,根据接收到的广播信息,以及当前的其他节点与发出所述广播信息的节点的共享密钥,生成待验证哈希标签,从接收到的广播信息中获取当前的其他节点对应的第二哈希标签,判断获取的当前的其他节点对应的第二哈希标签是否与所述待验证哈希标签相同,如果是,则确定发出所述广播信息的节点发起的交易通过验证;其中,在所述区块链网络中的每个节点中保存有与其他...

【专利技术属性】
技术研发人员:路成业王凌王童
申请(专利权)人:全链通有限公司
类型:发明
国别省市:北京,11

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

1