查看原文
其他

中国的区块链技术,究竟发展到哪里了?

刘为怀 CSDN 2018-11-12


作者 | 刘为怀 

责编 | 胡巍巍


 背景


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

目前,市场上出现了众多的区块链技术,企业如何选择,按照什么标准选择,成了一个难题。为帮助企业快速选取合适的区块链技术,建立了一套金融行业区块链成熟度评测模型,模型重点围绕金融业关注的特性以及可评测的指标进行建立,涵盖八大类评估属性:功能性、效率、安全性、可靠性、易用性、可扩展性、可维护性、兼容性,具体包括P2P网络、智能合约、共识算法、账户体系、隐私安全等38个测试项、133个评测指标。

为将金融行业区块链成熟度评测模型实际应用于区块链企业,银联联合上海票据交易所,选取国内最具代表性的五家区块链企业,根据金融行业区块链成熟度评测模型,基于真实票据业务,从功能、效率、安全性、可靠性等八个方面,开展区块链成熟度评测,帮助上海票据交易所选取合适的区块链技术。


表现优异部分


2.1主流区块链功能完备

功能性主要考察区块链最基础的核心能力,具体涵盖七个方面:账户体系、交易、区块、智能合约、区块链网络、共识算法、共享账本,共计33个评测指标。对国内五家主流区块链厂商进行功能性评测,部分评测结果如表1所示。

测评项

评测指标

区块链A

区块链B

区块链C

区块链D

区块链E

账户体系

账户实名

不支持

支持

不支持

支持

支持

账户注册

支持

支持

支持

支持

支持

账户注销

支持

不支持

不支持

支持

支持

区块

查询区块平均生成时间

1s

1s

2-10s

支持

3s

查询最新的区块高度

支持

支持

支持

支持

支持

查询指定区块信息

支持

支持

支持

支持

支持

具备完整的生命周期管理

未测

不具备

未测

具备

具备

区块链网络

节点信息和状态获得

支持

支持

支持

支持

支持

共识算法

共识算法种类

PBFT

PBFT

RCP

RBFT

CITA-Tendermint(类PBFT)

拜占庭容错算法

支持

支持

不支持

支持

支持

共享账本

全量账本检索

支持

支持

支持

支持

支持

表1 功能性指标评测结果

区块链厂商

指标覆盖率

指标完成率

区块链A

19/33

15/33

区块链B

33/33

22/33

区块链C

25/33

20/33

区块链D

33/33

32/33

区块链E

33/33

23/33

表2 功能性指标评测结果统计

评测结果表明,在功能性指标覆盖率方面,有三个区块链技术做到100%全覆盖;在功能性指标完成率方面,有一个区块链技术完成率超过97%。在所有功能性指标中,除区块大小动态调整指标外,余下所有功能性指标,均有区块链厂商能够满足,其中,区块生成时间秒级。在共识算法方面,五个区块链技术中有四家是类拜占庭容错(BFT)共识算法,BFT共识算法已成为国内区块链主流共识算法。国内主流区块链厂商在区块链功能性方面表现优异,已具备区块链最基础的核心能力。

2.2主流区块链简单易用

易用性主要考察区块链对于用户是否简单易用,主要包括五个方面:区块链网络、智能合约、交易、账户体系、共享账本,共计12个评测指标。对五家主流区块链厂商进行易用性评测,部分评测结果如表3所示。

测评项

评测指标

区块链A

区块链B

区块链C

区块链D

区块链E

区块链网络

网络搭建的复杂程度

简单

简单

简单

简单

简单

智能合约

支持的编程语言

未测

Go、java

未测

Java、solidity

Rust、solidity

交易

交易查询复杂度

简单

简单

简单

简单

简单

账户体系

注册复杂度

简单

简单

简单

简单

简单

共享账本

检索条件

支持

支持

支持

支持

支持

表3 易用性指标评测结果

区块链厂商

指标覆盖率

指标完成率

区块链A

9/12

7/12

区块链B

12/12

10/12

区块链C

9/12

7/12

区块链D

12/12

11/12

区块链E

12/12

11/12

表4 易用性指标评测结果统计

评测结果表明,在易用性指标覆盖率方面,有三个区块链技术做到100%全覆盖;在易用性指标完成率方面,有两个区块链技术完成率超过91.7%。所有易用性指标,均有区块链厂商能够满足。系统部署简单,部署时间小于4小时。智能合约支持主流的编程语言,智能合约注册和部署简单。交易接口简单易用。国内主流区块链厂商在易用性方面表现优异,满足用户对于区块链简单易用的要求。

