我是靠谱客的博主 矮小星月,最近开发中收集的这篇文章主要介绍区块链成熟度评测报告(3)——可靠性、易用性、可扩展性对比,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

可靠性对比

区块链的可靠性主要考察区块链网络、共享帐本、账户体系三个方面。

(一)区块链网络:商业区块链A、商业区块链B、Fabric均网络可靠

区块链网络主要测试三个指标:记账节点高可用、服务节点之间高可用、区块链网络的网络抖动是否影响系统服务等级。第一、二个指标的测试方法是通过脚本进行评测,设区块链中包含n个记账节点或服务节点,通过脚本依次停掉1~n个记账节点或服务节点,检查区块链网络是否依然能够正确执行交易、达成共识并记账或通过服务节点对外提供服务;第三个指标的测试方法是通过工具进行模拟评测,在规定的服务等级和网络规模下,通过模拟一定量的网络节点加入或退出,获得其所容忍得比例值。具体测试结果如下表。

图16
测试结果表明,商业区块链A、商业区块链B、Fabric均支持记账节点和服务节点的高可用,且网络抖动不影响系统服务等级,三个区块链系统均网络可靠。

(二)共享帐本:商业区块链A、商业区块链B、Fabric均账本可靠

共享帐本主要测试三个指标:账本高可用、账本支持failover同步、账本备份恢复。第一、二个指标的评测方法是通过脚本进行评测,第三个指标的评测方法是根据白皮书与相关文档进行专家判断,具体来说,第一个指标的测试方法是假设区块链中包含n个记账节点,每个记账节点均有一份共享账本,通过脚本依次停掉1~n个记账节点,检查区块链网络是否依然能够正确执行交易、达成共识并记账,恢复被停掉的节点,检查是否自动同步为最新账本;第二个指标的测试方法是通过脚本停掉区块链网络中的某一个记账节点,经过10个区块的生成时间后通过脚本重新开启该节点,恢复被停掉的节点,检查是否自动同步为最新账本并恢复记账能力;第三个指标的测试方法是判断是否有备份和恢复的工具,若有,使用该工具进行备份导出操作,经过一段时间后,使用工具进行备份恢复导入操作,检查账本是否回到备份时的状态,并正常运行。具体测试结果如下表。

图17
测试结果表明,商业区块链A、商业区块链B、Fabric均支持账本高可用、账本支持failover同步、账本备份恢复,三个区块链系统账本可靠。

(三)账户体系:商业区块链A、商业区块链B、Fabric均账户可靠

账户体系主要测试一个指标:不同节点下的账户信息高可用。测试方法是利用脚本使某一账户所在节点失效,使用脚本对失效节点的账户进行模拟转账等交易行为,检查交易是否成功;若成功,则不同节点的账户信息高可用。具体测试结果如下表。

图18
测试结果表明,商业区块链A、商业区块链B、Fabric均支持不同节点下的账户信息高可用,三个区块链系统账户可靠。

综合来看,区块链网络、共享帐本、账户体系三个方面,商业区块链A、商业区块链B、Fabric均可靠。

易用性对比

区块链的易用性主要考察区块链网络、智能合约、交易、账户体系、共享帐本五个方面。

(一)区块链网络:商业区块链A网络操作最简单,Fabric次之,商业区块链B不支持删除网络节点

区块链网络主要测试两个指标:网络搭建的复杂程度、增删节点的复杂程度。测试方法是根据白皮书与相关文档收集搭建多节点区块链网络或增删节点的具体步骤,模拟搭建多节点区块链网络或增删节点,计算搭建所需时间及搭建步骤复杂程度或增删步骤复杂程度。具体测试结果如下表。

这里写图片描述
测试结果表明,网络搭建的复杂程度方面,商业区块链A最快,10分钟以内,Fabric次之,4小时以内,商业区块链B最慢,8小时以内。增删节点的复杂程度方面,商业区块链A和Fabric均支持增删节点且不需要停机,商业区块链B不支持删除节点。

(二)智能合约:商业区块链A和Fabric智能合约操作简单,商业区块链B智能合约操作需通过中心节点

智能合约主要测试三个指标:智能合约支持的语言、注册智能合约复杂程度、部署智能合约复杂程度。第一个指标的测试方法是根据白皮书与相关文档收集智能合约支持的开发语言;第二、三个指标的测试方法是通过在某一个节点下进行智能合约注册或部署行为,记录所需流程,流程需要2步以上视为复杂。具体测试结果如下表。

图20
测试结果表明,三个区块链系统的智能合约分别支持不同的语言,智能合约注册和部署方面,商业区块链A和Fabric采用去中心化方式,商业区块链B采用中心节点方式,三个系统的过程均简单。

(三)交易:商业区块链A和Fabric交易操作简单,商业区块链B交易查询仅支持接口进行

交易主要测试两个指标:交易查询复杂度、交易发起复杂度。测试方法是通过在某一个节点下进行交易的查询或发起行为,记录所需流程,流程需要2步以上视为复杂。具体测试结果如下表。

这里写图片描述
测试结果表明,交易查询方面,商业区块链A和Fabric支持接口、SDK进行查询,商业区块链B支持接口进行查询。

(四)账户体系:商业区块链A账户操作简单且健全,Fabric次之,商业区块链B仅支持注册操作

