主页 > imtoken官网下载安装 > 以太坊、Hyperledger Fabric 或 Corda 哪个更好?

以太坊、Hyperledger Fabric 或 Corda 哪个更好?

imtoken官网下载安装 2023-11-03 05:13:29

在本文中,我们将简要分析三种分布式账本技术(DLT,distributed ledger technologies)Hyperledger Fabric、R3 Corda 和 Ethereum 之间最显着的区别。 本文的目的是为决策者提供新的 DLT 指南,以了解 Hyperledger Fabric、Corda 和 Ethereum 最合适的用例。

三个不同的框架

我们从Hyperledger Fabric、R3 Corda(以下分别简称为Fabric和Corda)和以太坊的白皮书中可以看出,这三个框架在可能的应用领域上有着完全不同的思路。 Fabric[1] 和 Corda[2] 的开发是由特定用例驱动的。 其中,Corda 的用例来自于金融服务行业,这也是可以看到 Corda 的主要应用领域。 Fabric 设计提供了一种模块化、可扩展的架构,可用于从银行业、医疗保健到供应链等行业。 以太坊表现出完全独立于任何特定应用领域 [3]。 但与Fabric相比,以太坊并不突出模块化,而是着重于为各种交易和应用提供一个通用的平台。 表 1 总结了这三个框架。

表 1:以太坊、Hyperledger Fabric 和 Corda 的比较

以太坊钱包怎么交易_以太坊在哪个平台交易好_以太坊最早交易时间

同伴参与

在传统的中心化数据存储中,只有一个实体,即所有者,保留一份账本副本,即底层数据库。 因此,实体控制可以提供什么数据,以及允许其他实体提供什么数据。 DLT的出现从根本上改变了分布式数据存储的方式,使得多个实体拥有底层数据库的副本,自然而然地支持了每个副本的贡献。 参与分布式数据存储的所有实体形成了所谓的“节点”或“对等体”网络。 由于数据以分布式方式存储,因此很难确保所有节点都同意一些“共同事实”(例如,分类帐的正确性)。 因为一个节点所做的更改必须传播到网络中的所有其他对等节点。 达成共同事实的结果,称为节点之间的“共识”,将在下面描述。

是否参与达成共识有两种运行模式,即非许可和许可。 如果参与是未经许可的,任何人都可以参与网络。 授权模型在以太坊上作为公共区块链工作。 另一方面,如果参与被授权,则参与者是预选的并且网络访问仅限于那些参与者。 Fabric 和 Corda 都属于后者。 选择授权或授权的参与模式将对达成共识产生深远影响。

共识以太坊

以太坊在哪个平台交易好_以太坊钱包怎么交易_以太坊最早交易时间

在以太坊中,所有参与者都必须就所有交易发生的顺序达成一致,而不管参与者是否参与了特定的交易(Transaction)。 交易顺序对于账本的一致性状态至关重要。 如果无法建立明确的交易顺序,则会出现双重支出问题,即两笔平行交易将相同的货币转移给不同的收款人,从而使他们凭空受益。 由于网络中涉及的各方可能相互不信任且匿名,因此必须采用共识机制来保护账本免受双重支付欺诈或恶意行为者的侵害。 在以太坊目前的实现中,这种共识机制的建立是基于基于工作量证明(PoW,Proof of Work)方案的挖矿。 所有参与者必须就一个共同的分类账达成一致,并有权访问分类账中的所有记录。 因此,PoW 会对交易处理性能产生不利影响 [5]。 尽管记录是匿名的,但所有参与者仍然可以访问分类帐中存储的数据。 因此,对于隐私要求较高的应用,该机制存在问题。

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

织物

Fabric 提供了对共识的广泛理解,涵盖了从向网络提交交易到将其记录在分类帐中的整个交易流程 [6]。 此外,节点在达成共识的过程中承担着不同的角色和任务。 这与以太坊完全不同,参与共识的节点具有相同的角色和任务。