2.3P2P网络、分布式账本可靠

可靠性主要考察区块链系统的高可用,主要包括三个方面:区块链网络、共享账本、账户体系,共计8个评测指标。对五个区块链技术进行可靠性评测,部分评测结果如表5所示。

测评项

评测指标

区块链A

区块链B

区块链C

区块链D

区块链E

区块链网络

目前所支持的最大节点数

未测

无限制

100

100

15

共享账本

账本高可用

支持

支持

支持

支持

支持

表5 可靠性指标评测结果

区块链厂商

指标覆盖率

指标完成率

区块链A

7/8

7/8

区块链B

8/8

8/8

区块链C

8/8

8/8

区块链D

8/8

8/8

区块链E

8/8

8/8

表6 可靠性指标评测结果统计

评测结果表明,在可靠性指标覆盖率方面,有四个区块链技术做到100%全覆盖;在可靠性指标完成率方面,有四个区块链技术达到100%完成率。所有可靠性指标,均有区块链厂商能够满足。区块链网络是P2P组网结构,P2P网络具有网络高可用和网络防抖动天然属性,实现了不同节点的账户信息高可用。分布式账本是一种分布式数据库,即使网络中某个节点损坏,也不影响全网账本高可用,同时满足账本failover同步和备份恢复。国内主流区块链厂商在可靠性方面表现优异,满足区块链网络、账本、账户的高可用。

2.4操作系统及数据库兼容性好

操作系统及数据库兼容性主要考察区块链能否在不同的操作系统及数据库之间进行移植,主要包括两个方面:区块链系统、数据,共计4个评测指标。对五个区块链技术进行操作系统及数据库兼容性评测,部分评测结果如表7所示。

测评项

评测指标

区块链A

区块链B

区块链C

区块链D

区块链E

区块链系统

操作系统

centos、Redhat、Ubuntu、Windows、suse

centOS、Ubuntu

centOS、Ubuntu、suse、Redhat、Windows

centOS、suse11、suse12、redhat、ubuntu

所有支持docker的操作系统

数据库

sqlite、MongoDB、postgresql

Mysql、levelDB、Redis(美的)

MySQL、SQLite、DB2、Oracle、SQLServer

levelDB、redis、rockDB、mysql

rockDB

表7 兼容性指标评测结果

区块链厂商

指标覆盖率

指标完成率

区块链A

4/4

4/4

区块链B

4/4

3/4

区块链C

4/4

4/4

区块链D

4/4

4/4

区块链E

4/4

4/4

表8 兼容性指标评测结果统计

评测结果表明,在操作系统及数据库兼容性指标覆盖率方面,五个区块链技术均做到100%全覆盖;在操作系统及数据库兼容性指标完成率方面,有四个区块链技术达到100%完成率。

区块链系统在不同的操作系统、数据库间可以移植。区块链网络中的用户数据、账本数据可以移植。

兼容主流的操作系统,如CentOS、Ubuntu、suse、Redhat、Windows等。兼容主流数据库,如mysql、levelDB、redis、rockDB、sqlite、MongoDB、postgresql等。

国内主流区块链厂商在操作系统、数据库、数据兼容性方面表现优异,兼容主流的操作系统和数据库,支持数据在区块链系统间进行移植。

2.5网络规模可动态扩展

扩展性指标主要考察区块链网络规模的动态扩展能力,主要包括两个方面:网络节点、共识算法,共计7个评测指标。对五个区块链技术进行扩展性指标评测,具体评测结果如表9所示。

测评项

评测指标

区块链A

区块链B

区块链C

区块链D

区块链E

网络节点

网络节点数量限制

无限制(50)

无限制

无限制

无限制(100)

15

共识算法

可插拔自定义共识算法

不支持

不支持

不支持

不支持

支持raft、tendermit

表9 扩展性指标评测结果

区块链厂商

指标覆盖率

指标完成率

区块链A

7/7

6/7

区块链B

7/7

6/7

区块链C

7/7

5/7

区块链D

7/7

6/7

区块链E

7/7

6/7

表10 扩展性指标评测结果统计

评测结果表明,在扩展性指标覆盖率方面,五个区块链技术均做到100%全覆盖;在扩展性指标完成率方面,有两个区块链技术达到85.7%完成率。所有扩展性指标,均有区块链厂商能够满足。

网络节点可动态增加或删除,网络节点数量理论上无限制。有一个区块链技术已做到共识算法可插拔自定义。

