区块链成熟度评测报告(1)——功能性对比

简介:

背景

区块链在本质上,是一个共享、可信的公共总账,任何人都可以对它进行核查,但不存在一个单一的用户可以对它进行控制。在区块链系统中的参与者们,会共同维持总账的更新:它只能按照严格的规则和共识来进行修改。区块链被视为下一代全球信用认证和价值互联网的基础协议之一。

金融业被视作区块链落地的最佳场景,根据金融业对区块链的应用需求,我们对三个区块链系统(Fabric、商业区块链A、商业区块链B)进行了评测,旨在为开发者选取区块链时提供参考和指导。

区块链成熟度评测模型

区块链成熟度评测模型基于金融行业开源软件成熟度评测整体模型进行建立。整体模型充分结合了开源软件的特性、系统工程领域对于软件产品质量的要求以及金融行业对于开源软件的使用需求。整体模型涵盖开源许可证、行业认可度、产品活力、服务支持、功能性、性能效率、安全性、可靠性、易用性、可扩展性、可维护性、兼容性等12 大类评估属性,117 个评测指标。

区块链成熟度评测模型评测目标不限于开源软件,还包括商业软件,因此,整体模型中与开源软件相关的开源许可证、行业认可度、产品活力、服务支持等4大类评估属性,区块链成熟度评测模型并不包含。

区块链成熟度评测模型重点围绕金融业关注的特性以及可评测的指标进行建立,涵盖整体模型的8大类评估属性:功能性、性能效率、安全性、可靠性、易用性、可扩展性、可维护性、兼容性,具体包括P2P网络、智能合约、共识算法、账户体系、隐私安全等34个测试项、108个评测指标。

评测环境

在本地局域网环境,我们测试了商业区块链A、商业区块链B、局域网Fabric,此外我们还测试了广域网Fabric。广域网Fabric,由银联、京东、万达、招行四方组建,节点分布在北京、上海、深圳,其中银联、京东、招行为物理节点,万达为公有云节点。具体评测环境与配置如表1。

表1 评测环境与配置 

功能性对比

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

(一)账户体系:商业区块链A账户体系健全,商业区块链B和Fabric账户体系尚待完善

账户体系主要测试七个指标:账户分级、账户分类、账户实名、账户注册、注册审批、注册形式、账户注销。七个指标的测试方法都是根据白皮书与相关文档进行专家判断,具体来说,第一个指标的测试方法是通过建立二级账户体系进行验证,如果一级账户能够查到其名下的二级账户,则支持账户分级;第二个指标的测试方法是通过建立不同类别账户,检查是否具有账户分类信息进行验证;第三个指标的测试方法是通过建立账户,检查该账户是否具有实名功能,例如,是否绑定手机号、身份证号码、银行卡等信息;第四个指标的测试方法是通过在某一个节点下进行注册,检查账户是否创建成功;第五个指标的测试方法是通过在某一个节点下进行注册,检查账户是否需要审批才能完成创建;第六个指标的测试方法是检查区块链是否对任何用户均能注册,即开放式注册,检查区块链是否能够针对特定的用户做注册检查,即特定用户注册;第七个指标的测试方法是在某一节点下进行账户注销行为,检查注销后账户是否存在。具体测试结果如下表。

测试结果表明,商业区块链A注册形式丰富,账户体系功能健全,商业区块链B和Fabric注册形式单一,均不支持注册审批和账号注销,此外,商业区块链B不支持账户分级,Fabric不支持账户实名。

(二)交易:商业区块链A、商业区块链B、Fabric交易功能完备

交易主要测试两个指标:交易查询幂等性、交易持久性。两个指标的测试方法都是根据白皮书与相关文档进行专家判断,具体来说,第一个指标的测试方法是向正在运行的区块链节点发送一笔交易,再对其进行连续10次查询操作,比较结果是否一致判断;第二个指标的测试方法是交易成功发起后,被持久化到区块链中,并且不可更改。具体测试结果如下表。

测试结果表明,商业区块链A、商业区块链B、Fabric均支持交易查询幂等性和交易持久性,三个区块链系统交易功能完备。

(三)区块:商业区块链A、商业区块链B、Fabric区块功能完备

区块主要测试两个指标:查询区块平均生成时间、查询指定区块信息。两个指标的测试方法都是根据白皮书与相关文档进行专家判断,具体来说,第一个指标的测试方法是对指定序列的区块的生成时间进行求和计算平均值;第二个指标的测试方法是通过接口判断能否获取指定区块的区块号,所含交易数量信息。具体测试结果如下表。