账户体系主要测试三个指标:注册复杂度、销毁复杂度、授权复杂度。第一、二个指标的测试方法是通过在某一个节点下进行注册或销毁行为,记录所需流程,流程需要2步以上视为复杂;第三个指标的测试方法是模拟将B账户授权给A账户,记录授权所需流程,流程需要2步以上视为复杂。具体测试结果如下表。

图22
测试结果表明,商业区块链A账户体系易用性功能丰富,Fabric次之,商业区块链B仅支持注册。

(五)共享帐本:商业区块链A、商业区块链B、Fabric均支持账本检索

共享账本主要测试两个指标:共享账本的检索条件限定、建立索引。两个指标的测试方法都是根据白皮书与相关文档判断,具体来说,第一个指标的测试方法是判断是否支持检索,若支持,模拟账本检索,使用脚本工具计算平均检索时间。第二个指标的测试方法是判断是否支持建立索引,若支持,模拟对共享账本进行索引建立。具体测试结果如下表。

这里写图片描述
测试结果表明,三个区块链系统均支持通过id、关键字、时间区间、条件选择、溯源进行账本检索,但均不支持建立索引。

综合来看,区块链网络、账户体系方面,商业区块链A最易用且功能健全,智能合约和交易方面,商业区块链A和Fabric操作最简单,共享帐本方面,三个区块链系统均支持账本检索。

可扩展性对比

区块链的可扩展性主要考察网络节点、共识算法、外围开发、云平台集成四个方面。

(一)网络节点:商业区块链A和Fabric网络节点可扩展性高,商业区块链B不支持网络节点动态删除

网络节点主要测试三个指标:网络节点动态增加、网络节点动态删除、网络节点数量限制。三个指标的测试方法都是通过白皮书与相关文档进行专家判断,具体来说,第一、二个指标的测试方法是使用系统提供的命令尝试在网络中动态增加或删除一个节点,检查节点增加或删除后网络状态是否正常;第三个指标的测试方法是判断是网络节点是否有限制,若有限制,限制是多少,即为区块链网络规模,通过模拟不断动态增加网络节点数,检查网络规模到达节点数限制前,是否正常,若无限制,通过模拟不间断动态增加网络节点数,检查网络是否异常。具体测试结果如下表。

这里写图片描述
测试结果表明,商业区块链A和Fabric网络节点可扩展性功能完备,可扩展性高,商业区块链B不支持网络节点动态删除。

(二)共识算法:商业区块链A和Fabric共识算法可扩展性高,商业区块链B不支持可插拔自定义共识算法

共识算法主要测试六个指标:可插拔自定义共识算法、若采用PoW,挖矿难度能否自定义?、若采用PoW,需要多少个区块的确认才能保证一笔交易不会被撤销?、共识算法根据网络规模调整、共识算法根据参与方数量调整、共识算法根据交易吞吐量需求调整。六个指标的测试方法都是通过白皮书与相关文件进行专家判断,具体来说,第一个指标的测试方法是通过区块链的预留接口加载自定义的共识算法,检查网络中节点达成共识的情况;第二个指标的测试方法是通过区块链提供的接口进行自定义挖矿难度,检验不同挖矿难度下,交易达成共识所需时间是否不同;第三个指标的测试方法是判断是否采用PoW,若采用,需要等N个区块后才能真正确认交易,计算N个区块后该笔交易被丢弃的概率;后三个指标的测试方法是检查共识算法是否能够自定义配置,配置项中是否有根据网络规模、参与方数量或交易吞吐量进行调整的参数。具体测试结果如下表。

这里写图片描述
测试结果表明,商业区块链A和Fabric支持可插拔自定义共识算法,共识算法可扩展性高,商业区块链B不支持可插拔自定义共识算法。

(三)外围开发:商业区块链A外围开发支持丰富,Fabric次之,商业区块链B仅支持SDK、API

外围开发主要测试三个指标:可插拔Plugin、ETL、 SDK和API,第一个指标的测试方法是可根据已有的Plugin进行安装与卸载来验证Plugin的可用性;第二、三个指标的测试方法是根据提供的ETL接口、SDK、API进行开发验证。具体测试结果见下表。

这里写图片描述
测试结果表明,商业区块链A支持可插拔Plugin、ETL、 SDK和API开发,可扩展性好,Fabric不支持ETL开发,商业区块链B只支持SDK和API开发。

(四)云平台集成:商业区块链A和Fabric云平台集成支持范围大,商业区块链B云平台集成缺失

云平台集成主要测试三个指标:与云平台集成、与哪些云平台集成、提供相应的集成接口,第一个指标的测试方法是使用云平台进行集成验证;第二个指标的测试方法是分别进行不同种类的云平台验证;第三个指标的测试方法是使用相应的集成接口进行验证。具体测试结果如下表。

这里写图片描述
测试结果表明,商业区块链A和Fabric支持与众多主流云平台集成,且提供相应的集成接口,商业区块链B不支持与云平台集成。

综合来看,网络节点、共识算法、云平台集成方面,商业区块链A和Fabric可扩展性高,外围开发方面,商业区块链A广泛支持。

最后

以上就是矮小星月为你收集整理的区块链成熟度评测报告(3)——可靠性、易用性、可扩展性对比的全部内容,希望文章能够帮你解决区块链成熟度评测报告(3)——可靠性、易用性、可扩展性对比所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部