Fabric将节点分为客户端节点(Client)、对等节点(Peer)和排序节点(Orderer)[7]。 客户端节点代表最终用户创建和调用事务。 它们与对等节点和排序节点进行通信。 对等节点维护分类帐并接收由命令节点命令的更新消息,以向分类帐提交新交易。 Endorser 是一种特殊的对等节点以太坊在哪个平台交易好,其任务是通过检查交易是否满足一些充分必要条件(例如提供所需的签名)来为交易提供背书。 排序节点在客户节点和对等节点之间提供通信通道,用于广播包含交易的消息。 特别是对于达成共识,这些渠道确保所有连接的对等点以完全相同的逻辑顺序传递完全相同的消息。

但是问题就出现在这个时候。 如果涉及多个互不信任的排序节点,则在传递消息时可能会出错。 因此,必须引入共识算法,使得在出现故障(例如消息顺序不一致)时仍能达成共识,从而使分布式账本的复制过程支持容错。 Fabric采用的算法是“可插拔的”,即可以根据具体应用的需要采用各种算法。 例如,为了处理如上所述的随机或恶意复制错误,我们可以使用拜占庭容错 (BFT) 的变体。 此外,通道对消息流进行了划分,这意味着客户端节点只能看到其连接的通道中的消息和关联的事务,而不能看到其他通道。 这样,交易的访问权限将仅限于相关各方。 因此,只能在交易层面达成共识,而不能像以太坊那样在账本层面达成共识。

上面介绍了节点,现在是交易流的上下文。 客户端节点向连接的背书节点发送交易以启动账本更新。 所有背书节点必须就提议的交易达成一致,因此需要在更新提议的分类账的基础上达成某种共识。 客户端节点依次收集所有背书节点的批准,然后将批准的交易发送给连接的排序节点,再次达成共识。 随后,交易将被转发给持有账本的对等节点以提交交易。

我们不会在这里详细介绍。 显然,Fabric 支持对共识的细粒度控制,并提供对事务的限制访问,从而提高了性能、可扩展性和隐私性。

科尔达

以太坊钱包怎么交易_以太坊最早交易时间_以太坊在哪个平台交易好

与 Fabric 类似,Corda 的共识也是在交易层面达成的,只涉及交易的参与方。 交易取决于共识是否满足交易有效性(validity)或交易唯一性(uniqueness)[8]。 交易合法性通过运行与交易关联的智能合约代码(智能合约在下面详细描述)、检查所有需要的签名并确保引用的任何交易也有效来实现。 交易唯一性涉及交易的输入状态。 具体来说,必须确保所讨论的交易是所有输入状态的唯一消费者。 换句话说,没有其他交易消耗相同的状态。 这是为了避免双重支出。 达成交易唯一性的共识是在称为“公证人”[9] 的参与节点之间达成的。 其中使用的算法和Fabric一样是“可插拔的”。 因此,我们也可以使用BFT算法。

智能合约

第一次遇到“智能合约”这个词,人们难免会有很大的误解,将其理解为某种智能表达某人利益的合约。 虽然合同的性质仍然模棱两可,但直觉上它似乎与法律有关。 也就是说,我们所关注的合同在其意图上并不智能,至少目前还没有被人工智能驱动,也没有在其中编纂具有法律约束力的义务和权利。 Clark 及其同事 [10] 在给出有用的术语“智能合约”时,强调了使用该术语的两种不同的常见方式。 第一种方式是智能合约代码,另一种方式是智能合约。 本文重点介绍两者的区别。

智能合约代码只是用编程语言编写的软件。 它充当软件代理人,或代表一方,以自动方式履行某些义务,行使某些权利并控制分布式账本中的资产。 因此,智能合约通过代码执行模拟,或者说模拟现实世界中的合约逻辑,承担了分布式账本的任务和职责,虽然其合法性未必明确。

