为什么区块链技术难以有落地应用

区块链现在充斥着各种炒作。你可能会听到区块链炒作大队告诉它,区块链未来将会:

1.解决收入不平等问题

2.永远保证所有数据的安全

3.让一切更有效率和信任

4.拯救垂死的婴儿

无论如何,区块链到底是什么?它真的可以做所有这些事情吗?区块链能为医疗,金融,供应链管理和音乐等多种行业带来惊人的东西吗?

在本文中,将回答区块链是什么,更重要的是,它不是什么。

1

什么是区块链?

我们必须定义区块链是什么,这里存在很多混乱。许多公司使用“区块链”这个词来表示某种神奇的设备,通过这种设备,他们的所有数据都不会出错。当然,至少在涉及现实世界时,这样的设备不存在。

什么是区块链?从技术上讲,区块链是块的链接列表,块是一组有序的事务。如果您不理解最后一句话,您可以将区块链视为数据库的子集,并具有一些其他属性。

区分区块链与普通数据库的主要区别在于,有关于如何将数据放入数据库的特定规则。也就是说,它不能与已经存在于数据库中的其他数据(一致)冲突,它只是附加(不可变),数据本身被锁定到所有者(拥有),它是可复制的和可用的。最后,每个人都同意数据库中的事物的状态(规范)没有中央方(分散)。

这最后一点确实是区块链的无与伦比的魅力。去中心非常有吸引力,因为它意味着没有单一的失败点。也就是说,没有任何一个机构能够剥夺您的资产或改变“历史”以满足他们的需求。这种不可改变的审计跟踪,您不必信任任何人,这是使用此技术的每个人都在寻找的好处。然而,这种好处需要很高的成本。

2

区块链的成本

任何一方不受控制的不可变审计的跟踪肯定是有用的,但创建这样一个系统需要很多成本。我们来看看一些区块链技术现在难以得以落地的困难点。

1

发展更加严格和缓慢

创建一个可证明的一致系统并非易事。一个小错误可能会破坏整个数据库或导致某些数据库与其他数据库不同。当然,损坏或拆分的数据库不再具有任何一致性保证。此外,所有这些系统必须从一开始就设计成一致的。区块链中没有“快速移动并破坏事物”。如果你破坏了东西,就会失去一致性,区块链就会变得腐败无价值。

您可能在想,为什么不能只修复数据库或重新开始并继续前进?在集中式系统中这很容易做到,但在分散式系统中这非常困难。您需要达成共识,或者系统中所有参与者的同意才能更改数据库。区块链必须是不受单个实体控制的公共资源(分散,记住吗?),或者整个工作是创建缓慢的集中式数据库的一种非常昂贵的方式。

2

激励结构很难设计

添加正确的激励结构并确保系统中的所有参与者不会滥用或破坏数据库同样是一个重要的考虑因素。区块链可能是一致的,但如果它中包含大量无聊,无用的数据,那么它就不是很有用,因为将数据放入其中的成本非常低。如果几乎没有数据,那么一致的区块链也不会有用,因为将数据放入其中的成本非常高。

什么赋予数据最终性?您如何确保奖励与网络目标保持一致?为什么节点会保留或更新数据?是什么让他们在冲突时选择一个数据而不是另一个?这些都是需要良好答案的激励性问题,它们不仅需要在开始时保持一致,而且需要在未来随着技术和公司的变化而保持一致,否则区块链就无用了。

同样,你可能想知道为什么你不能“修复”一些破碎的激励。再一次,这在集中式系统中很容易,但在分散的系统中,如果没有达成共识,你就无法改变任何事情。除非得到所有人的同意,否则没有“修复”任何东西。

3

维护成本很高

传统的集中式数据库只需要写入一次。区块链需要写入数千次。传统的集中式数据库只需要检查一次数据。区块链需要数千次检查数据。传统的集中式数据库只需传输一次数据即可存储。区块链需要传输数千次。

维护区块链的成本要高出几个数量级,并且成本需要通过效用来证明。大多数应用程序在寻找早期声明的一些属性(如一致性和可靠性)时,可以使用完整性检查,收据和备份来降低这些成本。

4

用户是主权

这可能非常好,因为公司不喜欢承担拥有用户数据的责任。但是,如果用户“行为不端”,这可能会很糟糕。没有办法摒弃那些用无聊的数据向你的区块链发送垃圾邮件的用户,或者找到了一种以某种方式获利的方式,这会给其他用户带来很多不便。这与上述观点有关,即激励结构必须真正地设计,非常好,因为找出漏洞利用的用户不太可能放弃,特别是如果用户有利润的话。

