为什么区块链的发展如此艰难?

区块链发展的如火如荼,那么到底什么是区块链,它真的能达到人们预期的效果吗?区块链能给医疗、金融、供应链管理和音乐版权等多种行业带来惊人的改变吗?比特币不是意味着是支持区块链的吗?为什么有些人支持比特币,却对它背后的技术持否定态度呢?

在本篇文章中,我们将通过研究区块链是什么或不是什么,来回答这些的问题。

一、什么是区块链

区块链的定义在目前来说还具有很大的争议性,一些公司将区块链看作是数据永远不会出错的机器设备,但是显而易见的是不会出错的设备在现实世界中并不存在。

从技术上讲,区块链是块的链表,而块是一组有序的事物。如果理解有困难的话,我们可以将区块链看作是有一些附加属性的数据库的子集。区别区块链与普通数据库的主要区别在于,如何用特定的规则将数据放入数据库中。也就是说,它不能与数据库中已经存在的其他数据相冲突,它只是附加的(不可变的),并且数据本身被锁定到一个所有者(可拥有的),它是可复制的并且可用的。最后,每个人都同意数据库中没有中心的(去中心化的)事物的状态(规范)。

最后一点是区块链的核心。区块链本质上是一个分布式的账本,任何人都可以对这个账本进行核查,但不存在一个单一的用户可以对它进行控制,在区块链系统中的参与者们会共同维持账本的更新。这意味着它只能按照严格的规则和共识来进行修改。这对于使用区块链技术的人说是一个巨大的好处。然而,得到就好处需要付出巨大的代价。

二、区块链的成本

不受任何单一一方控制的不可变数据显然是有用的,但是创建这样一个系统需要很大的代价。让我们来看看其中的一些问题。

(一)发展过程需要严格和循序渐进

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

你可能会想,为什么你不能修复数据库或者重新开始呢?这在中央系统中很容易实现,但在分散式系统中实现非常困难。你需要达成共识,或需要系统中所有参与者达成一致协议,才能更改数据库。区块链必须是一个不在单个实体的控制下的公共资源。

(二)奖励结构设计艰难

另一个问题是如何实现正确健康的激励模式,并确保系统中的所有参与者不滥用或损坏数据库。区块链是一致的,但如果它有大量无意义的数据,那么区块链就失去了它应有的功能,因为将数据放入其中的成本会变低。但是假如几乎没有数据的话,那么区块链也是无用的,因为将数据放入其中的成本会非常高。

是什么给出了数据的最终结果?如何确保奖励与网络目标一致?为什么节点要保存或更新数据,以及什么使它们在冲突时选择一个数据?这些都是需要好好思考的激励模式,它们不仅要在开始时进行调整,而且要在未来随着技术和公司的变化而进行调整,否则区块链就没用了。同样,你可能想知道为什么不能激励“修复”一些破坏。再次强调,这在一个集中的系统中是很容易的,但是在一个分散的系统中,在没有统一下你就不能改变任何事情。除非每个人都同意,否则不能“修复”任何东西。

(三)维修费用高昂

传统的集中式数据库编写、检查、数据传输只需要一次,而区块链需要被写入、检查数据、传输数据数千次。维护区块链的成本很高,而且成本需要用效用来证明。大多数应用程序想要获得完整的便宜的东西需要查找一些早期声明过的特性,比如一致性和可靠性,可以通过完整性检查、收据和备份来实现。

(四)用户主权

一般的公司不喜欢对用户拥有的数据承担责任这也是一件好事。然而,如果某些用户“行为不端”也会是一件很糟糕的事情。如果没有办法赶走那些发送给你琐碎的数据区块链的用户,或者是羊毛党的话,会给其他用户带来很多不便。在区块链设计成型之前,激励模式必须设计得非常到位,特别是要修补在给用户利润时的漏洞。

你可能认为你可以单纯地拒绝服务于恶意用户,这在集中式的服务中是很容易做到的。然而,与集中服务不同的是,区块链拒绝服务是困难的,因为没有一个实体有权力把任何人踢出去。区块链必须是公正的,并执行由软件定义的规则。如果这些规则不足以阻止破坏行为,那你就太失败了。这里没有法律的“精神”。你可能需要很长的时间对付那些恶意的或可以的人员。

(五)自愿升级

强制升级不是一个选项。网络上的其他玩家没有义务改变您的软件。如果他们这样做了,这样的系统将像集中系统一样更容易、更快、更便宜。区块链的重点在于它不受单个实体的控制,并且被强制升级侵犯。

相反,所有升级都必须向后兼容。这显然是相当困难的,特别是如果您想从测试的角度考虑添加新特性,这将变得更困难。该软件的每个版本都增加了很多测试矩阵,并延长了发布时间。同样,如果这是一个集中的系统,这将很容易纠正,不再为旧系统服务。但是在一个分散的系统中,你不能这样做,因为你不能强迫任何人做任何事情。

(六)扩展艰难

区块链的缩放至少比传统的集中式系统要困难几个数量级。原因是显而易见的,同样的数据必须存储在成百上千的地方,而不是在一个地方。传输、验证和存储也是一笔巨大的开销,因为数据库的每一个副本都必须支付它们,而不是在传统的集中式数据库中只支付一次。当然,您可以通过减少节点数量来减少负担。但是为什么你还需要一个分散的系统呢?如果主要关注的是缩放成本,为什么不建立一个集中式的数据库呢?

注:以上所有信息,不构成投资建议,仅供参考使用,币圈有风险,投资须谨慎!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180522G08MLD00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券