测试结果表明,商业区块链A、商业区块链B、Fabric均可查询区块平均生成时间和指定区块信息,三个区块链系统区块功能完备。

(四)智能合约:商业区块链A智能合约功能完备,商业区块链B和Fabric具备智能合约核心功能

智能合约主要测试六个指标:智能合约图灵完备、智能合约部署前需注册、智能合约发布时需审计、智能合约具备完整的生命周期管理、智能合约可见、智能合约的源码或二进制码查询。前四个指标的测试方法是根据白皮书与相关文档进行专家判断,后两个指标的测试方法是专家判断与接口判断相结合,具体来说,第一个指标的测试方法是判断智能合约是否具备图灵完备特征;第二个指标的测试方法是判断智能合约在部署前是否需要经过注册审批;第三个指标的测试方法是判断智能合约在发布的时候是否需要后台审计;第四个指标的测试方法是从编写到部署再到销毁分别进行测试,记录生命周期中各个相关操作(如设置合约的过期时间、销毁所需条件等),在智能合约生命周期中,分别测试智能合约的可用性;第五个指标的测试方法是使用不同账户部署不同数量的合约,查询某一账户下的所有智能合约、查询某一智能合约对应的部署账户地址;第六个指标的测试方法是部署智能合约,通过接口查询其源码或二进制码。具体测试结果如下表。

测试结果表明,商业区块链A六项指标全部通过测试,智能合约功能完备,商业区块链B图灵完备、部署前需注册、发布时需审计三个指标通过测试,Fabric图灵完备、合约可见两个指标通过测试。

(五)区块链网络:商业区块链A、商业区块链B、Fabric区块链网络功能完备

区块链网络主要测试三个指标:节点的类别和能力修改和设定、节点的信息和状态获得、平台参数化。第一、三指标的测试方法是通过白皮书与相关文档进行专家判断,第二个指标的测试方法是接口判断,具体来说,第一个指标的测试方法是对不同节点进行类别与权限设定,检查设定后的各节点的类别与权限;第二个指标的测试方法是对不同节点进行状态修改或宕机重启,通过接口来检查设定后的各节点状态;第三个指标的测试方法是手动修改配置文件,读取日志,判断配置文件修改是否生效。具体测试结果如下表。

测试结果表明,商业区块链A、商业区块链B、Fabric节点的类别和能力可以修改和设定、节点的信息和状态可以获得、支持平台参数化,三个区块链系统网络功能完备。

(六)共识算法:商业区块链A、商业区块链B、Fabric共识算法各不相同

共识算法主要测试两个指标:共识算法种类、拜占庭容错算法。两个指标的测试方法都是根据白皮书与相关文档进行专家判断,具体来说,第一个指标的测试方法是对支持的所有共识算法,通过交易进行逐一验证;第二个指标的测试方法是使用拜占庭容错算法作为区块链的共识算法,检查网络中节点达成共识的情况以及抗攻击能力。具体测试结果如下表。

测试结果表明,在共识算法种类方面,三个区块链系统分别采用了不同的共识算法,在拜占庭容错算法方面,只有Fabric不支持拜占庭容错。 
(七)共享帐本:商业区块链A共享账本功能最全面,Fabric次之,商业区块链B最弱 
共享帐本主要测试七个指标:区块大小静态调整、区块大小动态调整、完整账本同步、部分账本同步、全量账本检索、账本选择性下载、局部账本。七个指标的测试方法都是根据白皮书与相关文档进行专家判断,具体来说,第一个指标的测试方法是在网络离线状态下,根据区块链提供的配置参数调整区块大小,检查是否生效;第二个指标的测试方法是在网络在线状态下,根据区块链提供的配置参数调整区块大小,检查是否生效;第三个指标的测试方法是新增一个节点,查看账本是否完全同步;第四个指标的测试方法是新增一个节点,设定需要同步的部分账本(如区块编号2000至3000部分账本),检查账本部分同步是否成功;第五个指标的测试方法是模拟进行第一个区块、最后一个区块以及中间任意区块的账本检索,检查是否能够检索成功;第六个指标的测试方法是对部分账本(如区块100-1000)根据提供的下载接口进行选择性下载测试,检查下载的结果是否正确;第七个指标的测试方法是选取测试节点后通过脚本进行局部账本的生成,测试是否可以仅同步局部账本。具体测试结果如下表。

