首页 > IT业界 > 正文

FISCO BCOS 凭什么从联盟链脱颖而出?

2018-11-09 12:08:43  来源:互联网

摘要:2008 年 10 月 31 日,中本聪发布了《比特币白皮书》
关键词: 联盟链
  一 前言
 
  2008 年 10 月 31 日,中本聪发布了《比特币白皮书》,至今已超过 10 年的时间。10 年来,从比特币到区块链,越来越多的人了解到区块链,也有越来越多的人加入到区块链行业。当然,无数的人因此盆满钵满,也有无数的人倾家荡产。新兴技术和泡沫往往是相辅相成的,互联网如此,区块链也是如此。如今,互联网已经深入人心,连菜农都已经熟练地使用微信支付。当新兴的区块链沦为众人炒作的同时,技术却在有条不紊地推进着。本文探讨的 FISCO BCOS 正是众多项目的代表。
 
  二 区块链分类
 
  区块链技术的分类是随着各方面的应用而越来越清晰,按照准入机制,区块链目前分为三类:公有链、联盟链和私有链。
 
  公有链(Public BlockChain) 是指世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程,也就是每个人都可以竞争记账权。比特币、以太坊、EOS 是几大典型的公链代表。比特币公链诞生于 2009 年 1 月 3 日,至今已有 9 年多的时间。截止目前,共有 2971 万个比特币地址。[1] 以太坊公链诞生于 2015 年 7 月 30 日,至今 3 年多。截至目前,共有 4561 万以太坊地址。[2] EOS 公链诞生于 2018 年 6 月 15 日(凌晨 01:50,EOS 主网投票率超过 15%,主网激活,正式上线),至今才 4 个多月。截至目前,共有 44 万个账号。[3] 目前大众最为关注的,也是公链。
 
  联盟链(Consortium BlockChain) 是由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易,但不过问记账过程(本质上还是托管记账,只是变成分布式记账,预选节点的多少,如何决定每个块的记账者成为该区块链的主要风险点),其他任何人可以通过该区块链开放的 API 进行限定查询。目前有较大影响力的联盟链有 Hyperledger Fabric、FISCO BCOS、微软的 Coco、企业以太坊联盟(EEA)以及 R3 的 Corda。
 
  私有链(Private BlockChain) 是指仅仅使用区块链的账本技术进行记账,记账权并不公开,且只记录内部的交易,可以是一个公司,也可以是个人,独享该区块链的写入权限,与其他的分布式存储方案没有太大区别。
 
  由于公有链、联盟链大多采用开源社区协作,公开透明的开源精神在区块链世界颇为流行。私有链多为公司或者个人内部使用,所以探讨意义不大。
 
  三 联盟链对比
 
  目前大众的关注点基本上在公链,无数的用户都在质疑,联盟链有什么作用。企业为了解决实际的需求,往往需要寻求新的突破点,联盟链自然而然地成为了落地实践的热点。联盟链作为「无币区块链」,更侧重技术。
 
  根据第二节对区块链分类的介绍,目前有较大影响力的联盟链有 Hyperledger Fabric、FISCO BCOS、微软的 Coco、企业以太坊联盟(EEA)以及 R3 的 Corda。EEA 只拟定规范而不涉及代码,所以采用官方认可的摩根大通 Quorum 平台作为对比。
 
  (作者注:因有比较完善的联盟链对比文章,本文仅从核心思路对以上联盟链进行对比。)
 
  Hyperledger Fabric 由 Linux 基金会管理,希望改变公链的单一通用网络模式,通过建立多个可以互联的区块链网络覆盖各类不同的业务场景,实现设计的灵活性,满足多样化的要求,并实现网络间的交互,这种思路体现在了其独特的通道机制设计上。Hyperledger Fabric 旨在打造不分行业的通用区块链开源框架,在联盟链中也拥有最大的共识。[4] 2018 年 7 月 16 日,甲骨文正式推出 Oracle 区块链云服务,正是基于 Hyperledger Fabric。AWS 区块链云服务,也选择了 Hyperledger Fabric。腾讯云区块链服务(Tencent Blockchain as a Service,TBaaS),最早的底层引擎也是采用 Hyperledger Fabric。
 
  FISCO BCOS 初衷是设计一个国内企业主导研发、自主可控、对外开源的满足金融行业需求的企业级区块链底层平台,并逐渐扩展至其他领域、适用于广泛的分布式商业场景,所以进行了自底向上的完整设计,并考虑了较多国内的特殊需求。FISCO BCOS 扎根金融行业,由金链盟管理。金链盟是由深圳市金融科技协会、深圳前海微众银行、深证通、腾讯、华为、中科院等金融机构、科技企业、学术机构等组成的非营利性组织。
 
  Coco 基于保密联盟环境的假定,重新评估了公链的设计,通过将其他区块链协议集成为底层,快速高效地构建区块链应用。在这种思路下 Coco 大胆放松了一些关键的设计限制,并且最终实现了一个对现有区块链协议的加速机制,可集成的协议已经包括 Hyperledger Fabric、以太坊、Corda、Quorum 等。Coco 由微软管理,可见一线厂商都在布局区块链。
 
  EEA 是力求引导一种基于以太坊的标准区块链设计,可根据成员需要定制,但不提供代码(Quorum 提供部分开源代码)。官方承认其技术基础是摩根大通开发的 Quorum 平台,该平台的目标则是提供高速、高吞吐量交易的能力,以解决区块链技术在金融等领域遭遇的挑战。
 
  Corda 希望提供一个具有唯一性、权威性、可以记录企业间所有协议的全局逻辑账本,核心是实现具有节点间最小信任机制的无中心数据库,因此,Corda 主张充分考虑与现有业务系统的结合,而非将现有业务系统拆掉重来。Corda 的设计思路对 Hyperledger Fabric 有一定影响,也参与了对后者的建设。Corda 由全球顶尖的银行构成的名叫 R3 的组织管理。
 
  四 FISCO BCOS 解读
 
  根据 FISCO BCOS 白皮书,FISCO BCOS 旨在解决传统行业 IT 基础设施的不足与痛点,包含操作风险、道德风险、信用风险、信息保护风险等方面。[5]
 
  4.1 多个特性
 
  FISCO BCOS 引入了多个特性,包含基于区块链网络的消息通信协议(AMOP)、合约命名服务(CNS)、并行共识与并行计算、极强维护性和可视化的浏览器与监控。
 
  在监管方面,引入如下标准:
 
  风险数据整合
 
  风险建模,分析和预测
 
  实时交易监控,汇报和拦截
 
  身份识别
 
  FISCO BCOS还在安全及隐私保护方面有重大突破,包括支持了多CA认证、国密算法、同态加密、零知识证明、群签名环签名等。同时,FISCO BCOS即将在腾讯云上线云服务,向企业及开发者提供便捷易用的区块链云服务。配合开源运营与生态建设,让 FISCO BCOS 成为更佳更完备的联盟链系统。
 
  接下来,笔者将会以自己熟悉的角度解读 FISCO BCOS。
 
  4.2 CNS
 
  互联网从业者想必对 DNS 非常熟悉。域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。[6] 比如输入域名 fisco.com.cn,实际上访问的是 IP 地址 119.29.123.54。
 
  一个完备的互联网系统,不管对内部业务还是对外的业务,域名都是不可缺少的。以对内业务为例,域名的存在让高可用得以轻松实现,业务一旦故障,即可快速无感知地将域名切换到正确的指向,极大地提高了运维的健壮性。以对外业务为例,域名对用户友好,用户无需记住繁琐的 IP 地址,即可快速到达自己心仪的网站。当然,短小精悍的域名甚至具有极大的投资价值。域名是通往互联网的入口,作为互联网的底层设施,共识已经足够强大。公司创业也好,个人建站也好,域名是第一考虑要素。
 
  FISCO BCOS 借鉴 DNS 的设计思想,将合约地址和 CNS 进行映射,削弱业务对合约地址的依赖。笔者对智能合约做一个简单的介绍,智能合约(英语:Smart contract )是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易。这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。[7] 以太坊是一个开源的有智能合约功能的公共区块链平台。在以太坊公链上,有普通地址和合约地址。
 
  此处笔者对合约地址进行一个讲解。举个例子,以太坊的合约地址类似 0xB8c77482e45F1F44dE1745F52C74426C631bDD52,这是一个相当复杂的以 0x 开头的 42 位字符串。这样的地址是反人性的。当然,从比特币到以太坊,都是这样粗暴的地址。石墨烯体系,比如比特股、EOS,有了账号的概念,让区块链的体验提高了一个台阶。回到 CNS,FISCO BCOS 的 CNS 加强了对合约接口的信息管理,使合约可以将自己的接口信息在链上发布出去,让链上的所有参与者都可以方便的识别、定位、调用合约。在部署智能合约、升级合约、业务灰度升级等方面都有极大的优势,提高了灵活性和运维的便捷性。
 
  4.3 云服务
 
  联盟链作为云服务,将会是行业的标准之一。对于企业而言,使用云服务将会大大降低运维成本,从国内外云服务厂商的经营数据来看,云服务将是中小型企业首选。云服务提供了友好的交互界面,较高的 SLA,快捷地客服响应,便捷地自动化流程,将存储、时间同步服务器、DNS、软件更新源、HTTPS、数据库、CDN、负载均衡等无数的基础服务打包,企业只需要掌握基本的操作,便可轻松自如地运维云服务器,发布更新自家的产品。同样,联盟链提供对企业友好的云服务平台,将会降低准入门槛,提高价值流转的速度。2018 年 7 月 16 日,甲骨文基于 Hyperledger Fabric 正式推出 Oracle 区块链云服务。亚马逊、腾讯也推出基于 Hyperledger Fabric 的云服务,未来区块链云服务是各大云服务厂商必争的蓝海。
 
  FISCO BCOS 白皮书里也对云服务进行了规划,将在云平台发布区块链云服务器镜像,使用云平台界面交互和其他工具,可快速构建区块链服务,进行应用部署和服务器参数调整。
 
  腾讯云区块链服务平台(TBaaS,Tencent Blockchain as a Service)将于 2018 年 11 月支持 FISCO BCOS 底层,提供包括区块链网络管理、合约管理、运营监控等功能,为企业及开发者提供一站式、高安全、简单易用的区块链服务。基于此,客户可以降低对区块链底层技术的获取成本,专注在区块链业务模式创新及业务应用的开发和运营之中。
 
  通过 TBaaS 云服务,使用 FISCO BCOS 的开发者将获得全流程运维服务,一体化监控,良好的扩展性和丰富的配套工具。性能方面,提供了可在 15 节点的区块链网络中实现单通道超过 3000TPS 的高性能。
 
  FISCO BCOS 的众多特性,决定了其可以与云服务进行良好兼容,共同为联盟链商业级生产提供 “高安全性、高性能、高可用性、业务落地、合法合规” 解决方案: 1. 在安全性方面,FISCO BCOS 通过节点准入控制、可靠的密钥管理、灵活的权限控制,在应用、存储、网络、主机层实现全面的安全保障。 2. 在性能优化方面, FISCO BCOS 具体实现方案是:优化网络通信模型,采用拜占庭容错的共识机制,结合多链架构和跨链交互方案,可解决并发访问和热点帐户的性能痛点,从而满足金融级高频交易场景需求。 3. 在可用性方面,FISCO BCOS 设计为 7×24 小时运行,达到金融级高可用性,通过简化建链过程、适应多种环境的部署方式、全局配置更新实现了高可用性。 4. 在业务落地方面,FISCO BCOS 提供各种开发接口,方便程序员编写和调用智能合约。 5. 在监管方面,FISCO BCOS 支持监管和审计机构作为观察节点加入联盟链,获取实时数据进行监管审计。
 
  4.4 数据仓库
 
  根据 FISCO BCOS 白皮书介绍。FISCO BCOS 核心数据模块采用链式数据结构,Key-Value 数据元格式,使用高速的文件数据库保存所有数据,适合存储区块和交易明细、合约状态等,但不适合进行关系型查询、动态范围查询,不能直接进行多维度的分析。为此,为区块链设置一个准实时的数据 ETL,快速将链上数据转化为链外的数据仓库。数据仓库强大的查询能力、分析能力和数据挖掘能力,将会提供更为智能的数据需求。
 
  数据为何如此重要?举个例子,阿里巴巴是全球最大的零售平台,但阿里不是零售公司,是一家数据公司。[11] 马云在 2015 杭州云栖大会宣称:现在正在进入新能源时代,核心资源已不是石油,而是数据。未来的数据就是生产资料,未来的生产力就是计算能力和创业者的创新能力、企业家精神,有了计算能力、数据,人类会发生天翻地覆的变化,会从向外看转向向内看。[12] 未来之争,一定是数据之争,Google、Amazon、Tencent、Alibaba……等大型互联网企业目前都有成熟的数据方案。
 
  数据仓库在大型互联网行业应用较多,不少公司已经将此列为核心基础设施。数据仓库是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,用于对管理决策过程的支持。通用的数据仓库架构包含数据采集层、数据存储与分析层、数据共享层、数据应用层和任务调度与监控系统。每个 Layer 可配套的组件非常多,没有银弹,往往会根据实际的业务选型。
 
  同理,数据仓库,将会是高性能公链、联盟链的基础设施。以 EOS 公链为例,EOS 链上数据可以使用各类插件,比如 MySQL、Kafka、MongoDB、Elastic Search 等,将 EOS 链上数据转化为链外关系型或非关系型数据,更为方便地为业务提供服务。目前合并到 EOSIO 代码的是 MongoDB 插件,但实际使用过程中,依然有诸多问题。EOSIO 采用插件化思想,团队可以根据开源的组件进行改造,以适应自家的业务。随着 EOS 公链数据不断地增加,后续还会出现更为强大的 ETL 流程,抽取的数据将为商业赋能。FISCO BCOS 作为一个商业的联盟链系统,未来也会参考互联网行业的数据仓库架构,制定适合联盟链运行的数据仓库规则。
 
  五 小结
 
  本文从比特币的诞生说起,讲解了区块链的分类、联盟链的对比,从 FISCO BCOS 多个特性、CNS、云服务、数据仓库等多个方面进行解读。
 
  FISCO BCOS 初衷是设计一个国内企业主导研发、自主可控、对外开源的满足金融行业需求的企业级区块链底层平台,并逐渐扩展至其他领域、适用于广泛的分布式商业场景,所以进行了自底向上的完整设计,并考虑了较多国内的特殊需求。FISCO BCOS 为金融行业提供一个灵活合规的联盟链系统,解决金融传统基础设施的不足和痛点,在金链盟的管理和运营下,将会是国内首屈一指的联盟链项目。
 
  六 参考资料
 
  [1] blockchain.com. (2018-10-30). Blockchain Wallet Users. Retrieved from https://www.blockchain.com/charts/my-wallet-n-users?timespan=all.
 
  [2] etherscan.io. (2018-10-29). Ethereum Unique Address Growth Chart. Retrieved from https://etherscan.io/chart/address.
 
  [3] eosflare.io. (2018-10-30). EOS Accounts. Retrieved from https://eosflare.io.
 
  [4] 付晓岩. (2018-10-19). 联盟链战国:五大巨头横向对比. Retrieved from http://www.infoq.com/cn/articles/5-consortium-blockchain-comparison.
 
  [5] FISCO BCOS. (2018-07-12). 金融区块链底层平台 FISCO BCOS 白皮书. Retrieved from https://github.com/FISCO-BCOS/whitepaper.
 
  [6] 维基百科. (2018-10-03). 域名系统. Retrieved from https://zh.wikipedia.org/wiki/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F.
 
  [7] 维基百科. (2018-09-20). 智能合约. Retrieved from https://zh.wikipedia.org/wiki/%E6%99%BA%E8%83%BD%E5%90%88%E7%BA%A6.
 
  [8] 甲骨文. (2018-07-16). 甲骨文正式推出 Oracle 区块链云服务 助力全球企业迅速安全处理交易. Retrieved from https://www.oracle.com/cn/corporate/pressrelease/oracle-blockchain-service-speed-transactions-securely-2018-07-16.html.
 
  [9] 海伦. (2018-08-29). 将在腾讯云上线的 FISCO BCOS,要与 Fabric 来一场正面对决?. Retrieved from https://www.8btc.com/article/263246.
 
  [10] 腾讯云. (2018-09-01). FISCO BCOS 介绍. Retrieved from https://cloud.tencent.com/document/product/663/30125?!preview=true.
 
  [11] 钛媒体. (2016-06-15). 马云:阿里巴巴不是零售公司,是数据公司. Retrieved from http://www.tmtpost.com/1889759.html.
 
  [12] 新浪科技. (2015-10-15). 马云:数据取代石油成核心资源. Retrieved from http://tech.sina.com.cn/i/2015-10-15/doc-ifxivsch3607541.shtml. *[13]金链盟中国区块链应用大赛https://con.geekbang.org/
 
  作者简介:温国兵,区块链从业者,区块链技术指北(ChainONE)社区发起?,区块链技术布道者,dbarobin.com 博主,互联??业多年从业经验。活跃于 GitHub 社区,对区块链技术、数据库技术、互联?运营等有深?研究和实战。

第二十八届CIO班招生
法国布雷斯特商学院MBA班招生
法国布雷斯特商学院硕士班招生
责编:zhanglinying