您可能认为您可以简单地拒绝向恶意用户提供服务,这在集中服务中非常容易。但是,与集中式服务不同,拒绝服务很困难,因为没有任何一个实体有权将任何人踢出去。区块链必须是公正的,并执行软件定义的规则。如果规则不足以阻止不良行为,那你就不走运了。这里没有法律的“精神”。你只需要处理恶意或行为不端的演员,可能需要很长时间。

5

所有升级都是自愿的

强制升级不是一种选择。网络上的其他玩家没有义务更改您的软件。如果他们这样做,这样的系统将更容易,更快,更便宜地构建为集中式系统。区块链的重点在于它不受单个实体的控制,并且强制升级会违反。

相反,所有升级都必须向后兼容。这显然非常困难,特别是如果您想要从测试角度思考时添加新功能甚至更难。每个版本的软件都会为测试矩阵增加很多,并延长发布时间。

同样,如果这是一个集中式系统,那么通过不再为旧系统提供服务,这将非常容易纠正。你不能这样做,但是在分散的系统中你不能强迫任何人做任何事情。

6

缩放真的很难

最后,比传统的集中式系统更难缩放几个数量级。原因很明显。相同的数据必须存在于数百或数千个地方而不是单个地方。传输,验证和存储的开销非常大,因为数据库的每个副本都必须支付它们,而不是在传统的集中式数据库中只支付一次这些费用。

当然,您可以通过减少节点数来减轻负担。但那时,为什么你需要一个分散的系统呢?如果扩展成本是主要关注点,为什么不建立一个集中式数据库呢?

7

集中化要容易得多

如果您注意到一个主题,那就是分散的系统很难处理,维护成本高,难以升级并且难以扩展。与区块链相比,集中式数据库更快,更便宜,更易于维护且更易于升级。那么为什么人们继续使用区块链这个词就好像它是解决所有问题的灵丹妙药呢?

首先,许多通过区块链销售的行业实际上已经过期IT基础设施升级。财务结算仍在使用70年代的软件。供应链管理软件既难以使用又难以安装。由于涉及风险,这些行业的大多数公司都抵制升级。有许多基础架构升级需要花费数亿美元,最终还是会被回滚。区块链是销售这些IT基础架构升级的一种方式。

其次,区块链是一种看起来像是处于技术前沿的方式。无论喜欢与否,“区块链”这个词已经具有了自己的生命。很少有人真正理解它是什么,但想要显得时髦,所以使用这些词作为一种听起来更聪明的方式。

像“云”意味着别人的计算机和“AI”意味着一个经过调整的算法,在这种情况下,“区块链”意味着一个缓慢,昂贵的数据库。

结果是很多人在没有真正理解能力或成本的情况下大肆宣传承诺。更糟糕的是,实际的技术细节和成本从很多风险投资公司和高管中抽象出来,以掩盖区块链能做什么和不做什么。他们下面的每个人都害怕说皇帝没有衣服,我们现在有了这种情况。

3

那么什么是区块链有益呢?

我们已经确定区块链相对于集中式数据库非常昂贵。所以你应该使用区块链的唯一原因是分散。也就是说,消除单点故障或控制。

这自然意味着软件或数据库不得经常改变,如果有的话。升级或改变规则的升级应该没什么好处,也有很多不足之处。

大多数行业都不是这样的。大多数行业都需要新功能或升级,并可根据需要自由更改和扩展。鉴于区块链难以升级,难以改变且难以扩展,大多数行业对区块链没有多大用处。

我们发现的一个例外是金钱。与大多数工业用例不同,如果不改变,金钱会更好。改变规则的不可变性和困难对金钱是积极的,而不是有害的。这就是为什么在比特币方面,区块链是适合这项工作的工具。

很明显,很多想要使用区块链的公司根本不想要区块链,而是需要对其特定行业进行IT升级。这一切都很好,但使用“区块链”这个词来达到目的是不诚实和超越它的能力。

4

结论

如今,区块链是一个受欢迎的术语,不幸的是,这种“区块链不是比特币”模因不会死。如果您是一个集中式服务,区块链不能为您提供任何使用集中式数据库便宜一千倍的便宜。如果你是一个分散的服务,那么你可能会愚弄自己,而不是考虑系统中存在的单点故障。在真正的分散服务中根本就没有“你”。

早在2000年代早期,科技行业的许多高管就推动使用Java和XML。尽管这两件事都是工具而不是实际产品,但许多高管都坚持使用它们,无论它们与工程师想要达到的程度有多差。区块链就是这样的。专注于您正在解决的问题,工具将使自己变得显而易见。专注于您想要使用的工具,您最终会使Rube Goldberg机器不能做任何特别好的事情。

我们少对区块链技术炒作,区块链技术或许才能快些有落地应用。

温馨提示

如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180731G0JXNB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券