极速快3_快3信誉网_极速快3信誉网 - 极速快3,快3信誉网,极速快3信誉网是一个基于本地城市资讯管理的应用,里面汇集了所在城市最热门的民生资讯和便民服务功能,想知道你的家乡发生了什么,打开极速快3,快3信誉网,极速快3信誉网尽在掌握!

Hyperledger Fabric、Corda和以太坊对比

  • 时间:
  • 浏览:0

 Hyperledger Fabric 、 Corda 和以太坊的对比

并都在不同的框架

大伙 从 Hyperledger Fabric、R3 Corda和以太坊的白皮书中可不并能看得人,并都在框架在肯能的应用领域上分别具有完整不同的想法。

Fabric[1] 和 Corda[2] 的开发是受具体用例驱动的。其中,Corda 的用例来自于金融服务行业,这也是 Corda 可见的主要应用领域。Fabric 设计提供并都在模块化、可扩展的架构,可用于从银行、医疗保健到供应链等各个行业

以太坊表现出完整独立于任何特定的应用领域 [3]。然而与 Fabric 相比,以太坊并未突出模块化,而重在为各种交易和应用提供一一1个多通用平台

对等端的参与

在传统的集中式数据存储中,可不并能并能 一一1个多实体(即所有者)可不并能保留账本你这个底层数据库的副本。刚刚 ,该实体控制了哪些地方数据可不并能提供,以及允许其它实体提供哪些地方数据。DLT 的突然出先,从根本上改变了分布式数据存储的措施 ,实现了多个实体拥有底层数据库副本,自然也支持每个拷贝做出贡献。参与分布式数据存储的所有实体,形成并都在由所谓“节点”或“对等端”构成的网络。肯能数据是分布式存储的,刚刚 难以确保所有节点对有些“一并事实”(相似于,账本的正确性)达成一致。肯能一一1个多节点所做的更改,须要传播到网络中的所有其它的对等节点上。达成一并事实的结果,称之为节点间的“共识”(consensus),将在下文介绍。

针对算不算参与达成共识,居于并都在操作模式,即无授权(permissionless)和有授权(permissioned)。肯能参与不不授权,没人 任何人都可不并能参与网络。授权模式适用于作为公共区块链的以太坊。个人面,肯能参与需授权,没人 参与者是经过预先取舍的,刚刚 仅限于哪些地方地方参与者访问网络。Fabric 和 Corda 都属于后者。取舍无授权或有授权的参与模式,将对达成共识具有深远的影响。

共识 以太坊

使用以太坊,无论参与者算不算参与了某个特定的交易(Transaction),所有参与者须要就完整已居于交易的顺序达成共识。交易的顺序对账本的一致情况表至关重要。肯能无法建立明确的交易顺序,没人 肯能会突然出先双重支付(double-spends)大什么的问题,即两笔并行交易将同一枚货币转账给了不同的收款人,使其凭空受益。肯能网络所涉及的各方肯能是互不信任的,刚刚 是匿名的,刚刚 须要采用共识机制来保护账本免受双重支付欺诈,肯能心怀鬼胎参与者的影响。在目前的以太坊实现中,你这个共识机制的建立是使用基于工作证明(PoW,Proof of Work)方案的挖矿。所有参与者须要认同一一1个多一并账本,刚刚 可不并能访问账本中所有的记录条目。其结果是,PoW 会对交易的处里性能产生不利的影响 [5]。尽管记录是匿名的,刚刚 存储在账本中的数据仍然可供所有参与者访问。刚刚 对于有更高隐私度需求的应用而言,你这个机制居于大什么的问题。

不同于以太坊,Fabric 和 Corda 给出了更精细的共识设计,不再仅仅局限于基于 PoW 或其它衍生物的挖矿。肯能 Fabric 和 Corda 运行在许可模式下,刚刚 可为记录提供更细粒度的访问控制,从而增强了隐私。此外,肯可不并能可不并能 参与交易的各方才须要要达成共识,刚刚 在性能上有所提高。

 Fabric

Fabric 提供了范围很广的共识理解,含晒 从将交易提交网络到将交易记录到账本的整个交易流程 [6]。此外,节点在达成共识的过程中承担了不同的角色和任务。这完整不同于以太坊,其中参与达成共识的节点具有相同的角色和任务。

