CN115567228A - 数据传输方法、装置、电子设备和存储介质 - Google Patents

数据传输方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN115567228A
CN115567228A CN202211561392.XA CN202211561392A CN115567228A CN 115567228 A CN115567228 A CN 115567228A CN 202211561392 A CN202211561392 A CN 202211561392A CN 115567228 A CN115567228 A CN 115567228A
Authority
CN
China
Prior art keywords
node
block
target
nodes
chain network
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.)
Granted
Application number
CN202211561392.XA
Other languages
English (en)
Other versions
CN115567228B (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202211561392.XA priority Critical patent/CN115567228B/zh
Publication of CN115567228A publication Critical patent/CN115567228A/zh
Application granted granted Critical
Publication of CN115567228B publication Critical patent/CN115567228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种数据传输方法、装置、电子设备和存储介质,涉及计算机技术领域;所述数据传输方法应用于私有链网络的节点,包括:从公有链网络获取第一区块;在第一区块有效的情况下,调用私有链网络对用户请求进行处理,生成目标数据;从私有链网络的L个第一节点中确定K个随机潜在提出节点;调用各第一节点利用流言协议对各随机潜在提出节点发送的第二区块进行聚合签名,基于签名结果确定目标提交节点和目标区块;调用目标提交节点将响应信息提交至公有链网络。通过上述方法,基于随机潜在提出节点,可以避免DDoS攻击;基于流言协议的聚合签名机制,生成无序的聚合签名,增强了共识协议的可扩展性,提高跨链传输过程中目标数据的安全性。

Description

数据传输方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据传输方法、装置、电子设备和存储介质。
背景技术
区块链提供了一个分布式账本来记录交易,拥有去中心化、高度自治、高透明性、数据记录可追溯等优点。目前通常采用公有链和私有链相结合的方式作为私有链同公网用户跨链数据通信的解决方案;但是私有链的数据可能存在敏感信息,直接在公有链上传输会导致隐私泄露。
相关技术中,为保证跨链传输数据的安全性,公有链和私有链网络通常使用工作量证明算法(Proof of Work,PoW)和拜占庭容错(Byzantine Fault Tolerance,BFT)作为共识算法,防止恶意节点破坏区块链运行。
然而,这类依赖权威公开节点的共识算法易受分布式拒绝服务(DistributedDenial of Service,DDoS)攻击:一方面,当公开节点遭受DDoS攻击导致节点崩溃,共识算法也会随之失效。另一方面,传统签名收集算法以特定顺序收集签名,通常是以树结构逐层传递聚合签名。若树中某节点遭到DDoS攻击导致节点故障,共识算法同样会受到影响。
因此,在数据通信传输的过程中,如何避免DDoS攻击,保证跨链传输数据的安全性是目前亟待解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种数据传输方法、装置、电子设备和存储介质。
第一方面,本发明提供一种数据传输方法,应用于私有链网络的节点,包括:
从公有链网络获取第一区块;所述第一区块中携带来自客户端的至少一个用户请求;所述用户请求用于获取来自所述私有链网络的目标数据;
对所述第一区块进行有效性验证;在所述第一区块有效的情况下,调用所述私有链网络对所述用户请求进行处理,生成所述目标数据;
从所述私有链网络的L个第一节点中确定K个随机潜在提出节点;所述随机潜在提出节点中的任一目标随机潜在提出节点用于基于所述目标数据生成第二区块,向所述私有链网络的第二节点发送所述第二区块;所述第二节点为各所述第一节点中除所述目标随机潜在提出节点之外的节点;L、K为正整数,L大于K;
调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述第二区块进行聚合签名,基于签名结果确定目标提交节点和目标区块;所述目标提交节点为所述第一节点中向所述公有链网络提交所述目标区块中的响应信息的节点;所述响应信息与所述用户请求具有对应关系;
调用所述目标提交节点将所述响应信息提交至所述公有链网络;所述响应信息包括所述目标数据。
可选地,所述从所述私有链网络的L个第一节点中确定K个随机潜在提出节点,包括:
基于公共随机种子,生成各所述第一节点对应的提出者权重;所述公共随机种子是利用BLS签名算法对所述第二区块进行签名生成的;所述提出者权重用于表征所述第一节点为所述随机潜在提出节点的分值;
将所述提出者权重低于第一阈值的所述第一节点确定为所述随机潜在提出节点。
可选地,在所述从所述私有链网络的L个第一节点中确定K个随机潜在提出节点之后,所述方法还包括:
调用所述目标随机潜在提出节点向各所述第二节点发送第一指示消息;所述第一指示消息用于为各所述第二节点指示所述第二区块。
可选地,所述调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述第二区块进行聚合签名,基于签名结果确定目标提交节点,包括:
针对每一个所述第一节点,调用所述第一节点利用所述BLS签名算法对各所述随机潜在提出节点发送的所述第二区块中的准备消息进行签名,并向剩余所述第一节点中预设数目个所述第一节点发送签名后的准备消息;所述准备消息用于表征各所述随机潜在提出节点发送的经过各所述第一节点签名的第二区块;
在各所述第一节点中,将所述签名后的准备消息中签名数量达到第二阈值的节点确定为第三节点;
调用所述第三节点向各所述第一节点发送第二指示消息;所述第二指示消息用于为各所述第一节点指示经过所述第三节点签名的第二区块为暂定提交的区块;
针对每一个所述第一节点,调用所述第一节点利用所述BLS签名算法对所述第二指示消息进行签名,并向剩余所述第一节点中预设数目个所述第一节点发送签名后的第二指示消息;
在各所述第一节点中,将所述签名后的第二指示消息中签名数量达到第三阈值的节点确定为所述目标提交节点。
可选地,所述对所述第一区块进行有效性验证,包括:
获取各所述第一节点针对所述用户请求的数字证书;所述数字证书用于表征所述第一节点同意处理所述用户请求;
在所述数字证书的数量达到第四阈值的情况下,所述第一区块有效。
可选地,在所述对所述第一区块进行有效性验证之后,所述方法还包括:
利用公钥对所述目标数据进行加密处理,生成所述响应信息;所述响应信息是基于所述用户请求生成的;所述响应信息包括加密后的目标数据和所述目标提交节点的聚合签名。
第二方面,本发明还提供一种数据传输方法,应用于客户端,包括:
向公有链网络发送至少一个用户请求;所述用户请求用于获取来自私有链网络的目标数据;
接收所述公有链网络发送的来自所述私有链网络的响应信息;所述响应信息包括所述目标数据和所述私有链网络中目标提交节点的聚合签名。
可选地,在所述接收所述公有链网络发送的来自所述私有链网络的响应信息之后,所述方法还包括:
利用私钥对所述响应信息进行解密处理。
第三方面,本发明还提供一种数据传输装置,应用于私有链网络的节点,包括:
获取模块,用于从公有链网络获取第一区块;所述第一区块中携带来自客户端的至少一个用户请求;所述用户请求用于获取来自所述私有链网络的目标数据;
验证模块,用于对所述第一区块进行有效性验证;在所述第一区块有效的情况下,调用所述私有链网络对所述用户请求进行处理,生成所述目标数据;
第一确定模块,用于从所述私有链网络的L个第一节点中确定K个随机潜在提出节点;所述随机潜在提出节点中的任一目标随机潜在提出节点用于基于所述目标数据生成第二区块,向所述私有链网络的第二节点发送所述第二区块;所述第二节点为各所述第一节点中除所述目标随机潜在提出节点之外的节点;L、K为正整数,L大于K;
第二确定模块,用于调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述第二区块进行聚合签名,基于签名结果确定目标提交节点和目标区块;所述目标提交节点为所述第一节点中向所述公有链网络提交所述目标区块中的响应信息的节点;所述响应信息与所述用户请求具有对应关系;
提交模块,用于调用所述目标提交节点将所述响应信息提交至所述公有链网络;所述响应信息包括所述目标数据。
第四方面,本发明还提供一种数据传输装置,应用于客户端,包括:
第一发送模块,用于向公有链网络发送至少一个用户请求;所述户请求用于获取来自私有链网络的目标数据;
接收模块,用于接收所述公有链网络发送的来自所述私有链网络的响应信息;所述响应信息包括所述目标数据和所述私有链网络中目标提交节点的聚合签名。
第五方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据传输方法。
第六方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述数据传输方法,或实现如上述第二方面所述数据传输方法。
第七方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述数据传输方法,或实现如上述第二方面所述数据传输方法。
本发明提供的数据传输方法、装置、电子设备和存储介质,搭建了公有链网络作为私有链网络和客户端之间的去中心化网络接口;私有链网络首先从公有链网络获取携带来自客户端的至少一个用户请求的第一区块,在第一区块有效的情况下表明私有链网络的节点设备同意处理第一区块中的用户请求;然后调用私有链网络对用户请求进行处理,生成目标数据,从私有链网络的L个第一节点中确定出K个随机潜在提出节点,随机提出节点基于目标数据生成第二区块,向私有链网络的第二节点发送第二区块;由于随机潜在提出节点是从私有链网络的L个第一节点中随机确定的,因此恶意节点事先无法确认随机潜在提出节点,因而无法针对随机潜在提出节点发动DDoS攻击,解决了***的单点故障问题;另外,通过调用各第一节点利用流言协议对各随机潜在提出节点发送的第二区块进行聚合签名,确定目标提交节点,基于流言协议的聚合签名机制,可以生成无序的聚合签名,增强了共识协议的可扩展性;最后,调用目标提交节点将包括有目标数据的响应信息提交至公有链网络,以使客户端可以从公有链网络获取目标数据,保证了跨链传输过程中目标数据的安全性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据传输方法的流程示意图之一;
图2是本发明提供的数据传输方法的流程示意图之二;
图3是本发明提供的数据传输***的框架示意图;
图4是本发明提供的数据传输装置的结构示意图之一;
图5是本发明提供的数据传输装置的结构示意图之二;
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于更加清晰地理解本申请各实施例,首先对一些相关的知识进行如下介绍。
本发明考虑到私有链同公网用户无法进行安全可验证的数据交互,结合公有链提供了一种可用于私有链和外部公网用户数据交互的跨链安全数据传输方法(即利用公有链作为接口实现私有链和外部公网用户的安全数据传输)。
公有链网络作为去中心化接口部署于私有链与公网用户之间,利用公有链和私有链的互操作性来实现跨链数据传输,并利用PoW算法抵御来自公网的女巫攻击。在私有链中结合基于签名收集的BFT共识算法和流言协议,通过在每轮共识中随机选举区块提出者以及聚合无序签名抵御DDoS攻击,并提高协议的可扩展性。
需要说明的是,为保证所有私有链的节点能以相同的顺序接收和处理用户请求且能抵御女巫攻击,本发明采用公有链作为私有链和公网用户间的去中心化接口来支持跨链安全数据传输。
综上所述,针对上述存在的问题,为了避免DDOS攻击,保证跨链传输数据的安全性,本发明实施例提供一种数据传输方法、装置、电子设备和存储介质。
下面结合图1至图2对本发明提供的网络入侵数据分类方法进行具体描述。图1是本发明提供的数据传输方法的流程示意图之一,参见图1所示,该方法应用于私有链网络的节点,包括步骤101-步骤105,其中:
步骤101、从公有链网络获取第一区块;所述第一区块中携带来自客户端的至少一个用户请求;所述用户请求用于获取来自所述私有链网络的目标数据。
首先需要说明的是,本发明的执行主体可以是私有链网络中的节点。由于在客户端、公有链网络及私有链网络之间进行数据传输的过程中,有可能遭受DDoS攻击;
因此,为了在数据传输的过程中,避免DDoS攻击,保证跨链传输数据的安全性,在本实施例中,通过搭建公有链网络作为私有链网络和用户客户端之间的去中心化网络接口,使得私有链网络的节点能够以相同顺序接收用户请求,防止私有链中的恶意成员处理无效的用户请求或随意改变用户请求顺序。
具体地,首先在公有链网络部署用户请求合约;在私有链网络部署请求传播合约。
客户端首先将至少一个用户请求发送到公有链网络中,公有链网络根据该用户请求生成用户请求合约的交易。
需要说明的是,为了抵御女巫攻击,此处需要采用PoW作为共识算法使得公有链节点对用户请求合约的交易达成共识。通过完成PoW校验,公有链网络中的挖矿节点将用户请求合约的交易打包进新的第一区块,一旦第一区块被挖掘并提交到公有链网络中,说明公有链网络中的节点已对第一区块中的交易达成共识,且根据区块链的特点可知,提交到公有链网络中的交易顺序固定。
在客户端将至少一个用户请求发送到公有链网络生成用户请求合约的交易之后,为了使私有链网络节点获取公有链网络中的有序用户请求,需要让私有链网络节点加入公有链网络,作为代表其自身的可信代理。
每个可信代理不停监测公有链网络中是否有新区块提交,在监听到区块提交事件发生的情况下,需要从公有链网络获取区块,并用简单支付验证(Simplified PaymentVerification, SPV)验证区块中的交易。
也就是说,私有链节点加入到公有链中作为代表该私有链节点的可信代理,当可信代理监听到有第一区块提交时,从公有链网络获取所述第一区块,所述第一区块中携带来自客户端的至少一个用户请求。
步骤102、对所述第一区块进行有效性验证;在所述第一区块有效的情况下,调用所述私有链网络对所述用户请求进行处理,生成所述目标数据。
在本实施例中,在第一区块有效的情况下,需要从第一区块中获取用户请求,然后调度私有链网络对用户请求进行处理,根据处理得到的响应信息生成目标数据。
步骤103、从所述私有链网络的L个第一节点中确定K个随机潜在提出节点;所述随机潜在提出节点中的任一目标随机潜在提出节点用于基于所述目标数据生成第二区块,向所述私有链网络的第二节点发送所述第二区块;所述第二节点为各所述第一节点中除所述目标随机潜在提出节点之外的节点;L、K为正整数,L大于K。
在从公有链网络获取到第一区块之后,为了防止恶意节点的拜占庭行为,需要对第一区块进行有效性验证;在第一区块有效的情况下,调用私有链网络对用户请求进行处理,生成目标数据;随后从私有链网络的L个第一节点中确定K个随机潜在提出节点。
需要说明的是,随机潜在提出节点中的任一目标随机潜在提出节点需要基于目标数据生成第二区块,然后将第二区块发送至L个第一节点中除目标随机潜在提出节点之外的其他节点。
步骤104、调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述第二区块进行聚合签名,基于签名结果确定目标提交节点和目标区块;所述目标提交节点为所述第一节点中向所述公有链网络提交所述目标区块中的响应信息的节点;所述响应信息与所述用户请求具有对应关系。
在本实施例中,在从私有链网络的L个第一节点中确定出K个随机潜在提出节点之后,需要调用各第一节点利用流言协议对各随机潜在提出节点发送的第二区块进行聚合签名,从而从各第一节点中确定出向公有链网络提交响应信息的目标提交节点和目标区块。
需要说明的是,由于随机潜在提出节点都是随机产生的,并且随机潜在提出节点是从私有链网络的L个第一节点中确定的,因此恶意节点事先无法确认随机潜在提出节点,因而无法基于随机潜在提出节点发动DDoS攻击,解决了单点故障问题;同时,基于流言协议的聚合签名机制,可以生成无序的聚合签名,增强了共识协议的可扩展性。
步骤105、调用所述目标提交节点将所述响应信息提交至所述公有链网络;所述响应信息包括所述目标数据。
在本实施例中,在确定出目标提交节点之后,调用目标提交节点将包括目标数据 的响应信息提交至公有链网络,以使客户端可以从公有链网络获取目标数据,保证了跨链 传输过程中目标数据的安全性;其中,响应信息可以表示为:
Figure 99755DEST_PATH_IMAGE001
其中,
Figure 138903DEST_PATH_IMAGE002
表示响应信息;
Figure 378255DEST_PATH_IMAGE003
表示安全哈希函数;S表示BLS签名;
Figure 207670DEST_PATH_IMAGE004
表示整 数数组。
在本发明实施例另一种可能的实现方式中,可以利用公钥对响应信息进行加密处 理,加密处理后的响应信息可以表示为:
Figure 312898DEST_PATH_IMAGE005
,其中,
Figure 620383DEST_PATH_IMAGE006
为对 应用户的公钥。
本发明提供的数据传输方法,搭建了公有链网络作为私有链网络和客户端之间的去中心化网络接口;私有链网络首先从公有链网络获取携带来自客户端的至少一个用户请求的第一区块,第一在区块有效的情况下表明私有链网络的节点设备同意处理第一区块中的用户请求;然后调用私有链网络对用户请求进行处理,生成目标数据,从私有链网络的L个第一节点中确定出用于向私有链网络的第二节点发送第二区块的K个随机潜在提出节点;由于随机潜在提出节点都是随机产生的,并且随机潜在提出节点是从私有链网络的L个第一节点中确定的,因此恶意节点事先无法确认随机潜在提出节点,因而无法针对随机潜在提出节点发动DDoS攻击,解决了***的单点故障问题;另外,通过调用各第一节点利用流言协议对各随机潜在提出节点发送的第二区块进行聚合签名,确定目标提交节点,基于流言协议的聚合签名机制,可以生成无序的聚合签名,增强了共识协议的可扩展性;最后,调用目标提交节点将包括有目标数据的响应信息提交至公有链网络,以使客户端可以从公有链网络获取目标数据,保证了跨链传输过程中目标数据的安全性。
可选地,所述对所述第一区块进行有效性验证,具体通过以下步骤1-步骤2实现:
步骤1、获取各所述第一节点针对所述用户请求的数字证书;所述数字证书用于表征所述第一节点同意处理所述用户请求;
步骤2、在所述数字证书的数量达到第四阈值的情况下,所述第一区块有效。
在本实施例中,需要调用私有链网络中的请求传播合约来获取各第一节点针对当前用户请求的数字证书(即可验证背书),其中,数字证书用于表征第一节点同意处理用户请求。
为防止恶意节点的拜占庭行为,在数字证书的数量达到第四阈值的情况下,表示从公有链网络中获取到的第一区块是有效的。
例如,在获取到至少2/3个第一节点的可验证背书后,才能够触发请求处理合约来处理该用户请求。
在上述实施方式中,基于各第一节点针对用户请求的数字证书,对第一区块进行有效性验证,在第一区块为有效的情况下,能够保证绝大多数私有链网络的第一节点都能接收并处理第一区块中的用户请求,同时能防止私有链中的恶意节点通过调度无效的用户请求干扰区块链正常工作。
可选地,在所述对所述第一区块进行有效性验证之后,需要基于第一区块中的用户请求生成对应的响应信息;考虑到部分响应信息中包含敏感数据,因此还需要利用公钥对所述目标数据进行加密处理,生成加密后的响应信息;所述响应信息是基于所述用户请求生成的;所述加密后的响应信息包括加密后的目标数据和所述目标提交节点的聚合签名。
在上述实施方式中,通过利用公钥对包含用户隐私数据的响应信息进行加密处理,可以避免响应信息中的目标数据泄露,保护了用户数据安全。
可选地,所述从所述私有链网络的L个第一节点中确定K个随机潜在提出节点,具体通过以下步骤1)-步骤2)实现:
步骤1)、基于公共随机种子,生成各所述第一节点对应的提出者权重;所述公共随机种子是利用BLS签名算法对所述第二区块进行签名生成的;所述提出者权重用于表征所述第一节点为所述随机潜在提出节点的分值;
步骤2)、将所述提出者权重低于第一阈值的所述第一节点确定为所述随机潜在提出节点。
在本实施例中,私有链网络首先随机生成公共随机种子
Figure 979820DEST_PATH_IMAGE007
,令
Figure 229405DEST_PATH_IMAGE008
为任意随 机数。本轮生成的公共随机种子通过以下公式(1)表示:
Figure 41503DEST_PATH_IMAGE009
其中,
Figure 667525DEST_PATH_IMAGE010
表示一个第二区块
Figure 881469DEST_PATH_IMAGE011
的高度,
Figure 318267DEST_PATH_IMAGE012
表示安全哈希函数,
Figure 869858DEST_PATH_IMAGE013
表示提交
Figure 519145DEST_PATH_IMAGE014
的节 点,
Figure 853175DEST_PATH_IMAGE015
Figure 444562DEST_PATH_IMAGE016
的BLS签名。
在确定出公共随机种子之后,利用公式(2)为各第一节点生成提出者权重:
Figure 231252DEST_PATH_IMAGE017
其中,
Figure 684230DEST_PATH_IMAGE018
表示私有链网络的长度;
Figure 122034DEST_PATH_IMAGE019
表示第r轮中第i个第一节点的提出者权 重;需要说明的是,客户端向公有链网络发送一次用户请求表示1轮。
在为各第一节点生成提出者权重之后,将提出者权重低于第一阈值的第一节点确定为随机潜在提出节点;例如,第一阈值可以设置为“7/第一节点数量”,则将提出者权重低于7/第一节点数量的第一节点确定为随机潜在提出节点。
需要说明的是,公共随机种子是利用BLS签名算法对第二区块进行签名生成的,其中,BLS签名算法能将多个私有链节点的签名聚合成一个签名,利用BLS签名算法对第二区块进行签名具体通过以下方式实现:
首先,假设私有链网络中有N个第一节点,在BLS签名中添加整数数组
Figure 900634DEST_PATH_IMAGE004
,在第i 个第一节点对消息签名时同时更新数组,将
Figure 174620DEST_PATH_IMAGE020
元素加1;因而利用BLS签名算法对第二 区块进行签名可以表示为
Figure 680557DEST_PATH_IMAGE021
,其中,
Figure 723599DEST_PATH_IMAGE022
具体通过以下公式(3)表示:
Figure 673101DEST_PATH_IMAGE023
其中,
Figure 415142DEST_PATH_IMAGE024
表示BLS签名,
Figure 475502DEST_PATH_IMAGE025
为第i个第一节点的私钥;当第i个第一节点收到多个 (例如j个)针对同一第二区块的聚合签名,可通过签名相乘、数组相加的方式合并签名,即 通过以下公式(4)表示:
Figure 622318DEST_PATH_IMAGE026
在上述实施方式中,基于公共随机种子,为各第一节点生成提出者权重;将提出者权重低于第一阈值的第一节点确定为所述随机潜在提出节点;通过上述方法,由于随机潜在提出节点都是随机产生的,并且随机潜在提出节点是从私有链网络的L个第一节点中确定的,因此恶意节点事先无法确认随机潜在提出节点,因而无法针对随机潜在提出节点发动DDoS攻击,解决了***的单点故障问题。
可选地,在所述从所述私有链网络的L个第一节点中确定K个随机潜在提出节点之后,需要调用所述目标随机潜在提出节点向各所述第二节点发送第一指示消息;所述第一指示消息用于为各所述第二节点指示所述第二区块。
具体地,第一节点可以通过验证签名
Figure 477142DEST_PATH_IMAGE027
来验证目标随机潜在提出 节点的状态,称该签名
Figure 991300DEST_PATH_IMAGE028
为提交者证明
Figure 839039DEST_PATH_IMAGE029
然后,针对各随机潜在提出节点中的任一目标随机潜在提出节点,调用目标随机潜在提出节点向各第二节点发送第一指示消息;其中,第一指示消息用于为各第二节点指示第二区块。
具体地,每个目标随机潜在提出节点打包交易到第二区块
Figure 591094DEST_PATH_IMAGE030
,将
Figure 882398DEST_PATH_IMAGE031
Figure 601962DEST_PATH_IMAGE032
的高度
Figure 4124DEST_PATH_IMAGE033
Figure 876265DEST_PATH_IMAGE034
、提出者证书
Figure 590668DEST_PATH_IMAGE035
组装成第一指示消息
Figure 282680DEST_PATH_IMAGE036
并广播该第二区块和提交者证明到相 邻的若干第二节点。
在上述实施方式中,通过调用目标随机潜在提出节点向各第二节点发送第一指示消息,可以使各第二节点知晓目标随机潜在提出节点发送的是哪一个区块,以便后续调用各第一节点利用流言协议对各随机潜在提出节点发送的第二区块进行聚合签名。
可选地,所述调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述区块进行聚合签名,基于签名结果确定目标提交节点,具体通过以下步骤a至步骤e实现:
步骤a、针对每一个所述第一节点,调用所述第一节点利用所述BLS签名算法对各所述随机潜在提出节点发送的所述第二区块中的准备消息进行签名,并向剩余所述第一节点中预设数目个所述第一节点发送签名后的准备消息;所述准备消息用于表征各所述随机潜在提出节点发送的经过各所述第一节点签名的第二区块;
步骤b、在各所述第一节点中,将所述签名后的准备消息中签名数量达到第二阈值的节点确定为第三节点;
步骤c、调用所述第三节点向各所述第一节点发送第二指示消息;所述第二指示消息用于为各所述第一节点指示经过所述第三节点签名的第二区块为暂定提交的区块;
步骤d、针对每一个所述第一节点,调用所述第一节点利用所述BLS签名算法对所述第二指示消息进行签名,并向剩余所述第一节点中预设数目个所述第一节点发送签名后的第二指示消息;
步骤e、在各所述第一节点中,将所述签名后的第二指示消息中签名数量达到第三阈值的节点确定为所述目标提交节点。
在本实施例中,针对每一个第一节点,需要调用第一节点利用BLS签名算法对各随 机潜在提出节点发送的第二区块中的准备消息
Figure 488534DEST_PATH_IMAGE037
进行签名,并向剩余第一节点中预设数 目个第一节点不断转发签名后的准备消息。
需要说明的是,准备消息用于表征各随机潜在提出节点发送的经过各第一节点签名的第二区块,该准备消息用来告知剩余第一节点该第一节点已经选出这个第二区块。
在各第一节点中,将签名后的准备消息中签名数量达到第二阈值(例如2/3)的节点确定为第三节点;需要说明的是,第三节点接收到的经第三节点签名后的准备消息中的第二区块为该第三节点提出/选出的区块,但是,第三节点未必是该第二区块的提出节点(即随机潜在提出节点),也有可能是选该第二区块的节点(即除随机潜在提出节点之外的节点)。
在确定出第三节点之后,需要调用第三节点向各第一节点发送第二指示消息
Figure 730028DEST_PATH_IMAGE038
;其中,
Figure 97556DEST_PATH_IMAGE039
用于为各第一节点指示经过第三节点签名的第二区块为暂定提交的区 块。
然后针对每一个第一节点,调用第一节点利用BLS签名算法对
Figure 542443DEST_PATH_IMAGE040
进行签名,并 转发消息签名后的
Figure 535676DEST_PATH_IMAGE041
到剩余第一节点中预设数目个第一节点中。
在签名后的
Figure 116830DEST_PATH_IMAGE040
数量达到第三阈值(例如2/3)的情况下,确定第三节点选出的第 二区块为最终提出的目标区块,提出该目标区块的随机潜在提出节点为目标提出节点。
在上述实施方式中,基于流言协议的聚合签名机制,可以生成无序的聚合签名,增强了共识协议的可扩展性。
图2是本发明提供的数据传输方法的流程示意图之二,参见图2所示,该方法应用于客户端,包括步骤201-步骤202,其中:
步骤201、向公有链网络发送至少一个用户请求;所述用户请求用于获取来自私有链网络的目标数据。
步骤202、接收所述公有链网络发送的来自所述私有链网络的响应信息;所述响应信息包括所述目标数据和所述私有链网络中目标提交节点的聚合签名。
本发明提供的数据传输方法,搭建了公有链网络作为私有链网络和客户端之间的去中心化网络接口,通过向公有链网络发送至少一个用户请求,从而实现客户端可以从公有链网络获取目标数据,保证了跨链传输过程中目标数据的安全性。
可选地,在所述接收所述公有链网络发送的来自所述私有链网络的响应信息之后,考虑到部分响应信息中包含敏感数据,响应信息被私有链网络利用公钥进行了加密;因此,还需要利用私钥对所述响应信息进行解密处理。
具体地,用户从公有链获取响应信息
Figure 186417DEST_PATH_IMAGE042
Figure 102289DEST_PATH_IMAGE043
为对应 用户的公钥;并根据响应信息中携带的公钥进行聚合,并通过以下公式(5)来验证响应信息 的有效性:
Figure 649945DEST_PATH_IMAGE044
其中,
Figure 597523DEST_PATH_IMAGE045
为给定的双线性映射,
Figure 572432DEST_PATH_IMAGE046
为公钥生成器,S表示BLS签名,
Figure 991912DEST_PATH_IMAGE047
为私有链节点
Figure 733472DEST_PATH_IMAGE048
的公钥,
Figure 538486DEST_PATH_IMAGE049
表示安全哈希函数。
在响应信息有效的情况下,私钥对响应信息进行解密处理。
在上述实施方式中,利用私钥对响应信息进行解密处理,可以避免响应信息中的目标数据泄露,保护了用户数据安全。
下面结合图3对客户端、公有链网络、私有链网络之间的数据交互过程进行进一步说明:
图3是本发明提供的数据传输***的框架示意图。客户端、公有链、私有链之间的数据交互,具体包括以下步骤:
步骤1、客户端向公有链网络发送用户请求,用户请求用于获取来自私有链网络的目标数据。
步骤2、公有链网络基于用户请求生成第一区块。
步骤3、私有链网络接收公有链网络发送的第一区块。
步骤4、私有链网络验证第一区块的有效性,在验证第一区块为有效的情况下,调用私有链网络对用户请求进行处理,生成目标数据;并基于目标数据生成响应信息,利用公钥对目标数据进行加密处理。
步骤5、从私有链网络的L个第一节点中确定K个随机潜在提出节点;调用各随机潜在提出节点向各第一节点发送第二区块。
步骤6、调用各第一节点利用流言协议对各随机潜在提出节点发送的第二区块进行聚合签名,基于签名结果确定目标提交节点。
步骤7、私有链网络利用目标提交节点将加密处理后的目标数据和聚合签名组装成响应信息,并将响应信息提交至公有链网络。
步骤8、公有链网络将响应信息发送至客户端。
步骤9、客户端对响应信息进行有效性验证,在验证有效的情况下,利用私钥对响应信息进行解密。
下面对本发明提供的数据传输装置进行描述,下文描述的数据传输装置与上文描述的数据传输方法可相互对应参照。图4是本发明提供的数据传输装置的结构示意图之一,如图4所示,该数据传输装置400,应用于私有链网络的节点,包括:获取模块401、验证模块402、第一确定模块403、第二确定模块404及提交模块405,其中:
获取模块401,用于从公有链网络获取第一区块;所述第一区块中携带来自客户端的至少一个用户请求;所述用户请求用于获取来自所述私有链网络的目标数据;
验证模块402,用于对所述第一区块进行有效性验证;在所述第一区块有效的情况下,调用所述私有链网络对所述用户请求进行处理,生成所述目标数据;
第一确定模块403,用于从所述私有链网络的L个第一节点中确定K个随机潜在提出节点;所述随机潜在提出节点中的任一目标随机潜在提出节点用于基于所述目标数据生成第二区块,向所述私有链网络的第二节点发送所述第二区块;所述第二节点为各所述第一节点中除所述目标随机潜在提出节点之外的节点;L、K为正整数,L大于K;
第二确定模块404,用于调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述第二区块进行聚合签名,基于签名结果确定目标提交节点和目标区块;所述目标提交节点为所述第一节点中向所述公有链网络提交所述目标区块中的响应信息的节点;所述响应信息与所述用户请求具有对应关系;
提交模块405,用于调用所述目标提交节点将所述响应信息提交至所述公有链网络;所述响应信息包括所述目标数据。
本发明提供的数据传输装置,搭建了公有链网络作为私有链网络和客户端之间的去中心化网络接口;私有链网络首先从公有链网络获取携带来自客户端的至少一个用户请求的第一区块,在第一区块有效的情况下表明私有链网络的节点设备同意处理第一区块中的用户请求;然后调用私有链网络对用户请求进行处理,生成目标数据,从私有链网络的L个第一节点中确定出K个随机潜在提出节点,随机提出节点基于目标数据生成第二区块,向私有链网络的第二节点发送第二区块;由于随机潜在提出节点是从私有链网络的L个第一节点中随机确定的,因此恶意节点事先无法确认随机潜在提出节点,因而无法针对随机潜在提出节点发动DDoS攻击,解决了***的单点故障问题;另外,通过调用各第一节点利用流言协议对各随机潜在提出节点发送的第二区块进行聚合签名,确定目标提交节点,基于流言协议的聚合签名机制,可以生成无序的聚合签名,增强了共识协议的可扩展性;最后,调用目标提交节点将包括有目标数据的响应信息提交至公有链网络,以使客户端可以从公有链网络获取目标数据,保证了跨链传输过程中目标数据的安全性。
可选地,所述第一确定模块403,进一步用于:
基于公共随机种子,生成各所述第一节点对应的提出者权重;所述公共随机种子是利用BLS签名算法对所述第二区块进行签名生成的;所述提出者权重用于表征所述第一节点为所述随机潜在提出节点的分值;
将所述提出者权重低于第一阈值的所述第一节点确定为所述随机潜在提出节点。
可选地,所述装置还包括:
第二发送模块,用于调用所述目标随机潜在提出节点向各所述第二节点发送第一指示消息;所述第一指示消息用于为各所述第二节点指示所述第二区块。
可选地,第二确定模块404,进一步用于:
针对每一个所述第一节点,调用所述第一节点利用所述BLS签名算法对各所述随机潜在提出节点发送的所述第二区块中的准备消息进行签名,并向剩余所述第一节点中预设数目个所述第一节点发送签名后的准备消息;所述准备消息用于表征各所述随机潜在提出节点发送的经过各所述第一节点签名的第二区块;
在各所述第一节点中,将所述签名后的准备消息中签名数量达到第二阈值的节点确定为第三节点;
调用所述第三节点向各所述第一节点发送第二指示消息;所述第二指示消息用于为各所述第一节点指示经过所述第三节点签名的第二区块为暂定提交的区块;
针对每一个所述第一节点,调用所述第一节点利用所述BLS签名算法对所述第二指示消息进行签名,并向剩余所述第一节点中预设数目个所述第一节点发送签名后的第二指示消息;
在各所述第一节点中,将所述签名后的第二指示消息中签名数量达到第三阈值的节点确定为所述目标提交节点。
可选地,所述验证模块402,进一步用于:
获取各所述第一节点针对所述用户请求的数字证书;所述数字证书用于表征所述第一节点同意处理所述用户请求;
在所述数字证书的数量达到第四阈值的情况下,所述第一区块有效。
可选地,所述装置还包括:
加密模块,用于利用公钥对所述目标数据进行加密处理,生成所述响应信息;所述响应信息是基于所述用户请求生成的;所述响应信息包括加密后的目标数据和所述目标提交节点的聚合签名。
图5是本发明提供的数据传输装置的结构示意图之二,如图5所示,该数据传输装置500,应用于客户端,包括:第一发送模块501、接收模块502,其中:
第一发送模块501,用于向公有链网络发送至少一个用户请求;所述户请求用于获取来自私有链网络的目标数据;
接收模块502,用于接收所述公有链网络发送的来自所述私有链网络的响应信息;所述响应信息包括所述目标数据和所述私有链网络中目标提交节点的聚合签名。
本发明提供的数据传输装置,搭建了公有链网络作为私有链网络和客户端之间的去中心化网络接口,通过向公有链网络发送至少一个用户请求,从而实现客户端可以从公有链网络获取目标数据,保证了跨链传输过程中目标数据的安全性。
可选地,所述装置还包括:
解密模块,用于利用私钥对所述响应信息进行解密处理。
图6是本发明提供的电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行数据传输方法,该方法包括:从公有链网络获取第一区块;所述第一区块中携带来自客户端的至少一个用户请求;所述用户请求用于获取来自所述私有链网络的目标数据;对所述第一区块进行有效性验证;在所述第一区块有效的情况下,调用所述私有链网络对所述用户请求进行处理,生成所述目标数据;从所述私有链网络的L个第一节点中确定K个随机潜在提出节点;所述随机潜在提出节点中的任一目标随机潜在提出节点用于基于所述目标数据生成第二区块,向所述私有链网络的第二节点发送所述第二区块;所述第二节点为各所述第一节点中除所述目标随机潜在提出节点之外的节点;L、K为正整数,L大于K;调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述第二区块进行聚合签名,基于签名结果确定目标提交节点和目标区块;所述目标提交节点为所述第一节点中向所述公有链网络提交所述目标区块中的响应信息的节点;所述响应信息与所述用户请求具有对应关系;调用所述目标提交节点将所述响应信息提交至所述公有链网络;所述响应信息包括所述目标数据;
或者,
向公有链网络发送至少一个用户请求;所述用户请求用于获取来自私有链网络的目标数据;接收所述公有链网络发送的来自所述私有链网络的响应信息;所述响应信息包括所述目标数据和所述私有链网络中目标提交节点的聚合签名。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据传输方法,该方法包括:从公有链网络获取第一区块;所述第一区块中携带来自客户端的至少一个用户请求;所述用户请求用于获取来自所述私有链网络的目标数据;对所述第一区块进行有效性验证;在所述第一区块有效的情况下,调用所述私有链网络对所述用户请求进行处理,生成所述目标数据;从所述私有链网络的L个第一节点中确定K个随机潜在提出节点;所述随机潜在提出节点中的任一目标随机潜在提出节点用于基于所述目标数据生成第二区块,向所述私有链网络的第二节点发送所述第二区块;所述第二节点为各所述第一节点中除所述目标随机潜在提出节点之外的节点;L、K为正整数,L大于K;调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述第二区块进行聚合签名,基于签名结果确定目标提交节点和目标区块;所述目标提交节点为所述第一节点中向所述公有链网络提交所述目标区块中的响应信息的节点;所述响应信息与所述用户请求具有对应关系;调用所述目标提交节点将所述响应信息提交至所述公有链网络;所述响应信息包括所述目标数据;
或者,
向公有链网络发送至少一个用户请求;所述用户请求用于获取来自私有链网络的目标数据;接收所述公有链网络发送的来自所述私有链网络的响应信息;所述响应信息包括所述目标数据和所述私有链网络中目标提交节点的聚合签名。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据传输方法,该方法包括:从公有链网络获取第一区块;所述第一区块中携带来自客户端的至少一个用户请求;所述用户请求用于获取来自所述私有链网络的目标数据;对所述第一区块进行有效性验证;在所述第一区块有效的情况下,调用所述私有链网络对所述用户请求进行处理,生成所述目标数据;从所述私有链网络的L个第一节点中确定K个随机潜在提出节点;所述随机潜在提出节点中的任一目标随机潜在提出节点用于基于所述目标数据生成第二区块,向所述私有链网络的第二节点发送所述第二区块;所述第二节点为各所述第一节点中除所述目标随机潜在提出节点之外的节点;L、K为正整数,L大于K;调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述第二区块进行聚合签名,基于签名结果确定目标提交节点和目标区块;所述目标提交节点为所述第一节点中向所述公有链网络提交所述目标区块中的响应信息的节点;所述响应信息与所述用户请求具有对应关系;调用所述目标提交节点将所述响应信息提交至所述公有链网络;所述响应信息包括所述目标数据;
或者,
向公有链网络发送至少一个用户请求;所述用户请求用于获取来自私有链网络的目标数据;接收所述公有链网络发送的来自所述私有链网络的响应信息;所述响应信息包括所述目标数据和所述私有链网络中目标提交节点的聚合签名。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种数据传输方法,其特征在于,应用于私有链网络的节点,包括:
从公有链网络获取第一区块;所述第一区块中携带来自客户端的至少一个用户请求;所述用户请求用于获取来自所述私有链网络的目标数据;
对所述第一区块进行有效性验证;在所述第一区块有效的情况下,调用所述私有链网络对所述用户请求进行处理,生成所述目标数据;
从所述私有链网络的L个第一节点中确定K个随机潜在提出节点;所述随机潜在提出节点中的任一目标随机潜在提出节点用于基于所述目标数据生成第二区块,向所述私有链网络的第二节点发送所述第二区块;所述第二节点为各所述第一节点中除所述目标随机潜在提出节点之外的节点;L、K为正整数,L大于K;
调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述第二区块进行聚合签名,基于签名结果确定目标提交节点和目标区块;所述目标提交节点为所述第一节点中向所述公有链网络提交所述目标区块中的响应信息的节点;所述响应信息与所述用户请求具有对应关系;
调用所述目标提交节点将所述响应信息提交至所述公有链网络;所述响应信息包括所述目标数据。
2.根据权利要求1所述的数据传输方法,其特征在于,所述从所述私有链网络的L个第一节点中确定K个随机潜在提出节点,包括:
基于公共随机种子,生成各所述第一节点对应的提出者权重;所述公共随机种子是利用BLS签名算法对所述第二区块进行签名生成的;所述提出者权重用于表征所述第一节点为所述随机潜在提出节点的分值;
将所述提出者权重低于第一阈值的所述第一节点确定为所述随机潜在提出节点。
3.根据权利要求1或2所述的数据传输方法,其特征在于,在所述从所述私有链网络的L个第一节点中确定K个随机潜在提出节点之后,所述方法还包括:
调用所述目标随机潜在提出节点向各所述第二节点发送第一指示消息;所述第一指示消息用于为各所述第二节点指示所述第二区块。
4.根据权利要求1或2所述的数据传输方法,其特征在于,所述调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述第二区块进行聚合签名,基于签名结果确定目标提交节点,包括:
针对每一个所述第一节点,调用所述第一节点利用所述BLS签名算法对各所述随机潜在提出节点发送的所述第二区块中的准备消息进行签名,并向剩余所述第一节点中预设数目个所述第一节点发送签名后的准备消息;所述准备消息用于表征各所述随机潜在提出节点发送的经过各所述第一节点签名的第二区块;
在各所述第一节点中,将所述签名后的准备消息中签名数量达到第二阈值的节点确定为第三节点;
调用所述第三节点向各所述第一节点发送第二指示消息;所述第二指示消息用于为各所述第一节点指示经过所述第三节点签名的第二区块为暂定提交的区块;
针对每一个所述第一节点,调用所述第一节点利用所述BLS签名算法对所述第二指示消息进行签名,并向剩余所述第一节点中预设数目个所述第一节点发送签名后的第二指示消息;
在各所述第一节点中,将所述签名后的第二指示消息中签名数量达到第三阈值的节点确定为所述目标提交节点。
5.根据权利要求1所述的数据传输方法,其特征在于,所述对所述第一区块进行有效性验证,包括:
获取各所述第一节点针对所述用户请求的数字证书;所述数字证书用于表征所述第一节点同意处理所述用户请求;
在所述数字证书的数量达到第四阈值的情况下,所述第一区块有效。
6.根据权利要求1所述的数据传输方法,其特征在于,在所述对所述第一区块进行有效性验证之后,所述方法还包括:
利用公钥对所述目标数据进行加密处理,生成所述响应信息;所述响应信息是基于所述用户请求生成的;所述响应信息包括加密后的目标数据和所述目标提交节点的聚合签名。
7.一种数据传输方法,其特征在于,应用于客户端,包括:
向公有链网络发送至少一个用户请求;所述用户请求用于获取来自私有链网络的目标数据;
接收所述公有链网络发送的来自所述私有链网络的响应信息;所述响应信息包括所述目标数据和所述私有链网络中目标提交节点的聚合签名。
8.根据权利要求7所述的数据传输方法,其特征在于,在所述接收所述公有链网络发送的来自所述私有链网络的响应信息之后,所述方法还包括:
利用私钥对所述响应信息进行解密处理。
9.一种数据传输装置,其特征在于,应用于私有链网络的节点,包括:
获取模块,用于从公有链网络获取第一区块;所述第一区块中携带来自客户端的至少一个用户请求;所述用户请求用于获取来自所述私有链网络的目标数据;
验证模块,用于对所述第一区块进行有效性验证;在所述第一区块有效的情况下,调用所述私有链网络对所述用户请求进行处理,生成所述目标数据;
第一确定模块,用于从所述私有链网络的L个第一节点中确定K个随机潜在提出节点;所述随机潜在提出节点中的任一目标随机潜在提出节点用于基于所述目标数据生成第二区块,向所述私有链网络的第二节点发送所述第二区块;所述第二节点为各所述第一节点中除所述目标随机潜在提出节点之外的节点;L、K为正整数,L大于K;
第二确定模块,用于调用各所述第一节点利用流言协议对各所述随机潜在提出节点发送的所述第二区块进行聚合签名,基于签名结果确定目标提交节点和目标区块;所述目标提交节点为所述第一节点中向所述公有链网络提交所述目标区块中的响应信息的节点;所述响应信息与所述用户请求具有对应关系;
提交模块,用于调用所述目标提交节点将所述响应信息提交至所述公有链网络;所述响应信息包括所述目标数据。
10.一种数据传输装置,其特征在于,应用于客户端,包括:
第一发送模块,用于向公有链网络发送至少一个用户请求;所述户请求用于获取来自私有链网络的目标数据;
接收模块,用于接收所述公有链网络发送的来自所述私有链网络的响应信息;所述响应信息包括所述目标数据和所述私有链网络中目标提交节点的聚合签名。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述数据传输方法,或实现如权利要求7至8任一项所述数据传输方法。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据传输方法,或实现如权利要求7至8任一项所述数据传输方法。
CN202211561392.XA 2022-12-07 2022-12-07 数据传输方法、装置、电子设备和存储介质 Active CN115567228B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211561392.XA CN115567228B (zh) 2022-12-07 2022-12-07 数据传输方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211561392.XA CN115567228B (zh) 2022-12-07 2022-12-07 数据传输方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN115567228A true CN115567228A (zh) 2023-01-03
CN115567228B CN115567228B (zh) 2023-03-24

