当前位置: 首页 > 专利查询>天津大学专利>正文

一种基于Hyperledger Fabric的数据高效共享方法技术

技术编号:23604694 阅读:25 留言:0更新日期:2020-03-28 05:47
本发明专利技术公开了一种基于Hyperledger Fabric的数据高效共享方法,步骤1:各Client节点将label data用Community节点的公钥加密后和client hash以及自身签名一起发送到Community节点;步骤2:Community节点收集所有client的label data,验证数据,验证签名,并执行社区划分算法;步骤3:Community节点将社区划分结果、root hash以及自身的签名广播发送到所有Endorsed Peer节点;步骤4:Endorsed Peer节点验证label data的真实性,验证通过后对该笔交易背书;步骤5:Community节点收到足够背书后,将社区划分结果和自身签名发送到Order节点;步骤6:Order节点验证签名,将社区划分结果排序并打包成区块,广播到Commit Peer节点;步骤7:Commit Peer节点进行最后的验证,区块上链;步骤8:Client节点从Peer节点获取社区信息及被共享的数据。本发明专利技术能够提高数据共享的有效性和安全性。

An efficient data sharing method based on hyperledger fabric

【技术实现步骤摘要】
一种基于HyperledgerFabric的数据高效共享方法
本专利技术涉及区块链、物联网以及复杂网络社区划分
,特别是涉及一种数据高效共享方法。
技术介绍
数据安全和中心化架构的弊端都是现实社会面临的实际问题,急需一个可行可信的解决方案,区块链应运而生。本质上来说,区块链可以看作是一个安全的数据库,和一般的数据库不同的是,首先,这个数据库添加了很多新的功能和安全保证,如权限管理、智能合约、共识机制、加密技术等等。其次,这个数据库不是由一个节点来维护的,而是加入区块链网络的所有节点或者多个节点通过共识机制来共同维护,每个参与维护的节点都存储着这个数据库的所有数据,这样便消除了完全中心化的很多弊端。社会科学和自然科学有很多规律都是相通的,可以相互借鉴的。基于这个思想,很多研究人员将人类以及人类社会的许多规律应用到了技术的各个领域。现实生活中,人们会被分成很多的社区、圈子、群组等等,从而有利于人类的生活以及信息的传播和共享。而网络是人类生活的另一种形式的载体,因此,社区划分的思想同样也可以应用到区块链网络中去。以往的社区划分方法大多是集中式的,由中心化的服务器来直接决定社区的划分结果,某种程度上来说,这样的架构是不可信的,一旦发生节点故障或者作恶,系统就会瘫痪或者造成危害。因此,如何有效的提高架构的可用性和数据的安全性,从而避免中心化架构的缺点成为一个关键问题。另一方面,当代社会已经进入共享社会,数据共享成为热门,但是如何使共享的数据能够发挥应有的价值,不让它们成为数据垃圾同样成为一个重要问题。针对这些问题,本专利技术提出了一种基于HyperledgerFabric的数据高效共享方法。
技术实现思路
针对社区划分方法的中心化弊端以及数据共享的低效性问题,本专利技术旨在设计一种基于HyperledgerFabric的数据高效共享方法,将社区划分算法与区块链技术相结合,提高数据共享的有效性和安全性。本专利技术的一种基于HyperledgerFabric的数据高效共享方,该方法包括以下流程:步骤1:各个Client节点将labeldata用Community节点的公钥加密后和clienthash以及自身签名一起发送到Community节点;步骤2:Community节点收集所有client的labeldata,用私钥解密后,验证数据,验证签名,计算roothash,并执行社区划分算法,该算法具体流程包括:步骤2-1:读取所有节点的标签数据;步骤2-2:设置初始k值为3,随机选取k个节点作为初始聚类中心;步骤2-3:开始分配节点到k个社区,分配依据是将节点分配到与聚类中心节点相似度最大的社区,直到节点全部分配完毕;步骤2-4:下一次迭代的开始,重新选取聚类中心,选取的聚类中心与其他节点的相似度和最大;步骤2-5:重复2-3、2-4步骤,直到相似度误差平方和收敛;步骤2-6:设置最大k值为根号n,k值逐次升高至最大k值,重复执行步骤2-2、2-3、2-4)、2-5四步,综合考虑相似度误差平凡和以及共享度评价指标,找到局部的最优社区划分结果;步骤2-7:设置总迭代次数,重复执行步骤2-2、2-3、2-4、2-5、2-6五步,通过多轮迭代,找到全局最优的社区划分结果;其中余弦相似度的公式具体为式(1)式中,xi、yi分别表示两个节点标签数据映射到空间向量的坐标值;共享度的公式具体为式(2)式中,Q表示一个client节点上传的社区公开数据条数;Qtotal表示所有节点上传的社区公开数据条数;N表示一个社区中的节点总数;Ui表示第i个client节点;Cj表示第j个社区;误差平方和(SSE)的公式具体为式(3)式中,k表示一共有k个社区;cosS表示两个节点之间的相似度值;Ci表示第i个社区;步骤3:Community节点将社区划分结果、roothash以及自身的签名广播发送到所有EndorsedPeer节点;步骤4:EndorsedPeer节点通过roothash和clienthash验证labeldata的真实性,然后对结果进行验证,验证通过后对该笔交易背书;步骤5:Community节点收到足够数量的,并且得到了重要节点的背书之后,将社区划分结果和自身签名发送到Order节点;步骤6:Order节点验证签名,将社区划分结果排序并打包成区块,广播到CommitPeer节点;步骤7:CommitPeer节点进行最后的验证,验证成功后区块上链;步骤8:Client节点从Peer节点获取自身的社区信息以及被共享的数据。本专利技术所获得的积极的技术效果包括:(1)本专利技术将HyperlederFabric应用于社区划分,使社区划分结果得到去中心化的安全性保证;(2)本专利技术改进了区块结构,并将社区划分算法应用于区块链,使区块链中的数据可以得到高效的共享。附图说明图1为本专利技术改进后的区块结构示意图;图2为Merkle的树状结构示意图;图3为本专利技术的一种基于HyperledgerFabric的数据高效共享框架示意图;图4为本专利技术的一种基于HyperledgerFabric的数据高效共享方法整体流程图。具体实施方式以下结合附图,对依据本专利技术设计的框架的结构、功能及作用详细说明如下详细说明如下。如图1所示,为本专利技术改进后的区块结构示意图。我们将区块链中存储的交易按照隐私级别进行了分类,隐私级别从低到高依次是:公开数据,社区公开数据以及加密数据。其中,公开数据是指所有节点都可以看到的数据,社区公开数据是指同属一个社区的所有节点可以看到的数据,加密数据主要是指隐私数据以及想要买卖的数据。社区划分的主要目的就是使社区公开数据让更多的节点高效的共享。我们首次将区块链技术、物联网技术和社区划分算法相结合,将农业物联网中的温室大棚作为数据的源头,用区块链的最新技术架构HyperledgerFabric来保证数据安全,将不可信的中心化架构转变为可信的需要共识结果上链的去中心化架构。最后,根据实际环境中数据的特点,对区块链网络中的节点进行社区划分,从而实现区块链中高效的数据共享。如图3所示,为本专利技术的一种基于HyperledgerFabric的数据高效共享框架示意图。将区块链技术和社区划分算法有效结合,既结合了区块链本身的安全性,又实现了数据的高效共享。系统主要由以下几个部分组成:client节点:该节点主要用于交易的发起,是外界网络和区块链网络的数据桥梁。Peer节点:该节点分为背书节点和确认节点。其中,背书节点主要用于交易的背书,确认节点主要用于区块的验证和上链。Order节点:该节点主要用于交易的排序以及区块的打包。Community节点:该节点主要用于社区划分算法的执行以及交易的发起。本专利技术的一种基于Hyperled本文档来自技高网
...