Fabric 将节点区分为客户节点(Client)、对等节点(Peer)和订购节点(Orderer)[7]。客户节点代表最终用户,创建并调用交易。大伙 与对等节点和订购节点沟通。对等节点维护账本,并接收订购节点订购的更新消息,以向账本提交新的交易。背书节点(Endorser)是一类特殊的对等节点,任务是通过检查自身算不算满足有些必要的和充分的条件(相似于提供所需的签名),对交易提供背书。订购节点在客户节点和对等节点间提供了通信通道,用于广播含晒 交易的消息。有点痛 是对于共识,哪些地方地方通道确保了所有已连接的对等节点按照完整相同的逻辑顺序传递完整相同的消息。

刚刚 大什么的问题会突然出先在你这个点上。肯能其中涉及多个互不信任的订购节点,在传递消息时肯能会突然出先错误。刚刚 ,须要引入一致性算法,使得在突然出先故障(相似于,消息顺序不一致)时仍然可不并能达成一致,从而使分布式账本的qq克隆好友 过程支持容错。Fabric 所采用的算法是“可插入的”,即可不并能根据特定应用的需求而使用各种算法。相似于,为了处里如上所述的随机或恶意qq克隆好友 错误,大伙 可不并能使用拜占庭式容错(BFT)的并都在变体算法。此外,通道划分了消息流,这原应客户节点可不并能并能 看得人它们连接通道中的消息及相关联的交易,而我刚刚 知道其它通道的情况表。通过你这个措施 ,对交易的访问将仅限于相关方。其结果是可不并能并能 在交易层面达成共识,而可不并能 像以太坊那样在账本层面达成共识。

顶端介绍了节点,现在介绍交易流的上下文。客户节点向已连接的背书节点发送交易,启动对账本的更新。所有背书节点都须要就提出的交易达成一致,刚刚 须要根据更新所建议的账本达成并都在共识。客户节点依次架构设计 所有背书节点的批准,刚刚 将经批准的交易发送给已连接的订购节点,由哪些地方地方订购节点再次达成共识。刚刚,交易将被转发给持有分类账的对等节点,以提交交易。

大伙 在此不再做进一步的完整介绍。很显然,Fabric 支持对共识做细粒度的控制,并提供对交易的受限访问,这提高了性能的可扩展性和隐私性。

 Corda

相似于于 Fabric,Corda 的共识也是在交易层面达成的,仅涉及交易的各方。交易取决于共识是满足交易合法性(validity),还是交易唯一性(uniqueness)[8]。交易合法性通过运行与交易相关联的智能合约代码(智能合约将在下文给出完整介绍),检查须要的所有签名,并确保所引用的任何交易也是有效的。交易唯一性涉及交易的输入情况表。具体而言,须要确保有大什么的问题的交易是所有输入情况表的唯一消费者。换句话说,不居于任何消耗同一情况表的其它交易。这是为了处里产生双重支付。实现交易唯一性的共识,是在称为“公证人”(Notary)[9] 的参与节点中达成的。其中使用的算法和 Fabric 一样,是“可插拔的”。刚刚 ,大伙 同样可不并能使用 BFT 算法。

智能合约

在第一次接触“智能合约”(smart contract)一词时,大伙 难免会产生相当大的误解,将其理解为并都在智能地表达了某人利益的合约。尽管合约的本质仍然居于含糊不清之处,刚刚 在直观上它似乎应与法律有关。也刚刚 说,大伙 所关注的合约在本意上暂且智能的,为宜目前仍尚未由人工智能驱动,也尚未在其中编入具有法律约束力的义务和权利。Clark 及其同事 [10] 在给出“智能合约”你这个有用术语时,强调指出了该术语的并都在不同的常用措施 。第并都在措施 是智能合约代码(smart contract code),另并都在措施 是智能法律合约(smart legal contracts)。本文着重介绍两者间的区别。

智能合约代码刚刚 用并都在编程语言编写的软件。它作为一一1个多软件代理,或是代表其中某一方,目的是履行有些义务、行使有些权利,并以自动的措施 控制分布式账本中的资产。刚刚 ,智能合约通过代码执行模拟,或模拟现实世界中合约逻辑,承担了分布式账本的任务和责任,尽管其合法性肯能尚未明确。

所有的 DLT 都支持以智能合约代码的形式履行智能合约。代码可不并能使用 Go、Java for Fabric [11]、Solidity[12] for Ethereum,以及 Java/Kotlin for Corda [13] 编写。在 Fabirc 中使用了术语“链码”(chaincode),以此作为智能合约的同义词。举例说明,Corda 为确保交易的有效性,会提醒读者在共识机制中使用智能合同代码。一方面,Fabric 和 Ethereum 之间居于着显著的差异。个人面,这是与 Corda 使用另并都在“智能合约”措施 相关。

