区块链与HyperLedger Fabric的区别

20

当我试图理解区块链技术时,我遇到了HyperLedger Fabric。根据文档,它是区块链技术的实现。

这是什么意思?区块链只是一个概念,而HyperLedger Fabric是该概念的一种实现吗?

更新: Hyperledger Fabric将交易存储在哪里?我知道它是一个点对点架构,每个节点都有交易记录的副本,但通常这些交易记录是不断增长的集合,那么每个节点是否都有日益增长的交易记录的副本?我还不清楚。社区推荐使用哪种数据库?


跟进问题已添加 - Manikandan Kannan
9个回答

22

区块链是一种保存数据于分布式网络的“想法”。在维基上它被定义为:

区块链——是一种维护着不断增长的、由记录(块)组成的分布式数据库。每个块都包含了一个时间戳和指向前一个块的链接,因此过去的数据不能被篡改。

许多项目将区块链作为其核心技术,包括:

  • 比特币
  • 以太坊
  • Hyperledger
  • 等等

Hyperledger 不是实现,而是一个关于可信任网络应该如何工作的规范

Hyperledger 规范有来自不同供应商的几种实现:

  • Fabric - 来自IBM
  • Sawtooth Lake - 来自Intel
  • Corda - 来自R3财团
  • Iroha - 来自Soramitsu

P.S. 每家公司都试图实现自己对 Hyperledger 的愿景,目前这些实现彼此不兼容。


4
Corda从未被贡献给Hypedger,它是属于R3CEV财团的一个独立开源项目。 - christo4ferris
1
Hyperledger不是一个规范,它是Linux基金会的一部分,是一个包含多个独立区块链平台的伞形组织,这些平台彼此不兼容。所有Hyperledger平台都是开源的,并且使用Apache 2许可证。 - Dan Anderson

12

简单来说,Hyperledger Fabric 就像 MySQL 对于数据库一样,是区块链技术中的一种。

1.2 为什么使用 Fabric?

早期的区块链技术虽然能够服务于某些需求,但却并不适用于特定行业的需求。为了满足现代市场的需求,Fabric 基于针对特定行业设计的思路进行开发,以解决特定行业应用场景的多种复杂需求,同时还吸取了该领域先驱者们的经验教训,解决了可扩展性等问题。Fabric 提供了在多个区块链网络上实现权限控制、隐私保护和机密性的全新方法。

- https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md#12-why-the-fabric


10

这是什么意思?区块链只是一个概念,而HyperLedger是该概念的实现吗?

我认为这取决于您对区块链(最初拼写为“block chain”,如上所示)的定义。

最初的定义可以在比特币cpp代码库的评论中找到。

https://github.com/bitcoin/bitcoin/blob/4405b78d6059e536c36974088a8ed4d9f0f29898/main.h#L807-L812

并在此处。

https://github.com/bitcoin/bitcoin/blob/4405b78d6059e536c36974088a8ed4d9f0f29898/main.h#L1014-L1019

我认为区块链的一个定义特征是不可篡改性。如果区块链的历史记录可以通过勾结进行更改,那么在我看来它就不是一个区块链。我认为任何私有/许可的区块链都无法做出这样的保证,因为如果需要或想要更改某些内容,你可以轻易地勾结来进行更改,就像普通数据库一样(不要与仅追加更改混淆)。比特币由于 PoW(工作量证明)使这变得非常困难,如果你想改变过去,你需要矿工重写之后的所有区块,这是非常昂贵的。
至少我会将其前缀为...fabric 可以实现“私有/许可”的区块链。真正定义“私有/许可”区块链的是社区和像 fabric 这样的组织。
超级账本 fabric 存储交易的位置在哪里?我理解它是一个点对点的架构,每个对等节点都有交易的副本,但通常这些交易是一个不断增长的集合。每个对等节点是否都有不断增长的交易副本?我还不清楚。社区推荐使用哪种数据库?

他们正在对 Fabric 进行大量开发,我相信即使是在小版本发布时也会改变他们使用的技术栈,所以很难知道他们目前在做什么。 这是他们最新的指南:

http://hyperledger-fabric.readthedocs.io/en/latest/glossary.html

或者在此查看他们的代码库:

https://github.com/hyperledger/fabric

看起来他们转移到了 Rocket Chat,他们的开发人员对技术问题很有帮助。 https://chat.hyperledger.org/home

有趣的是,我曾经与他们的开发人员讨论过这些问题,我得到的答案是他们正在使用 couchdb 来保存状态,并将 Apache Kafka 作为核心“区块链部分”。如果您查看他们的最新指南并将“通道”替换为“主题”,我可以看出他们仍在使用 Apache Kafka,但我没有在任何地方看到它被引用。


