五大联盟链巨头横向对比

摩根大通银行使用Quorum 联盟链, 而不使用原来以太坊公链,
这表示:•数字代币的发行不是和公链有必然的关系,这点笔者在过去一直在提,联盟链也可以支持数字代币发行与应用;•区块链未来社会应用主要方向是和传统市场结合,提升传统市场的效能,和传统金融市场相互促进,
而不是取代现在的金融市场(美国监管单位SEC会阻止这样的事发生);•现在是区块链世界生态重构的时间,
以前是以公链为主的生态,现在要以联盟链为主的生态。•虚假的区块链技术将会被淘汰。摩根大通银行没有使用Hyperledger(超级账本),也没有使用Corda.
摩根大通银行是Hyperledger的会员,但不使用中心化的Hyperledger,而且是第一个离开Corda联盟的会员。中心化的伪链或是类似区块链都不是真区块链。

文 | 互链脉搏专栏作家·蔡维德

联盟链是目前区块链落地实践的热点,也是大家对“杀手级应用”期望最大的区块链部署形态。联盟链的诞生源于对区块链技术的“反思”,是对比特币、以太坊所体现的技术特点与企业客户实际需要的融合与折衷,蕴含了大量区块链工作者的智慧与辛劳。由于对未来价值的“共识”,很多厂商推出了自己的联盟链框架或平台,本文选择了
Hyperledger Fabric、FISCO BCOS、微软的 Coco、企业以太坊联盟(EEA)及 R3
的 Corda
这五个具有一定影响力的联盟链,拟从设计理念、生态、效率、扩展性、节点管理与权限管理、智能合约、部署与运维友好性、隐私保护、公链结合或演化能力九个方面进行比对,以供各位开发者、爱好者参考。其中,EEA
由于只出具规范而不涉及代码,所以比对中采用了其官方承认的技术基础——摩根大通的
Quorum 平台;Corda
并不是区块链,严格说与其他四者的比较属于分布式账本技术这个层级的比较,但是由于其承认设计上是受到区块链技术启发,且对其他联盟链也产生了一定的影响,因此,也列入了比较范围。本文的信息主要来源于公开的技术白皮书、Github
中的开源信息,就不在文中一一注明了。一、设计理念设计理念其实决定了一个框架或者系统的最佳应用方式,是其设计的出发点,因此,研究每种区块链时,都应当认真关注其如何“看待自己”,以免在应用上出现“硬套”的问题。设计理念上本文分成核心思路与市场定位两部分进行比较。(一)核心思路核心思路体现的是其设计初衷,这个“初心”对其后续技术走向有一定的影响。Hyperledger
Fabric
是希望改变公链的单一通用网络模式,通过建立多个可以互联的区块链网络覆盖各类不同的业务场景,实现设计的灵活性,满足多样化的要求,并实现网络间的交互,这种思路体现在了其独特的通道机制设计上。FISCO
BCOS
初衷是设计一个国内企业主导研发、自主可控、对外开源的满足金融行业需求企业级区块链底层平台,并逐渐扩展至其他领域、适用于广泛的分布式商业场景,所以进行了自底向上的完整设计,并考虑了较多国内的特殊需求。Coco
基于保密联盟环境的假定,重新评估了公链的设计,通过将其他区块链协议集成为底层,快速高效地构建区块链应用。在这种思路下
Coco
大胆放松了一些关键的设计限制,并且最终实现了一个对现有区块链协议的加速机制,可集成的协议已经包括
Hyperledger Fabric、以太坊、Corda、Quorum 等。EEA
是力求引导一种基于以太坊的标准区块链设计,可根据成员需要定制,但不提供代码(Quorum
提供部分开源代码)。官方承认其技术基础是摩根大通开发的 Quorum
平台,该平台的目标则是提供高速、高吞吐量交易的能力,以解决区块链技术在金融等领域遭遇的挑战。Corda
希望提供一个具有唯一性、权威性、可以记录企业间所有协议的全局逻辑账本,核心是实现具有节点间最小信任机制的无中心数据库,因此,Corda
主张充分考虑与现有业务系统的结合,而非将现有业务系统拆掉重来。Corda
的设计思路对 Hyperledger Fabric
有一定影响,也参与了对后者的建设。(二)市场定位市场定位反映了对自身应用方向的价值主张。五个联盟链都是面向企业级应用的,但是具体的定位略有差异:Hyperledger
Fabric 旨在打造不分行业的通用区块链开源框架;FISCO BCOS
源自企业级区块链平台
BCOS,做为一个金融版本分支,保留通用性的同时,更关注于金融行业,并且较多考虑了监管机构的特殊性;Coco
希望提供更高效易用的区块链技术,没有特殊的行业定位;EEA
比较有趣,它以将所有企业导向一个统一的路线图(该路线图以以太坊技术发展为基础)为目标,但是由于目前的技术代表是摩根大通的
Quorum,所以,应用实例上对金融行业更有指导性;Corda
则是针对金融行业的,并且明确提出至少一定时间内不会考虑其他行业。从设计理念的角度来讲,选用
Hyperledger Fabric
时,应当善用其通道机制,通过通道机制降低业务或者环境的复杂度,但是要注意其跨通道能力的一些技术限制;FISCO
BCOS
则应关注其对国内市场特殊需求的适应性设计,这些设计会带来很多部署上的优势;Coco

