作者 | Daniel H?felmann, Philipp Sandner
本文旨在通过选择合适的区块链或分布式账本技术(DLT)为决策者提供支持。对以太坊、Hyperledger Fabric、R3 Corda和 Quasar/Stellar在许可的环境下进行分析。根据性能、成本效率和安全标准等多方面对框架进行评估。
目的
人们常常将分布式账本技术和区块链中的术语混为一谈。在本文中,研究了四种不同的分布式账本技术的使用情况,来帮助公司去选择正确的技术。四种分布式账本技术分别是Corda, Hyperledger Fabric, 以太坊和不太流行的 Quasar。由于Quasar可以基于不同的框架,因此将它与Stellar相结合来考虑。
本文的目的在于通过分析不同体系中分布式账本技术的优劣势来帮助决策者选择合适企业的技术。根据以下标准进行评估:易安装性、效率和性能、成本效率、发布和更新速度、安全性和管理角度。
以下所作的解释、分析和结论均为作者的观点。
术语和框架
本文中,分布式账本技术指的是理论上使许多或所有经济参与者能够同时完整地查看各种交易的所有系统。根据这个定义,区块链只是分布式账本技术的一种形式,除了以太坊之外,还可考虑Hyperledger Fabric, R3 Corda或 Quasar/Stellar等。
本文中假定所审查的分布式账本技术都在允许的网络环境中使用,即这个环境中大部分或所有参与者都被限制访问系统。
如果访问系统受限并且受个人或有限数量参与者的控制,则不能假设其公链的属性被保留下来。至少在区块链的布局中,这些属性是由彼此不信任并独立加入系统因而不受控制的经济参与者进行设计的。
根据系统的设置,必须对被许可系统进行审查,以确定哪些属性可能被省略或受到威胁。从经济角度来看,诸如传统的“服务器-客户”关系之类的体系是否更具有意义。
另一方面,DLT系统的局限性也可能发挥用处。例如,如果子公司之间互不信任,它们可以使用DLT来建立信用基础。这种解决方案还能在供应链管理中提供优势。非政府组织、公共行政部门和其他机构可以明智地选择许可系统,并造福公众。这取决于具体设计的限制、控制和上述所有指导机制。
不同DLT的比较
以太坊——综合性的区块链
以太坊已经发展为一种无需许可的公链,其中每个智能合约都可以通过与DApps的连接进行编程。为此,区块链上提供了一个虚拟机(VM),用于支付根据执行编程代码所需的费用。
以太坊最常用的编程语言是Solidity。有了Solidity,智能合约可以在以太坊上编写和执行。这种编程语言基于c++、python和JavaScript,并在以太坊虚拟机(EVM)上实现。Solidity主要优点在于它的可理解性和操作简单。
此外,以太坊智能合约还可以运用Go语言编写。然而,用Go编写的程序不能直接在虚拟机上实现。程序员需要编写编译器才能将智能合约从Go语言转为EVM使用的字节代码。
波卡生态概念板块今日平均跌幅为0.59%:金色财经行情显示,波卡生态概念板块今日平均跌幅为0.59%。26个币种中10个上涨,16个下跌,其中领涨币种为:KLP(+15.12%)、CHI(+7.24%)、PHA(+5.61%)。领跌币种为:OM(-8.44%)、KSM(-7.49%)、CELR(-6.46%)。[2021/7/27 1:18:58]
在以太坊无需许可的开放式网络,任何开发人员都可以创建应用程序并与区块链交互。DApps的用户也可以访问区块链。其他玩家都是矿工负责打包交易记录,其他节点会同步所有区块(里面若干交易集合)并验证交易。
Hyperledger Fabric——Linux基金会的框架
Hyperledger Fabric是Linux基金会的区块链框架。在“Hyperledger”项目中聚集了Linux基金会中的几个DLT基础设施和项目。
Hyperledger Fabric以下简称“Fabric”,是一种访问受限的账簿。Fabric的结构基于多个彼此操作独立的账本。然而,有一个地址系统允许查看分类账交易,还可以处理另一个分类账的交易和智能合约。Fabric提供一个可扩展和模块化的结构体系,可以运用于不同领域,因此它独立于特定的应用领域。
Fabric中的程序最初被称为chaincode。如今“智能合约”这个术语也在本文中使用。Fabric支持用Go和Java编写chaincodes。而chainodes最终在Docker容器中运行。
Fabric的访问限制以及验证和非验证节点由网络操作员定义。网络操作员可以将不同的访问权限分配给用户,以便在网络内执行必要的交易。
Fabric的受限属性源于用户对隐私的要求。然而,对隐私的限制并不适用于监管机构。监管机构可能进行识别和验证。比如,身份加密可以对参与者隐藏身份,但却可以被监管机构查看。
Fabric在进行交易之前需要一个密码凭证,该凭证包括用户的机密数据并且需要在网络上注册。通过每个ID,协议可以生成安全密钥使得用户在网络上进行交易。该协议还能隐藏交易合伙人的身份来保证网络隐私。
在Fabric中,通过加密交易来实现内容的机密性,因此只有相关人员才能解密和执行它们。Fabric还提供了一个带有“通道”的解决方案:某些用户在只有经过授权用户才能访问的子网络中进行通信交流。此外,由一个或多个智能合约实现的业务逻辑也可以采用加密方式进行保护(在股东要求保密的情况下),以便在特定时间点加载和解密业务逻辑。
R3 Corda——金融业的“区块链”
Corda是R3推出的一款全球分布式账本平台,所有参与其中的经济行为者都相互作用。它使各方能够安全、一致、可靠、私下和有约束力地记录和管理彼此之间的协议。“全球”在账本中意味着每个参与者只能看到影响他们的数据。分布式账本可以以不同的方式进行组合。与Fabric和以太坊不同的是,Corda是专门为金融业开发的。
Corda中的代码是用Kotlin编写的,而Kotlin是一种基于JVM和JavaScript的JetBeans编程语言。Kotlin具有很高的集成级别,允许JVM使用任何相关的编程范例。
V神提议对以太坊未来的分片和历史访问进行预编译:Vitalik Buterin(V神)发文研究对未来的分片和历史访问进行预编译。V神在文章中表示,当前以太坊设计中的向后兼容性挑战之一是,历史访问需要在EVM中验证Merkle证明,该证明假设区块链将永远使用相同的格式和相同的密码。分片增加了这一点的重要性,因为用于rollups的欺诈证明和有效性证明需要指向分片数据的指针。V神提出了一种更加面向未来的方法:我们可以添加执行验证特定类型证明的抽象任务的预编译,而不是要求在EVM中验证历史和分片的证明。如果将来更改格式,预编译逻辑将自动更改。预编译甚至可以具有条件逻辑,用于验证转换前slots的一种证明和转换后slots的另一种证明。[2021/6/13 23:33:43]
财务协议的记录和处理涉及三个主要方面:
首先,系统管理的记录只提供给那些对资产和协议拥有合法权益的参与者——类似于Fabirc的“通道”解决方案。
其次,由系统管理的执行协议是由计算机代码来描述的,该代码明确地引用横向法律条文并确保协议的合法性。
最后,系统的某些部分必须是开放的(开放的源代码、开放的开发流程和开放的技术行业标准),以便被金融界广泛接受。
Corda的模块化和互操作性还能使许多公司将现有如数据库等系统集成到Corda网络中。
Quasar/Stellar——联盟链现金系统
Quasar是一个受到限制、基于DLT规则且具有集成规则的电子POS系统。这些规则的设立是为了遵守法律和监管准则。Quasar能在企业、个人和物联网设备之间进行即时和不可逆转的数字支付。Quasar是基于Quantoz公司的“多用途钱包输出模型”而开发的,可以用于许多应用程序,诸如扩展用于金融服务的保留系统。
Quasar使用的代码是用C++编写而成的。使用开放标准和所有设备都能自由连接的分布式节点系统能够让每位开发人员在Quasar上开发新的支付应用程序。
第三方钱包、工具、设备和服务的集成迅速提高了开发人员和用户的接受程度。第三方开发是通过开放API集成的,为系统操作人员提供了快速开发新产品的方法。
Quasar被设计成一个拥有多个位置的服务器(节点)网络,以分布式账本形式运行Stellar。这个分类账记录了系统中的每一项活动。“白名单实体”(例如参与的银行)可以操作节点。这些节点相互通信来验证交易并同步分类账。分类账将货币记录为系统操作员(例如发行机构或银行)发行的信誉。这个系统操作员充当传统银行账户和Quasar网络之间的桥梁。
分析
本文选择了以下六个类别对四个DLTs进行分析:易安装性、效率和性能、成本效率、发布和更新速度、安全性和管理角度。
这些类别包含了38项标准。根据这些标准对四个DLTs进行审查,并按五个步骤对其进行评分,从“阴性”到“中性”再到“阳性”。下表(表1)仅包含使用扩展光尺的标准和评价。
对于安装用户(参见表1),以太坊提供了关于Github的大量fork和docker文档,这使得有经验的开发人员可以非常轻松地完成安装。Fabric应该和Corda一样,但在分析时发现Fabric似乎没有什么进展,尤其在提交代码方面。
Corda在Github上是只有少量文档。它声明代码不应该自动更改。反之,为了维护平台质量,应该以提案形式提交变更建议。
Quasar没有公开的文档或者不能查看或检查公共文档。另一方面,Stellar在Stellar 基金会网站和Github上有着良好的描述,所以这些文档标准被认为是中立的。
Fabric在模块性能方面得分特别高。Fabric只是11个超级账本项目中的一个。其他模块有类似“Burrow”这样的解决方案,旨在实现基于以太网的智能合约或者“Indy”。“Indy”是专注于解决数字身份的超级账本。
在Fabric中,从一开始就追求模块结构的设计目标,因此很多功能层级是分开的。
当考虑效率和性能时(参见表2),值得注意的是在有限的设置,甚至受公司控制情况下,诸如证明算法等配置可以进行调整。尽管已经尽可能考虑到这一点,但也考虑到协商一致程序所需的基本时间。在这过程中需要指出的是以太坊很早就考虑过缩短区块链上必要的数据,并且也实现了这个想法。
在这点上,Quasar/Stellar、Corda和Fabric与以太坊不相上下。以太坊可能只在交易量方面略逊一筹。在带有工作证明的标准配置中,交易数量会自然受到限制,而且这些限制也可能出现在其他配置中。Quasar/Stellar、Corda和Fabric在此处数值较高,然而,Corda和Fabric只在基于研究的有利选择测试中记录了这些值,并且由各自制造商/协会进行记录。第三方无法对所有三个系统进行高交易量的审计或确认。在这方面,Quasar/Stellar,Corda和Fabric的值不能被确定为阳性。
就交易费用而言(参见表3),所有DLTs都表现得非常积极,因为这些费用可以自由配置。而在以太坊和Fabric上维护应用程序的成本比较高。在这两种情况下,你可以从大量外部开发者中进行选择,这对定价有着积极影响。然而,对于Corda和Quasar/Stellar来说还不清楚具有相关经验的外部开发者市场究竟有多成熟。
以太坊的发布和更新速度(参见表4)清楚地表明以太坊拥有最多的开发人员、最高水平的第三方审查和最大的社区。不过,Quasar/Stellar、Corda和Fabric在可升级性方面得分较高,因为它们安装和更新比以太坊更加容易。
在安全方面,以太坊由于它现有的公开系统(参见表5)使它在恢复程度方面优于其他系统。由于公开源代码,公链不断受到第三方攻击,特别是市值在数十亿美元左右的公链。因此,像Quasar/Stellar这样的非公开可访问系统在安全方面没有相同的恢复力。数据保护的各个方面——尤其是《一般数据保护条例》(GDPR)中包含的那些方面——对于所有被调查的DLTs尚不清楚。不对称加密的密钥(私钥/公钥)和哈希是否能代表个人数据还没有得到最终确认。如果将来出现这种情况,非对称加密的使用将受到根本性挑战。每个应用程序的开发人员/架构师的主要责任是确保应用程序遵循适用的隐私政策。
在管理方面(参见表6),Quasar/Stellar,Fabric和Corda都优于以太坊。这主要是因为这三个系统本身是为业务基础设施而设计的,因此它们的结构体系有更好的互操作性和特性,比如可测试性和日志记录。然而,这些特性也可以通过许可的区块链适应性集成到以太坊中。
结论
目前,以太坊是使用虚拟机最广泛的区块链并且其DLT拥有全世界最多的开发者、智能合约和应用程序。因此,以太坊提供了迄今为止最多的文件和来自第三方的评判。
在以太坊上,一些智能合约和它们的外包库在过去有明显的安全漏洞。尽管这些黑客行为并不会影响区块链本身,但这表明区块链的复杂性会让很多以太坊开发人员不知所措。
不过,总体而言,以太坊似乎在短期和中期提供了最高的投资安全性;以太坊是开放源代码的,拥有庞大的社区,同时还遍布全球。因此,在自我控制或联合控制的以太坊上对重要商业流程的投资具有长期使用的最大可能性。然而,根据应用程序的不同,应该注意性能因素,即每秒数据量。
进一步看,Fabric、Corda和Quasar/Stellar目前被认为在同一起跑线上。Fabric最突出的一个特点是Linux基金会在开发和维护大型复杂开源项目方面的经验。今天,几乎所有相关的互联网服务提供商都使用Linux服务器,而不使用微软或其他提供商的服务器,这强有力地证明了它的能力。对于Stellar/Quasar进行评价比较困难。一方面,评价Stellar/Quasar与评价Corda和Fabric略有不同。另一方面,在本文里有些观点不能客观和结论性地提出。这既与系统组合的数据情况有关,又与迄今为止缺少测试环境之外的性能文档有关。
这表明选择专有供应商的最大缺点,即只有这个供应商可以验证问题并维护和发展整个技术。由于Quasar的基础技术——Stellar只在公开情况下允许使用,所以在Fabric和Corda层级看不到它。
对于许可的DLT解决方案而言最大的挑战是可能损失所有重要属性,尤其是属于公链的属性:历史的不变性。应对许多如DoS攻击、女巫攻击、拜占庭容错等固有挑战。然而,在一个系统中,这些属性的实际损失或保留只可能发生在具体并详尽的个案中。事实上,这些属性并不是为公链自动提供的,而是在个案分析中进行检查。
如果失去了基本属性,就会出现这样的问题:为什么不使用精心设计和充分经过技术测试的解决方案呢?这可能是一个具有经过深思熟虑的角色/正确原则的中央控制平台,具有更低的成本和更好的开发人员和系统架构师,并且对组织结构有更好的全面理解。
因此,对具体和详细描述的目标系统的考虑是个特例,只有在各个相关方面都掌握的情况下才有可能做到。此外,我还建议观察企业以太坊联盟和R3区块链联盟的未来发展,以及Hyperledger Fabric和Quasar/Stellar的具体使用案例,并在决策过程中加以考虑。
Daniel H?felmann, Philipp Sandner 作者
Zoe Zhou 翻译
Roy Wang 编辑
内容仅供参考 不作为投资建议 风险自担
版权所有 未经允许 严禁转载
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。