共识算法可根据网络规模、参与方数量、交易吞吐量进行调整。国内主流区块链厂商在扩展性方面表现优异,区块链网络规模可以根据实际业务需求进行动态扩展。


有待提高部分


3.1安全性需要加强

安全性指标主要考察区块链系统入网验证、交易加密、抗攻击等方面的能力,主要包括六个方面:身份验证、访问控制、加密体系和隐私、密码算法支持、匿名性、区块链抗攻击能力,共计36个评测指标。

对五个区块链技术进行安全性指标评测,部分评测结果如表11所示。

测评项

评测指标

区块链A

区块链B

区块链C

区块链D

区块链E

身份验证

身份验证方式

密钥验证

登陆密码验证、交易密钥验证

未测

CA证书、数字签名

签名验证

身份验证所需时间

未测

1/3ms

未测

节点验证时间:0.47s

0.1ms

加密体系和隐私

交易信息加密

不支持

未测

支持

支持

不支持

密码算法支持

密码算法种类

对称、非对称 secp256k1

、AES

SM2/3、ECDSA

SM2/3/4、ECDSA

SM2/3/4、ecdsa、aes、3des、sha3-256

ECDSA、SM2、

Blake2b

密码算法强度

依赖算法强度

依赖算法强度

依赖算法强度

依赖算法强度

依赖算法强度

国密算法

支持

支持:SM2/3

支持:SM2/3/4

支持:SM2/3/4

支持:SM2

匿名性

交易匿名

未测

不支持

支持

支持

不支持

区块链抗攻击能力

抵御DDOS、黑客等网络攻击

未测

不支持

支持

支持

不支持

抗攻击能力程度

N/3-1

N/3-1

6个节点以下为n/2-1,6-32个节点为n/3-1,超过32个节点为(n+1)/3-1,但不少于80%

N/3-1

N/3-1

最大容忍节点失效个数

N/3-1

N/3-1

同上

N/3-1

N/3-1

最大容忍节点欺骗个数

N/3-1

N/3-1

同上

N/3-1

N/3-1

表11 安全性指标评测结果

区块链厂商

指标覆盖率

指标完成率

区块链A

26/36

14/36

区块链B

27/36

20/36

区块链C

33/36

24/36

区块链D

36/36

36/36

区块链E

36/36

22/36

表12 安全性指标评测结果统计

评测结果表明,在安全性指标覆盖率方面,两个区块链技术均做到100%全覆盖;但是在安全性指标完成率方面,除了一个区块链技术达到100%完成率外,其余四个区块链技术的完成率均低于66.7%。

身份验证方面,身份校验强度的支持还比较弱。访问控制方面,除超级账户的权限指标外,其他指标都需要加强。加密体系和隐私方面,交易信息加密仍需加强。密码算法方面,普遍不支持加密机。

匿名性方面,子账户对父账户保持交易透明、子账户对其他父账户保持交易匿名、对审计或者超级权限保持交易透明三个指标普遍不支持。

区块链抗攻击能力方面,抵御DDOS、黑客等网络攻击有待加强。国内主流区块链厂商在安全性方面表现较弱,区块链系统入网验证、访问控制、交易加密、抗攻击等方面的能力仍需加强。

3.2性能无法满足高并发需求

性能指标主要考察区块链系统时延、吞吐量、资源占用等方面的能力,主要包括四个方面:区块链网络、共识算法、共享账本、资源占用,共计12个评测指标。对五个区块链技术进行性能指标评测,部分评测结果如表13所示。

测评项

评测指标

区块链A

区块链B

区块链C

区块链D

区块链E

区块链网络

交易吞吐量

100笔/秒

214笔/秒

186笔/秒

2494笔/秒

2299笔/秒

共识算法

一笔交易达成共识所需时延

未测

1290ms

1748ms

17ms

1047.7ms

资源占用

节点资源占用

未测

CPU:4.6%

内存:7%

CPU:39.2%

内存:35.3%

CPU:42.2%

内存:9.7%

CPU:1.8%

内存:16.3%

表13 性能指标评测结果

区块链厂商

指标覆盖率

指标完成率

区块链A

3/12

3/12

区块链B

12/12

12/12

区块链C

12/12

12/12

区块链D

12/12

12/12

区块链E

12/12

12/12

表14 性能指标评测结果统计

