【问链财经-区块链基础知识系列】 第三十四课 以太坊、EOS、BCOS、CITA、Fabric区块链平台对比分析
摘要:基于将智能合约与区块链结合的基本理念和技术,众多团体和企业推出了自己的区块链应用平台。本文将选取部分平台分析其在共识机制、性能、隐私保护、智能合约、技术路线等方面的异同。分析背景区块链技术的出现,为智能合约的运行提供了不可抵赖的可信执行环境。以太坊将区块链和智能合约结合,创建了在区块链上实现智能合约、开源的底层系统,极大地便利了区块链应用的开发,并且拓展了区块链技术的应用场景,这就是...
摘要:基于将智能合约与区块链结合的基本理念和技术,众多团体和企业推出了自己的区块链应用平台。本文将选取部分平台分析其在共识机制、性能、隐私保护、智能合约、技术路线等方面的异同。
分析背景
区块链技术的出现,为智能合约的运行提供了不可抵赖的可信执行环境。以太坊将区块链和智能合约结合,创建了在区块链上实现智能合约、开源的底层系统,极大地便利了区块链应用的开发,并且拓展了区块链技术的应用场景,这就是所谓开启的区块链2.0时代。从2015年以太坊受到关注至今,大量区块链项目基于以太坊开发,微软等科技巨头也发起成立了以太坊企业联盟(EEA)。
然而,在面向企业级商用的过程中,以太坊共识机制的性能问题、开放网络的隐私性问题等,都在实际运用面临诸多考验。基于将智能合约与区块链结合的基本理念和技术,众多团体和企业推出了自己的区块链应用平台。本文将选取部分平台分析其在共识机制、性能、隐私保护、智能合约、技术路线等方面的异同。
平台简介
1.以太坊
以太坊(Ethereum)是由Vitalik Buterin和Gavin Wood领导开发的支持智能合约的去中心化应用平台。以太坊提供图灵完备的脚本语言,极大拓展了区块链技术的应用。项目于2013年末发布白皮书启动,2015年7月产生创世区块。近期即将进行扩容升级。
- EOS
EOS 是由BM(Daniel Larimer)领导开发的区块链应用平台,目前测试网络尚未发布。其slogan是“去中心化一切”,旨在为区块链提供更高的性能。
3.BCOS
BCOS是微众银行、万向区块链、矩阵元联合创建的企业级应用服务的区块链技术平台,为分布式商业提供完备的区块链技术基础设施及服务。2017年7月BCOS第一阶段正式开源。
4.CITA
CITA是由EEA(企业以太坊联盟)创始成员之一的Cryptape秘猿科技自主研发的企业级区块链产品原型。CITA以高可靠性、高性能、高扩展性以及未来适应性为设计目标,于2017年7月发布开源版本。
5.Fabric
Fabric是由开源超级账本(Hyperledger)区块链联盟发布的可用于构建应用的产品级解决方案,并且已有上百个概念证明项目会进行过构建。于2017年7月发布正式版。
类别对比
(一)企业级平台投身联盟链
公有链这类开放的网络环境需要面临复杂的拜占庭将军问题、女巫攻击问题等,因此设计共识算法将以效率换取安全有序,不能满足企业级的高效率应用。而联盟链的形式可以较好的满足企业级应用的需求:
1.准入机制
在联盟链中,只有获得特定许可的节点才能接入网络。准入机制杜绝了女巫攻击。
2.可信记账节点
只有特定的节点才能从事记账参与共识算法,使得传统共识算法有了用武之地,为交易处理的低延迟和吞吐量大幅增长提供了可能。
(二)非企业平台坚守开放性
以太坊和EOS作为个人创始人及其技术团队的创作,坚持“去中心化”的开放理念,采用公有链的形式。全世界任何节点都可读取、任何节点都能发送交易且交易能获得有效确认、任何节点都能参与其中的共识过程。公有链在一定程度上性能较为低下,但对于区块链的发展仍有积极意义:
1.规则可信
规则公开透明可预见。保护用户免受开发者的影响。在公有链中程序开发者无权干涉用户,所以区块链可以保护使用其程序的用户。
2.访问门槛低
任何拥有足够技术能力的人都可以访问,无需类似联盟链搭建应用需要运营方许可,利于区块链应用的普及。
以太坊、EOS、BCOS、CITA、Fabric区块链平台对比分析
EOS采取了已经在Bitshares上验证成熟可行的DPOS(股份授权证明)共识机制。
BCOS和Fabric均认可PBFT和RAFT的共识机制,采用插件化设计实现,通过修改系统配置,即可以在一个联盟链里使用不同的共识机制。
CITA当前支持Tendermint算法,亦称BFT共识机制。Tendermint算法是一个加密技术平台Tendermint提供的技术方案。
以太坊虽然目前仍是采用POW机制运行,但在以太坊的技术路线里早已提出将向POS(权益证明)机制转变。而以太坊本身也设置了算力难度随着区块高度的增加递增,最终整个网络难以出块的机制,表现了转向POS机制的坚定决心。在具体实施中,提出了PoS+PoW的混合方案,也是由pow机制的转型。
(二)记账权分配:公有链 “凭股份”,联盟链“靠指派”
以太坊和EOS采用股份证明为主的形式。作为开放的公有链网络,拥有代币量大的账户将拥有更多的记账权。然而这一机制容易带来代币持有量大的节点独占记账权,为此,POS和DPOS机制采取了不同解决方式。
一般性POS机制根据节点持有的代币的量和时间(币天)分配记账权。币天越大,获取记账权的可能性越大。通过一次记账后币天销毁的模式,避免持有代币份额大的节点长期独占记账权的情况。以太坊设计中POS机制——Casper,通过下注共识来形成共识结果。通过确保每一个节点只有在由所有节点组成的联盟中才能获得最大利益的方式抵御多数派攻击。
DPOS机制通过选举的方式,委任N个节点(见证人)参与记账。见证人轮流出块,出块顺序随机,权利完全对等。
联盟链BCOS、Fabric支持PBFT、RAFT的共识机制,用户可以根据自己的需求指定需要采用的共识机制。在记账权分配和共识机制的形成中,按既定规则指派记账权:
其中,PBFT共识机制将服务器节点分为主节点和从节点两类,主节点轮流担任。由主节点排序共识请求,从节点按照主节点的顺序执行请求。而RAFT则更进一步,Leader独占记账权。Follower按照Leader的指令同步账本。虽然Leader也由选举产生,但不同于DPOS机制,Leader不用轮流出块,在一定时期内独占记账权。
(三)拜占庭容错:越开放越高
记账权越开放的平台,容错能力越高,可以接纳不可信节点和故障节点的能力越高。
以太坊、EOS、BCOS、CITA、Fabric区块链平台对比分析
POS机制具有49%的容错能力。
EOS采用的DPOS机制具有10/21的容错能力,约47%低于49%。
而PBFT具有m/3m+1的容错能力,接近1/3。
Tendermint能够容忍1/3的拜占庭节点。RAFT是非拜占庭问题中的共识算法,假设不存在不可信节点,不考虑拜占庭将军问题。容错能力为0%。适合在十分可信的环境中运行。
(四)激励机制:公有链靠代币,联盟链靠场景
为了维护网络节点的规模和正常运行,公有链的共识机制建立在经济激励之上。
一般性POS机制中,记账节点产生区块完成记账后,其币天将会清零,而获得与币天数量成一定比例的代币利息奖励。
DPOS机制中,每次生成一个块时,会奖励该区块生成者代币。所创建的代币数量由所有区块生成者所公布的期望报酬的中位数决定。EOS可能被配置为限制区块生成者所得奖励上限,使代币供应的年总增长不超过5%。
而目前的BCOS等联盟链,没有直接提到关于记账节点经济激励的内容。记账节点参与共识主要出于区块链应用带来的成本节约,即靠区块链场景应用带来的收益,如微众银行运行的联合贷款备付金管理及对账平台,把此前联合贷款结算需要T+1的对账周期缩短到准实时,提高了运行效率,参与方都获得了链外的业务收益。
性能对比
(一)参与共识节点数越少,性能越好
弃用POW机制之后,节省解决数学难题的成本,然而仍有参与共识的节点通讯效率和协商成本。根据参与共识(记账)的节点数排序(POS>DPOS>PBFT>RAFT):
POS机制可由全部持有代币份额的节点参与记账。以太坊尚没有实际采用,出块时间不确定,但至少应该优于目前的15秒出块。
DPOS机制由选出的N个节点参与记账,EOS的DPOS机制设计出块时间是3秒。
PBFT在联盟链的有限节点数中,通过一致性协议达成共识。虽然节点数有限,但也需要节点间两两通信完成一致性协议。
而RAFT的Follower直接按Leader的指示同步账本,同一时期记账节点只有一个。直接高效。RAFT和PBFT设计均能实现秒级出块。
(二)环境越可信,性能越好
公有链由于技术与治理的高度去中心化,考虑拜占庭问题会牺牲效率,并且也无法取得强一致性。企业级应用中用户具有更好的协调机制,通过授权机制网络环境更可信,能够提升性能。RAFT完全基于可信环境,Follower按照Leader的指令同步账本,效率高。
以太坊、EOS、BCOS、CITA、Fabric区块链平台对比分析
(三)异步处理成亮点
CITA的共识服务只负责交易排序,交易处理服务只负责对排好顺序的交易进行处理,共识过程可以先于交易处理完成,交易处理服务可以异步执行。异步交易处理技术使CITA具有更好的共识性能。
隐私保护对比
(一)联盟链 “共识隔离”殊途同归
企业级区块链平台在隐私保护方面殊途同归。总的来说,基于假名的隐私保护,不能满足企业级的隐私保护需求。将交易信息发送到全网共识,由于节点之间业务可能存在竞争关系,不利于商业秘密的保护,而零知识证明以及同态加密,可以做到在不知道交易数据的情况下执行交易。但是这些技术被认为并不成熟,性能难以实用,安全性有待时间检验。因此,在隐私保护方面,联盟链将需要隐私保护的数据不发送到全网,仅在有限节点进行共识和确认。可见网络分区共识隐私保护可能成为可行技术条件下的主流。
1.CITA:交易局部执行
CITA只将隐私交易的哈希上全网链,而隐私交易完整数据只在相关节点保存。
具体方案是,隐私交易提交后,加密传送给拥有解密私钥的节点,同时交易哈希被打包进入区块链。隐私交易数据只在拥有解密私钥的相关节点上保存,相关节点先解密再执行交易,交易数据不会发送给无关节点,杜绝了任何信息泄漏的可能。
2.BCOS:隐私数据甄别处理
BCOS对数据的安全和敏感级别进行甄别,仅把需要对全网确认共识的数据发送到联盟链上进行共享。与CITA非常相似。
通过细粒度的权限控制,利益相关方有权利看到明文数据,其他参与者没有权利看到明文数据,但其必须可以对密文数据的真实性进行验证。(以上为BCOS备选方案)
3.Fabric:订阅隐私通道
Fabric采用一种非常有特色的隐私保护方案。Fabric仅为网络节点提供共识服务,而网络节点之间并不维护同一个账本,通过订阅通道的方式与共识服务相连接。只有订阅同一个通道的节点可以维护和分享同一个账本,形成一个个具有保密性的通讯链路。账本和账本之间批次隔离,形成了一个个隐私的共识通道,完全杜绝了信息泄漏的可能。
以太坊、EOS、BCOS、CITA、Fabric区块链平台对比分析
(二)公有链弱隐私
以太坊和EOS在隐私保护方面基于假名保护,没有做更多的延展。
智能合约
(一)虚拟机与支持语言增多
以太坊基于以太坊虚拟机EVM,主要支持的开发语言有Solidity、Serpent、LLL。
以太坊之后推出的区块链平台,将支持更多种用以智能合约开发的编程语言。
BCOS平台计划在下一版本支持更高性能的虚拟机,支持更主流的开发语言。计划支持JVM虚拟机和Java开发语言。
Fabric支持采用Go、Java、Nodejs编写。
而EOS采取虚拟机独立架构,脚本语言和虚拟机的实现将独立于EOS操作系统技术,任何开发语言或虚拟机,都可以通过API与EOS集成在一起。EOS计划支持C++语言。
以太坊、EOS、BCOS、CITA、Fabric区块链平台对比分析
(二)灵活业务场景执行器配置
不同于以太坊只提供EVM虚拟机。CITA将共识服务和交易处理独立后,可以为不同的业务场景提供不同的执行器处理。交易在经过共识服务排序后,由交易路由分配到不同的执行器处理。通过灵活的视图配置,CITA可以全面支持各种应用场景。
技术路线
通过在可信环境中采用PBFT等共识算法,区块链平台的性能较POW机制下有了质的飞跃。而CITA提出的异步处理及微服务技术等,将进一步提升共识和交易处理的性能。另一方面,通过“共识隔离”,使得在技术条件不足的情况下实现了隐私保护。
但在面向真实商业环境的应用中,现有平台仍然在某些方面存在不足,需要重点研究。
1.预言机管理
智能合约将应用于真实商业环境,而其数据也将来自真实环境。“预言机”提供解决方案让区块链的智能合约获取现实世界的不确定数据信息,但这一链接链上与链外的环节存在众多无法去信任的环节。
如何保证预言机读取的数据准确、如何保证预言机不受攻击和控制、如何在预言机发生错误的情况下调整智能合约的执行等,都将直接影响智能合约的实用性和扩展性。
BCOS提出可信信息管理,即采用特定的共识机制对预言机提交信息的确定性做出判断,让信息知晓者在经济利益驱动下基于区块链数字身份提交现实世界的数据信息,一定的惩罚机制也在一定程度上确保信息向着数据的确定性和正确性方向。
2.跨链技术
为了解决传统互联网世界的信息孤岛问题,区块链使用去中心化网络的结构,试图实现信息共享来解决数据孤岛的问题。然而,众多区块链应用的出现,区块链的链与链之间并不互通,使区块链也面临这一种“孤链”的窘境。不符合区块链的初衷。
以太坊、EOS、BCOS、CITA、Fabric区块链平台对比分析
如何根据业务功能、隐私保护、数据隔离、性能容量扩展的需求等,在同一个区块链平台实施多链共存。如何在身份准入机制、信息标准、业务形态都不一致的区块链平台之间实施信息和业务交互。有望将成为开发的重要方向。
转自【链世界】: https://www.7234.cn/news/2316
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)