Family

ID=84770568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211561392.XA Active CN115567228B (zh) 2022-12-07 2022-12-07 数据传输方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN115567228B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995443A (zh) * 2019-12-02 2020-04-10 联想(北京)有限公司 数据处理方法及装置
US20200374113A1 (en) * 2018-02-09 2020-11-26 Orbs Ltd. Decentralized application platform for private key management
CN112532396A (zh) * 2020-12-04 2021-03-19 广东工业大学 一种基于聚合签名的优化拜占庭容错方法及存储介质
CN112600671A (zh) * 2021-03-02 2021-04-02 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
JP2022020595A (ja) * 2020-07-20 2022-02-01 江蘇傲為控股有限公司 電子証拠受託システム
CN115102695A (zh) * 2022-06-16 2022-09-23 西安电子科技大学 基于区块链的车联网证书认证方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200374113A1 (en) * 2018-02-09 2020-11-26 Orbs Ltd. Decentralized application platform for private key management
CN110995443A (zh) * 2019-12-02 2020-04-10 联想(北京)有限公司 数据处理方法及装置
JP2022020595A (ja) * 2020-07-20 2022-02-01 江蘇傲為控股有限公司 電子証拠受託システム
CN112532396A (zh) * 2020-12-04 2021-03-19 广东工业大学 一种基于聚合签名的优化拜占庭容错方法及存储介质
CN112600671A (zh) * 2021-03-02 2021-04-02 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN115102695A (zh) * 2022-06-16 2022-09-23 西安电子科技大学 基于区块链的车联网证书认证方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周炜等: "一种可应用于联盟链的拜占庭容错混合共识机制", 《中国海洋大学学报》 *
陈佳伟等: "结合BLS 聚合签名改进实用拜占庭容错共识算法", 《计算机应用研究》 *

