旧文重读。
前言:区块链是一种分布式账本的技术,但它又不完全等同于分布式账本技术。它们有什么区别?本文作者Brent Xu 通过比较以太坊、Hyperledger Fabric和R3 Corda来阐述这个问题,对于我们认识区块链和分布式账本技术有帮助。
与分布式账本技术(如Hyperledger Fabric或R3 Corda)相比,以太坊区块链保持了相似性但也有差异。在对区块链和分布式账本技术平台及其带给企业的价值进行合理评估时,对其核心功能和特性进行系统梳理是很有必要的。 由于区块链源于密码学和数据配置原则,某些功能在协同数据库系统中已经得到了很好的应用,而其他一些功能只有在真正的区块链技术中才能实现。
在本文中,我们将评估面向企业平台(包括Ethereum,Hyperledger Fabric和R3 Corda)的基础业务功能,包括软件如何获取其影响以及整个系统是如何整体优化的,无论它是通过传统的分布式系统还是通过区块链系统。
特别是,我们将重点关注三个关键功能:
1. 数据协调 – 系统中的信息和信任是如何更好地在利益相关者之间分发和分配
2. 加密经济内部激励层 – 系统机制如何构建,以便不同的利益相关者和用户基于经济激励来确保系统的有效运行,例如博弈论和机制设计。
3. 数字资产整合 – 系统如何融入数字商品经济,也就是所谓的代币经济学。
区块链的主要目标:企业想通过这项技术实现什么目标?
像Ethereum这样的区块链与其他分布式帐本技术类似,有着相似的目标。然而想知道企业希望利用区块链技术实现什么样的目标很难,就像20世纪90年代的互联网刚刚诞生时一样,当时企业也不知道如何使用这种强大的工具。与现在的情况类似,目前我们都知道区块链技术能够实现很多功能,但如何将这些功能架构到商业业务逻辑上还需要进一步了解和评估其底层功能。
有三个主要的评估维度:数据的处理和协调,可信及不可变的记录以及资产的数字化。
这三大维度足以涵盖区块链的主要用途,同时允许将这些功能进一步外推到其他商业业务场景中。通过这三个方面的讨论,可以揭示实体企业使用该技术的背后逻辑。
有效处理及协调信息
如果以改进分布式系统设计或数据库协调性作为唯一目的,那么区块链不一定是必需的。在传统的宣传上,区块链是基于技术促进平台中数据传输,达到更好的数据协调和分布式共识机制。
虽然有用,但这些所需功能特性的重要部分也可通过更好协调中央数据库或分布式系统设计进行优化。在评估当中,有必要确定平台和协议试图优化现有数据协调功能与实施新的区块链功能程度。区块链不仅只适用于更高级的数据协调。
产品和交易记录的不可变/可信记录
关于为什么我们需要区块链的原始论文围绕着“数字化信任”的概念展开。如ConsenSys的Andrew Keys所说“互联网导致信息数字化,而区块链导致信任和协议的数字化。”
这个论点体现了区块链希望实现的精神,同时为我们的社会及商业提供了另一条路。额外的变量将是价值的数字化。当信任价值被锚定到系统时,某些联盟结构和激励机制将影响和激励系统内的正确行为,从而形成强大的平台。
在设计一个系统时,不可更改(不变性)常常被用作信任的同义词,即因为系统是不可变的,所以人们相信系统不变性机制能确保做坏事会受到惩罚。在我们的平台协议评估中,重要的是要评估可信系统实施背后的机制,以确保商业模式机制(通过密码经济学进一步探索)会对平台用户有益。
资产数字化
商品和资产的数字化被视为大多数区块链或分布式账本技术的主要目标。如果企业正在尝试资产数字化,分布式账本的数据库协调能够提供一些功能,但更应该考虑这些数字产品的可用性。
由于数据库协调实质上是集中运行或通过传统软件模式分布在一个或多个交易小组之间,因此数字化水平可能会受限于数字化平台提供的自由度。
虽然数字化商品的概念听起来像一个简单的过程,但围绕房地产,甚至人类注意力及电力等商品如何数字化在经济激励动力和经济推理的不同方面,我们要重新考虑,哪个平台负责数字化,哪个供应商平台在哪种情况下出现“供应商锁定”程度以及对哪个管理平台的依赖。
记录和注册管理机构(如权证系统和供应链)也可以通过分布式账本系统实现,但如果依赖封闭的专有系统,数字资产与经济激励层的互动水平相当有限,并且在扩散到数字生态系统或市场时会严重受阻。利用开放市场提供的自由市场系统对于在不断发展的数字生态系统中起促进作用。
评估数据协调特性
数据库协调:特征
当深入分析了这些平台的功能特性时,如不可变性,安全性,可扩展性,可管理性和性能,但通过了解构建体系结构的基础,可以了解更多内容。
在分布式系统中进行数据协调,已经有许多工具了。其中重要的例子就是Hadoop 及其生态系统集成的Spark,Hive和Zookeeper等工具。对这些产品的依赖显示了分布式系统工具和协议的大量集成。
进一步的相似性可以在协议中显示出来,例如Tendermint,BPFT共识引擎被设计为具有与Apache Zookeeper等工具类似的功能。在内部,也有研究沿着事件排序数据库的方向发展,可以从协调的数据共享系统中复制所需的多种功能。
通过评估Apache Kafka及数据流服务如何在企业环境中实现高水平吞吐量,我们可以根据对这些数据库协调和优化的不同级别的依赖关系区分区块链和分布式分类账之间的功能差异。
包括Plasma在内的以太坊实现正在利用像MapReduce这样的工具来增强UTXO和基于账户的模型之上的某些映射功能,同时也将组件减少到Merkle证明中,尽管协议的基础层依然依赖以太坊区块链。通过了解这些细节,可以进一步了解如何最好地评估这些软件平台的技术特性。
数据协调:平台比较
IBM Fabric
通过深入了解Fabric体系结构,该平台创建了一个复杂的开发环境,专注于软件体系结构的详细配置实现出色的吞吐量,从而在分布式节点环境中实现最佳性能。客户端和分布式背书节点网络之间的链码的移动,以及满足认可政策的交易机制和收据传输在封闭系统中是有效的。
而在专用信道内传播交易的Gossip 协议允许协调大型数据集。虽然基础设施强大且有能力,但在思考如何设计架构以允许多边协调结构的过程中,要考虑最终可能存在一个难以管理的网络涉及的因素。
图2:Hyperledger Fabric架构
该图展示了Fabric的一些架构配置以及组件如何组织到为高级信息处理和最大交易吞吐量而设计的系统中。
主要思想是渠道提供了在平台内移动交易的机会。在查看体系结构时,OSN(ordering service nodes)的功能用于记录Apache Kafka交易排序的功能。在数据流生态系统中,Kafka是一个功能强大的工具,具有将各种交易排序附加到单独的Kafka集群并最终分区的功能。
这种设置中,数据能够分布在集群中以形成分布式存储平台,该分布式存储平台可以记录数据结构,影射在区块上或有时记录在“状态”的结构定义内被称为“块”或Blob的数据结构,价值储存配置。在此软件框架中承认的是,该生态系统中的所有参与者和数据结构都是本地的,因为它们主要与该软件生态系统中的其他用户一起工作。
图3:Apache Kafka
尽管应该认识到哈希的配置并不遵循与来自比特币或以太坊的区块链系统相关联的原始架构设计,但实际上Fabric采用了分布式帐本的子结构来部署某些哈希链接的数据存储。
虽然数据blob被批量处理并经历交付事件以最终创建交易的散列链接,但必须了解,此过程不一定会将数据转换为系统状态的修改。相反,这些块的配置方式是将信息存储在具有不同散列实例的数据库类型结构中。
在Fabric生态系统中,交付事件称为块,而链代码通过部署事件最终将数据保护在排序服务结构的链接部分中。该系统的数据结构和模块的配置能够允许分布式数据库体系结构预期的交易吞吐量,尽管应该承认,资产代码协调仍然是一个尚未完全解决的挑战,作为资产和价值的Fabric生态系统不一定具有可以在账簿中进行协调的数字表达。
R3 Corda
R3 Corda声称不建立区块链的环境之上,而是一个分布式的数据库,利用各种形式的结构重新配置来构建,它主要由银行和其他机构用于其流程的系统。该平台大量借鉴了比特币交易中使用的UTXO模型,其中状态由一系列输入和输出定义,并且输入的不同重新配置可以决定输出的状态。
R3 Corda架构框架依赖于被称为公证的子模块的节点结构,该架构有助于保持其他平台中验证器结构的网络有效性,该结构有抽象共识功能。节点由附加在数据结构中的关系数据库组成,允许使用SQL进行查询。交易通信中受制于子协议。
这些流程与IBM Fabric中看到的渠道体系结构相当,只有与交易相关的各方才能访问信息。类经过转换,变成称为Fibers或协同例程的状态机。该体系结构与子流进行通信,并与在平台范围内具有预定义功能的流库进行交互。此外,Corda内还有一个自包含的身份层,允许在整个网络中进行不同程度的访问控制。
R3 Corda公开声明不打算成为区块链,因为考虑到将分布式数据库的概念重新配置到分布式数据库确实非常依赖传统数据库系统。虽然系统围绕新型数据结构和分布式系统组织方式的不同构成进行架构,但该平台确实具有数据分配的功能,并找到了各种优化数据分配系统功能的方法。
需要记住的是,由于系统仅限于特定架构范围内的数据协调,因此,由于模块化和互操作性未在原始设计中实施,所以已经牺牲了与实际区块链系统的集成。
图4:R3 Corda工作流程
Ethereum
以太坊生态系统由私有链和公有链生态系统组合而成。公有链没有在数据协调环境中描述的吞吐量和数据处理能力,因此不应根据这些能力进行评估。在评估以太坊的这一方面时,最有意义的是综合以太坊私有链的网络拓扑的不同细微差别。
以太坊黄皮书颁布了关于以太坊的规范以及代码库的技术细节。由于严格遵守此协议,以太坊的分支以及联盟实施方案确实与原有的技术基础相类似。事实上,无论是在工作证明(Proof of Work, PoW ),权威证明(Proof of Authority)或利益证明(Proof of Stake, PoS)实施方面,相同的规范都是连续的,因为协议被认为是相同的以太坊虚拟机(EVM)规范的后代。
改进的体系结构仍然指定与原始EVM对齐。像Quorum这样的平台的关键变化包括改变共识机制,修改全球根状态以适应私有和公有状态,Patricia Merkle尝试以及处理私人交易的附加模块。
该架构允许该软件从原来的以太坊配置中维护系统和数据结构,同时通过改进实现更高的交易吞吐量。除了Quorum提供的改进的数据交易优化之外,通过诸如Plasma,Truebit和Cosmos等工具协调和集成公共以太坊环境的功能为协议提供了额外的可扩展性。
通过对Plasma等工具的技术评估以及在Casper中获得一致意见的形式,数据库管理工具(如MapReduce和Abstract Rewrite Systems)将在Ethereum中实施。在Plasma体系统中,MapReduce是汇集基于账户的系统的协调和多重设置的位图 – UTXO承诺结构的组成部分。
通过结合防欺诈机制设计(Fraud-proof mechanism designs)和权益激励结构(Fidelitybond incentive structures),利用根链,Plasma链和子链之间的相互作用,精心策划的交易处理范例有助于满足Block-withholding和Mass withdrawalsurfaces之间的动态。
它还允许使用来自Casper或Truebit等系统的机制来填充更多的加密经济结构,以便根据空间中普遍存在的数据可用性问题镜像擦除编码中使用的概念。对于多连接体系结构,以太坊将能够将分布式数据库系统的数据库协调和吞吐量功能与实际区块链的公有链兼容功能相结合。
数据库协调:结论
关于数据库协调能力的一个可行结论是,由于依赖传统数据库和分布式系统软件架构,IBM基于整体单一设计和大量资源密集型过程,构建了Fabric,IBM拥有卓越的数据库管理工具集。
R3 Corda仍在进一步定义其功能,同时为银行和金融机构提供多种协调服务,对比特币协议中的细微差别进行私人重新配置。以太坊虽然设计用于公有链的兼容性,它没有IBM Fabric的原始数据库处理能力,但和Fabric相比,在企业案例中具有很好的可用性和可伸缩性。
遵循基于unix理念的模块化设计,以太坊和互补客户的私人实例可以作为构建大型系统的构件。与Ethereum相关的代码库旨在与Fabric等数据库平台的事务吞吐量功能相媲美,同时允许Corda和Fabric中不存在的功能,但互补关系也可跨平台进行探索。主要的区分因素可能会从后续因素的评估中进一步阐明。
—未完待续—
(本文来源于media.consensys.net,由蓝狐笔记社群“Anthony”翻译。)