评测结果表明,吞吐量方面,交易吞吐量和数据上链吞吐量,两个区块链技术超过2000笔/秒,其他三家100-200笔/秒。对于当前的国内主流区块链技术,性能尚无法满足金融行业的高并发需求。

3.3可维护性尚未达到生产运维要求

可维护性主要考察区块链系统部署、运维、监控、应急处理等方面的能力,主要包括六个方面:应急管理、系统管理、策略管理、智能合约、易部署性、命令行工具,共计13个评测指标。对五个区块链技术进行可维护性指标评测,部分评测结果如表15所示。

测评项

评测指标

区块链A

区块链B

区块链C

区块链D

区块链E

系统管理

管理监控平台

支持

支持

不支持

支持

支持

报警系统

未测

支持

不支持

支持

支持

运维接口

未测

支持

不支持

支持

支持

易部署性

区块链节点易部署

4小时

3小时

20分钟

依赖于文件上传时间

2-3小时

区块链监控平台的易部署

不支持

不支持

无监控

支持

支持

命令行工具

命令行工具

支持

支持

不支持

支持

支持

表15 可维护性指标评测结果

区块链厂商

指标覆盖率

指标完成率

区块链A

6/13

5/13

区块链B

13/13

10/13

区块链C

10/13

5/13

区块链D

13/13

13/13

区块链E

13/13

12/13

表16 可维护性指标评测结果统计

评测结果表明,系统管理方面,报警系统、运维接口,有两个区块链技术尚不支持。目前国内的主流区块链技术,配套的后台管理系统尚不完善,无法满足金融行业生产运维要求。

3.4智能合约兼容性弱

智能合约兼容性主要考察智能合约移植、兼容方面的能力,主要包括两个评测指标:智能合约可移植性、智能合约向前兼容性。对五个区块链技术进行智能合约兼容性指标评测,部分评测结果如表17所示。

测评项

评测指标

区块链A

区块链B

区块链C

区块链D

区块链E

智能合约

智能合约可移植性

未测

不支持

未测

支持:以太坊

支持:以太坊

表17 智能合约兼容性指标评测结果

区块链厂商

指标覆盖率

指标完成率

区块链A

0/2

0/2

区块链B

2/2

1/2

区块链C

0/2

0/2

区块链D

2/2

2/2

区块链E

2/2

2/2

表18 智能合约兼容性指标评测结果统计

评测结果表明,智能合约可移植性方面,三个区块链技术不支持,两个区块链技术只支持以太坊。

国内的主流区块链技术采用的智能合约开发语言各不相同,不同的区块链技术,采用不同的开发语言开发智能合约,导致智能合约在不同的区块链系统间无法兼容。

3.5外围开发和云平台集成有待加强

外围开发和云平台集成主要考察区块链系统插件、云平台集成等方面的能力,主要包括两个方面:外围开发、云平台集成,共计6个评测指标。对五个区块链技术进行外围开发和云平台集成指标评测,部分评测结果如表19所示。

测评项

评测指标

区块链A

区块链B

区块链C

区块链D

区块链E

云平台集成

与云平台集成

支持

支持

支持

支持

支持

支持哪些云平台集成

阿里云、AWS、腾讯云

阿里云、AWS

阿里云、腾讯云、青云、京东云、Ucloud

华为云、微软云、阿里云、腾讯云、万云、AWS

阿里云、腾讯云、Ucloud

提供云平台集成接口

不支持

不支持

支持

支持

不支持

表19 外围开发和云平台集成指标评测结果

区块链厂商

指标覆盖率

指标完成率

区块链A

4/6

3/6

区块链B

6/6

3/6

区块链C

6/6

5/6

区块链D

6/6

6/6

区块链E

6/6

5/6

表20 外围开发和云平台集成指标评测结果统计

评测结果表明,云平台集成方面,三个区块链技术不提供云平台集成接口。国内的主流区块链技术在外围开发及云平台集成方面的支持仍需要加强。


总结


国内主流区块链技术聚焦于核心能力建设,在功能性、易用性、可靠性、操作系统及数据库兼容性、网络规模动态扩展性方面表现优异,但是,在安全性、性能、可维护性、智能合约兼容性、外围开发和云平台集成方面仍然需加强。

总体来看,国内主流区块链技术仍处于快速发展阶段,没有一个区块链技术能够满足所有测试指标,不同的区块链技术发展水平参差不齐。

在已测的区块链技术中,少数区块链技术发展较为完善,满足金融行业要求,可以进行相关业务试点。

本文系作者投稿,版权归作者所有。

推荐阅读:

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存