从多方面了解区块链的是与非

最近,区块链被吹上天了。所有的区块链项目都宣称可以:

1.解决收入不平等问题;2.保障所有数据绝对安全;3.使得所有交易更加高效可靠;4.挽救处境艰难的企业。

区块链是什么?

为了方便阐述,我们先给区块链一个定义。因为现在市场上,对区块链的定义有很多混淆之处。例如,许多公司声称拥有可以保证所有数据绝对准确的设备,他们给这个设备定义为“区块链”。当然,这样的设备是不存在的,至少在现实生活中不存在。

那么区块链是什么呢?技术上来说,区块链是由区块组成的“链”,而区块里又包含交易数据。如果你还不能理解,可以将区块链理解成一个附带其他功能的数据库。

而区块链与普通数据库最大的区别在于,区块链在将数据收入数据库时,需要遵循一套特定的规则。即:所收入的数据不能和库内已经存在的数据发生冲突(一致),数据被计入后不能更改(不可撤回),并且,数据本身会被锁定到唯一的所有者(可拥有)。数据是可复制的,也是可用的。最后,在去中心的情况下(分散的),每个人都认同数据库中数据的真实性(规范的)。

区块链的成本

不受中心化权力控制的、无法被篡改的数据库肯定是好处多多,但创建这样一个系统需要很多成本。

开发过程严格和缓慢

创建一个可证明的、完全一致的系统,不是一件容易的事。一个小错误就可能破坏整个数据库,或者导致某些数据库与其他数据库不同。当然,损坏或拆分的数据库不具有任何一致性。此外,所有这类系统都必须从一开始就设计得前后一致。如果你破坏了规则,系统就失去一致性,意味着区块链被破坏,变得毫无价值。

激励措施设计困难

采取适当的激励措施,并确保系统中的所有行为者都不能滥用或破坏数据库,也是一个重要的考虑因素。如果因为将数据放入区块的成本太低,而导致区块内有很多琐碎的、无用的数据,那这个区块链是没有多大价值的;但是如果因为成本太高,而导致没人愿意把数据存入区块中,那么这个区块链也是没有价值的。

数据的确定性从何而来?如何设计合理的激励制度满足节点需求?怎么样让节点参与保管或更新数据,以及当数据发生冲突时,如何决定选择其中一个数据而不是另一个数据?这就需要采取激励措施。而且激励措施不仅需要在开始时,而且要在未来的所有时刻都保持不变,否则区块链就没有价值了。

维护费用高昂

传统的中心化数据库只需要写入一次数据,而区块链需要写入成千上万次;传统的中心化数据库只需要检查一次数据,区块链内的数据需要被检查成千上万次;传统的中心化数据库中,只需要传输一次就可以存储,区块链内的数据需要被传输成千上万次。

维护区块链的成本非常高,而这些成本付出的是否有必要,需要用最终实践来证明。大多数应用程序一边希望获得区块链的一致性和可靠性,一边通过使用完整性调查、收据和备份等方式,寻找降低成本的可能。

用户是独立的

这可能是个很好的现象,因为公司一开始就不想持有用户的数据;但如果用户行为不端,那么这也可能是不好的。没有办法阻止那些用垃圾数据来区块链捣乱的用户,也没有办法阻止有人钻空子,利用系统漏洞来非法盈利。所以,又回到上面提到的,要建立一个激励措施,并且这个激励措施最好是无懈可击。因为一旦区块链有漏洞,并且被居心不良的人发现,那么将造成很大的隐患。

所有的升级都是自愿的

强制升级什么的,是不可能存在的。没有任何个人/实体有权利对你的软件进行任何操作。当然,在中心化机构里可能很容易,但是区块链的要点就是去中心化,即不受单个个人/实体控制。强制升级违背了区块链本质精神。

所有升级都必须向后兼容。如果你想要添加新特性,并且,如果还需要进行一下测试的话,那就更加困难。软件的每一版更新都增加了测试矩阵,延长了发布的时间。

同样地,如果是中心化机构,这是很容易做到的,不再服务旧系统就可以了。但是,在分布式系统中就不一样,因为没有人可以强迫其他人做任何事。

规模庞大也是个的问题