Also Published As

Publication number Publication date
CN115567228B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
US11323271B2 (en) Retrieving public data for blockchain networks using highly available trusted execution environments
CN110998581B (zh) 使用多重密钥对签名的程序执行和数据证明方案
JP6865850B2 (ja) 高度に利用可能な信頼できる実行環境を使用してブロックチェーンネットワークに対するアクセスデータを取得すること
Ambrosin et al. SANA: Secure and scalable aggregate network attestation
US9497210B2 (en) Stateless attestation system
CN109756582B (zh) 区块链网络中的信息记录方法、装置、节点及存储介质
CN111164948B (zh) 使用区块链网络管理网络安全漏洞
CN111242617B (zh) 用于执行交易正确性验证的方法及装置
Levin et al. TrInc: Small Trusted Hardware for Large Distributed Systems.
US9495668B1 (en) Computing solutions to a problem involving inversion of a one-way function
AU2019204708A1 (en) Retrieving public data for blockchain networks using highly available trusted execution environments
CN110914851A (zh) 提高区块链网络与外部数据源之间的通信的完整性
CN112446785A (zh) 跨链交易方法、***、装置、设备和存储介质
CN110505067B (zh) 区块链的处理方法、装置、设备及可读存储介质
CN113723962B (zh) 区块链权限管理方法和区块链***
CN113379420B (zh) 区块链的执行智能合约方法、计算机设备及区块链***
Khan et al. Accountable and Transparent TLS Certificate Management: An Alternate Public‐Key Infrastructure with Verifiable Trusted Parties
CN110493005B (zh) 基于联盟链的抗量子计算公钥池更新方法和***
Yoosuf Lightweight fog‐centric auditing scheme to verify integrity of IoT healthcare data in the cloud environment
CN115567228B (zh) 数据传输方法、装置、电子设备和存储介质
WO2008065349A1 (en) Worldwide voting system
Etemad et al. Efficient key authentication service for secure end-to-end communications
CN115348054A (zh) 基于ipfs的区块链数据代理重加密模型
CN111489252B (zh) 一种基于联盟链的存款证明开立方法及装置
CN113159774A (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