测试结果表明,商业区块链A七项指标全部支持,共享帐本功能完备,Fabric除部分账本同步不支持外,其他六项指标均支持,商业区块链B仅支持完整账本同步和全量账本检索两个指标。

综合来看,账户体系、智能合约、共享帐本方面,商业区块链A功能最健全;交易、区块、区块链网络方面,三个区块链系统均功能完备;共识算法方面,三个区块链系统分别支持不同的共识算法。



原文发布时间为:2018年01月04日
本文作者:区块链大本营
本文来源:CSDN区块链大本营,如需转载请联系原作者。

目录
相关文章
|
6月前
|
安全 区块链
区块链积分商城系统开发详细指南//需求功能/指南教程/源码流程
Developing a blockchain points mall system involves multiple aspects such as blockchain technology, smart contracts, front-end development, and business logic design. The following is the general process for developing a blockchain points mall system
|
6月前
|
安全 JavaScript 前端开发
区块链钱包系统开发解决方案/需求设计/功能逻辑/案例详细/源码步骤
The development of a blockchain wallet system involves multiple aspects, and the following is the detailed logic for developing a blockchain wallet system:
|
5月前
|
数据可视化 安全 区块链
区块链钱包浏览器开发功能,价格和时间周期
开发区块链钱包浏览器涉及账户管理、交易查询、区块浏览、智能合约查询及数据可视化等功能。价格因开发难度、需求、团队专业度及第三方服务费用而异,通常在数万至数百万元。开发周期约数月到半年,包括需求分析、设计、开发、测试和上线等阶段。
区块链钱包浏览器开发功能,价格和时间周期
|
5月前
|
供应链 监控 安全
区块链技术通过其独特的性质和功能
**区块链提升供应链灵活性:** - 透明追溯增强信任 - 实时库存管理优化策略 - 智能合约自动化流程 - 去中心化减少中介成本 - 安全性保障数据隐私 - 实时支付加速资金流动 - 协作沟通提升效率 区块链技术革新供应链,实现高效灵活管理。
|
5月前
|
供应链 监控 物联网
区块链通过其独特的分布式账本技术和智能合约功能,确保供应链信息的实时更新
**区块链技术革新供应链:分布式账本确保信息实时一致,智能合约自动执行降低错误,物联网追踪增强透明度和信任。通过去中心化、不可篡改的特性,实现交易验证、货物追踪与业务规则自动化,提升供应链效率与安全性。**
|
6月前
|
安全 区块链
区块链游戏系统开发步骤需求丨功能逻辑丨规则玩法丨指南教程丨源码详细
Developing blockchain game systems has been a highly anticipated field in recent years. By combining blockchain technology and game mechanics, players can enjoy a brand new gaming experience and higher game credibility.
|
6月前
|
自然语言处理 安全 AndFix
区块链商城系统开发步骤指南/详细需求/源码功能/多语言/海外版
When developing a blockchain mall system, the following steps and requirements are usually required:
|
安全 区块链
区块链交易所开发运营版丨区块链交易所系统开发规则详细/项目案例/设计功能/需求逻辑/源码部署
Blockchain exchange refers to an online platform built on blockchain technology for trading and managing digital assets, such as cryptocurrencies (such as Bitcoin, Ethereum, etc.) and other digital assets or tokens. Blockchain exchanges allow users to buy, sell, store, and manage digital assets.
|
存储 前端开发 区块链
区块链农场养成种植种树游戏系统开发方案介绍/功能详情/项目源码
区块链技术的兴起,为游戏开发带来了新的思路和玩法。其中,区块链农场养成种植种树游戏系统是一种利用区块链技术实现虚拟农场种植的游戏。玩家可以通过购买种子、种植、收获、交易等方式,体验虚拟农场的乐趣,同时也可以参与到环境保护和可持续发展的过程中。下面,我们将详细介绍区块链农场养成种植种树游戏系统开发方案、功能详情以及项目源码。
233 0
|
安全 区块链
区块链商城系统开发运营版丨区块链商城系统开发详细流程/设计案例/需求逻辑/功能源码
User registration and login: Provide user registration and login functions to ensure the security and privacy protection of user information.

热门文章

最新文章

下一篇
无影云桌面