EEA(Quorum)设计理念上都属于基于现有协议的优化加速机制,只是前者“博爱”,兼容的协议更多,后者“专一”,只针对以太坊;选用
Corda
则要先明确,它不是区块链,不要带着区块链的价值假定去应用。二、生态大家常说建联盟链就是建生态,所以本文就比较下要帮着别人建生态的联盟链,其自身的生态建的如何。生态考察主要包括管理方、社区和商业应用这三个方面。(一)管理方从管理方看,各家都是“实力派”。Hyperledger
Fabric 的管理方是 Linux 基金会,基金会管理下的 Hyperledger
其实是一个项目系列,包括 Cello、Swatooth、Burrow、Iroha 等;FISCO BCOS
管理方是金链盟,金链盟是由深圳市金融科技协会、深圳前海微众银行、深证通、腾讯、华为、中科院等金融机构、科技企业、学术机构等组成的非营利性组织;(参考
的管理方是微软;EEA
是由芝加哥交易所、因特尔、ING、摩根大通和微软等三十几家创始成员组成的;Corda
的管理方 R3 是以银行为主的组织,至少已经吸收了 42
家金融巨头,包括富国银行、美国银行、花旗银行、德意志银行、加拿大皇家银行等,我国的平安、招行等也是其成员,不过
R3
麻烦不断,也有些重量级成员已经退出。(二)社区现今科技发展比较流行开源,五大联盟链也都是开源的,开源意味着要搞好社区建设,通过社区推广和改进设计,凝聚更多智慧。Hyperledger
Fabric 已经打造了国际化的社区,除了在 GitHub 上比较活跃外,大量的线下
Meetup、技术推广活动也比较多,加上 IBM
的有力推动,使其有了大量的活跃用户;FISCO BCOS
社区建设初现规模,已有了千级成员、百级机构参与,除了 GitHub
外,还有官方微信群。FISCO BCOS
在不断迭代源码和文档的基础上,陆续推出了线上线下多种形式的系列运营活动,包括技术培训、高校开课、线上线下讲座沙龙、包括近期举办的金链盟中国区块链大赛,影响力逐渐扩散。作为国内开源项目,相信未来发展上会有一定的“天时地利人和”;Coco
社区不是很活跃;Quorum 在 GitHub 上已经有了 551
个话题,有一定活跃度;Corda
也不是很活跃。(三)商业应用商业应用是大家打造区块链平台的目的,也是一个联盟链最重要的人气所在。Hyperledger
Fabric 得益于 IBM
的大力推广,加上技术框架比较成熟、推出较早,目前已有较多商业应用,据 IBM
披露有 400
多个落地项目,其中不乏马士基、沃尔玛、联想、邮储银行这类大型客户,也有统计称,所有联盟链项目中
Hyperledger Fabric 已占据半壁江山;FISCO BCOS
从金融出发,携本土优势,落地项目也有数十个,包括微众银行的机构间对账平台、网易的竞猜游戏,四方精创的供应链金融、城商行旅游金融联盟的旅游金融、仲裁链、安妮股份的版权存证平台、乐寻坊的人才活动平台、链动时代的不动产登记系统等;Coco
目前在项目方面乏善可陈,除了其白皮书中提到的 Mojix 将其供应链 Dapp
转移到 Coco 平台上之外,没有更多公开的项目信息;Quorum
上,比较有影响的应该算是 2017 年 10 月摩根大通开发的 IIN(Interbank
Information
Network)平台,实现跨行信息交互,摩根大通、加拿大皇家银行、澳大利亚 ANZ
银行、新西兰银行等相继加入该平台;Corda
也是同样的境地,雷大雨小,耗费巨资,但是测试的多,落地的少。从生态角度看,Hyperledger
Fabric启动的比较早,目前领先一步,但是 FISCO BCOS
奋起直追,已经初见规模,Coco、Quorum、Corda
还需要做很大努力。三、效率区块链目前最差强人意的指标莫过于效率,虽然现在也有些人开始反思也许不应当苛求区块链的效率,但是商业应用总是回避不了这个问题。效率方面,本文从共识协议、出块速度、TPS
和存储消耗这四点加以比对。(一)共识协议联盟链为了提升交易速度,往往是先从共识协议“下手”。POW
和 POS
都无法满足商业应用的需要,“挖矿”对联盟链来讲也是没必要的,因此,各家都采用了替代的共识方案。Hyperledger
Fabric 在 0.6 版中应用了 PBFT,而在 1.0 版中放弃了
PBFT,转而采用效率更高的 Kafka,支持单点和集群两种方式,由 Kafka
直接给交易排序和出块。FISCO BCOS 支持并行计算的 PBFT 和标准 RAFT
两种方式,前者是将通常的 PBFT
中议长节点和投票节点分步验证的方式优化为并发验证,从而进一步提高共识效率;Coco
支持 Paxos 和 Caesar 两种协议。由于 Coco 节点是建立在基于硬件的
TEEs(可信执行环境)上,因此就假定了节点充分可信,所以在 Paxos
中,leader 节点处理过的事务,follwer
节点简单跟随即可,这体现了其对公链假定的改变;Caesar
支持灵活的容错模型,可以与 Paxos 共同使用以防范 leader 节点由于 TEEs
遭到破坏产生的安全威胁,该协议支持在 follwer 节点发现 leader
节点不可靠时将其驱逐,从而保证全网的安全;Quorum 支持 Raft 和 Istanbul
BFT 两种协议。后者是由来自台湾的 AMIS 帐联网公司在 2017
年研发的,可以大幅提升现有的以太坊架构的讯息交换效率;Corda
比较特殊,它借鉴“矿工”角色设计了公证人模块来提供交易公证(也即签名)服务,整个网络不依赖于任何特定的共识算法。但公证人是一个集群概念,一般使用
BFT 或 Raft
在公证人间达成一致,因此,公证人是存在效率问题,可能成为效率瓶颈;与传统分布式系统的共识设计相比,Hyperledger
Fabric 并没有什么改进,其共识方式与中心化共识的分布式数据库一致;FISCO
BCOS 支持 PBFT 共识算法,具备拜占庭容错功能,也提供 RAFT
共识算法,适用于在节点可信度比较乐观的场景;Coco 是通过 TEEs
提高节点可信性,以降低共识协议的复杂度;Quorum
也没做多少调整,尤其是在引入 Istanbul BFT 之前;Corda
应该说是在传统设计中引入了“矿工”理念。(二)出块速度由于替换了共识机制,因此相比使用
POW 的比特币、以太坊,联盟链出块速度要提高很多。Hyperledger
Fabric、FISCO BCOS、Coco 都是秒级出块;Quorum 则称是毫秒级,默认设定是
50 毫秒,可以调整;Corda
没有块,所以也没有出块速度可以考量。(三)TPSTPS
相当于区块链世界中的“网红”,很多新出现的链都把 TPS
贴在“脑门”上。这五大联盟链虽然 TPS
远高于比特币、以太坊,但还是比现有的分布式系统逊色:Hyperledger Fabric
通常实测的 TPS 在 300-500 之间;FISCO BCOS 实测单链可以达到 1000
以上。并且支持多链架构下的并行计算,可灵活扩展,理论上无上限。Coco
官方数据是 1600;Quorum 在 Istanbul BFT 协议下可以达到 400-800,Raft
下缺少数据;Corda 由于其网络结构的原因,没有全局吞吐量可以衡量。其实 TPS
方面如果没有达到一个数量级以上的差异,是不用特殊关注的,因为在实际应用中,节点数量、网络环境、硬件配置、软件设计等都会对
TPS
产生影响,而现有的联盟链在吞吐量上已经可以满足相当一部分商业场景的要求,毕竟
Visa 在 2016 年每秒实际处理的交易也只有 1,667 笔,尽管 Visanet
据称有每秒处理 56,000
笔交易的能力。(四)存储消耗区块链可以说是以“浪费”存储来换取信任的技术。虽然存储设备的价格越来越低廉,但这不代表“浪费”就没毛病,存储的快速膨胀一定会带来效率、成本、可用性等诸多问题,甚至会要求改变设计架构,尤其是在大家都想追求“杀手级应用”的时候。Hyperledger
Fabric 方面,蚂蚁金服倒是给出了一个详细的计算公式,Fabric
数据容量估算(GB) = 每种业务每天平均交易笔数 x (Fabric 每笔交易基本开销

澳门新萄京客户端下载,摩根大通银行4天前发布将发行JPM Coin
的消息,一直受到热议,同时有许多人询问我对此的看法。我就以下几点来回答这个问题。

  • 每笔交易平均业务数据大小 KB x 2 ) x 业务 Channel 数量 x(365 x 年数
    x(Peer 节点数量 x 2~1 之间 + Orderer 节点数量)+ Kafka Retention 天数 x
    Kafka Replica 数量) / (1024 x 1024),其计算示例中,在业务笔数每天 10
    万、4 节点、2 通道、单笔交易容量 1K
    的情况(其他因素不详细列出了)下,年存储消耗 4619G;FISCO BCOS
    支持历史数据快速追踪,对接数据库,实现分布式存储,能够支持海量服务的存储需求,提高存储访问速率,节省存储消耗。Coco
    由于设计上需要集成区块链协议做底层,因此其消耗就取决于集成的区块链协议,比如集成了
    Hyperledger Fabric,那加上 Coco 自身的消耗,其存储消耗量至少应该是比肩
    Fabric 的;Quorum
    也没有针对存储的特殊优化,至少应当按照大于以太坊消耗来估算;Corda
    倒是不同于其他联盟链,因为它基本上就是传统的分布式数据库,而且没有任何节点保存全局数据,每个节点都只保存跟自己有关的数据,所以,其存储消耗应该与传统分布式系统设计类似,没有过多的冗余消耗。综上,从效率方面看,在
    Hyperledger Fabric 之后推出或开源的其他联盟链,效率高于它也属正常。FISCO
    BCOS、Quorum
    本就是面向金融的设计,所以效率要求自然要高于一开始就希望做通用框架
    Hyperledger Fabric;Coco
    设计理念上就是希望做成“加速器”的,它的效率理应高于任何它可以集成的区块链;而
    Corda
    的设计模式决定了很难全面评价其效率,只能去单独观察每个实例。四、扩展性联盟链的用户都希望自己能发展成生态圈,比如海尔的供应链、中化的原油进出口贸易平台、马士基的全球交易平台等,因此,扩展性是联盟链设计必须要考虑的问题。这方面本文关注了节点数量扩展、共识扩展、单多链模式、加密算法扩展、第三方认证证书支持这五点。(一)节点数量扩展Hyperledger
    Fabric
    在节点数量扩展方面是弱项,已落地项目多是个位数节点,但是可以支持较多的客户端,算是一种弥补,不过节点数少其实意味着参与方的独立性是会有所下降的;FISCO
    BCOS
    的分组模式支持根据节点数量进行水平扩容,因此理论上节点数量是不受限制的;Coco
    在这方面有些“投机取巧”,可支持的节点数量取决于其集成的区块链协议,如果集成的是公链协议,在理论上也不受限制;Quorum
    是基于以太坊的,因此理论上也没有限制;Corda
    同样也没有节点数限制。虽然除了 Hyperledger
    Fabric,其他联盟链似乎都没有节点数量问题,但是节点数量其实还受共识协议的影响,BFT
    类共识协议在节点数量超过一定水平时会出现吞吐量下降,设计时应当考虑这点。(二)共识协议扩展共识协议的扩展能力对联盟链的稳定性有很大影响,能否根据节点数量、网络平衡情况、吞吐量进行调整决定了其网络的扩展能力。Hyperledger
    Fabric
    虽然很早在设计上就称其共识模块可插拔,但是目前实际应用上看是不具备插拔能力的,每个版本仅支持一种共识模式;FISCO
    BCOS 支持共识协议的插件式实现,允许切换共识机制;Coco、Quorum
    目前也具备了这种能力;Corda
    实现的应该说不是共识协议的直接插拔,而是公证人模块的可插拔,可以通过切换公证人模块来选择公证人的共识模式。(三)单多链模式多链模式目前被很多新出现的链用于性能扩展,不过多链模式有利有弊,提升性能的同时也增加了设计复杂度。Hyperledger
    Fabric 的通道机制其实可以算是早期的多链设计,但是通道在 Hyperledger
    Fabric
    中并不是出于提升效率的目的设计的,而是为了满足业务多样性要求,以降低业务复杂度,因此,通道机制目前在性能扩展方面没有显著贡献;FISCO
    BCOS
    是明确的并行计算多链设计,设计上要求开发者尽可能保持多链的同构特征以减少冲突,多链设计被直接应用在系统扩展方面;Coco
    的模式仍然取决于其集成的区块链协议;Quorum
    是单链模式的,底层的性能扩展要跟随以太坊的技术路线,可能要依赖以太坊的分片等技术进行扩展;Corda
    设计上是多网络模式,没有单多链的概念,但是可以建立两个网络节点的双向连接,配置双方信任的公正和认证机构进行网络融合,融合算是其扩展的一种方式。(四)加密算法扩展对于国内的应用,加密算法的扩展也即国密替换是一个强烈需求,尤其是在金融领域。Hyperledger
    Fabric
    不支持国密替换,目前已有的应用凡实现国密的基本上是自行替换或者依赖第三方服务;FISCO
    BCOS 是支持国密的;Coco 未对加密算法的选择有明确说明,因为这对 Coco
    而言属于底层,取决于其集成区块链协议,但目前它所集成的协议中还没有支持国密的;Quorum、Corda
    都没有对国密的支持方案。(五)第三方认证证书支持这一点对国内的应用也很重要。Hyperledger
    Fabric 目前不支持第三方 CA;FISCO BCOS
    支持第三方证书,支持证书的撤销,支持多CA;Coco
    由于私钥都保管在本地业务系统且允许自己生成,网络上只存公钥集,因此技术上看应该可以支持第三方
    CA;Quorum、Corda 都未见有此类支持。综上,Hyperledger Fabric
    在扩展性上有一定的限制; FISCO BCOS
    的可扩展性是很有优势的,尤其是面向国内应用时;Coco
    扩展性取决于其集成的协议;Quorum 的扩展性与以太坊关系密切;Corda
    除了在加密算法和第三方认证证书方面外,扩展的自由度有可能是最高的。五、节点管理与权限管理除了共识之外,联盟链与公链的显著区别当属在节点和权限上的设计了。本文从节点类型、作用、成员准入控制、角色和权限管理这几个方面比较下各联盟链之间的差异。(一)节点类型Hyperledger
    Fabric
    网络中的节点主要分为排序节点、背书节点和记账节点三类,实际应用中还可以加入只有同步账本能力的二级节点;FISCO
    BCOS 中包含核心节点、全节点、轻节点;Coco
    是一个可信验证节点(VN)分布式网络,也即,它只有一类节点就是 VN;Quorum
    中的节点是基于的以太坊 Golang
    版本实现的,因此节点之间是对等的,没有节点类型的区分,节点之间可以有白名单管理;Corda
    也不区分节点类型。(二)节点作用Hyperledger Fabric
    网络中背书节点负责提供签名服务,经背书节点签名且满足签名策略的交易提案会提交给排序节点进行交易排序和出块,再由记账节点完成账本更新;FISCO
    BCOS 中核心节点负责共识和记账,共识节点参与记账共识,
    观察节点同步账本;Coco、Quorum、Corda
    中节点都是对等的。(三)准入控制Hyperledger Fabric 中有专门的 CA
    模块提供用户信息注册、数字证书发行、延期和吊销等服务,成员管理采用 MSP
    方式,同一个组织内的成员通过共用同一个 MSP 标识进行识别;FISCO BCOS
    中,成员加入网络采用管理员认证的方式,提供合法有效的成员信息与CA证书,由管理员审核通过后,加入网络;Coco
    网络中的角色分为成员和参与者两种,成员是网络的集体管理者,拥有投票权,投票决定其他机构的加入或删除;Quorum
    网络中节点通过授权才能加入网络,授权是集中式的,通过 Java
    控制台操作;Corda
    中节点也是需要授权加入的,节点选择加入一个或多个网络地图,网络地图相当于网络成员及其地址列表,节点只能与所在地图中的成员进行交易。(四)角色Hyperledger
    Fabric
    中虽然成员没有明确的角色划分,但是基于其运维或对应的节点的差异会自然形成不同的角色;FISCO
    BCOS
    网络中的角色包含超级管理员、链或权限管理员、运维、交易、监管等;Coco
    网络中的角色分为成员和参与者两种,但不是必须同时具有两类参加者,也可以只有成员类型;Quorum
    网络中没有角色的区分;Corda
    网络中的角色分为公证人和参与者两种,公证人提供公证服务,参与者进行交易。(五)权限管理Hyperledger
    Fabric
    中权限主要通过策略进行管理,策略实际上是成员通过节点进行某种操作,比如提交交易提案等,所需要满足的签名数量要求。FISCO
    BCOS
    权限管理采用系统合约的方式,并可以通过自定义合约的方式进行权限管理功能的扩展,权限管理模型为
    ARPI(账户——角色——权限——接口)模式,多个账户可以对应同一个角色,角色有明确的权限列表,每个权限对应一个接口,接口指向智能合约,权限列表按照系统合约方式维护。业务中的权限管理则采用交易权限链的方式,一个交易相当于一组权限链,包含多个
    Filter,交易处理是逐个 Filter 进行权限判断,一个交易完成相当于一组
    Filter 审核都通过。Coco
    网络有成员负责治理,参与者是没有投票权的,不能参加网络管理。成员和参与者都可以拥有
    VN。成员对网络的管理通过共同维护一个可编程的网络章程来进行,章程内容至少包括成员列表、VN
    列表、代码清单、TEE 清单和投票策略。Quorum、Corda
    没有明显的权限管理内容。综合比较,FISCO BCOS
    的设计比较周全,也有一定的复杂性,但这也意味着它能够支持更复杂的场景;
    Hyperledger Fabric 、Coco 带有一定中心化因素;相较之下,Quorum、Corda
    更接近公链思路。带有中心化因素本就是联盟链对其应用的商业环境的体现,这也无可厚非。六、智能合约为了提升效率,支持更加友好的设计,各联盟链在智能合约上也出现了不同的发展思路。Hyperledger
    Fabric
    中的智能合约称为“链码”。链码分为系统链码和普通链码,前者包括生命周期管理、配置管理等,属于系统控制层面的链码;普通链码则是用于实现业务逻辑的链码,智能合约开发通常指的就是这部分链码。链码的业务模型为“MCV-B”,即,在传统的
    MVC(模型、控制器、视图)模式中嵌入
    B(区块链),强调链码是业务逻辑的加强。链码的生命周期包括打包、安装、实例化、升级、停止和启动,运行在
    Docker 中,由背书节点进行调用,目前主要支持的是 Go 语言。Hyperledger
    Fabric
    虽然提供了跨通道机制,允许跨通道调用链码,但是跨通道调用只支持读而不支持写。FISCO
    BCOS
    中除了通常用于业务逻辑的智能合约外,将系统管理也智能合约化了,统称为系统合约,包含系统代理、节点管理、机构证书、权限管理、全网配置五类。上述合约原则上由区块链管理员在网络启动时部署,网络运行期间的变更则需要在去全网所有节点许可的情况下由管理员操作。FISCO
    BCOS 主要支持 EVM 引擎的智能合约。Coco
    由于其节点运行在可信执行环境中,因此,与其他联盟链不同的是智能合约只需单个节点运行,不必多次验证。更与众不同的是,因为可以单点只运行一次,所以
    Coco
    的智能合约支持不确定交易。此外,允许智能合约直接连接外部可信数据源。Quorum
    是基于以太坊智能合约的,智能合约本身没有特别之处,合约运行结果方面,节点只对公开交易和节点涉及的私有交易进行验证,而不必验证所有交易。Corda
    的智能合约设计思路也比较独特,首先,它主张智能合约的业务数据和业务逻辑要能关联到明确的法律依据上,这相当于要智能合约跟业务凭证之间具有强联系;其次,Corda
    主张纯函数式设计,力推金融合约的标准化,提供小型类库,以减少对低层次逻辑的重新开发;再次,单纯看智能合约的话,Corda
    的智能合约是“碎片化”的小段程序,而且只能做为起流转控制作用的“验证程序”,做不到一般智能合约那种价值转移功能,在
    Corda
    中,“交易”、“智能合约”和“流式架构”加起来才能与其他平台的智能合约相当。总结一下,Hyperledger
    Fabric 的链码设计给了智能合约一个新的设计框架,这方面它是开创性的;FISCO
    BCOS 则将智能合约应用扩展到了系统管理方面;Coco
    采取了改变公链设计假定的思路,不仅不对智能合约进行重复验证,还支持不确定交易;Quorum
    的智能合约基本沿袭公链思路;Corda
    的思路也比较另类,但是智能合约本身却更弱化了。智能合约是随着以太坊火起来的,成了区块链的标志性技术,但其实目前的智能合约还远不够“智能”,这个名字容易引起误解。以太坊创始人
    Vitalik
    最近在推特上发文称对使用智能合约这个术语表示“十分遗憾”,应该使用更专业或更无聊的名字,比如,“持续的脚本”之类的东西,想来也有此意。七、部署与运维友好性联盟链常被称为是个“坑”,这个“坑”主要是在部署和运维方面。(一)部署Hyperledger
    Fabric
    虽然已经是个成熟框架了,有良好的社区环境,市面上还有若干不错的教材,但是部署方面依然让很多新人不知就里,笔者所在的微信群里大部分时间都在交流部署问题而非设计问题;FISCO
    BCOS提供一键安装/step-by-step/docker等搭链方式,同时还未企业生产部署提供物料包的打包工具,简化部署复杂度;Coco
    的部署特点是增加了一次对其他区块链协议的集成,要先有底层区块链协议,才能部署
    Coco,这其实要设计人员对 Coco
    和其集成的区块链协议都有一定了解才好,学习成本较大,此外,Coco 需要部署
    TEE 硬件设备来支持可信执行环境构建,这是其他联盟链通常不需要的,TEE
    因此也成为一个安全隐患;Quorum 需要在以太坊之上部署,依赖以太坊,与 Coco
    相同,设计人员最好也要了解以太坊;Corda
    的部署目前缺乏实例来做比较。(二)运维Fabric
    目前没有提供多少支持工具,多数需要设计者自己开发;FISCO BCOS
    提供了方便运维的合约命名服务,提供区块链浏览器和监控,并且有上帝模式用于处理节点崩溃问题,运维友好度有一定改善;Coco
    目前未见提供多少运维工具;Quorum 有一些第三方支持工具;Corda
    与其他联盟链相比,运维方面最大的特色莫过于支持受限形式的数据库回滚。联盟链的部署和运维都有一定的学习曲线,其复杂度远高于公链,一个新手部署一条以太坊要不了多少时间,但是运转起一个联盟链,还是需要打听不少“小伙伴”的。八、隐私保护联盟链有一个让大家纠结的问题是,明明要上链一起共建生态、共享信息,却纷纷要求隐私保护,要上链又不能随意公开,不仅希望身份保密,还希望交易信息保密,这与公链信息公开、身份保密的设计理念有很大不同,但这是合理要求,尤其是在金融领域。本文从可见范围、加密措施两方面对各链加以比较。(一)可见范围Hyperledger
    Fabric
    的通道可以用来隔离数据,只有在同一通道内的节点才可以共享同一套账本信息,而通过组织设计,基于
    MSP 标识可以在同一通道内进一步控制数据可见范围,1.2
    版中加入了私有数据模式,允许指定的节点间共享信息,这比组织更加灵活;FISCO
    BCOS 设计了 AMOP
    协议,以提供机构间的点对点通信,通信信息属于链下信息,不在全网共享,链上部分在引入中央对手方提供信用背书的情况下,数据也仅在交易方和中央对手方之间共享,多链方式也可用于数据隔离,必要时通过跨连互通;Coco
    支持两个或多个交易者的机密交易,通过 TEE
    控制可见性,但要求集成的区块链协议最好也提供一定支持;Quorum
    区分公开数据和私有数据,私有数据只允许限定的交易方可见;Corda
    数据仅在交易方之间可见,节点之间提供一个交易依赖关系图,数据根据需要发送,而不在全局广播,任何参与方都无法见到包含全部数据的全局账本。(二)加密措施Hyperledger
    Fabric 1.1 开始支持账本数据加密,1.2 版引入私有数据后,设计上允许只给
    Kafka 提供交易 Hash 用于排序而不向 Kafka
    提供交易信息,以防排序节点泄露数据;FISCO BCOS
    允许采用高强度的加密数据信封进行保护,未参与交易的机构只能接收到密文,此外,建议对敏感数据采用脱敏上链、Hash
    上链等方式进行保密处理;支持零知识证明,环签名,群签名,同态加密等隐私保护方法。Coco
    允许应用程序先进行数据加密再提交事务,公网数据采用加密传播的方式,以对不受信任的
    host 保密;Quorum 有独立的 Constellation
    模块,对私有事务的交易数据进行加密保护,还提供了独立的零知识证明(ZSL)模块以防止验证用户身份时发生信息泄露;Corda
    也使用 enclave
    进行数据保护,并考虑使用安全硬件。在隐私保护上,各链都下了很大力气,这方面与其一较短长,不如考虑互相借鉴。九、选型建议通过以上八个方面,本文粗略比较了五大联盟链的设计与差异,如果非要从技术角度给各家打个分、排个名,实在有些“霸王硬上弓”之嫌,各家原本思路和焦点就不同,都有自己的“小目标”,非要不管人家自己的想法去论个短长,有些不太“科学”,也不是应用的合理“姿势”。各联盟链毕竟都是为了解决实际问题、为了落地区块链项目而设计的,所以,本文最后从大家都会关心的技术选型角度做个总结。整体而言,Hyperledger
    Fabric
    的综合实力依然最强,推出时间早、框架完整且比较成熟,有国际化应用和国际化社区加持,案例和技术支持对于仍属早期发展阶段的区块链而言非常重要,Hyperledger
    Fabric
    在这方面可以说优势极大。但是,它也有些不能回避的问题,比如基础研发进展缓慢,研发主体不明确,一些应用者关心的关键问题迟迟不见解决。随着百度、阿里、腾讯、京东等一众国内大厂的强势加入,Hyperledger
    Fabric
    的优势地位也会受到越来越多的挑战,对此,它急需合适的应对措施。FISCO BCOS
    应该说是本土化设计的代表,其在底层研究上的投入、关键技术上的改进、对国内需要的适应性调整、对社区建设和运维的重视,都有可圈点之处,平台在各行业的通用性也在加强,随着开源工作的推进和案例的不断增加,其本土化优势会逐步显现。在国家政策的鼓励下,国内大厂如今纷纷高调杀入联盟链市场,如果这些大厂真的“倾情”加入,那与
    Hyperledger Fabric
    相较,其开发主体、资金投入的稳定性要更有优势,而且,大厂们基本自带生态和流量,案例的增长、生态的发展也是可以预期的,是很多项目可以借力之处。Coco、Quorum、Corda
    都存在支持能力不足、缺乏有效案例的问题,虽然微软目前在 Coco 以及其他基于
    Azure
    的区块链平台和应用上投入了一定力量,但是对国内应用者而言,仍显不足。因此,从技术选型角度来讲,应用者,尤其是新入局的应用者,最好还是在
    Hyperledger Fabric 这种影响广泛的成熟框架或者 FISCO BCOS
    这种有实力且能提供较强本土支持的平台上做选择,而在开发过程中借鉴下
    Coco、Quorum、Corda
    中的优秀设计理念。区块链仍属于技术的早期阶段,这个阶段必然要求应用者具备较强的学习能力,多做基础研究,敢于对所选择的技术平台进行改良,积极与平台提供商合作进行技术探索,区块链还没到像主流操作系统那样可以“坐享其成”的阶段,仍然需要所有参与者秉持“开源”思想,不辞辛苦、热情奉献、共同进步。作者按:文章大部分是晚上写的,是“夜话”;挑来选去,最后写了五个链,想起了“春秋”。春秋之后是战国,估计是随着
    BATJ
    积极加入后的战国。“天下大势,合久必分,分久必合”,联盟链乃至区块链会否如此,可能要“久”到下一代技术来决定了。近期有文章称当前的基础研究越来越难以支撑技术的创新发展了,区块链也有此忧虑。作为早期形态,刻意“浪费”算力和存储换取信任,可以;作为未来的成熟形态,不妥。五大联盟链中也有对此问题的些许思考,但现有方案乃是当下之技术或认知所能达到的较高水平了。今日“链人”之努力乃是前进的必经之路,足以启发天下之想象。没有今日的“痛苦”,就没有未来理想的区块链世界,愿大家广发宏愿,持续努力。作者介绍付晓岩,原中国建设银行资深业务架构师,负责业务架构设计、项目管理,热衷新技术探索与实践,具有丰富的银行业务经验和企业级项目业务架构设计经验。2000
    年加入建行,曾长期参加建行“新一代核心业务系统”建设,主导客户关系、金融市场、同业、资管、养老金等多个领域核心系统的业务架构设计。从
    2017
    年开始探索区块链技术及其应用,并发表《关于使用区块链技术建设行业级同业交易平台的探讨》、《数字货币可能诱发的现金社会经济活动的模拟与思考》等多篇文章。

首先,我们要知道,JMP代币是一个稳定币,与美元一对一挂钩,而且该稳定币由摩根大通银行内部担保,完全是安全稳定的(如果摩根大通银行不倒闭的话)。我们知道在一个礼拜前英国的监管单位FCA,提到他们认为稳定币就是一个货币,如果以这个观点来讲,摩根大通银行所发布的就是一个货币。

其次,该稳定币是来做支付的,特别是做跨境支付及银行内部支付,而且它的支付系统是即时的,当场就可以结算,所以不可能会流失的。

现在在摩根大通银行如果需要从一个地方把资金转到另外一个地方,使用现有系统需要2-3天,JPM
代币事实上优于现有系统。相比于现有系统,在跨境支付方面更为便捷,且可以24小时进行结算,银行关不关门对它没有影响。

最后,JPM代币使用摩根大通银行内部自行开发的区块链Quorum系统,该系统是基于以太坊开源代码所开发出来的联盟链。

澳门新萄京客户端下载 1Quorum
区块链

该消息出来后就出现了两极的看法,有人对此大力批评,有人对此表示赞同。持批评意见的公司如下:

传统的数字代币的公司:他们大力的批评这个计划,首先他们认为这个是假的数字代币
(fake cryptocurrency),因为没有挖矿机制,不能做各样的交易。因为JPM
Coin只能在摩根大通银行内部做转换用,不能够在市面上做交易。他们认为摩根大通使用了联盟链,是一个中心化的链,而中心化的链是没有价值的。

瑞波公司:瑞波公司在这个消息出来后发了许多文章,批评摩根大通银行的稳定币,说这是中心化的系统,且跟现有系统相比没有任何创新等等。但也有人对此进行了回击,瑞波系统事实上在2年前也被发现是一个中心化的系统,而且是第三方经过许多研究才出具的独立报告,根本没有资格批评别人。瑞波公司被批评时并没有回应,现在JPM
Coin都还没有独立报告,瑞波马上出来批评JPM
Coin实在没有必要。瑞波公司还预测JPM
Coin发布后,大家都会大力跟随瑞波系统。 瑞波系统作为一个中心化的系统,
并没有立场批评联盟链中心化。
联盟链是一个分布式系统,只是它的分布没有像公链这么广。现在一些号称下一代的公链,也只有非常少的节点,甚至比联盟链的节点更少。所以,联盟链是中心化链的结论是站不住的。

瑞波攻击JPM Coin一个非常重要的原因,是因为瑞波币也是专门做支付的, JPM
Coin与瑞波存在竞争关系,事实上JPM Coin在抢瑞波币的市场。

在赞同JPM
Coin的观点中,其中一个非常重要的观点,是认为这是全世界第一个银行所发布的数字代币,这是一个历史性的事件。即使该代币只能在银行内部供机构使用,但作为历史上第一个银行发行的数字代币,同时也是美国最大的银行发行的,所以它代表的信息是重要的。

另外,他们也指出这个系统可以做跨境支付,可以24小时交易,而且是即时的,这比现有系统要好很多,所以他们这是一个划时代的产品。

笔者6方面讨论这问题。

1. JPM Coin
不是传统数字代币:
笔者认为在数字代币和瑞波的思想其实是不太需要重视,因为数字货币市场一直都是两条路线:


传统数字代币:除比特币和以太币被认为是金融商品外,其他数字代币尚没有被美国政府认可,美国SEC也会对此进行监管。

• 证券代币,是纳入美国证券法监管的合法合规的数字代币。

另外,还有一种数字货币,流通代币或是使用代币(utility
token),美国SEC尚未对此进行定义, JPM Coins 比较像流通币,
因为既不是数字代币,也不是证券代币的特征。

英国FCA把代币分为数字代币、证券代币、稳定币,
认为稳定币就是货币,以货币法来治理和监管。所以如果在英国,JPM Coins
会被认定是稳定币,被英国货币法监管。

所以把摩根大通的稳定币来跟比特币来比是没有意义的,因为它们根本就是两个不同的种类的数字货币,一个是在外面还没有合法,甚至以后有可能是违法的,而JPM
Coin却是银行内部用来转换法币的使用代币。JPM
Coin不是“真”数字代币,也不是“假”数字代币,因为“不是”数字代币。

所以上文认为他们是“假数字代币” (fake
cryptocurrency)的观点,或者进行大力批评是没有必要的,因为他们本身就是两种完全不同的系统。

在2018年7月的时候,美国出了两件事情,一件是IBM公司出的一个稳定币就是数字美元,另外就是Bakkt公司开始要推以数字代币为主的金融产品。在更早的时候,美国监管单位开始对这些事情出台一些监管政策,美国在2018年这3件事情就是“兵分三路”建立新金融体系。在这新金融体系之下,作为美国最大银行的摩根大通银行发行稳定币,这意义重大。

2.
摩根大通银行要建立数字经济金融帝国:
当摩根大通银行宣布消息的时候,很多人就说现有系统也能够做支付包括跨境支付。认为现在摩根大通银行发稳定币来完全没有必要的。

摩根大通银行已经有这样的支付技术,为什么还要使用区块链来做支付?这就是一个有趣的问题。现在已经有其它的技术做同样的事情,包括中国的微信支付,支付宝等都能够做类似的事情,而且都很快速方便,所以为什么摩根大通银行还要用区块链?

这其实是可以解答的,因为在2018年初笔者在奋斗大讲堂《区块链如何重构金融技术新格局》[1]
讲到区块链是有金融集团和帝国概念,一个集团使用一套区块链的协议,其它商业银行或者是金融机构想要进入这集团做生意,就会被要求使用同样的区块链技术,
这就成为一个联合的金融帝国。这金融帝国里面可以有一个流通代币或是积分,参与的公司越多,金融帝国越大。

现在摩根大通银行还只是一种实验系统,而且还有很多事情没有成熟,但是就对外宣布,其实是要告诉相关的公司,表示他们现在已经有一个区块链系统,希望其它的公司愿意加入这集团中,就使用他们的协议。
在2019年2月14号, 摩根大通银行区块链主任Umar
Farooq就表明现在有170家全球银行(global banks)愿意合作, 原文是 ”More
than 170 global banks have signed up for our Interbank Information
Network blockchain program”。170家全球银行希望加入JPM
Coin网络系统是惊人的, 可以看到摩根大通银行金融帝国可能的地盘大小。

澳门新萄京客户端下载 2170家全球银行愿意加入区块链支付网络

我们预测未来会有其他银行发行它们的稳定币。昨天新加坡华侨银行宣布发行内部OCBC
oneToken。

3.
美国银行界正式接受基于区块链的数字经济:
摩根大通银行是美国第一家银行宣布使用区块链系统做支付的。
这代表什么意思?因为支付现在已经有很多技术,有的技术现在比区块链支付还方便,可是摩根大通银行却对外高调宣传使用区块链系统。这是他们想要混淆视听?恐怕不是,这件事情表示美国银行已经接受区块链在银行系统内部使用。这意义巨大无比!今天有几个银行在做这事?都在做实验吧。

有些人议论区块链是否可以用在金融系统上,认为区块链速度这么慢,所以做不了金融应用。另外现有金融系统事实上做的非常好,速度性能各方面都好,所以为什么要改用区块链?在摩根大通银行宣布消息后,国外有人发文问,现在已经有同样功能的支付系统,也可以当场结算,而且是免费,摩根大通银行也拥有这系统。为什么摩根大通银行还是要做这基于区块链的新系统?似乎没有必要开发区块链系统。

他们忘了一件事情,现在金融系统里面的数据是可以更改的,而且现在的金融系统是中心化的,有了区块链之后就变成一个共识化系统(交易各方都可以看到同样数据),而且区块链数据是无法更改的,这就会产生一个新的金融流程和体系。有这信任机制,金融系统内部和外部监管都方便的多,以至于银行内部作业、商业流程、监管体系都会改变。交易各方都有同样的数据,防欺诈,监管成本大量减少。
这些都是现在金融系统很难做到的。如果摩根大通银行不提供这样“共识化服务”,其他银行例如花旗银行提供这样服务,合作伙伴可能会改变他们的选择。

对客户来说,使用共识化服务他们可以有更多信息,可以和银行在同样时间得到同样信息,而且银行不可能在系统后面更改数据。金融机构在事后更改信息或是银行内部职员作假都发生过,例如前几年,美国富国银行就发生职员在内部大量作假。笔者在美国也发生过3次事故,造成笔者损失时间和金钱,
一次是银行(2次在笔者不知情下更改笔者账户),2次在著名证券商(多次故意更改笔者账户),券商事故花2年时间上仲裁庭才解决。
这些事情如果使用区块链将会很难发生。摩根大通银行的区块链的主任Umar
Farooq访问的时候,也透露同样的消息。他说摩根大通银行一直相信区块链是未来的方向。

澳门新萄京客户端下载 3Umar
Farooq 在 2019年2月7 号纽约访谈

不只是金融机构可能作假,连大家都尊敬的学校也可能作假。笔者在美国就遇到著名学校多次更改学生成绩单,一直到学生预备在州最高法院告学校后,学校才停止更改。根据州法,学校有权利随时更改学生的成绩单,学生要挑战只能在州最高法院才可以。因为有这样的权利,连出名的学校有时候也会使坏。

4.
摩根大通银行还不能做基于区块链的清算:
摩根大通银行说做支付,并没有来说能够做清算,事实上现在世界上只有两个组织宣布做出清算,一个是中国天德科技公司在2017年4月的宣布的,另外一个是2018年10月国外DTCC公司宣布的。天德公司已经在贵阳公开展示2年,有国内外100多家单位到北京实验室拜访过,国外包括谷歌,IBM,SAP,亚马逊,国内包括人民银行,工信部,
商业银行,许多科技公司访问过。技术也发表在国内外期刊和会议上,也有相关技术在国内外申请专利,技术现在都是公开的。而DTCC的项目现在技术白皮书还没有出来,
在美国已经公开的专利文件也没清算相关技术。

澳门新萄京客户端下载 4天德清算系统在2017年4月完成

摩根大通银行说做支付,可以看出他们还没有做出清算系统,笔者在很多地方就讲到清算系统和支付系统它的链的设计是不一样的,因为支付系统需要的延迟要非常低,但是吞吐量不是很大。
根据排队理论(Queuing Theory),
鱼与熊掌两者不可兼得!要做低延迟吞吐量必须有限制。清算是需要高吞吐量的,高吞吐量区块链和低延迟区块链的设计不同!

而这个摩根大通银行它的区块链Quorum
是基于以太坊系统改的,因此结构上和以太坊不能差距很大,所以他们的吞吐量速是不能太高的。但是这并没有阻止摩根大通银行对外面宣布而且使用这样的系统进行支付,
因为支付重视低延迟, 而不是高吞吐量。

例如加拿大央行的银行之间的支付系统 (inter-bank payment
system),一秒平均只需要做1.1笔交易,欧洲央行以及日本央行的银行之间支付系统平均1秒钟都不需要完成20笔交易,所以现在的区块链系统足够支持银行之间支付系统,这数据是加拿大央行,欧洲央行,日本央行提供的。所以现在一些央行系统的应用已经可以使用区块链。虽然区块链系统还没有到可以解决所有银行系统的问题,但央行内的一个支付系统已经可以使用区块链了。摩根大通银行正在做银行内部支付系统,想必是可以支持低延迟交易,并且可以支持现在的吞吐量。

如果支付系统如果需要高吞吐量可以使用天德ABC-TBC架构来解决。
增加TBC可以增加支付量,ABC可以使用负载均衡来来增加客户量,
这样交易量和客户量都可以增加。这是天德在2017年做出区块链清算使用的技术。笔者在2018年《区块链第4大坑——
区块链分片技术是扩展性解决方案?》[2]
提过,要解决低延迟和高吞吐量,现在只有这样的技术有效。
因为这问题需要解决两个不同的扩展性问题,而这两个解决方案又不一样。所以如果只用一个方案,就就遇到另外一个问题。
其他的技术不是没有高吞吐量,就是没有在关键地方维持拜占庭一致性协议。没有一致性协议协,系统根本不安全。

澳门新萄京客户端下载 5左边是一链通天下,右边是ABC-TBC双链架构

这个鱼与熊掌的问题是被数据结构(data structure)限制的,
不是被算法限制的。如果是算法限制,可以换算法。但是这次不是,所以问题解不开。

没有解决高吞吐量,区块链清算是做不出的,
因为清算的量大过股票交易所、期货交易所的量。一个清算所通常处理多个交易所的交易。中国古语说“兵马未动
粮草先行”,
在金融区块链系统里面,先行的是支付系统。区块链清算系统比较难做,以后再开发。但是以后必定需要区块链清算技术。

5.
区块链在金融市场定位开始确定:
以前,数字代币支持者认为数字代币要对传统金融颠覆,完全取代现在金融系统。这事在2018年7月美国SEC开始监管数字代币后,已经是不可能的任务。美国SEC对数字代币的影响是巨大无比,可以说2018年数字代币市场大跌主要原因是SEC开始实行监管。

但美国在2018年7月开启数字经济的大蓝图,兵分3路:1)批准数字美元出现,2)批准数字金融产品和证券代币合法交易所,3)以及出台证券代币的法规,让美国公司可以用证券代币来融资让后在美国证券代币交易所买卖,见《美国数字新经济帝国与中国区块链之梦》[3]。