【技术保护点】
1.一种基于Hyperledger Fabric的数据高效共享方法,其特征在于,该方法包括以下流程:/n步骤1:各个Client节点将label data用Community节点的公钥加密后和client hash以及自身签名一起发送到Community节点;/n步骤2:Community节点收集所有client的label data,用私钥解密后,验证数据,验证签名,计算root hash,并执行社区划分算法,该算法具体流程包括:/n步骤(2-1):读取所有节点的标签数据;/n步骤(2-2):设置初始k值为3,随机选取k个节点作为初始聚类中心;/n步骤(2-3):开始分配节点到k个社区,分配依据是将节点分配到与聚类中心节点相似度最大的社区,直到节点全部分配完毕;/n步骤(2-4):下一次迭代的开始,重新选取聚类中心,选取的聚类中心与其他节点的相似度和最大;/n步骤(2-5):重复步骤(2-3)、(2-4),直到相似度误差平方和收敛;/n步骤(2-6):设置最大k值为根号n,k值逐次升高至最大k值,重复执行步骤(2-2)、(2-3)、(2-4)、(2-5)四步,综合考虑相似度误差平凡和以及共享度评价指标,找到局部的最优社区划分结果;/n步骤(2-7):设置总迭代次数,重复执行步骤(2-2)、(2-3)、(2-4)、(2-5)、(2-6)五步,通过多轮迭代,找到全局最优的社区划分结果;/n其中余弦相似度的公式具体为式(1)/n...

【技术特征摘要】
1.一种基于HyperledgerFabric的数据高效共享方法,其特征在于,该方法包括以下流程:
步骤1:各个Client节点将labeldata用Community节点的公钥加密后和clienthash以及自身签名一起发送到Community节点;
步骤2:Community节点收集所有client的labeldata,用私钥解密后,验证数据,验证签名,计算roothash,并执行社区划分算法,该算法具体流程包括:
步骤(2-1):读取所有节点的标签数据;
步骤(2-2):设置初始k值为3,随机选取k个节点作为初始聚类中心;
步骤(2-3):开始分配节点到k个社区,分配依据是将节点分配到与聚类中心节点相似度最大的社区,直到节点全部分配完毕;
步骤(2-4):下一次迭代的开始,重新选取聚类中心,选取的聚类中心与其他节点的相似度和最大;
步骤(2-5):重复步骤(2-3)、(2-4),直到相似度误差平方和收敛;
步骤(2-6):设置最大k值为根号n,k值逐次升高至最大k值,重复执行步骤(2-2)、(2-3)、(2-4)、(2-5)四步,综合考虑相似度误差平凡和以及共享度评价指标,找到局部的最优社区划分结果;
步骤(2-7):设置总迭代次数,重复执行步骤(2-2)、(2-3)、(2-4)、(2-5)、(2-6)五步,通过多轮迭代,找到全局最优的社区划分结果;

【专利技术属性】
技术研发人员:邱铁李宇陈宁徐天一
申请(专利权)人:天津大学
类型:发明
国别省市:天津;12

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

1