在 Corda 中,智能合约不仅可不并能含晒 代码,还允许含晒 法律行文(Legal Prose)。刚刚 ,上述智能法律合约是法律行文,其制定措施 可不并能通过智能合同代码来表达和实施。其肩上的基本原理,是赋予植根于相关法律行为的代码以合法性。你这个形状称为“Ricardian 合约”[14]。这清晰地表明,Corda 是设计用于金融服务行业你这个受严格监管的环境。而 Fabric 和 Ethereum 都在具备此功能。

代币

一一1个多值得注意的区别,是以太坊提供并都在称为“以太”的内置加密货币。以太用于向帮助通过挖矿达成共识的节点支付奖励,并支付交易费用。刚刚 ,去中心化应用(DApps)可不并能基于支持货币交易的以太坊构建。此外,通过部署符合预定义标准的智能合约,可不并能创建为用例定制的数字代币 [15]。使用你这个措施 ,大伙 可不并能定义个人的货币或资产。

Fabric 和 Corda 不支持通过挖矿达成共识,刚刚 不须要内建的加密货币。刚刚 使用 Fabric,也可不并能开发本地货币,或是含晒 区块链代码的数字代币 [16]。使用 Corda,不建议创建数字货币或代币 [17]。

总结:定制平台对比通用平台

一方面是 Fabric 和以太坊。它们在不同的方面上具有非常大的灵活性。以太坊是并都在强大的智能合约引擎,基本上可作为任何类型应用的通用平台。刚刚 ,以太坊的无授权操作模式及全面透明度,是以牺牲性能可扩展性和隐私性为代价的。Fabric 采用有授权的操作模式,即使用 BFT 算法和细粒度访问控制处里了性能可扩展性和隐私大什么的问题。此外,Fabric 的模块化体系形状使其可不并能针对众多应用进行定制。大伙 可将 Fabric 比做一一1个多多功能的工具箱。

个人面是 Corda。它专门设计为并都在用于金融服务行业的 DLT。应注意的是,Corda 通过增加法律行文的智能合同,考虑了受厚度管制的环境。

显然,与 Fabric 相比,专注于金融服务交易使 Corda 得以繁复其架构设计 。刚刚 ,Corda 可不并能提供更多的开箱即可用体验。不过,Fabric 的模块化支持定制相似于于 Corda 的功能集。有些工作力图将 Corda 纳入 Hyperledger 项目。刚刚 ,可不并能 将 Corda 视为 Fabric 的竞争对手,而更多的是并都在补充。

查看英文原文:https://medium.com/@philippsandner/comparison-of-ethereum-hyperledger-fabric-and-corda-21c1bb9442f6

参考文献:

[1] https://docs.google.com/document/d/1Z4M_qwILLRehPbVRUsJ3OF8Iir-gqS-ZYe7W-LE9gnE/pub

[2] https://docs.corda.net/_static/corda-introductory-whitepaper.pdf

[3] https://github.com/ethereum/wiki/wiki/White-Paper

[4] e.g. https://github.com/jpmorganchase/quorum

[5] Vukolić M. (2016). The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication, in: Camenisch J., Kesdoğan D. (eds.) Open Problems in Network Security, iNetSec 2015, Lecture Notes in Computer Science, Vol. 9591, Springer.

[6] https://hyperledger-fabric.readthedocs.io/en/latest/fabric_model.html#consensus

[7] https://github.com/hyperledger/fabric/blob/master/proposals/r1/Next-Consensus-Architecture-Proposal.md

[8] https://docs.corda.net/key-concepts-consensus.html

[9] https://docs.corda.net/key-concepts-notaries.html

[10] http://arxiv.org/abs/13008.00771

[11] http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html

[12] http://solidity.readthedocs.io/en/latest/

[13] https://docs.corda.net/tutorial-contract.html

[14] http://iang.org/papers/ricardian_contract.html

[15] https://www.ethereum.org/token

[16] https://hyperledger-fabric.readthedocs.io/en/latest/Fabric-FAQ.html#chaincode-smart-contracts-and-digital-assets

[17] https://discourse.corda.net/t/mobile-consumer-payment-experiences-with-corda-on-ledger-cash/966?source_topic_id=962