hyperledger Fabric学习笔记(一)

对比看了下以太坊跟超级账本,感觉超级账本实现起来貌似更容易,框架构建还是比较适合小白入门啊(哭)

Fabric几点特性:

  1. Fabric具有高度模块化和可配置的架构。
  2. Fabric是第一个支持在通用编程语言(如Java,Go和Node.js)中创建的智能合约的分布式账本平台,而不是受限制的特定于域的语言(DSL)。(比如以太坊的solidity)
  3. 参与者彼此了解,而不是匿名。
  4. 支持 可插拔的共识协议,使平台能够更有效地进行定制,以适应特定的用例和信任模型。例如,当部署在单个企业内或由可信任的权威机构运营时,完全拜占庭容错的共识可能被认为是不必要的,并且对性能和吞吐量造成过度拖累。在诸如此类的情况下, 崩溃容错(CFT)共识协议可能绰绰有余,而在多方分散用例中, 可能需要更传统的 拜占庭容错(BFT)共识协议。
  5. Fabric可以利用不需要本机加密货币的共识协议来激活昂贵的采矿或推动智能合约执行。

智能合约:

一个智能合约,或者Fabric称之为“链码”的东西,作为一个受信任的分布式应用程序,从区块链中获得其安全性/信任以及同行之间的潜在共识。它是区块链应用程序的业务逻辑。
大多数现有的具有智能合约能力的区块链平台遵循 订单执行架构,其中共识协议:

  • 验证并命令事务然后将它们传播到所有对等节点,
  • 然后每个对等体顺序执行事务。

几乎所有现有的区块链系统都可以找到订单执行架构,范围从公共/ 无权平台,如 以太坊(基于PoW的共识)到许可平台。此外,由于所有节点都顺序执行所有事务,因此性能和规模有限。智能合约代码在系统中的每个节点上执行的事实要求采取复杂措施来保护整个系统免受潜在恶意合同的影响,以确保整个系统的弹性。

一种新方法

Fabric为execute-order-validate的事务引入了一种新的体系结构 。它通过将事务流分为三个步骤来解决订单执行模型面临的弹性,灵活性,可伸缩性,性能和机密性挑战:

执行一个事务并检查其正确性,从而认可它,通过(可插入的)共识协议订购交易,以及在将事务提交到分类帐之前,根据特定于应用程序的认可策略验证事务

隐私和保密

在一个公共的,无权限的区块链网络中,利用PoW作为其共识模型,事务在每个节点上执行。这意味着合同本身和它们处理的交易数据都不存在机密性。每个事务以及实现它的代码对网络中的每个节点都是可见的。对于许多商业/企业用例而言,这种缺乏机密性可能会有问题。例如,在供应链合作伙伴的网络中,某些消费者可能会获得优惠利率,作为巩固关系或促进额外销售的手段。如果每个参与者都可以看到每个合同和交易,那么就无法在完全透明的网络中维持这种业务关系 - 每个人都希望获得优惠费率!

可插入的共识

订购服务。由于共识是模块化的,因此可以根据特定部署或解决方案的信任假设来定制其实现。这种模块化架构允许平台依赖完善的工具包进行CFT(崩溃容错)或BFT(拜占庭容错)排序。

猜你喜欢

转载自blog.csdn.net/qq_43316539/article/details/100585412