4
目前这些区块链框架正在不断发展中: (请注意:随着时间推移,可能会进行一些更改,例如治理、集成额外共识等)
  • Hyperledger Fabric

  • Corda

  • Ethereum

    看一下它们之间的差异:

enter image description here


3
当我试图理解区块链技术时,我遇到了HyperLedger Fabric。根据文档,它是区块链技术的一种实现。
区块链是一个概念。来自Wiki: 区块链(英语:blockchain)是使用密码学链接并保护的记录列表,每个记录包含一个或多个交易。通常包含上一个区块的加密哈希、时间戳和交易数据。 Blockchain image
Hyperledger是Linux基金会组织。有许多赞助商支持这个组织,例如IBM、美国运通和百度。我想现在几乎有100个赞助商。
Hyperledger有几个区块链技术的实现,它们是:
Hyperledger Fabric。
Hyperledger Iroha,
Hyperledger Sawtooth。
还有其他的...
以太坊。
Hashgraph (?) - 即使他们声称不是区块链 :D
Corda。
由于上述是实现,它们如何达成共识、功能和架构将不同。
有几个因素使得 Fabric 与众不同。
它运行的是一个称为私有或许可授权区块链网络,这意味着所有节点都是可信的。由于这一点,在比特币中所见的工作证明并不存在。同时,它也很快,因为不需要进行额外的计算。块会在一定时间或交易后创建,并且大多数节点都可以拥有总账本的副本。

enter image description here

Fabric也使用Leveldb作为世界状态数据库,但可以更改为CouchDB以进行更复杂的查询。
Hyperledger Fabric简介: http://hyperledger-fabric.readthedocs.io/en/release/blockchain.html

2
是的,区块链是一种分布式网络技术。Hyperledger Fabric是实现这种技术的平台之一。
我们可以使用不同的平台来实现两种类型的区块链:
1.公共区块链:互联网上的任何人都可以轻松加入。
例如比特币或以太坊。
2.私有区块链:这是一些对等体(如Intranet)的网络。
例如,一些组织可以加入并创建网络。因此,只有这些对等方可以看到此区块链的内容。此区块链网络的每个对等方都有一个单独但相同的分类账本副本,无法更改。
还有一些用于开发此类私有区块链的平台,例如Hyperledger Fabric、Hyperledger Sawtooth、Hyperledger Indy、Corda。
Hyperledger在每个对等方存储所有交易副本。这些存储在标签数据库或CouchDB中。

2
什么是区块链? 区块链是一个概念。本质上它只是一个数据库。它是去中心化、分布式、不可变的数据库。
什么是Hyperledger Fabric? Hyperledger是由Linux基金会托管的伞形项目。Hyperledger Fabric是其中之一。 Hyperledger Fabric是区块链概念的实现。 它是私有/许可网络。 它是一种分布式账本技术。 现在感到困惑了吗?它被设计成如果正确实现将是去中心化的,否则它就是一个分布式账本。
交易存储在哪里? 网络上的所有节点和通道都有自己独立的账本,并且交易被存储在其中。
每个节点都拥有不断增长的交易副本吗? 是的,在这种方式下,节点可以验证交易是否被篡改。
社区推荐任何数据库吗? 账本中包含两个东西:1. 区块链,2. 世界状态 区块链以文件形式记录所有交易日志。 世界状态将链码的状态存储在数据库中。对于链码的所有操作,它使用世界状态来在区块链中进行修改并保存最新状态。 社区推荐2个数据库: 1. LEVEL DB:用于开发 2. Couch DB:用于生产
文档中提到它是可插拔的,因此可能可以使用其他数据库,但需要进行一些解决。

1
是的,区块链只是一种技术,并且进一步分为其类型,即(公共、私有和许可区块链)。
公共区块链:
1.比特币
2.莱特币
私有和许可区块链:
1.Hyperledger Fabric
以上都只是对一个想法或概念(即区块链)的实现。
Hyperledger Fabric将交易存储在节点中。我们可以设置couchdb以更好地了解每个交易并检查这些交易。

1

区块链和HyperLedger Fabric的区别

区块链是一种存储数据的技术,几乎是一个永久的数据库,只能写入一次,之后无法重写/编辑。

HyperLedger Fabric则将区块链作为其数据存储或数据库,并结合每个框架/平台策略所依赖的其他逻辑。或者我们可以称之为智能合约。

Hyperledger Fabric在哪里存储交易? 它存储在其区块链节点中。

每个节点都有交易记录的副本吗? 几乎每个节点都有所有交易历史记录的副本。按照设计,区块链需要至少50%的节点批准交易,因此另外50%的节点在一段时间后会有新交易的副本。

我还不清楚这个。社区推荐使用哪个数据库吗? 我对这个问题不太确定。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接