有效
基于区块链的云边端数据分发方法以及跨链交互方法
张翀、吴菲、杨济伟、何春辉、徐浩、葛斌
中国人民解放军国防科技大学
摘要
本发明针对现有云边端数据分发方法以及跨链交互的安全性不足,提出一种基于区块链的云边端数据分发方法以及跨链交互方法,所述方法包括:通过上传节点和下载节点将待分发数据进行加密构建数据凭证结构;上传节点将其上传至区块链网络,共识节点将其共识验证,并将验证通过的数据凭证结构存入智能合约;下载节点下载存储空间的信息,并将信息与存入智能合约中数据凭证结构对比,对比成功后触发下载共识完成数据的安全交互;构建区块链网络架构,设计跨链架构方法及其可信协调方法。采用此方法能保证数据信息在进行全局跨链交互的安全可信,提高了数据信息交互的速率,适用于当前各种物联网场景,具有广阔的应用前景,且效益明显。
1.一种基于区块链的云边端数据跨链可信交互方法,其特征在于,应用于云边端区块链网络架构中,所述云边端区块链网络架构包括:端层结构、边层结构以及云层结构;所述端层结构包括控制器,传感器设备,所述传感器设备用于采集任务数据,所述控制器用于执行指令;所述边层结构包括边缘计算节点,由所述边缘计算节点组成轻量级区块链;所述云层结构包括云中心计算节点,所述云中心计算节点组成主区块链;所述方法包括:上传节点将待分发数据取哈希值,得到明文哈希值,并且根据下载节点的公钥对所述待分发数据进行加密,得到第一加密值,采用上传节点的私钥对所述第一加密值进行加密,得到第二加密值,取所述第二加密值的哈希,得到加密哈希值;上传节点将所述第一加密值和所述第二加密值存储至存储空间中,并反馈所述存储空间中的存储路径;上传节点根据上传节点的上传节点信息、下载节点的下载节点信息、明文哈希值、加密哈希值以及所述存储路径,构建数据凭证结构;将所述数据凭证结构上传至所述云边端区块链网络架构中,通过所述云边端区块链网络架构中的共识节点对所述数据凭证结构进行验证并加入所述云边端区块链网络架构,并将所述上传节点信息和下载节点信息作为key值,所述明文哈希值作为value值存储在智能合约中;所述共识节点为所述边缘计算节点或所述云中心计算节点;下载节点根据所述数据凭证结构的所述存储路径下载得到待确认第一加密值,根据下载节点的私钥解密所述待确认第一加密值,得到待确认明文哈希值,调用所述智能合约,并比较所述待确认明文哈希值和所述明文哈希值,当相同时,则确定上传节点的待分发数据分发至下载节点;所述基于区块链的云边端数据跨链可信交互方法,还包括:将一轻量级区块链作为A链,另一轻量级区块链作为B链,主区块链作为中继链,构建跨域式边-云-边跨链架构;A链为需求链,B链为服务链;所述A链中边缘计算节点发起第一跨链上链动作,所述第一跨链上链动作经过所述A链共识验证通过后入链所述A链,即第一跨链事件;事件收集节点接收所述第一跨链事件后,对所述第一跨链上链动作进行真实性验证,验证通过后,构建所述第一跨链上链动作的Merkle树根,并使用所述事件收集节点私钥签名形成第三加密值,将所述第三加密值上链至所述云中心主链,所述云中心主链节点进行合法性验证并达成第一共识;所述事件收集节点接收到所述第一共识后,在所述服务链发起第二跨链上链动作,所述第二跨链上链动作经过所述共识节点验证,经过所述验证后入链所述B链,即第二跨链事件;所述事件收集节点监听到所述第二跨链事件后,对所述第二跨链上链动作进行真实性验证,验证通过后,构建所述第二跨链上链动作的Merkle树根,并使用所述事件收集节点私钥签名形成第四加密值,将所述第四加密值上链至所述云中心主链,所述云中心主链节点进行合法性验证并达成第二共识;所述事件收集节点监听到所述第二共识后,在A链上发起跨链动作,完成跨域请求闭环。
2.根据权利要求1所述的方法,其特征在于,通过所述云边端区块链网络架构中的共识节点对所述数据凭证结构进行验证并加入所述云边端区块链网络架构,包括:通过所述云边端区块链网络架构中的共识节点接收所述上传节点上传的所述数据凭证结构,根据所述存储路径下载所述数据凭证结构,解析所述数据凭证结构得到上传节点信息、明文哈希值和加密哈希值;根据所述上传节点信息和加密哈希值对所述数据凭证结构进行验证通过后,将数据凭证结构对应的区块挂载在所述云边端区块链网络架构的区块队列中;将所述数据凭证结构发送至其他共识节点进行二次验证,若验证不通过,则抛弃区块,若验证通过,则将数据凭证结构对应的区块挂载在所述云边端区块链网络架构的区块队列中;所述云边端区块链网络中所有所述共识节点将持续监测所述数据凭证结构,所述数据凭证结构经验证确认,形成上传共识确认。
3.根据权利要求2所述的方法,其特征在于,所述共识节点将所述上传节点信息和下载节点信息作为key值,所述明文哈希值作为value值存储在智能合约中,包括:通过所述上传共识确认,所述共识节点调用所述智能合约的存储功能,解析所述数据凭证结构得到上传节点信息、下载节点信息和明文哈希值;根据所述上传节点信息、下载节点信息和明文哈希值,将所述上传节点信息、下载节点信息作为key值,所述明文哈希值作为value值进行存储,所述存储的位置为所述云边端区块链网络中的智能合约。
4.根据权利要求1所述的方法,其特征在于,所述基于区块链的云边端数据跨链可信交互方法,还包括:将所述主区块链作为主链,所述轻量级区块链作为侧链,构成垂直式云-边跨链架构;所述云中心计算节点调用所述侧链读取自身区块头,基于所述侧链的区块头信息生成上链信息,所述上链信息包括数据凭证结构;所述侧链对所述数据凭证结构进行共识确认,经过所述共识确认后,所述侧链调用主链SPV验证合约对所述上链信息进行验证;当所述验证通过,所述侧链将所述上链信息根据所述主链SPV验证合约中规定上链;所述边缘计算节点调用所述主链读取自身区块头,基于所述主链的区块头信息生成上链信息,所述上链信息包括数据凭证结构;所述主链对所述数据凭证结构进行所述共识确认,所述共识确认后,所述主链调用侧链SPV验证合约;当所述验证通过,所述主链将所述上链信息根据所述侧链SPV验证合约中规定上链。
5.根据权利要求4所述的方法,其特征在于,所述主链SPV验证合约与所述侧链SPV验证合约对所述上链信息进行验证,包括:所述数据凭证结构经所述共识确认后,所述云中心计算节点通过所述侧链的区块头、与所述侧链对应的Merkle树根以及所述存储路径验证所述数据凭证结构经共识确认后的结果,当验证结果为通过,则根据所述主链SPV验证合约中规定上链;所述数据凭证结构经所述共识确认后,所述边缘计算节点通过所述主链的区块头、与所述主链对应的Merkle树根以及所述存储路径验证所述数据凭证结构经共识确认后的结果,当验证结果为通过,则根据所述侧链SPV验证合约中规定上链。
6.根据权利要求1所述的方法,其特征在于,所述基于区块链的云边端数据跨链可信交互方法,还包括:所述端传感器采集待分发数据,通过可靠分发机制将所述待分发数据加密构成信息特征,将所述信息特征存储至边缘计算节点,并将存储凭证上链至轻量级区块链;所述边缘计算节点将所述信息特征上链至区块链网络,所述区块链网络中的共识节点验证所述信息特征,触发所述智能合约的比较功能,比较通过后下载节点将所述信息特征的代码提取,并将所述代码下载至所述边缘计算节点;所述边缘计算节点向所述主区块链发出跨链请求验证所述代码的正确性,验证通过后提取所述代码的信息特征;所述边缘计算节点将所述提取的信息特征上链至所述的轻量级区块链,经所述轻量级区块链共识验证后调用SPV验证合约,将所述信息特征跨链至主区块链;所述主区块链共识确认所述信息特征后,生成对所述端层结构的指令下发;所述指令在所述主区块链共识验证后调用所述轻量级区块链SPV验证合约,将所述指令跨链至轻量级区块链;所述指令到轻量级区块链共识确认后,分发至所述端层结构中指定的控制器进行对应的指令操作。
7.根据权利要求1所述的方法,其特征在于,所述数据凭证结构在信息跨域交互中具体应用的可信服务协同方法为:所述一轻量级区块链为第一域,所述另一轻量级区块链为第二域,所述第一域中有第一节点,第二域中有第二节点;所述第一节点请求在第二域中第二节点的认证;所述第一节点在所述第一域发起认证上链请求,边缘计算节点对所述第一节点身份进行所述共识确认,经所述共识确认后,将所述上链请求跨链至所述主区块链,所述主区块链对所述上链请求共识后,跨链提交至所述第二域;所述第二域对所述第二节点的身份进行所述共识确认,同样将所述上链请求经共识确认,上链所述上链请求至所述主区块链,所述主区块链对所述上链请求共识后,跨链提交至所述第一域;经共识后所述第一节点可以与第二节点进行服务交互。
8.根据权利要求1所述的方法,其特征在于,所述事件收集节点收集主区块链和轻量级区块链的共识事件,并触发其中一个链对另一个链上链所述共识事件。
9.根据权利要求1所述的方法,其特征在于,所述上传节点、下载节点、存储不属于区块链网络;共识节点、智能合约属于区块链网络,所述区块链网络架构包括区块链网络、上传节点、下载节点、存储及事件收集节点。



