实验仿真
算法伪代码
安全性分析
安全性作为本工作的核心目标,已经在网络运行的各个层面进行了评估。当区块链网络首次创建时,所有对等方和订购方组织都从各自的RCA或其他受信任的CA获得425个证书。然后,为所有网络实体(包括Chs、ODS、组织、对等方和ca)创建连接配置文件。连接配置文件定义了完整的锁链网络设置。
为了验证所提出解决方案的安全性和性能效率,我们设计、开发并建立了一个三通道智能城市数据共享场景,用于共享健康、智能能源和财务数据。如图13所示,实验环境由六个组织和十二个对等体组成。然而,对于生产环境,建立区块链网络所需的最小节点主要取决于用于订购服务的一致协议的类型。此外,其他影响因素可能包括区块链应用的类型和所需的分散程度。因此,可能有多个Chs、两个以上的组织及其对等方和CA以及许多利益相关者参与订购服务。目前,卡夫卡是生产环境中推荐的共识协议。此外,基于Kafka的订购服务是Kafkacluster和Zookeeper集成的组合。要建立Kafka集群和Zookeeper集成,至少需要一个set,即四个Kafka和三个Zookeeper节点,以实现容错。作为PoC,我们在Hyperledger Fabric 1.4版上部署了私有共享的业务网络模型,并验证了各种安全性和性能属性。同时也验证了ACL规则对用户数据资产的访问是有效的。为了衡量私有共享的关键性能指标,我们使用了一个区块链基准工具Hyperledger Caliper。实验是在一台装有英特尔酷睿i7 2.9Ghz CPU、8gb RAM和Ubuntu 18.04操作系统的机器上进行的。
ACL规则验证
ACL规则的有效性在Hyperledger Composer操场和RESTAPI上都进行了检查。 例如,如图所示,为了将我们创建的用户的访问权限与可以查看所有用户(即本例中的P5和P6)的资产(血液酒精浓度)的adminrights进行比较。然而,ID为Pid5的userp5只能看到他的资产。此外,图14c和d显示,最初,id为Pid4的用户P4无法看到任何资产,因为当前没有资产与他共享。然而,一旦用户P5与P4共享他的血液酒精水平,他就可以看到P5的血液酒精水平。同样,只有P5可以发起TXto共享其资产。然而,如果P4试图与任何其他实体共享P5的资产,那么他将得到一个错误(如图15所示),因为他目前无权启动数据共享TX。如图16a所示,就far数据资产的清除而言,数据资产说P5的血糖可以删除。然而,图16b表明,被删除资产的历史记录(TX历史记录)在区块链中是不可变的。因此,有关数据资产的发送历史只能由特定用户查看。如图16c和d所示,只有P5(Alice)可以查看她的数据共享txs的记录。然而,任何其他用户,比如P6(Bob)都看不到Alice的TX历史记录。然而,即使一个blockchain560admin被允许查看所有节点的事务历史以确定责任,管理员仍然无法看到被共享的数据资产的值
性能效率
根据第一阶段的实验设置(如图13所示),我们在PrivySharing预览中测量了提交各种类型TXs所花费的时间。基于10次迭代,对三种不同的TXs测量了平均提交时间。tx包括;纯文本(plain text) TX、私有数据(private data) TX和加密私有数据(EncPvtData) TX。。
在实验的第二阶段,我们根据表4所示的设置,使用超账本卡尺测量了隐私共享的各项性能指标,在初始测试中,我们使用Kafka订购服务(consensus)对one-Ch和3 - ch场景进行了30轮实验。有6个同行和6个客户在one-Ch, 2个同行和2个客户在three-Ch sce nario。在这两个场景中,总共有300个TXs以每秒50个tps的速度输入到系统中。在此,我们首先对延迟测量进行独立的双样本t检验,以确定接受或拒绝零假设的p值,即“one-Ch网络的平均延迟等于three-Ch网络的平均延迟。”而备择假设是;“one-Ch网络的平均延迟大于three-Ch网络的平均延迟。”第一次系统延迟测试的p值为8.62 x 10-31,小于0.05。结果表明,拒绝原假设,支持备择假设。因此,one-Ch网络的平均延迟更有可能高于three-Ch系统的平均延迟。后来,第二个双样本t检验在吞吐量值之上执行。这里的零假设是;“一个ch网络的平均吞吐量等于三个ch网络的平均吞吐量。”然而,备择假设表明“one-Ch网络的平均吞吐量小于three-Ch网络的平均吞吐量。”p值为1.23 x 10-28,小于0.05。因此,该结果肯定了mull假设的否定,支持了备择假设。因此,one-Ch网络的平均吞吐量很可能小于three-Ch系统的平均吞吐量。因此,根据p值,可以得出结论,与three-Ch网络相比,one-Ch网络在高延迟和低吞吐量方面性能较差。
在性能测试的第三阶段,我们绘制了three-Ch网络中不同性能指标之间的相关关系。根据网络延迟和吞吐量来确定TX发送速率,根据表5中所示的测试设置,每轮实验运行10轮,每轮的TX发送速率各不相同。虽然我们为测试用例设置了特定的TX发送速率,但是系统执行的实际发送速率是不同的。每个Ch中有两个对等点和两个客户机分别处理和提交TXs。图20a,解释了TX发送速率与网络延迟之间的关系。avg延迟一致增加,直到TX发送速率达到大约106 tps。在那之后,潜伏期在3到4秒之间开始起作用。相应地,图20b也突出了类似的趋势,其中网络吞吐量随着TX发送速率的增加而增加。然而,一旦与单一Ch场景相反,avg吞吐量为42.4 tps, avg延迟为1.54秒,而TX发送速率为50 tps。在这个原始比较之后,我们还确定了两个场景的p值47和48,以证实我们的发现。在此,我们首先对延迟测量进行独立的双样本t检验,以确定接受或拒绝零假设的p值,即。,“one-Ch网络的平均延迟等于three-Ch网络的平均延迟。”而备择假设是;“one-Ch网络的平均延迟大于three-Ch网络的平均延迟。”第一次系统延迟测试的p值为8.62 x 10-31,小于0.05。结果表明,拒绝原假设,支持备择假设。因此,one-Ch网络的平均延迟更有可能高于three-Ch系统的平均延迟。后来,第二个双样本t检验在吞吐量值之上执行。这里的零假设是;“一个ch网络的平均吞吐量等于三个ch网络的平均吞吐量。”然而,备择假设表明“one-Ch网络的平均吞吐量小于three-Ch网络的平均吞吐量。”p值为1.23 x 10-28,小于0.05。因此,该结果肯定了mull假设的否定,支持了备择假设。因此,one-Ch网络的平均吞吐量很可能小于three-Ch系统的平均吞吐量。因此,根据p值,可以得出结论,与three-Ch网络相比,one-Ch网络在高延迟和低吞吐量方面性能较差。