最后,与中心化系统相比,在区块链内定标至少要困难几个数量级。原因很显然,一个数据不再只是存放到中心化数据库,而是要存放进数百上千个节点。以前,数据传输、核查、存储只需要缴纳一次费用,而现在,数据的每一次调用都要支付费用。

中心化系统就简单多了

上面提到,分布式系统使用困难、维护成本很高、升级难度很大、涉及规模也很大。与区块链相比,中心化数据库使用更快、更便宜、更易于维护和升级。但是,即便如此,为什么人们像如获至宝一样,总是提及区块链呢?

首先,许多利用区块链改革的行业,确实早就该升级IT基础设施了。医疗保健的软件不好用就不用说了,财务结算使用的是来自上世纪70年代的软件,而供应链管理软件安装和使用都很困难。这些行业大多不愿意升级,因为风险太大了。有许多公司花费数亿美元来升级基础设施,但最终还是被淘汰了。区块链是这些行业升级基础设施的一种方式,并且更有吸引力。

其次,区块链是非常前沿的技术。不管你信不信,现在很少有人能够真正理解“区块链”到底是什么,但是为了显得时髦,还是争先恐后用上这个名词。就像是把“云”理解为“别人的计算机”,“AI”理解成“经过调整的算法”,按这种理解,“区块链”就是“一个缓慢、昂贵的数据库”。

第三,人们不喜欢权利机构的控制,因为这些机构通常是运行缓慢、费用高昂的,人们需要一个全新的审判机制。对他们而言,“区块链”实际上是摆脱权利机构的一种方式。这其实超过了区块链真正的功能,因为区块链并不能消除人与人之间的冲突。

结果是,很多人在没有完全理解区块的概念,不了解区块链的运营成本的基础上,过分夸大区块链的作用。更糟的是,许多风投公司和企业高管在发言时,对技术细节和开发成本的表述十分模糊,以致于人们搞不清楚区块链到底能做什么,不能做什么。就像很多人不敢直说皇帝其实没有穿衣服,这也就是我们现在的处境。

所以区块链有什么优点呢?

可以确定的是,相比于中心化数据库,区块链的费用更加昂贵,所以使用区块链的唯一一个原因就是:去中心化。也就是说,去除单一的权力中心。

这意味着,软件和数据库一旦被确定,就不能再改变规则,也就是不能再进行升级。

大多数行业不是这样的。大多数行业都希望在运营过程中进行更新或升级,以及在必要时改变规则,或者扩展市场。考虑到区块链很难升级,很难改变,也很难扩展,所以,区块链对大多数行业没有多大用处。

但是,货币是个例外。与企业不同,稳定不变的环境对货币是有好处的。规则的一致性和唯一性对于货币是有利的,可以避免环境变化带来的币值波动问题。这也是为什么谈到比特币时,人们认为选择区块链技术是正确的。

很明显,许多想要加入区块链的公司需要的不是区块链技术,而是想对其特定行业进行IT升级。听上去不错,但是用“区块链”来达到这个目的是不可靠的,而且夸大了它的能力。

结论

区块链是当今流行的术语,不幸的是,这种“区块链而不是比特币”的迷因不会死。如果你提供的是中心化服务,区块链不会让你的服务更加廉价高效。如果你提供的是分散的服务,那么你可能是在欺骗自己,而不是考虑系统中存在的权力中心的问题。因为,在真正分散的服务中根本不需要“你”这个公司/个人的存在。

早在2000年代初,科技行业的许多高管就在推动使用Java和XML。尽管这两个都是工具,而不是实际产品,但许多高管坚持使用这些工具。区块链就是这样的。把注意力集中在你正在解决的问题上,这些工具将成为你实现目标的工具。把注意力集中在你想要使用的工具上,你最终就会制造出无用的机器。

从某种意义上说,目前很多人正在利用区块链概念做不可能的事情。他们既想要一个安全的分布式系统,又想拥有集中的控制权。这种想法是好的,希望融合两种模式的长处。但是,结果可能是获得两种模式的缺陷:付出构建分布式系统的成本,获得集中式系统的用户体验。

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

扫码关注腾讯云开发者

领取腾讯云代金券