CN109861956B - 基于状态通道的数据验证系统、方法、装置及设备 - Google Patents

基于状态通道的数据验证系统、方法、装置及设备 Download PDF

Info

Publication number
CN109861956B
CN109861956B CN201811270369.9A CN201811270369A CN109861956B CN 109861956 B CN109861956 B CN 109861956B CN 201811270369 A CN201811270369 A CN 201811270369A CN 109861956 B CN109861956 B CN 109861956B
Authority
CN
China
Prior art keywords
node
key
hash
inherent
transaction data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811270369.9A
Other languages
English (en)
Other versions
CN109861956A (zh
Inventor
梁伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201811270369.9A priority Critical patent/CN109861956B/zh
Publication of CN109861956A publication Critical patent/CN109861956A/zh
Application granted granted Critical
Publication of CN109861956B publication Critical patent/CN109861956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于状态通道的数据验证系统、方法、装置及设备,涉及区块链技术领域,可以在状态通道中基于双方节点的共享密钥对交易数据的验证,使得无需基于非对称密钥进行交易数据的加密,缩短了数据验证的时长,提升了数据验证的效率。所述系统包括第一节点和第二节点;第一节点生成第一哈希标签,基于共享密钥和第一哈希标签,生成第二哈希标签,并传输至第二节点,当接收到第二节点的验证确认信息后,将交易数据添加至交易集合中;第二节点接收第一节点传输的交易数据、第一哈希标签和第二哈希标签,基于共享密钥,对第一哈希标签进行处理,生成第三哈希标签,如果第二哈希标签与第三哈希标签一致,则将验证确认信息传输至第一节点。

Description

基于状态通道的数据验证系统、方法、装置及设备
技术领域
本发明涉及区块链技术领域,特别是涉及一种基于状态通道的数据验证系统、方法、装置及设备。
背景技术
随着信息技术的不断发展,区块链作为一项全新的技术得到大力的发展。区块链是指一串使用密码学方法相关联产生的区块,区块链中每个区块中的区块数据均与上一个区块中的区块数据存在关联,因此,无法通过篡改区块数据来进行作弊。其中,基于区块链技术实现的联盟链是促使未来区块链商业落地的重要基础设施,联盟链允许授权的节点加入网络,节点之间的交易数据在通过验证后便可以添加到联盟链中,且节点可根据权限查看联盟链中的数据。
相关技术中,在对交易数据进行验证时,联盟链中存在交易的第一节点和第二节点进行共识,并建立第一节点和第二节点之间的状态通道,第一节点通过状态通道将对交易数据进行签名后生成的交易凭证以及交易数据传输给第二节点,第二节点对接收到的交易凭证以及交易数据进行签名,对交易数据进行验证,当对交易数据验证成功时,将交易数据添加到各自的交易集合中,使得整个交易集合被提交到联盟链中,由联盟链的智能合约对该交易集合进行处理,并得到最后的数据处理结果。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
第一节点和第二节点对交易数据进行验证时,采用了公私钥对执行验证过程,且分别基于公钥和私钥执行验证和签名过程才可以完成对数据的验证,使得对数据的验证过程时间较长,降低了数据验证的效率。
发明内容
有鉴于此,本发明提供了一种基于状态通道的数据验证系统、方法、装置及设备,主要目的在于解决目前存在数据泄露的可能,降低了对数据验证的安全性的问题。
依据本发明第一方面,提供了一种基于状态通道的数据验证系统,所述基于状态通道的数据验证系统包括第一节点和第二节点,所述基于状态通道的数据验证系统包括第一节点、第二节点以及状态通道,所述第一节点和所述第二节点在所述状态通道中,所述状态通道位于区块链链外;
所述第一节点用于确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签,获取与所述第二节点之间的共享密钥,基于所述共享密钥和所述哈希算法,对所述第一哈希标签进行处理,生成第二哈希标签,基于所述状态通道,将所述交易数据、所述第一哈希标签和所述第二哈希标签传输至所述第二节点,当接收到所述第二节点的验证确认信息后,完成对所述交易数据的验证,将所述交易数据添加至交易集合中,所述第一固有密钥为所述第一节点的固有密钥,所述交易集合中包括至少一个交易数据;
所述第二节点用于基于所述状态通道,接收所述第一节点传输的所述交易数据、所述第一哈希标签和所述第二哈希标签,获取与所述第一节点之间的所述共享密钥,基于所述哈希算法和所述共享密钥,对所述第一哈希标签进行处理,生成所述第三哈希标签,如果所述第二哈希标签与所述第三哈希标签一致,则完成对所述交易数据的验证,生成所述验证确认信息,将所述验证确认信息传输至所述第一节点。
依据本发明第二方面,提供了一种基于状态通道的数据验证方法,所述方法应用于基于状态通道的数据验证系统,所述基于状态通道的数据验证系统包括第一节点、第二节点以及状态通道,所述第一节点和所述第二节点在所述状态通道中,所述状态通道位于区块链链外,所述方法包括:
所述第一节点确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签,所述第一固有密钥为所述第一节点的固有密钥;
所述第一节点获取与所述第二节点之间的共享密钥,基于所述共享密钥和所述哈希算法,对所述第一哈希标签进行处理,生成第二哈希标签;
所述第一节点基于所述状态通道,将所述交易数据、所述第一哈希标签和所述第二哈希标签传输至所述第二节点;
所述第二节点基于所述状态通道,接收所述第一节点传输的所述交易数据、所述第一哈希标签和所述第二哈希标签;
所述第二节点获取与所述第一节点之间的所述共享密钥,基于所述哈希算法和所述共享密钥,对所述第一哈希标签进行处理,生成第三哈希标签;
如果所述第二哈希标签与所述第三哈希标签一致,则所述第二节点完成对所述交易数据的验证,生成验证确认信息,将所述验证确认信息传输至所述第一节点;
当接收到所述第二节点的验证确认信息后,所述第一节点完成对所述交易数据的验证,将所述交易数据添加至交易集合中,所述交易集合中包括至少一个交易数据。
依据本发明第三方面,提供了一种基于状态通道的数据验证方法,所述方法应用于基于状态通道的数据验证系统中的第一节点,所述第一节点在所述状态通道中,所述状态通道位于区块链链外,所述方法包括:
确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签,所述第一固有密钥为所述第一节点的固有密钥;
获取与第二节点之间的共享密钥,基于所述共享密钥和所述哈希算法,对所述第一哈希标签进行处理,生成第二哈希标签;
基于所述状态通道,将所述交易数据、所述第一哈希标签和所述第二哈希标签传输至所述第二节点;
当接收到所述第二节点的验证确认信息后,完成对所述交易数据的验证,将所述交易数据添加至交易集合中,所述交易集合中包括至少一个交易数据。
依据本发明第四方面,提供了一种基于状态通道的数据验证方法,所述方法应用于基于状态通道的数据验证系统中的第二节点,所述第二节点在所述状态通道中,所述状态通道位于区块链链外,所述方法包括:
基于所述状态通道,接收第一节点传输的交易数据、第一哈希标签和第二哈希标签,所述第一哈希标签和所述第二哈希标签由所述第一节点根据所述交易数据生成;
获取与所述第一节点之间的共享密钥,基于哈希算法和所述共享密钥,对所述第一哈希标签进行处理,生成第三哈希标签;
如果所述第二哈希标签与所述第三哈希标签一致,则完成对所述交易数据的验证,生成验证确认信息,将所述验证确认信息传输至所述第一节点。
依据本发明第五方面,提供了一种基于状态通道的数据验证装置,所述装置应用于基于状态通道的数据验证系统中的第一节点,所述第一节点在所述状态通道中,所述状态通道位于区块链链外,所述装置包括:
第一处理模块,用于确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签,所述第一固有密钥为所述第一节点的固有密钥;
第二处理模块,用于获取与第二节点之间的共享密钥,基于所述共享密钥和所述哈希算法,对所述第一哈希标签进行处理,生成第二哈希标签;
传输模块,用于基于所述状态通道,将所述交易数据、所述第一哈希标签和所述第二哈希标签传输至所述第二节点;
添加模块,用于当接收到所述第二节点的验证确认信息后,完成对所述交易数据的验证,将所述交易数据添加至交易集合中,所述交易集合中包括至少一个交易数据。
依据本发明第六方面,提供了一种基于状态通道的数据验证装置,所述装置应用于基于状态通道的数据验证系统中的第二节点,所述第二节点在所述状态通道中,所述状态通道位于区块链链外,所述装置包括:
第一接收模块,用于基于状态通道,接收第一节点传输的交易数据、第一哈希标签和第二哈希标签,所述第一哈希标签和所述第二哈希标签由所述第一节点根据所述交易数据生成;
处理模块,用于获取与所述第一节点之间的共享密钥,基于哈希算法和所述共享密钥,对所述第一哈希标签进行处理,生成第三哈希标签;
确认模块,用于如果所述第二哈希标签与所述第三哈希标签一致,则完成对所述交易数据的验证,生成验证确认信息,将所述验证确认信息传输至所述第一节点。
依据本发明第七方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述第三方面或第四方面中任一项所述方法的步骤。
借由上述技术方案,本发明提供的一种基于状态通道的数据验证系统、方法、装置及设备,与目前采用公私钥对执行验证过程相比,本发明在状态通道中基于双方节点之间的共享密钥实现对交易数据的验证,由于共享密钥是双方节点共同生成且双方生成的共享密钥是完全一致的,使得无需基于非对称密钥进行交易数据的加密,缩短了数据验证的时长,提升了数据验证的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1A示出了本发明实施例提供的一种基于状态通道的数据验证系统的架构图;
图1B示出了本发明实施例提供的一种基于状态通道的数据验证系统的架构图;
图1C示出了本发明实施例提供的一种基于状态通道的数据验证方法流程示意图;
图2A示出了本发明实施例提供的一种基于状态通道的数据验证方法流程示意图;
图2B示出了本发明实施例提供的一种基于状态通道的数据验证方法流程示意图;
图3A示出了本发明实施例提供的一种基于状态通道的数据验证装置的结构示意图;
图3B示出了本发明实施例提供的一种基于状态通道的数据验证装置的结构示意图;
图3C示出了本发明实施例提供的一种基于状态通道的数据验证装置的结构示意图;
图3D示出了本发明实施例提供的一种基于状态通道的数据验证装置的结构示意图;
图4A示出了本发明实施例提供的一种基于状态通道的数据验证装置的结构示意图;
图4B示出了本发明实施例提供的一种基于状态通道的数据验证装置的结构示意图;
图4C示出了本发明实施例提供的一种基于状态通道的数据验证装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在对本发明进行详细的解释说明之前,先对本发明涉及的基于状态通道的数据验证系统进行简单介绍。
参见图1A,基于状态通道的数据验证系统中包括两个节点,两个节点之间存在状态通道,使得两个节点基于状态通道的连接组成了基于状态通道的数据验证系统。状态通道是联盟链系统中专门为相关的节点双方开辟的便捷支付通道,是在智能合约中的相关节点之间进行通信的渠道,双方节点在进行交易时,只需要改变状态通道中事先设置好的状态变量,并通过双方节点对交易数据的验证,达到双方节点的彼此共识。另外,状态通道除非需要额外调整与修正和价值传输,否则状态通道并不会出现在联盟链的主链上。当状态通道关闭时,将状态变换从头到尾的最终变化记录在区块中,也即基于交易的交易数据生成区块。需要说明的是,对于存在关联的双方节点来说,均可以建立状态通道。在本发明实施例中,以联盟链中的节点为例进行说明,而在实际应用的过程中,还可以应用在其他类型的区块链中,例如私有链或公有链,本发明实施例对具体应用在哪一种类型的区块链中不进行限定。另外,为了便于说明解释,本发明实施例以状态通道中有两个节点为例进行说明,而在具体的应用场景中,如果多个节点之间均存在交易,使得多个节点之间均需要进行数据验证,则状态通道中可以包括多个节点,本发明实施例对状态通道中的节点数量不进行具体限定。
另外,本发明实施例涉及的区块链架构可参见图1B,该区块链架构可作为量子安全的区块链架构,具体包括共识机制、安全机制以及数据层。其中,共识机制用于使区块链中的全部节点达成共识,具体可为POW(Proof Of Work,工作量证明)、POS(Proof OfStake,权益证明)、DPOS(Delegating Proof Of Stake,委托权益证明)以及PBFT(Practical Byzantine Fault Tolerance,拜占庭容错算法)等;安全机制用于保证区块链中数据传输的安全性,具体可为后量子密钥交换/封装、哈希算法、量子安全的零知识证明、智能合约漏洞检测等;数据层用于存储区块链架构中涉及的数据,具体可包括Merkle(哈希树)、区块、链式结构以及分布式存储等。
本发明实施例提供了一种基于状态通道的数据验证方法,可以达到降低了共享密钥泄露的可能,提升了数据验证的安全性的目的,如图1C所示,该方法包括:
101、第一节点确定第一固有密钥,基于第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签,第一固有密钥为第一节点的固有密钥。
在确定第一固有密钥,基于第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签之前,该方法还包括建立与第二节点之间的状态通道;获取第一固有密钥,采用第二节点公钥,对第一固有密钥加密,生成第一密文,将第一密文传输至第二节点;接收第二节点传输的第二密文,第二密文由第二节点在接收到第一密文后,采用第一节点公钥对第二固有密钥加密生成的,第二固有密钥为第二节点的固有密钥;采用第一节点私钥对第二密文进行解密,得到第二固有密钥;基于第一固有密钥和第二固有密钥,生成共享密钥。
102、第一节点获取与第二节点之间的共享密钥,基于共享密钥和哈希算法,对第一哈希标签进行处理,生成第二哈希标签。
103、第一节点基于状态通道,将交易数据、第一哈希标签和第二哈希标签传输至第二节点。
104、第二节点基于状态通道,接收第一节点传输的交易数据、第一哈希标签和第二哈希标签。
在本发明实施例中,在基于状态通道,接收第一节点传输的交易数据、第一哈希标签和第二哈希标签之前,该方法还包括接收第一节点传输的第一密文,第一密文由第一节点基于第二节点公钥对第一固有密钥加密生成,第一固有密钥为第一节点的固有密钥;基于第二节点私钥,对第一密文解密,得到第一固有密钥;第二密文由第二节点采用第一节点公钥对第二固有密钥加密生成,将第二密文传输至第一节点,第二固有密钥为第二节点的固有密钥;基于第一固有密钥和第二固有密钥,生成共享密钥。
105、第二节点获取与第一节点之间的共享密钥,基于哈希算法和共享密钥,对第一哈希标签进行处理,生成第三哈希标签。
106、如果第二哈希标签与第三哈希标签一致,则第二节点完成对交易数据的验证,生成验证确认信息,将验证确认信息传输至第一节点。
107、当接收到第二节点的验证确认信息后,第一节点完成对交易数据的验证,将交易数据添加至交易集合中,交易集合中包括至少一个交易数据。
另外,当检测到状态通道关闭时,获取交易集合中的至少一个交易数据,将至少一个交易数据提交至联盟链,基于联盟链的智能合约,对至少一个交易数据进行数据处理。
本发明实施例提供的基于状态通道的数据验证方法,可以在状态通道中基于双方节点之间的共享密钥实现对交易数据的验证,由于共享密钥是双方节点共同生成且双方生成的共享密钥是完全一致的,使得无需基于非对称密钥进行交易数据的加密,缩短了数据验证的时长,提升了数据验证的效率。
本发明实施例提供了一种基于状态通道的数据验证方法,可以达到降低了共享密钥泄露的可能,提升了数据验证的安全性的目的,如图2A所示,该方法包括:
201、第一节点建立与第二节点之间的状态通道。
在本发明实施例中,对于用户、支付商以及收款商来说,通常会存在交易,这些交易通常为小额交易且数量较多,如果频繁的执行联盟链中的智能合约对这些交易的交易数据进行处理,不仅会增加联盟链主网络的负担,而且手续费也较高,导致用户粘度下降。因此,对于经常发生小额交易的节点来说,节点双方可以建立状态通道,基于状态通道将部分交易移出到链外处理,从而提高数据处理的效率。
状态通道的本质是通过在不同节点之间建立一个双向通道,为不同节点之间提供状态维护服务。在建立第一节点和第二节点之间的状态通道时,获取第一节点的第一节点标识以及第二节点的第二节点标识,将第一节点标识和第二节点标识关联,从而完成第一节点和第二节点之间状态通道的建立。
202、第一节点与第二节点之间生成共享密钥。
发明人认识到,基于状态通道的数据验证系统中的节点在进行数据验证时通常采用两种方式,一种方式为采用对称密钥进行验证,也即进行数据验证的双方节点使用同一个密钥,该密钥既可以加密也可以解密;另一种方式为采用非对称密钥进行验证,也即一对密钥由公钥和私钥组成,公钥和私钥可以互相加密以及解密。其中,由于采用对称密钥加密与采用非对称密钥加密的数学原理是不同的,采用对称密钥加密比采用非对称密钥进行加密涉及到的计算量小,因此,使得对称密钥相比于非对称密钥来说,具有加密速度快,加密效率高,可以比非对称加密的方式快1000倍的优点。但是由于整个基于状态通道的数据验证系统中的全部节点在进行数据验证时均使用该对称密钥,使得数据在验证的过程中进行传输时会存在风险,一旦该对称密钥泄露,极有可能造成数据被篡改,因此,基于状态通道的数据验证系统需要做好安全保障,无形中增加了基于状态通道的数据验证系统对该对称密钥管理的负担。
为了在保证进行加密时的计算量小,加密速度快,加密效率高的同时,提高数据验证的安全性,在本发明实施例中,对于基于状态通道的数据验证系统中的任一节点,为该节点与其他节点之间两两建立共享密钥,使得该共享密钥只有相关的两个节点知晓,且每两个节点之间的共享密钥均是不同的,从而实现采用对称密钥进行加密的同时,保证了数据传输的安全性。在本发明实施例中,第一节点可为联盟链中的任一节点,第二节点为与第一节点之间存在交易的节点,在生成第一节点与第二节点之间的共享密钥时,参见图2B,具体包括下述步骤2021至步骤2026。
2021、第一节点获取第一固有密钥,采用第二节点公钥,对第一固有密钥加密,生成第一密文,将第一密文传输至第二节点。
其中,第一固有密钥为第一节点的固有密钥。为了使生成的共享密钥与第一节点和第二节点都相关,因此,第一节点获取自身的第一固有密钥,将第一固有密钥分享给第二节点,以便第二节点可以根据该固有密钥在后续生成共享密钥。第一固有密钥可为第一节点随机选取的密钥,通常采用K(i,n+1)表示,可基于随机数产生,例如,生成的第一固有密钥可为27、56等数字形式的,本发明实施例对获取第一固有密钥的方式不进行具体限定。
对于基于状态通道的数据验证系统中的每一个节点来说,均存在与其对应的公私钥对,且每个节点的私钥只有自身知晓,而公钥被联盟链中的全部节点知晓,因此,当第一节点获取到第一固有密钥后,为了保证将第一固有密钥传输至交易节点的安全性,避免第一固有密钥在传输的过程中被泄露,第一节点采用第二节点的第二节点公钥对该第一固有密钥加密,生成第一密文,并将第一密文传输至第二节点,以便第二节点后续在接收到第一密文时,可以采用自身的第二节点私钥对该第一密文进行解密,从而提取该第一固有密钥,进而在后续建立第二节点与第一节点之间的共享密钥。具体地,第二节点的公私钥对可以用(pkn+1,skn+1)表示,其中,pkn+1为第二节点的第二节点私钥,skn+1为第二节点的第二节点公钥。需要说明的是,为了增强状态通道的安全性,在生成第一节点和第二节点的公私钥对时,可以基于抗量子密码算法为第一节点和第二节点生成公私钥对,具体可为基于格理论的后量子密码算法,从而使得状态通道具有抗量子的特性,增强状态通道的安全性。
2022、第二节点接收第一节点传输的第一密文,基于第二节点私钥,对第一密文解密,得到第一固有密钥。
在本发明实施例中,由于第一密文是基于第二节点的第二节点公钥加密生成的,因此,第二节点在接收到第一节点传输的第一密文时,可以基于自身的第二节点私钥,对第一密文进行解密,从而得到第一固有密钥,以便在后续可以综合第一固有密钥生成共享密钥。
2023、第二节点采用第一节点公钥对第二固有密钥加密,生成第二密文,将第二密文传输至第一节点。
在本发明实施例中,第二固有密钥为第二节点的固有密钥。当第二节点接收到第一密文后,为了使第一节点也可以生成与第二节点相同的共享密钥,第二节点需要将自己的第二固有密钥分享给第一节点,具体地,第二固有密钥可以用K(n+1,i)表示。其中,由于第一节点的第一节点公钥是被第二节点所知晓的,为了使第一节点在接收到加密的第二固有密钥时,可以基于第一节点私钥进行解密提取,因此,第二节点在将自身的第二固有密钥传输给第一节点时,可以采用第一节点的第一节点公钥对该第二固有密钥进行加密,生成第二密文,并将第二密文传输至第一节点。具体地,第一节点的公私钥对可以用(pki,ski)表示,其中,pki为第一节点的第一节点私钥,ski为第一节点的第一节点公钥。需要说明的是,第二节点的第二固有密钥的获取方式与上述步骤3011中所示的第一固有密钥的获取方式是一致的此处不再进行赘述。
2024、第二节点确定预设算法,采用预设算法,对第一固有密钥和第二固有密钥进行计算,生成共享密钥。
在对第一密文进行解密得到第一固有密钥后,第二节点便可以基于第一节点的第一固有密钥以及自身的第二固有密钥生成只有第一节点和第二节点知晓的共享密钥,并在后续基于该共享密钥进行数据验证。其中,在生成共享密钥时,可以确定预设算法,基于预设算法对第一固有密钥和第二固有密钥进行计算,从而将第一固有密钥和第二固有密钥结合起来,生成共享密钥。具体地,预设算法可为密钥交换算法,这样,生成的共享密钥便可以用Key(i,n+1)表示,具体地,
Figure BDA0001845857850000121
本发明实施例对生成共享密钥的方式不进行具体限定。
2025、第一节点接收第二节点传输的第二密文,采用第一节点私钥对第二密文进行解密,得到第二固有密钥。
在本发明实施例中,由于第二密文是基于第一节点的第一节点公钥进行加密得到的,因此,第一节点在接收到第二节点传输的第二密文后,便可以采用自身的第一节点私钥,也即ski对第二密文进行解密,从而得到第二节点的第二固有密钥。
2026、第一节点确定预设算法,采用预设算法,对第一固有密钥和第二固有密钥进行计算,生成共享密钥。
在本发明实施例中,第一节点生成共享密钥的方式与上述步骤2024中第二节点生成共享密钥的方式一致,且生成的共享密钥也是相同的,此处不再进行赘述。
203、第一节点确定第一固有密钥,基于第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签。
在本发明实施例中,当第一节点生成了与第二节点之间的共享密钥后,由于第一节点在上述生成共享密钥的过程中已经将自身的固有密钥(也即第一固有密钥)分享给第二节点,因此,在进行数据验证时,可以先通过第一固有密钥对交易数据进行处理,生成交易数据的第一哈希标签,达到对该交易数据首次加密的目的。其中,交易数据可以为第一节点向第二节点发起的一笔交易中的数据,例如,如果第一节点A向第二节点发起一笔交易M,M具体为第一节点A向第二节点B支付3个区块链代币,则M便可以作为交易数据。
在生成第一哈希标签时,可以采用带密钥的哈希算法,基于共享密钥,对交易数据进行计算处理,生成该交易数据的第一哈希标签,以便后续通过对该第一哈希标签的验证实现对交易数据的验证。其中,哈希算法可为SHA(Secure Hash Algorithm,安全哈希算法)算法,具体可为SHA-3算法,这样,继续以交易数据为M进行说明,根据SHA-3算法便可以计算得到交易数据M的第一哈希标签可以用MACKa(M)表示。
204、第一节点获取与第二节点之间的共享密钥,基于共享密钥和哈希算法,对第一哈希标签进行处理,生成第二哈希标签。
在本发明实施例中,由于第一节点与第二节点之间生成了共享密钥,且共享密钥只有第一节点和第二节点知晓,为了使在后续进行传输时,可以通过对哈希标签的验证来确定交易数据的真实性,第一节点基于哈希算法和共享密钥,对第一哈希标签进行处理,生成第二哈希标签,以便后续将交易数据、第一哈希标签以及第二哈希标签传输至第二节点。
其中,在生成第二哈希标签时,可以采用SHA-3算法,基于共享密钥对第一哈希标签进行计算,从而生成第二哈希标签。继续以上述生成的第一哈希标签为MACKa(M)为例进行说明,设第二共享密钥为Kab,则生成的第二哈希标签可以用MACkab(M||MACKa(M))表示。
205、第一节点基于状态通道,将交易数据、第一哈希标签和第二哈希标签传输至第二节点。
在本发明实施例中,当第一节点生成了第二哈希标签后,便可以将交易数据、第一哈希标签以及第二哈希标签传输至第二节点,以便第二节点基于该第一哈希标签以及第二哈希标签对交易数据进行验证,从而验证交易数据的真实性,进而决定是否可以将该交易数据添加至交易集合中。需要说明的是,由于第一节点与第二节点之间已经建立了状态通道,因此,第一节点可以基于状态通道,将交易数据、第一哈希标签以及第二哈希标签传输至第二节点。其中,第一节点在将交易数据、第一哈希标签以及第二哈希标签传输至第二节点时,可以将交易数据、第一哈希标签以及第二哈希标签联立起来,生成一个综合哈希值,将该综合哈希值传输至第二节点。例如,假设交易数据为M、第一哈希标签为MACKa(M),第二哈希标签为MACkab(M||MACKa(M)),则可以生成表示为M||MACKa(M)||MACkab(M||MACKa(M))的综合哈希值,将该综合哈希值传输至第二节点。
206、第二节点基于状态通道,接收第一节点传输的交易数据、第一哈希标签和第二哈希标签。
在本发明实施例中,当第一节点基于状态通道将交易数据以及生成的第一标签和第二标签传输给第二节点后,第二节点便可以基于该状态通道接收到交易数据、第一哈希标签以及第二哈希标签,并在后续基于该第一哈希标签和第二哈希标签实现对交易数据的验证。
207、第二节点获取与第一节点之间的共享密钥,基于哈希算法和共享密钥,对第一哈希标签进行处理,生成第三哈希标签。
在本发明实施例中,当第二节点接收到第一节点传输的交易数据、第一哈希标签以及第二哈希标签后,便可以对交易数据进行验证。其中,由于进行数据的篡改仅能修改交易数据,而无法对哈希标签进行修改,因此,为了实现对交易数据的验证,第二节点获取与第一节点之间的共享密钥,并基于哈希算法和共享密钥,对第一哈希标签进行处理,生成第三哈希标签,并在后续将生成的第三哈希标签与第一节点传输的第二哈希标签进行对比,从而实现对交易数据的验证。其中,第二节点生成第三哈希标签的过程与上述步骤204中生成第二哈希标签的过程一致,此处不再进行赘述。
在实际应用的过程中,由于在生成共享密钥的过程中,第二节点已经获取到了第一节点的第一固有密钥,而第一节点传输的第一哈希标签是根据第一固有密钥生成的,因此,第二节点在接收到第一节点传输的交易数据、第一哈希标签以及第二哈希标签后,当计算得到了第三哈希标签后,还可以采用第一固有密钥对交易数据进行计算,得到第四哈希标签,并将第四哈希标签与第一哈希标签进行比对,从而对交易数据进行再次验证。本发明实施例中仅涉及到采用第二哈希标签与第三哈希标签进行数据验证的方法,而在实际应用的过程中,还可以增加采用第四哈希标签与第二哈希标签进行对比进行再次数据验证的过程,从而提升数据验证的准确性,本发明实施例对执行比对过程的次数不进行具体限定。
208、第二节点将第二哈希标签与第三哈希标签进行比对,如果第二哈希标签与第三哈希标签不一致,则执行下述步骤209;如果第二哈希标签与第三哈希标签一致,则执行下述步骤210。
在本发明实施例中,由于第二哈希标签和第三哈希标签均是根据交易数据生成的,因此,如果交易数据未被篡改且是真实的,则第二节点在生成了第三哈希标签后,便可以将第三哈希标签和第二哈希标签进行比对,通过判断第二哈希标签与第三哈希标签是否一致来确定该交易数据是否真实。如果第二哈希标签与第三哈希标签不一致,则表示交易数据可能被篡改或者是不真实的,这时,拒绝将该交易数据添加至交易集合中,需要第一节点再次提供真实的数据才可以,也即执行下述步骤209;如果第二哈希标签与第三哈希标签一致,则表示交易数据未被篡改且是真实的,这时,便可以确定将该交易数据添加至交易集合中,也即执行下述步骤210。
209、如果第二哈希标签与第三哈希标签不一致,则第二节点生成验证失败信息,将该验证失败信息传输至第一节点。
在本发明实施例中,如果第二哈希标签与第三哈希标签不一致,则表示交易数据可能被篡改或者是不真实的,这时,拒绝将该交易数据添加至交易集合中,对该交易数据的验证失败,需要第一节点再次提供真实的数据才可以。为了使第一节点可以重新发送交易数据,第二节点生成失败指令,并将失败指令返回至第一节点,以使第一节点向第二节点传输交易数据。
210、如果第二哈希标签与第三哈希标签一致,则第二节点完成对交易数据的验证,生成验证确认信息,将验证确认信息传输至第一节点。
在本发明实施例中,如果第二哈希标签与第三哈希标签一致,则表示交易数据未被篡改且是真实的,这时,便可以确定将该交易数据写入交易集合中,这样,第二节点对交易数据的验证便是成功的。为了使第一节点获知第二节点对该交易数据的验证成功了,以便第一节点将该交易数据添加到交易集合中,第二节点生成验证确认信息,将该验证确认信息传输至第一节点。其中,在生成验证确认信息时,第二节点可以在交易数据中提取数据,并在验证确认信息中携带该数据标识,使得第一节点在接收到该确认信息时,可以确定第二节点对哪一个交易数据进行验证成功。
211、当接收到第二节点的验证确认信息后,完成对交易数据的验证,第一节点将交易数据添加至交易集合中。
在本发明实施例中,当第一节点接收到第二节点的验证确认信息后,便可以确定第二节点已经完成了对交易数据的验证,此时,第一节点便可以将该交易数据添加至交易集合中,以便后续基于该交易集合,生成区块,从而实现将交易数据添加至区块链中。
其中,由于交易数据中涉及的额度较小,因此,可以将多个交易数据进行综合,以便在后续可以基于多个交易数据生成区块进行存储,从而节省区块的存储空间,因此,第一节点将已经完成验证的交易数据添加至交易集合中。其中,交易集合中包括至少一个交易数据。
212、当检测到状态通道关闭时,第一节点获取交易集合中的至少一个交易数据,将至少一个交易数据提交至区块链,基于区块链的智能合约,对至少一个交易数据进行数据处理。
在本发明实施例中,当第一节点与第二节点之间的交易结束时,便可以将第一节点与第二节点之间的状态通道关闭,此时,便表示第一节点与第二节点之间的交易完成,便可以将第一节点与第二节点之间生成的全部交易数据存储到区块链中。这样,当检测到状态通道关闭时,第一节点便获取交易集合中的至少一个交易数据,并将至少一个交易数据提交至联盟链,以便基于区块链的智能合约,对至少一个交易数据进行数据处理。其中,在将至少一个交易数据提交至区块链中时,可以基于至少一个交易数据生成区块,将生成的区块添加至区块链中。在实际应用的过程中,如果第一节点和第二节点处于一个联盟链中,则可将至少一个交易数据提交至联盟链中,本发明实施例对第一节点和第二节点所处的区块链的类型不进行具体限定。
本发明实施例提供的基于状态通道的数据验证方法,可以在状态通道中基于双方节点之间的共享密钥实现对交易数据的验证,由于共享密钥是双方节点共同生成且双方生成的共享密钥是完全一致的,使得无需基于非对称密钥进行交易数据的加密,缩短了数据验证的时长,提升了数据验证的效率。
进一步地,作为图1B所述方法的具体实现,本发明实施例提供了一种基于状态通道的数据验证装置,所述装置应用于基于状态通道的数据验证系统中的第一节点,所述第一节点在所述状态通道中,所述状态通道位于区块链链外,如图3A所示,所述装置包括:第一处理模块301,第二处理模块302,传输模块303以及添加模块304。
该第一处理模块301,用于确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签,所述第一固有密钥为所述第一节点的固有密钥;
该第二处理模块302,用于获取与第二节点之间的共享密钥,基于所述共享密钥和所述哈希算法,对所述第一哈希标签进行处理,生成第二哈希标签;
该传输模块303,用于基于状态通道,将所述交易数据、所述第一哈希标签和所述第二哈希标签传输至所述第二节点;
该添加模块304,用于当接收到所述第二节点的验证确认信息后,完成对所述交易数据的验证,将所述交易数据添加至交易集合中,所述交易集合中包括至少一个交易数据。
在具体的应用场景中,如图3B所示,该装置还包括建立模块305,加密模块306,接收模块307,解密模块308和生成模块309。
该建立模块305,用于建立与所述第二节点之间的所述状态通道;
该加密模块306,用于获取所述第一固有密钥,采用第二节点公钥,对所述第一固有密钥加密,生成第一密文,将所述第一密文传输至所述第二节点;
该接收模块307,用于接收所述第二节点传输的第二密文,所述第二密文由所述第二节点在接收到所述第一密文后,采用第一节点公钥对第二固有密钥加密生成的,所述第二固有密钥为所述第二节点的固有密钥;
该解密模块308,用于采用第一节点私钥对所述第二密文进行解密,得到所述第二固有密钥;
该生成模块309,用于基于所述第一固有密钥和所述第二固有密钥,生成所述共享密钥;其中,所述第二节点公钥、所述第一节点公钥和所述第一节点私钥采用抗量子密码算法生成。
在具体的应用场景中,如图3C所示,该生成模块309,包括确定子模块3091和计算子模块3092。
该确定子模块3091,用于确定预设算法,所述预设算法至少为密钥交换算法;
该计算子模块3092,用于采用所述预设算法,对所述第一固有密钥和所述第二固有密钥进行计算,生成所述共享密钥。
在具体的应用场景中,如图3D所示,该装置还包括获取模块310和提交模块311。
该获取模块310,用于当检测到所述状态通道关闭时,获取所述交易集合中的至少一个交易数据;
该提交模块311,用于将所述至少一个交易数据提交至所述区块链,基于所述区块链的智能合约,对所述至少一个交易数据进行数据处理。
本发明实施例提供的基于状态通道的数据验证装置,可以在状态通道中基于双方节点之间的共享密钥实现对交易数据的验证,由于共享密钥是双方节点共同生成且双方生成的共享密钥是完全一致的,使得无需基于非对称密钥进行交易数据的加密,缩短了数据验证的时长,提升了数据验证的效率。
进一步地,作为图1B所述方法的具体实现,本发明实施例提供了一种基于状态通道的数据验证装置,所述装置应用于基于状态通道的数据验证系统中的第二节点,所述第二节点在所述状态通道中,所述状态通道位于区块链链外,如图4A所示,所述装置包括:第一接收模块401,处理模块402和确定模块403。
该第一接收模块401,用于基于状态通道,接收第一节点传输的交易数据、第一哈希标签和第二哈希标签,所述第一哈希标签和所述第二哈希标签由所述第一节点根据所述交易数据生成;
该处理模块402,用于获取与所述第一节点之间的共享密钥,基于哈希算法和所述共享密钥,对所述第一哈希标签进行处理,生成第三哈希标签;
该确认模块403,用于如果所述第二哈希标签与所述第三哈希标签一致,则完成对所述交易数据的验证,生成验证确认信息,将所述验证确认信息传输至所述第一节点。
在具体的应用场景中,如图4B所示,该装置还包括第二接收模块404,解密模块405,加密模块406和生成模块407。
该第二接收模块404,用于接收所述第一节点传输的第一密文,所述第一密文由所述第一节点基于第二节点公钥对第一固有密钥加密生成,所述第一固有密钥为所述第一节点的固有密钥;
该解密模块405,用于基于第二节点私钥,对所述第一密文解密,得到所述第一固有密钥;
该加密模块406,用于采用第一节点公钥对第二固有密钥加密,生成第二密文,将所述第二密文传输至所述第一节点,所述第二固有密钥为所述第二节点的固有密钥;
该生成模块407,用于基于所述第一固有密钥和所述第二固有密钥,生成所述共享密钥;其中,所述第二节点公钥、所述第二节点私钥和所述第一节点公钥采用抗量子密码算法生成。
在具体的应用场景中,如图4C所示,该生成模块407,包括确定子模块4071和计算子模块4072。
该确定子模块4071,用于确定预设算法,所述预设算法至少为密钥交换算法;
该计算子模块4072,用于采用所述预设算法,对所述第一固有密钥和所述第二固有密钥进行计算,生成所述共享密钥。
本发明实施例提供的基于状态通道的数据验证装置,可以在状态通道中基于双方节点之间的共享密钥实现对交易数据的验证,由于共享密钥是双方节点共同生成且双方生成的共享密钥是完全一致的,使得无需基于非对称密钥进行交易数据的加密,缩短了数据验证的时长,提升了数据验证的效率。
需要说明的是,本发明实施例提供的一种基于状态通道的数据验证装置所涉及各功能单元的其他相应描述,可以参考图1B、图2A和图2B中的对应描述,在此不再赘述。
基于上述如图1B、图2A和图2B所示方法,相应的,本发明实施例还提供了一种存储设备,其上存储有计算机程序,该程序被处理器执行时实现上述如图1B、图2A和图2B所示的基于状态通道的数据验证方法。
基于上述如图1B、图2A和图2B所示方法和如图3A至图3D和如图4A图4C所示虚拟装置的实施例,为了实现上述目的,本发明实施例还提供了一种基于状态通道的数据验证的实体装置,该实体装置包括存储设备和处理器;所述存储设备,用于存储计算机程序;所述处理器,用于执行所述计算机程序以实现上述如图1B、图2A和图2B所示的基于状态通道的数据验证方法。
通过应用本发明的技术方案,可以基于双方节点之间的共享密钥实现对交易数据的验证,由于共享密钥是双方节点共同生成且双方生成的共享密钥是完全一致的,使得无需基于非对称密钥进行交易数据的加密,只有双方节点知晓该共享密钥,降低了共享密钥泄露的可能,提升了数据验证的安全性。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (8)

1.一种基于状态通道的数据验证系统,其特征在于,所述基于状态通道的数据验证系统包括第一节点、第二节点以及状态通道,所述第一节点和所述第二节点在所述状态通道中,所述状态通道位于区块链链外;
所述第一节点用于确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签,获取与所述第二节点之间的共享密钥,基于所述共享密钥和所述哈希算法,对所述第一哈希标签进行处理,生成第二哈希标签,基于所述状态通道,将所述交易数据、所述第一哈希标签和所述第二哈希标签传输至所述第二节点,当接收到所述第二节点的验证确认信息后,完成对所述交易数据的验证,将所述交易数据添加至交易集合中,所述第一固有密钥为所述第一节点的固有密钥,所述交易集合中包括至少一个交易数据;
所述第二节点用于基于所述状态通道,接收所述第一节点传输的所述交易数据、所述第一哈希标签和所述第二哈希标签,获取与所述第一节点之间的所述共享密钥,基于所述哈希算法和所述共享密钥,对所述第一哈希标签进行处理,生成第三哈希标签,如果所述第二哈希标签与所述第三哈希标签一致,则完成对所述交易数据的验证,生成所述验证确认信息,将所述验证确认信息传输至所述第一节点;
其中,所述确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签之前,所述第一节点还用于:
建立与所述第二节点之间的所述状态通道;
获取所述第一固有密钥,采用第二节点公钥,对所述第一固有密钥加密,生成第一密文,将所述第一密文传输至所述第二节点;
接收所述第二节点传输的第二密文,所述第二密文由所述第二节点在接收到所述第一密文后,采用第一节点公钥对第二固有密钥加密生成的,所述第二固有密钥为所述第二节点的固有密钥;
采用第一节点私钥对所述第二密文进行解密,得到所述第二固有密钥;
基于所述第一固有密钥和所述第二固有密钥,生成所述共享密钥;
其中,所述第二节点公钥、所述第一节点公钥和所述第一节点私钥采用抗量子密码算法生成。
2.一种基于状态通道的数据验证方法,其特征在于,所述方法应用于基于状态通道的数据验证系统,所述基于状态通道的数据验证系统包括第一节点、第二节点以及状态通道,所述第一节点和所述第二节点在所述状态通道中,所述状态通道位于区块链链外,所述方法包括:
所述第一节点确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签,所述第一固有密钥为所述第一节点的固有密钥;
所述第一节点获取与所述第二节点之间的共享密钥,基于所述共享密钥和所述哈希算法,对所述第一哈希标签进行处理,生成第二哈希标签;
所述第一节点基于所述状态通道,将所述交易数据、所述第一哈希标签和所述第二哈希标签传输至所述第二节点;
所述第二节点基于所述状态通道,接收所述第一节点传输的所述交易数据、所述第一哈希标签和所述第二哈希标签;
所述第二节点获取与所述第一节点之间的所述共享密钥,基于所述哈希算法和所述共享密钥,对所述第一哈希标签进行处理,生成第三哈希标签;
如果所述第二哈希标签与所述第三哈希标签一致,则所述第二节点完成对所述交易数据的验证,生成验证确认信息,将所述验证确认信息传输至所述第一节点;
当接收到所述第二节点的验证确认信息后,所述第一节点完成对所述交易数据的验证,将所述交易数据添加至交易集合中,所述交易集合中包括至少一个交易数据;
其中,所述确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签之前,所述方法还包括:
建立与所述第二节点之间的所述状态通道;
获取所述第一固有密钥,采用第二节点公钥,对所述第一固有密钥加密,生成第一密文,将所述第一密文传输至所述第二节点;
接收所述第二节点传输的第二密文,所述第二密文由所述第二节点在接收到所述第一密文后,采用第一节点公钥对第二固有密钥加密生成的,所述第二固有密钥为所述第二节点的固有密钥;
采用第一节点私钥对所述第二密文进行解密,得到所述第二固有密钥;
基于所述第一固有密钥和所述第二固有密钥,生成所述共享密钥;
其中,所述第二节点公钥、所述第一节点公钥和所述第一节点私钥采用抗量子密码算法生成。
3.一种基于状态通道的数据验证方法,其特征在于,所述方法应用于基于状态通道的数据验证系统中的第一节点,所述第一节点在所述状态通道中,所述状态通道位于区块链链外,所述方法包括:
确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签,所述第一固有密钥为所述第一节点的固有密钥;
获取与第二节点之间的共享密钥,基于所述共享密钥和所述哈希算法,对所述第一哈希标签进行处理,生成第二哈希标签;
基于所述状态通道,将所述交易数据、所述第一哈希标签和所述第二哈希标签传输至所述第二节点;
当接收到所述第二节点在所述第二哈希标签与第三哈希标签一致时,生成的验证确认信息后,完成对所述交易数据的验证,将所述交易数据添加至交易集合中,所述交易集合中包括至少一个交易数据;其中,所述第二节点基于所述状态通道,接收所述第一节点传输的所述交易数据和所述第一哈希标签以及所述第二哈希标签,获取与所述第一节点之间的所述共享密钥,基于所述哈希算法和所述共享密钥,对所述第一哈希标签进行处理,生成所述第三哈希标签;
其中,所述确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签之前,所述方法还包括:
建立与所述第二节点之间的所述状态通道;
获取所述第一固有密钥,采用第二节点公钥,对所述第一固有密钥加密,生成第一密文,将所述第一密文传输至所述第二节点;
接收所述第二节点传输的第二密文,所述第二密文由所述第二节点在接收到所述第一密文后,采用第一节点公钥对第二固有密钥加密生成的,所述第二固有密钥为所述第二节点的固有密钥;
采用第一节点私钥对所述第二密文进行解密,得到所述第二固有密钥;
基于所述第一固有密钥和所述第二固有密钥,生成所述共享密钥;
其中,所述第二节点公钥、所述第一节点公钥和所述第一节点私钥采用抗量子密码算法生成。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一固有密钥和所述第二固有密钥,生成所述共享密钥,包括:
确定预设算法,所述预设算法至少为密钥交换算法;
采用所述预设算法,对所述第一固有密钥和所述第二固有密钥进行计算,生成所述共享密钥。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当检测到所述状态通道关闭时,获取所述交易集合中的至少一个交易数据;
将所述至少一个交易数据提交至所述区块链,基于所述区块链的智能合约,对所述至少一个交易数据进行数据处理。
6.一种基于状态通道的数据验证方法,其特征在于,所述方法应用于基于状态通道的数据验证系统中的第二节点,所述第二节点在所述状态通道中,所述状态通道位于区块链链外,所述方法包括:
基于所述状态通道,接收第一节点传输的交易数据、第一哈希标签和第二哈希标签;所述第一哈希标签由所述第一节点根据确定的第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理而生成;所述第二哈希标签由所述第一节点根据获取的与第二节点之间的共享密钥,基于所述共享密钥和所述哈希算法,对所述第一哈希标签进行处理而生成;所述第一固有密钥为所述第一节点的固有密钥;
获取与所述第一节点之间的共享密钥,基于哈希算法和所述共享密钥,对所述第一哈希标签进行处理,生成第三哈希标签;
如果所述第二哈希标签与所述第三哈希标签一致,则完成对所述交易数据的验证,生成验证确认信息,将所述验证确认信息传输至所述第一节点;
所述共享密钥的生成过程包括:接收所述第一节点传输的第一密文,所述第一密文由所述第一节点基于第二节点公钥对第一固有密钥加密生成,所述第一固有密钥为所述第一节点的固有密钥;
基于第二节点私钥,对所述第一密文解密,得到所述第一固有密钥;
采用第一节点公钥对第二固有密钥加密,生成第二密文,将所述第二密文传输至所述第一节点,所述第二固有密钥为所述第二节点的固有密钥;
基于所述第一固有密钥和所述第二固有密钥,生成所述共享密钥;
其中,所述第二节点公钥、所述第二节点私钥和所述第一节点公钥采用抗量子密码算法生成。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一固有密钥和所述第二固有密钥,生成所述共享密钥,包括:
确定预设算法,所述预设算法至少为密钥交换算法;
采用所述预设算法,对所述第一固有密钥和所述第二固有密钥进行计算,生成所述共享密钥。
8.一种基于状态通道的数据验证装置,其特征在于,所述装置应用于基于状态通道的数据验证系统中的第一节点,所述第一节点在所述状态通道中,所述状态通道位于区块链链外,所述装置包括:
第一处理模块,用于确定第一固有密钥,基于所述第一固有密钥和哈希算法,对交易数据进行处理,生成第一哈希标签,所述第一固有密钥为所述第一节点的固有密钥;
第二处理模块,用于获取与第二节点之间的共享密钥,基于所述共享密钥和所述哈希算法,对所述第一哈希标签进行处理,生成第二哈希标签;
传输模块,用于基于所述状态通道,将所述交易数据、所述第一哈希标签和所述第二哈希标签传输至所述第二节点;
添加模块,用于当接收到所述第二节点在所述第二哈希标签与第三哈希标签一致时,生成的验证确认信息后,完成对所述交易数据的验证,将所述交易数据添加至交易集合中,所述交易集合中包括至少一个交易数据;其中,所述第二节点基于所述状态通道,接收所述第一节点传输的所述交易数据和所述第一哈希标签以及所述第二哈希标签,获取与所述第一节点之间的所述共享密钥,基于所述哈希算法和所述共享密钥,对所述第一哈希标签进行处理,生成所述第三哈希标签;
其中,所述装置还包括:建立模块、加密模块、接收模块、解密模块和生成模块;
所述建立模块,用于建立与所述第二节点之间的所述状态通道;
所述加密模块,用于获取所述第一固有密钥,采用第二节点公钥,对所述第一固有密钥加密,生成第一密文,将所述第一密文传输至所述第二节点;
所述接收模块,用于接收所述第二节点传输的第二密文,所述第二密文由所述第二节点在接收到所述第一密文后,采用第一节点公钥对第二固有密钥加密生成的,所述第二固有密钥为所述第二节点的固有密钥;
所述解密模块,用于采用第一节点私钥对所述第二密文进行解密,得到所述第二固有密钥;
所述生成模块,用于基于所述第一固有密钥和所述第二固有密钥,生成所述共享密钥;其中,所述第二节点公钥、所述第一节点公钥和所述第一节点私钥采用抗量子密码算法生成。
CN201811270369.9A 2018-10-29 2018-10-29 基于状态通道的数据验证系统、方法、装置及设备 Active CN109861956B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811270369.9A CN109861956B (zh) 2018-10-29 2018-10-29 基于状态通道的数据验证系统、方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811270369.9A CN109861956B (zh) 2018-10-29 2018-10-29 基于状态通道的数据验证系统、方法、装置及设备

Publications (2)

Publication Number Publication Date
CN109861956A CN109861956A (zh) 2019-06-07
CN109861956B true CN109861956B (zh) 2021-08-20

Family

ID=66889764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811270369.9A Active CN109861956B (zh) 2018-10-29 2018-10-29 基于状态通道的数据验证系统、方法、装置及设备

Country Status (1)

Country Link
CN (1) CN109861956B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738141B (zh) * 2019-10-14 2023-10-24 上海树图区块链研究院 基于责备机制的状态验证方法、系统、p2p网络
CN114095521B (zh) * 2020-07-27 2023-09-05 中移(成都)信息通信科技有限公司 一种遥感数据的存储方法、装置、设备及存储介质
CN112995932B (zh) * 2021-02-26 2022-11-11 平安壹钱包电子商务有限公司 基于哈希算法的短信链路监控方法、装置、设备及介质
CN113612789B (zh) * 2021-08-11 2023-04-07 苏州同济区块链研究院有限公司 基于见证人端及共享公钥的区块链存证方法及装置
CN113542305B (zh) * 2021-08-11 2023-04-07 苏州同济区块链研究院有限公司 基于见证人端及共享对称密钥的区块链存证方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103475664B (zh) * 2013-09-18 2017-02-15 北京工业大学 面向Android的数字证据的可信提取方法
CN103888241B (zh) * 2014-03-28 2017-04-19 北京工业大学 一种面向数字取证的数字证据监管链的实现方法
JP6583728B2 (ja) * 2015-11-10 2019-10-02 国立研究開発法人情報通信研究機構 通信システム
US11170346B2 (en) * 2016-09-19 2021-11-09 Sap Se Decentralized credentials verification network
CN107169764A (zh) * 2017-05-10 2017-09-15 山东大学 基于区块链的公平数据交易方法
CN107342858B (zh) * 2017-07-05 2019-09-10 武汉凤链科技有限公司 一种基于可信环境的智能合约保护方法和系统
CN108259183B (zh) * 2018-01-12 2021-02-02 武汉斗鱼网络科技有限公司 一种关注方法、装置、电子设备及介质
CN108366057A (zh) * 2018-02-06 2018-08-03 武汉斗鱼网络科技有限公司 一种数据处理方法、客户端及电子设备

Also Published As

Publication number Publication date
CN109861956A (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
US11936774B2 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
CN108418680B (zh) 一种基于安全多方计算技术的区块链密钥恢复方法、介质
CN109861956B (zh) 基于状态通道的数据验证系统、方法、装置及设备
CN113424185B (zh) 快速不经意传输
CN109510818B (zh) 区块链的数据传输系统、方法、装置、设备及存储介质
CN106961336B (zh) 一种基于sm2算法的密钥分量托管方法和系统
CN106548345B (zh) 基于密钥分割实现区块链私钥保护的方法及系统
EP3286867B1 (en) Method, apparatus, and system for cloud-based encryption machine key injection
CN108199835B (zh) 一种多方联合私钥解密方法
US10944566B2 (en) Methods and systems for supporting fairness in secure computations
CN110289968B (zh) 私钥恢复、协同地址的创建、签名方法及装置、存储介质
US20150288527A1 (en) Verifiable Implicit Certificates
JP6950745B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
CN110519046A (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
CN111162912B (zh) 一种适用于区块链的验证方法、装置及存储介质
CN111327419A (zh) 基于秘密共享的抗量子计算区块链的方法及系统
CN113326525A (zh) 一种基于智能合约的数据处理方法及装置
CN110716724B (zh) 基于fpga实现隐私区块链的方法及装置
CN111245611B (zh) 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及系统
CN108933659A (zh) 一种智能电网的身份验证系统及验证方法
CN113676330B (zh) 一种基于二级密钥的数字证书申请系统及方法
EP3883178A1 (en) Encryption system and method employing permutation group-based encryption technology
CN115549910B (zh) 一种数据传输方法、设备以及存储介质
CN113362065A (zh) 一种基于分散式私钥的在线签名交易实现方法
CN114764510A (zh) 一种抗量子计算电子合同签署系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant