HyperLedger Fabric 不是真正的区块链吗?

首先

我认为从头开始就说与标题相反的事情,但实际上(特别是作为销售信息),可以说是广义的区块链。

只需要一个选项,以下是对日本区块链协会(JBA)定义的释义:

1)使用带有大量节点(其中包括拜占庭障碍)的协议或其实现来指称一种随着时间流逝,每个时点的共识变得不确定的概率收敛于零的协议,或称之为区块链。

2)将使用电子签名和哈希指针的数据结构,该结构易于检测篡改,同时通过将数据分散在网络上的多个节点上拥有,实现广义区块链技术,以实现高可用性和数据一致性等特征。

因为我认为这符合第二个要求。

然而,随着对fabric机制的了解加深,也会有一些令人担忧的问题。

简单地(同时有点粗暴地)说,
Fabric拥有分散数据分配机制(与区块链无关),
最终只是将要分配给每个节点(对等节点)的数据输出格式转换为区块链形式。
(所以它被称为分布式分类账。)

以下是对该机制的简要解释。

1.数据的分散配置机制只是 Kafka 的一个功能。

在实际情况中,关于如何分布数据的部署是一种可适应的设计,也有一些类似solo模式的选项,但实际上,
如果我们试图确保一定的可用性,至少在撰写本文的2018年3月时,kafka是唯一的选择。

2. 核心数据本身并非区块链。

在fabric中,最重要的数据不是分布在每个节点(对等节点)上的区块链二进制数据,而是由kafka(和Orderer)持有的交易列表数据。

这里按照执行顺序列出并记录了所有已执行的交易的内容。

如果要添加新的区块链节点(对等节点),Fabric并不会从另一个节点中获取数据。

根据此交易列表数据,实际上按顺序执行从头到最新的交易,以创建区块链数据。

即使只有区块链节点(Peer)的数据仍然存在,但要使fabric恢复该网络并不容易。

或者

只要在fabric中保存着kafka的数据(而非以区块链形式),即使区块链节点(对等节点)完全毁灭,也可以轻松恢复网络。

也可以说。

在现实中,跨网络段的Orderer集群构建是不现实的。

订购者维护着Kafka事务列表数据(可能重复),并通过控制事务执行顺序使其在网络中成为“唯一”的。

在联盟或其他组织中,将Orderer连接在不同的网络段上,就好比在控制中央处理器上使用延迟较长的电路一样。

Orderer应该通常只在同一个网络段内进行构建。(注:这只是个人意见,非官方观点)

从面料的角度来看,有CA的参与者被认为是有力量的参与者,但事实上,集中管理Orderer的参与者可能是最有权力(主导力和影响力)的参与者。

4.总结起来

fabric涉及的数据主要是交易列表,而区块链只是作为该数据的次要生成的参考数据而已(可能表述过于夸张了)。

(Note: The paraphrase provided may not be an exact native-level translation, but it captures the essential meaning of the original sentence.)

在区块链中,甚至可能出现内容本身在各个节点之间差异的情况。
在服务请求时,一笔失败的交易可能会在节点恢复后再次执行成功,从而导致区块链的内容发生变化也是可以推测的。

只要没有任何失败的事务结束在恢复之前,只要最终所有的事务都成功,世界状态的值就不会改变,并且保持一致性。

5. 共识算法(奖励)

在需要堆叠块的PoW中,需要非常大的哈希率(在网络规模达到一定以上时),始终存在一个最长链才是正确的这一极其简单的约定。

然而,作为一种权衡,写入时的可靠性也是一个问题,这涉及到消耗大量的电力和低吞吐量。

只要Orderer控制执行顺序(和事务提交请求),那么Fabric的基本原则是所有节点的区块链始终保持一致,并且长度也相同。

这表明它具有写入时的确定性,
fabric的区块链自然也采用了哈希指针的方式,
因此(假设网络没有被入侵的前提条件下),它也具备易于检测篡改的性能。

6.最吸引人的特点是智能合约

尽管如上所述的构造可能是这样的,但 Fabric 拥有智能合约这个巨大的吸引力。

很可能,具有相同智能合约机制的以太坊和超级账本(fabric)将在不久的将来共存下去。
这是因为它们的特点有相当大的区别。

因为把全部都上升很困难,所以我只会尝试一些。

共识算法的差异

以太坊具有PoW共识算法(未来将转移到名为Casper的惩罚性PoS),因此连接到主网络时可用于发行ERC令牌等(在Fabric中无法实现)。在本地网络中运营时,虽然可以进行难度调整,但仍然需要挖矿。在小型网络中,由于可以轻松地使用较低的哈希率创建最长的链,因此如果公开策略错误,将无法实施基于PoW的篡改耐性等功能,并且有可能很快被推翻。

与智能合约代码的更新相关的差异存在。

面对这个问题, Fabric可以相对容易地更新链码, 但在以太坊中无法更新智能合约。

尽管这有自身的好处,比如代码的不变性(可靠性),但与Fabric相比,我们应该认为以太坊在设计方面的门槛较高,实际上需要创建一个单独管理名称和地址的合约模式成为必需。

对于保密程度的关注程度不同

目前来看,Fabric等多通道共识机制比以太坊受到更高的关注。不过以太坊也可能会在将来提供类似的机制。至于保密性,则在交易数据的设计上有一定的灵活性。

吞吐量(可扩展性)的差异

基于共识算法的差异,Fabric在当前阶段的吞吐量可能比以太坊更高。

在比特币中,尽管51%攻击和日食攻击存在耐受性问题,但没有私钥,即使在这种攻击下混乱了网络,也无法窃取他人的比特币。

对于加密货币来说,还存在消耗大量电力作为货币价值证明的问题。此外,关于以太坊的吞吐量(可扩展性)问题,通过采用离链技术(Raiden/prasma)和Casper(惩罚性PoS)的转型,有望解决。

未来,对于以太坊来说,可能会有上述离链技术和Casper的变更计划,有很大可能性展示与或超越fabric相当的吞吐量。