专题研究二十二:联盟链研究之Fisco Bcos
专题研究二十二:联盟链研究之金链盟FISCO BCOS
本人按:近期,BSN(Block-chain-based Service Network)上线运营,其底层构架参考众多区块链联盟链,包括百度的XuperChain,深圳政府和腾讯、微众银行、华为在内开发的联盟链是FISCO、IBM牵头的Hyperledger Fabric等;本联盟链研究系列就是系统性地了解国内的几个联盟链产品相关内容。首先了解FISCO BCOS http://fisco-bcos.org/zh/
BSN是由国家信息中心牵头,会同中国移动、中国银联等单位联合发起并建立。BSN是基于区块链技术和共识机制的全球性基础设施网络,是面向工业、企业、政府应用的可信、可控、可扩展的联盟链,致力于改变联盟链应用的局域网架构高成本问题,以互联网理念为开发者提供公共区块链资源环境,极大降低区块链应用的开发、部署、运维、互通和监管成本,从而使区块链技术得到快速普及和发展。
BSN已经支持 Hyperledger Fabric,正在适配的联盟链底层框架有 Fabric 国密、FISCO BCOS、CITA、XuperChain、梧桐链和 Brochain 等。针对公链框架,目前支持ETH和 EOS 。
2019年10月15日,国家信息中心、中国移动通信集团公司、中国银联等在北京共同宣布,由六家具体单位共同设计并建设的区块链服务网络(BSN)正式内测发布,并且会上发布了《区块链服务网络基础白皮书》(以下简称“白皮书”)。
2019年11月中国银联电子支付研究院区块链负责人周钰表示在接受上海证券报采访就曾透露,区块链服务网络(BSN)内测6个月后,将有望正式商用。
2019年12月,国家信息中心、中国移动、中国银联等发起的区块链服务网络发展联盟在杭州举办首届区块链服务网络合作伙伴大会,BSN通过了统一的运维机制、统一的密钥体系以及监管部门的一站式监管等举措,极大降低区块链应用的开发、部署、运维、互通和监管成本,解决区块链行业“成链成本高、技术门槛高、监管难度高”的固有问题,是中国发展数字经济、智慧城市的基础设施,支撑数字治理、数字金融和数字产业高速发展的新引擎。
经调研,如需搭建一个传统联盟链局域网环境,根据目前主流云服务商的报价,每年最低成本也要十万元以上。而通过服务网络,一个应用每年仅需 2-3 千元即可成链并进入运行。这样将鼓励大量的中小微企业、甚至学生在内的个人通过服务网络进行创新、创业,从而促进区块链技术的快速发展和普及。
https://www.bsnbase.com/ 区块链服务网络BSN官网
FISCO BCOS 诞生于 2017 年,由金链盟推出,是标准的国产底层。金链盟是由深圳市金融科技协会、深圳前海微众银行、深证通等二十余家金融机构和科技企业于 2016 年 5 月 31 日共同发起成立的非营利性组织。工作组成员包括博彦科技、华为、深证通、神州信息、四方精创、腾讯、微众银行、亦笔科技和越秀金科等金链盟成员机构。基于FISCO BCOS研发的项目有数百个,其中超过60个落地应用在生产环境稳定运行,覆盖版权、金融、政务、物联网、公益等多个领域。
https://github.com/bcosorg/bcos
FISCO BCOS的代码完全开源且免费 https://github.com/FISCO-BCOS/FISCO-BCOS
现有的联盟链可以分为两大类:以 Fabric 为代表,在传统数据库主导的分布式数据库技术;以及更符合“区块链精神”的 FISCO BCOS 和 CITA。
如果说以太坊代表着区块链的精神,CITA 和 FISCO BCOS 继承自公链。CITA 和 FISCO BCOS 身上对于以太坊虽然在场景和使用上已经和公链完全不同,但是在一些底层逻辑上还是可以看到对于公有链的继承。从技术上来讲,继承了以太坊的虚拟机,也就是继承了以太坊庞大的生态。
FISCO BCOS 的共识机制采用了传统的 PBFT 共识,其共识流程主要包括 Pre-prepare, Prepare 和 Commit 三个阶段:
1. Pre-prepare:Leader 节点执行区块,产生签名,并将 Proposal 广播给其他共识节点;
2. Prepare:共识节点验证 Proposal 并广播签名,同时收集其他节点签名,节点收集到 2f + 1 的签名后,开始广播 Commit 包;
3. Commit:Leader 节点收集 Commit 包,节点收集满 2*f + 1 的 Commit 包后,更新本地数据库并广播给其他节点,其他节点收到之后更新本地数据库。
BCOS和CITA均支持EVM和预编译合约。借助于Ethereum 智能合约的完善的生态系统,两者都在其基础之上做了定制化,有丰富的合约编写和测试工具。
对于预编译合约需要开发者对区块链系统有一定的了解,需要较高的门槛。当前支持EVM的语言主要是Solidity,Solidity合约可以通过交易进行部署,在调用时将合约代码加载到虚拟机中。
BCOS官方文档并未提供性能数据,本文只能根据第三方提供的数据来判断,我们找到了两个相对可靠的信息来源。中国信通院可信区块链最新评测(2019年11-19日),BCOS单链TPS超2万。
CITA在官方文档中最新版本的交易性能已经可以达到 15,000+ TPS,数据来自 CITA 0.16 版本(2018年5月15日),在四台 32 核,64G 的云服务器上部署 4个节点,每台服务器配置百兆带宽。
Fabric官方并未提供其性能数据。根据第三方提供的数据(https://arxiv.org/pdf/1801.10228.pdf),在32核CPU,10节点的情况下,性能可以到3400左右。
对于区块的保存,BCOS交易列表,交易回执等都采用了传统的MPT方式保存。对于世界状态,BCOS采用了两种存储模式:storage state和MPT state。MPT state支持RocksDB和External存储,MPT存储在保存历史状态的同时,最大化减少存储数据。Storage State 支持RocksDB、MySQL、External,使用storage state存储时,牺牲了部分的可追溯性,但带来了性能上的提升,同时能支持SQL语句的查询和统计。
对于BCOS和CITA来讲,节点主要分为两类:共识节点和普通节点。共识节点负责共识出块,普通节点只能同步数据并验证数据而没有打包交易的权力。
BCOS、CITA和Fabric均支持向用户提供免费服务的模式,同时在BCOS/CITA中会通过系统合约控制用户单个区块内对系统资源的使用情况,防止对系统滥用。
BCOS引入了群组的方式,使一个节点可以属于不同群组,而群组的消息、交易、存储、执行等等完全隔离。
对比可以看到BCOS/CITA均支持国密,对国内监管需求较友好;在密码学算法支持上CITA更全面,除了支持常见的Keccak/Secp256k1之外,也支持更安全性能更好的Keccak/Secp256k1。
BCOS:使用C++进行开发,C++性能高,但是由于其历史原因,系统容易有内存安全的隐患;
Fabirc:Go实现,由于垃圾回收机制性能比C++弱;
CITA:Rust实现,现在相对主流的区块链界的语言,Rust在内存安全方面有保证,性能可以和C++媲美。
https://mp.weixin.qq.com/s/Q2T-TlPVsXmdeZ21cPP80A 联盟链走向何方 三大联盟链对比
2019年1月,金链盟中国区块链应用大赛总决赛在深圳举行,荣获一等奖的团队作品正是区块链在司法领域的典型应用。作品命名“JustSign”,是一款基于 FISCO BCOS 底层的电子合同存证系统,由四方精创和云之道联队参赛。
JustSign 运用了一种创新型白盒密码算法,根据不同的设备指纹,生成不同的白盒加密算法,实现一机一算法的特性,并且算法和密钥高度融合,无法分离,达到密钥保护的目的。由白盒密码算法发散部分私钥,另一半私钥由服务器发散,确保没有任何地方存有用户完整的私钥。用户只要在注册时绑定了自己的手机设备,即可让手机摇身一变成为 U 盾。
JustSign 适用于几乎所有需要电子缔约的场景,比如与银行的贷款合同、住房租赁合同、购销合同等电子合同签署。既可以下载我们的 DApp 直接进行签署,也可以在企业原有的手机 App 上嵌入 JustSign 插件,按既有模式进行签名与验签,包括各类金融交易的数字签名。JustSign 目前已经开始试运营,目前主要的客户是证券行业。
http://www.justsign.com.cn/ui2.0/product.jsp
FISCO BCOS的业务实践之路(视频) https://mp.weixin.qq.com/s/hAJ1vjI0Trae1GokiAqLLQ
金融区块链联盟,国外有R3,国内有金链盟;联盟链底层平台,国外有Hyperledger Fabric,国内有FISCO BCOS。同是联盟链,同是企业级底层平台,Hyperledger Fabric在金融领域的布局抢先一步,国内招商银行、民生银行、中信银行、京东金融都是基于此开发的,FISCO BCOS既然也是致力于要为国内金融企业服务,业内免不了将两者放在一起对比。
腾讯云在上线BCOS时是这样考虑的,如果企业里的业务时非常稳定的,比如合作伙伴就是固定的这几个,合作模式也不怎么变化,做二次共识非常方便的话,可以选择用Fabric。那如果你的业务群体非常大,业务需要很灵活,经常做一些变更性操作,BCOS就非常适合。同时,由于BCOS是类以太坊的平台,在外界可以借助的公链技术很多了,包括公链上已经发布的很多智能合约,还有我们在EVM上看到的很多漏洞,在BCOS上就可以避免了。
在中国信通院2019可信区块链评测名单上,FISCO BCOS以100%通过率获颁功能测试、性能测试两项权威证明。在多个严苛性能测试的环境下,FISCO BCOS单链TPS均达两万以上,且始终保持零错误运行。同时,FISCO BCOS针对中国本土国情打造了完整国密算法体系,支持国密SM1、SM2、SM3、SM4等全部标准;构建了全套监管解决方案,实现穿透式监管,所有数据可监管、可审计、可追溯;支持场景式隐私保护,其一站式隐私保护解决方案,提供全周期敏感数据隐私保障,且支持零知识证明和同态加密算法。
2019年7月12日,人民网在北京举行“人民版权”“人民云链”产品发布会。发布会上,人民网与微众银行共同推出“人民版权”平台,该平台基于FISCO BCOS区块链底层技术构建新闻版权联盟链,实现数字版权确权、监测、侵权取证、诉讼的全流程线上化和自动化。
https://mp.weixin.qq.com/s/KZyNSwUrz5uINAaA8aBTCg FISCO BCOS安装
触链科技也采用了 FISCO BCOS 技术,在供应链金融方向,触链科技基于 FISCO BCOS 提供的区块链供应链金融服务,可提供包括白名单验证、CA 认证、秘钥管理等的全方位安全体系;可提供权限控制、零知识证明、同态加密、群签名、环签名的隐私环境;可提供并行计算与高效共识算法以及完善的 SDK,一键部署与系统监控工具。
除了 FISCO BCOS 节点以外,FISCO BCOS 生态中还有更多的重磅生态产品:跨链设施 WeCrossWeCross 着眼应对区块链行业现存挑战,不局限于满足同构区块链平行扩展后的可信数据交换需求,还进一步探索异构区块链之间因底层架构、数据结构、接口协议、安全机制等多维异构性导致无法互联互通问题的有效解决方案。
DID 数字身份系统 WeIdentity
WeIdentity 是一套分布式多中心的技术解决方案,可承载实体对象(人或者物)的现实身份与链上身份的可信映射、以及实现实体对象之间安全的访问授权与数据交换。
通用组件 WeBaseWeBASE(WeBank Blockchain Application Software Extension) 是在区块链应用和 FISCO-BCOS 节点之间搭建的一套通用组件。围绕交易、合约、密钥管理,数据,可视化管理来设计各个模块,开发者可以根据业务所需,选择子系统进行部署。
基于区块链的分布式事件驱动架构 WeEvent
WeEvent是一套分布式事件驱动架构,实现了可信、可靠、高效的跨机构、跨平台事件通知机制。
https://zhuanlan.zhihu.com/p/106168161 区块链FISCO BCOS实战基础篇(视频教程)
FISCO BCOS的缺点:
Solidity和EVM目前的功能还无法充分满足各种复杂业务场景的需求。为了保证可升级性,合约里保存的数据和功能不能太复杂。常规业务调整导致的合约升级也会带来比较大的挑战。FISCO BCOS 平台提供的不少特有功能目前完成度很低,还达不到商用的水平,无法形成相对其他联盟链平台的独创性。
版本演进变化极大,版本间无法向后兼容。迁移业务到新版的成本极高。FISCO BCOS平台仅提供了官方Java SDK来开发应用,对其他开发语言支持的比较差
近日,微众银行透露计划与分布式账本技术提供商Digital Asset开展合作。由DA公司研发的DAML智能合约引擎和由微众银行牵头金链盟开源工作组研发的FISCO BCOS底层平台,都是区块链领域的重要开源项目,双方将共同研究在FISCO BCOS上引入DAML智能合约引擎,为FISCO BCOS的开发者提供更多的智能合约开发方式。
微众银行宣布开源区块链跨链协作平台WeCross,并发布《WeCross技术白皮书》。据介绍,WeCross是一个区块链跨链协作平台,由微众银行区块链团队自主研发并完全开源。目前,WeCross已完成v1.0.0-rc1版本的开发与发布,支持市面上多种主流开源区块链,如FISCO BCOS、Hyperledger Fabric等。WeCross已经围绕司法跨域仲裁、物联网跨平台联动、数字资产交换、个体数据跨域授权等具体应用场景提出了针对性解决方案。
经过多年布局,微众银行牵头研发的FISCO BCOS区块链底层平台率先攻克一揽子关键核心技术并全面开源,2019年已公开区块链发明专利217件,位列全球第五;同时,积极链接同业,牵头成立金链盟,参与国际和国家标准制定;并在政务、版权、智慧城市、司法、金融、供应链、社会治理等诸多领域落地成熟应用,开源生态圈内已有众多企业的上百个应用,其中超60个应用在生产环境中稳定运行,从而发展成为国内最大的开源联盟链社区。此外,以微众银行牵头搭建的国内首个在生产环境运行的多金融机构间对账平台为例:该平台2016年8月投产,目前在生产环境中运行的交易记录笔数已超过7000万笔,并保持零故障运行。
据腾讯云区块链官方消息,腾讯云区块链服务平台(TBaaS)v3.1.0 多引擎大版本已于近日上线,新版本TBaaS服务平台集成多引擎包括Hyperledger Fabric腾讯增强版本、FISCO BCOS、 Tencent TrustSQL三大引擎。
经过梳理发现,国产联盟链项目主要分三类。第一,联盟链底层开发平台,如金链盟开源的FISCO BCOS。第二,联盟链BaaS平台,如蚂蚁区块链BaaS平台。第三,联盟链技术输出服务,如趣链科技。他们从不同维度切入,5年来,在联盟链的战国时代让中国具有了与它国抗衡的能力。
在区块链领域,最核心的竞争无疑是底层操作系统。这方面,有实力与Hyperledger Fabric并肩的国内项目,FISCO BCOS算一个,它是公认的国产联盟链底层开发平台的扛鼎之作。
FISCO BCOS虽然是底层开发平台,但在2018-2019年,微众银行也在其基础上开源了中间件平台WeBASE,以此作为连接底层和应用层的桥梁。而在WeBASE的再上一层,微众银行为其加入了实体身份标识与可信数据交换WeIdentity、消息协作WeEvent等应用解决方案,并完全对外开源。这些协议让开发者直接在地基上盖房子,做DAPP,原理与BaaS很相似,降低开发门槛。
微众银行区块链负责人范瑞彬告诉巴比特,联盟链创业是一个漏斗模型:做应用最多,BaaS平台次之,底层技术最少。FISCO BCOS选择了最艰难的一条路,因为区块链最核心的价值就是创造互信,这决定它是一个多方协作工具,只有更多人参与其中,技术才有用武之地。
技术上开源,打造产业生态圈就成了FISCO BCOS的必然选择。
当前,FISCO BCOS无疑形成了中国最大的国产开源联盟链生态圈。公开资料显示,围绕FISCO BCOS已聚集上万名个人开发者,超500家机构与企业,超60个已经在生产环境稳定运行的应用。2019年7月,由工信部中国电子技术标准化研究院主办的第三届中国区块链开发大赛上,11个获奖项目中4个应用的底层平台就是FISCO BCOS,占比36%。
自2015年起,腾讯便开始关注区块链技术并进行自主研发,腾讯FIT的TrustSQL聚焦于底层开发平台的研发和定制化的区块链应用落地;腾讯云的TBaaS则致力于降低企业使用区块链的门槛,把区块链服务平台化,探索「区块链+」的解决方案,加速区块链应用落地;TUSI区块链中台则解决了跨部门、跨系统证照可信传递问题,随着区块链一网通办的应用,实现营业执照、许可证、证明材料在区块链上传递。
除了线上社区,FISCO BCOS也举行黑客松大赛这种大型线下活动,今年我们已经在北京和深圳举行了两场。北京赛场去了22支队伍,近100名开发者。在36小时内,参赛队伍基于FISCO BCOS平台,在贸易、安全、医疗、快递等多个领域开发区块链应用。深圳那场主要是面对高校学生,涌现出了排污权许可区块链交易平台、借贷联合风控平台、学历证书系统等基于FISCO BCOS设计开发的、具有创新性和商业价值的优秀区块链系统。
FISCO BCOS在Github上有30多个代码仓库,包括FISCO BCOS底层平台,多种配套工具和中间件等。
https://www.8btc.com/article/481068 专访FISCO BCOS赵振华:以开放的思维迎接分布式商业