所有 DLT 都支持以智能合约代码的形式执行智能合约。 代码可以用 Go、用于 Fabric [11] 的 Java、用于以太坊的 Solidity [12] 和用于 Corda [13] 的 Java/Kotlin 编写。 Fabric 中使用术语“链代码”作为智能合约的同义词。 例如,Corda 提醒读者在共识机制中使用智能合约代码来保证交易的有效性。 一方面,Fabric 和以太坊之间存在显着差异。 另一方面,这与Corda采用另一种“智能合约”方式有关。

在 Corda 中,智能合约不仅可以包含代码,还可以包含法律文本(Legal Prose)。 因此,上述智能法律合约是一个法律文本,其制定方式可以通过智能合约代码来表达和执行。 这背后的基本原理是赋予植根于相关法律行为的代码合法性。 这种结构被称为“李嘉图合约”[14]。 这清楚地表明 Corda 是为在金融服务行业高度监管的环境中使用而设计的。 Fabric 和以太坊都没有这种能力。

内置令牌

另一个显着的区别是以太坊提供了一种名为“ether”的内置加密货币。 以太币用于支付奖励给通过挖矿达成共识的节点,以及支付交易手续费。 因此,可以在支持货币交易的以太坊之上构建去中心化应用程序(DApps)。 此外,可以通过部署符合预定义标准的智能合约来创建为用例定制的数字令牌 [15]。 通过这种方式,人们可以定义自己的货币或资产。

Fabric 和 Corda 不支持通过挖掘达成共识,因此不需要内置加密。 但是使用 Fabric,还可以开发本地货币,或带有区块链代码的数字代币 [16]。 使用 Corda以太坊在哪个平台交易好,不建议创建数字货币或代币 [17]。

以太坊在哪个平台交易好_以太坊钱包怎么交易_以太坊最早交易时间

总结:自定义平台与通用平台

综上所述,本文分析的分布式账本技术东西方切入。 一方面是 Fabric 和 Ethereum。 它们在不同方面非常灵活。 以太坊是一个强大的智能合约引擎,基本上可以作为任何类型应用程序的通用平台。 然而,以太坊的无许可操作模式和完全透明是以牺牲性能、可扩展性和隐私为代价的。 Fabric采用授权运行模式,利用BFT算法和细粒度访问控制解决性能扩展性和隐私问题。 此外,Fabric 的模块化架构允许它针对众多应用程序进行定制。 我们可以将 Fabric 比作一个多功能工具箱。

另一方面是Corda。 它是专门为金融服务行业设计的分布式账本技术。 应该注意的是,Corda 通过添加合法编写的智能合约来允许高度监管的环境。

显然,与 Fabric 相比,Corda 对金融服务交易的关注让 Corda 能够简化其架构设计。 因此,Corda 可以提供更多开箱即用的体验。 然而,Fabric 的模块化允许定制类似 Corda 的功能集。 为了将 Corda 纳入 Hyperledger 项目,已经做出了多项努力。 因此,Corda 不能被认为是 Fabric 的竞争对手,更多的是一种补充。

查看英文原文文章:@philippsandner/comparison-of-ethereum-hyperledger-fabric-and-corda-21c1bb9442f6

参考:

[1]

[2]

[3]

以太坊钱包怎么交易_以太坊在哪个平台交易好_以太坊最早交易时间

[4] 例如

[5] 武科利奇 M. (2016)。 寻求可扩展的区块链结构:工作量证明与 BFT 复制,载于:Camenisch J.,Kesdoğan D.(编辑)网络安全中的未解决问题,iNetSec 2015,计算机科学讲义,卷。 9591,施普林格。

[6] #共识

[7]

[8]

[9]

[10]

[11]

[12]

以太坊钱包怎么交易_以太坊在哪个平台交易好_以太坊最早交易时间

[13]

[14]

[15]

[16] #chaincode-smart-contracts-and-digital-assets

[17]

今日推荐

点击下方图片阅读

以太坊最早交易时间_以太坊在哪个平台交易好_以太坊钱包怎么交易

Blockchain Paradise Bermuda|币安为何选择这里?

以太坊钱包怎么交易_以太坊最早交易时间_以太坊在哪个平台交易好