在这大蓝图下,摩根大通银行成为第一个美国银行出内部稳定币,
联合170家全球银行实现全球支付系统,建立区块链金融帝国!

那些批评JPM Coin是“假”数字代币是没有完全看懂这个大蓝图,
还用原来数字代币的世界看新经济活动。如果说长江后浪排前浪,他们现在已经是前浪,有人说区块链进步速度是互联网进步速度的15倍,在这样的超级速度,不小心以前的后浪居然成为前浪了。原来远远落后的传统银行,现在居然成为后浪,开始走在美国金融大蓝图上。

6. 联盟链才是区块链发展方向:摩根大通银行使用Quorum 联盟链,
而不使用原来以太坊公链, 这表示:

• 未来数字金融市场主流是联盟链,不是公链;


数字代币的发行不是和公链有必然的关系,这点笔者在过去一直在提,联盟链也可以支持数字代币发行与应用;


区块链未来社会应用主要方向是和传统市场结合,提升传统市场的效能,和传统金融市场相互促进,
而不是取代现在的金融市场(美国监管单位SEC会阻止这样的事发生);

• 现在是区块链世界生态重构的时间,
以前是以公链为主的生态,现在要以联盟链为主的生态。


虚假的区块链技术将会被淘汰。摩根大通银行没有使用Hyperledger,也没有使用Corda.
摩根大通银行是Hyperledger的会员,但不使用中心化的Hyperledger,而且是第一个离开Corda联盟的会员。中心化的伪链或是类似区块链都不是真区块链。

参考资料:

[1] 天德科技.“回顾| 奋斗大讲堂:区块链如何重构金融技术新格局”
2018.10.29

[2] 蔡维德等.“区块链的第四大坑——
区块链分片技术是扩展性解决方案?”2018.8.2

[3] 蔡维德等.“蔡维德:美国数字新经济帝国与中国区块链之梦”2018.11.28

作者:

蔡维德:北航数字社会与区块链实验室,天德科技
,国家大数据综合试验区区块链互联网实验室, 天民国际沙盒研究院,
赛迪研究院

王焕然:北京天链沙盒科技公司,天链沙盒研究院。清华大学硕士,特许财务分析师,金融风险管理师

网站地图xml地图