您当前的位置: > 币圈交易所 >

为什么IBM的区块链不是真正的区块链?-比特币新手入门投资教程

发布时间:2020-09-21 15:35

为什么IBM的区块链不是真正的区块链?

IBM是企业区块链领域的主要参与者,提供基于Hyperledger Fabric的区块链平台,并与沃尔玛和Aetna 等大型公司启动了区块链试验。

作为非营利组织开源Hyperledger Foundation 的众多贡献者之一(包括最近宣布的Microsoft和Salesforce),IBM进行了巨额投资,将Fabric推广为私有或“允许的”区块链,这意味着它提供了与众不同的功能。知名的区块链(如比特币或以太坊),同时以某种方式删除了可能“不适用于企业”的任何方面。

但是,IBM实际上正在销售和称为“区块链”的技术(即Hyperledger Fabric)牺牲了真正的区块链的最重要功能,无论是经过许可的还是公开的。Fabric的体系结构比任何区块链平台都要复杂得多,同时对篡改和攻击的安全性也较低。您可能会认为“私有”区块链至少会提供可伸缩性和性能,但Fabric也会在此处失败。简而言之,在Fabric上构建的飞行员将面临复杂且不安全的部署,无法随业务规模扩展。

市场上的区块链选项

当我2016年在摩根大通工作时,我领导了一个新兴技术团队,该团队研究和审查了区块链的潜在用途和战略投资。这涉及对Hyperledger,Axoni,Symbiont,Ripple和Ethereum的早期版本的深入分析。当时很明显,市场上的区块链选项在技术上不足以用于实际的企业用例。不幸的是,我们今天在Hyperledger Fabric中看到了同样的核心问题。

我们提出的问题包括:区块链的智能合约语言如何安全,简单地表达复杂的业务规则?如何保证公钥签名有效?系统是否可以扩展到其他参与者(节点)而不会大幅降低性能?而且,对于具有前瞻性的企业,您可以轻松地与其他公共和私有区块链进行互操作吗?

使用这些问题作为框架,我相信IBM的系统从根本上缺乏区块链所需的元素,具有误导的性能数字和可疑的长期业务可行性。尽管我和我的同事们并不认为数字游戏(每秒交易量,节点数)是采用区块链的唯一因素,但我们确实认为教育人们关于区块链的实质是很重要的。这项教育有望帮助每个人更好地了解区块链新兴技术的前景。

什么是区块链和不是区块链

为了真正了解IBM区块链的地位,我们需要看一下区块链本身的定义。一个blockchain是,在它的核心,其中的真理,达成共识的机制执行的事项或交易的分散不变台账。在像比特币和以太坊这样的公共区块链中,这种共识是通过工作量证明或“ 挖掘 ” 来实现的。在许可的区块链中,可以通过提供加密签名的参与者对所写内容进行投票来达成共识。无论哪种方式,没有中央机构可以仲裁真实情况。

IBM 对区块链的定义捕获了区块链的分布式和不可变元素,但方便地省略了分散的共识–这是因为Hyperledger Fabric 完全不需要真正的共识机制。相反,它建议使用称为Kafka的“订购服务”。问题在于,如果没有参与者之间的强制性,民主化和加密安全的投票,就无法证明有人没有篡改分类帐。容错共识是区块链的标志性特征,没有它,IBM的“区块链”仅是带有时间戳的条目列表。

Fabric的体系结构暴露了许多漏洞,这些漏洞可以被恶意协调利用。例如,它在“网络内部” 引入了带有验证者签名的公钥加密,该签名提供了主要的安全保证,但在提交外部签名的事务之后才开始。这从根本上使比特币和其他真实区块链的可靠安全模型无效,在该模型中,任何交易的来源仅由外部用户的公共密钥签名来保证,并且不能以任何方式由系统进行中介。与之形成鲜明对比的是,在Fabric上达成共识的唯一签名是验证者的签名,而用户签名消失在通过网络复制的任意数据集中。

