首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么区块链依然面临着很多问题

围绕区块链的炒作声势浩大。许许多多有关区块链的新闻都告诉人们,区块链现在将:

1.解决收入不平等问题

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

3.让一切变得更加高效和可靠

4.拯救垂死的婴儿(开玩笑)

无论如何,区块链到底是什么?它真的可以做所有这些事情吗?区块链能为医疗,金融,供应链管理和音乐版权等多种行业带来惊人的成果吗?持有了比特币是不是意味着你就是区块链专家?你怎么能一边持有比特币资产一边说着它背后技术的坏话呢?

在本文中,我试图通过阐述区块链是什么来解决这些问题,而更重要的是,说明区块链不是什么。

什么是区块链?

为了一一证明这些声明的对错,我们必须首先定义区块链是什么,一直以来,在对区块链的准确定义上都存在着很多混淆。许多公司使用“区块链”这个词来表示某种神奇的装置,通过它它们的所有数据都不会出错。 当然,这种设备并不存在,至少在真实世界之中。

那么区块链是什么?从技术上讲,区块链是区块的链表,区块是一组有序的交易。如果你不理解最后一句话,可以将区块链视为数据库的一个子集,并带有一些附加属性。

将区块链与普通数据库区分开来的主要原因是存在关于如何将数据放入数据库的特定规则。也就是说,它不能与已经存在于数据库中的一些其他数据相冲突(一致性),它仅可以追加(不可更改),并且数据本身属于某一人(可拥有),它是可复制和可用的。最后,每个人都同意这个数据库中的数据或是事物状态都是没有一个中央“政府”或“机构”来管理的。

这最后一点,它确实是区块链的闪闪发光的桂冠。分权是非常有吸引力的,因为它意味着没有单一的失败点。也就是说,没有任何一个单位能够拿走你的资产或改变“历史”来适应他们的需求。这种始终如一的,使你不用必须相信任何人的去中心化技术是每个在使用这项技术的人所感到满意的。但是,这种好处成本很高。

区块链的成本

不受任何一方控制的审计方式当然是有用的,但创建这样一个系统的成本很高。我们来看看它所带来的一些问题。

l发展更加严格和缓慢

创建一个可证明一致的系统并非易事。一个小错误可能会破坏整个数据库或导致一些用户的数据与另外的用户的数据不同(损坏或拆分的数据库不再有任何一致性保证)。此外,所有这些系统必须从一开始就设计为是一致的。区块链不可以被破坏数据,因为一旦被破坏了,整个数据库就失去了一致性,失去一致性的区块链就会变得毫无价值。

你可能会想,为什么你不能修正数据库或重新开始并继续前进?这在中央系统中很容易实现,但在分散式系统中这非常困难。因为你需要与整个数据库的所有用户达成共识,或需要系统中所有参与者达成一致,才能更改数据库。区块链必须是一个不受单个实体控制的公共资源(分散性,还记得吗?)。

l激励结构很难设计

添加正确的激励结构并确保系统中的所有参与者不会滥用或损坏数据库同样是一个很大的问题。区块链可能是一致的,但如果它存在大量无用的无用数据,那么它就不是非常有用,因为将数据放入数据的成本非常低。如果几乎没有数据,那么它们都不是一个有用的区块链,因为将数据放入数据的成本非常高。

什么赋予数据最终意义?你如何确保该数据的回馈符合整体网络的目标?为什么节点保存或更新数据,以及当他们发生冲突时,他们为什么选择这个数据而不是另一个?这些都是需要解决方案的激励问题,而且它需要在公司和技术时时刻刻从现在到未来的变化过程中都保持一致,不然区块链就是毫无价值的。

同样,你可能想知道为什么你不能“修复”一些破损的激励。也同样,这在中央系统中很容易,但在分散的系统中,如果没有达成共识,您根本无法改变任何事情。除非每个人都同意,否则没有任何“修复”。

l维护成本非常高

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

维护区块链的成本要高出几个数量级,不过这些成本还需要通过实用程序来证明。

l用户是主权的

这可能是非常好的,因为公司不喜欢首先承担管理用户数据的责任。但是,如果用户“行为不端”,这将会很糟糕,因为没有办法将那些通过他的数据来欺诈或者是导致其他用户不便的用户开除出去。这跟我们上面所讲的有关,即激励结构必须非常好地设计,因为尤其是当涉及到利润的时候,由于某些行为不端的用户而要修改整个数据将会变得更加困难。

你可能会认为你可以拒绝向恶意用户提供服务,这在集中式服务中很容易实现。然而,与集中式服务不同,在分散化服务中拒绝服务非常困难,因为没有任何一个实体有权将任何人踢出局。区块链必须是公正的,并执行由软件定义的规则。如果规则不足以阻止不良行为,那么只能怪你运气不好——这里没有法律的“精神”。

如今,区块链是一种看起来像处于技术前沿的方式。不管你喜不喜欢,“区块链”这个词已经成为了一种生活方式。很少有人真正理解它是什么,但是人们却总在用这些此作为一种显得自己更聪明的方式来谈论它。就像“云”意味着别人的计算机,“AI”意味着一大堆算法,在这种情况下,“区块链”意味着一个缓慢,昂贵的数据库。

此外,人们真的不喜欢政府对某些行业的控制,并且希望有一个不同于通常很慢且昂贵的法律框架的不同裁决机制。对他们来说,“区块链”实际上只是摆脱政府监管的沉重工具的一种方式。但其实这超出了区块链可以做的事情,区块链不会奇迹般地消除人类冲突,人类的冲突永远都在。

那么区块链有什么用处?

我们已经确定区块链相对于集中式数据库而言非常昂贵。所以你应该使用区块链的唯一原因是分散。也就是说,删除单点故障或控制。这自然意味着软件或数据库不能经常改变事物,如果有的话。升级和改变规则应该有很大的不利之处。

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

我们发现的一个例外是金钱。与大多数工业用例不同,如果金钱不变,金钱反而会更好。不变和难以改变规则对金钱有利而不是损害。这就是为什么区块链是比特币工作的正确工具。

很明显,很多希望使用区块链的公司并不是真的想要区块链,而是想要跟上潮流。这一切都很好,但是使用“区块链”这个词来达到目的就是不诚实和高估它的能力。

结论

区块链是当今流行的术语,不幸的是,这种“区块链不是比特币”的模因不会消失。如果你采用集中式服务,区块链不会给你带来任何比于集中式数据库更廉价高效的使用方式。如果你是采用分散的服务,那么你可能在自欺欺人而不去考虑系统中存在的单点故障——在真正的分散式服务中根本没有“你”这一概念。

整篇文章中最大的笑话

早在2000年初,科技行业的许多高管就推动使用Java和XML。 尽管这两件事是工具而不是实际产品,但许多高管坚持使用它们,不管它们的项目是否适合。区块链如今面临的情况和当年java和XML的情况非常相似:如果你终点关注的是你到底要做什么,这些工具将会为你提供良好的帮助;如果你只是不论如何都想强行把该工具硬套上你要做的事情,你最终会失望的。

从某种意义上说,目前区块链正试图做到不可能。他们希望分散式系统的安全与集中控制是最好的,但结果却很有可能是最糟糕的。通过集中式系统的故障模式,你可以看到分散式系统将面临的成本和难度。

区块链被用来作为流行词来销售大量无用的“垃圾”。我们摆脱炒作的速度越快,长远来说,我们才能变得更好。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券