Fabric研究人员对性能指标起着快速和宽松的作用,因为从根本上讲,Fabric的体系结构无法在保持峰值性能的同时进行扩展。Fabric使用多链环境(称为“渠道”)在参与者之间提供机密性。提供保密性是私有“企业”区块链的一项重要功能,并且必然涉及权衡和复杂性,但是多链解决方案对于可伸缩性而言不是一个好的选择。它还使节点的部署变得异常复杂,节点不统一,智能合约不可靠以及潜在的故障点激增。

因此,标准Fabric部署的性能数字一开始并不会给人留下深刻的印象,随着节点的增加,性能数字会迅速下降,并且是单通道的:如果您想跨多个通道与整个网络进行交易,这些数字甚至都没有关系。即便如此,当查看单个通道时,该系统也很难获得每秒800笔以上的交易(TPS),但是即使是16通道的配置也几乎不能超过1,500 TPS,延迟在10到20秒的范围内可达到高吞吐量。

最近为加快Fabric速度所做的努力导致声称达到20,000 TPS的速度,但是研究人员对体系结构所做的更改与区块链相距甚远,以至于无法识别:认可者不再充当验证者,并且将Kafka奉为唯一可能订购服务(从理论上讲,Fabric可以接受真正的区块链共识,但是它是如此之慢,以至于没人会在生产中使用它)。最后,这些仍然是单通道数字,这意味着作为共享真相来源的整个区块链概念无效。

为什么智能合约和混合期权很重要

在研究区块链时,要考虑的最后一点是它们打算如何扩展到私有数据库之外,以及它们的工具(例如其智能合约语言)如何打算帮助企业更大范围地成功。记住,智能合约不仅仅是一段代码;它代表业务逻辑。智能合约可以在区块链上保护房屋,确保数字身份,甚至代表买卖二手车的人之间的代管交易。重要的是,智能合约必须可靠并且始终如其说。

在区块链上构建任何东西时,您都需要能够通过智能合约表示您想做的事情(购买,出售,打包数据等)。使用语言越简单或越简单,就可以更快地构建所需的东西并将其展示在利益相关者的眼中。更重要的是,您希望智能合约的功能为您的业务实际产生收入或取得一些积极成果。

Hyperledger Fabric的智能合约(“ chaincode”)可以用多种编程语言编写,包括通用Javascript或Go。但是,在已经知道通用语言的程序员的便利性与特定于领域的语言所提供的安全性之间存在着权衡。当风险与区块链一样高时– 如果代码不是针对区块链而设计的,那么如果代码有错误或不正确,可能会损失数百万美元 –因此,智能合约语言必须经过专门设计且设计安全。理想情况下,在所需的区块链环境中也将易于学习且易于使用。Chaincode在这方面很大程度上失败了;我们发现花了大约150行代码只是执行经典的程序员教程“ hello world”。大量的代码可以成为这些百万美元漏洞的温床。

没有为未来做好准备

越来越多的区块链生态系统最老练的观察者意识到,私有和公共区块链将不会真空存在,而是希望携手合作:私有网络将希望向公众区块链上的消费者提供令牌,而公众区块链的去中心化应用将要在敏感的区块链上存储敏感信息。不幸的是,IBM Fabric(以及R3 Corda)的用户可能会由于架构的完全不兼容而发现自己与公共区块链“隔绝”,而且由于其智能合约语言无法在公共和私有环境中无缝执行环境。

由于IBM通过宣布合作伙伴关系在许多企业区块链新闻发布周期中占据主导地位,因此重要的是要深入研究该技术的实际作用。IBM的“区块链”技术在很多方面都缺乏,包括安全性,性能和可靠性,因此,它们为希望使用区块链实现有意义的业务改进的组织提供了劣等的解决方案。为了真正实现区块链的价值,老练的客户将寻求挑战者提供更好的工具,更好的区块链以及对未来以及我们如何利用技术的更好愿景。