区块链常被用来炒作的点有:
它能解决收入不平等
数据永远安全
让一切变得高效且可信
……
区块链真的有说得那么好吗?它真的能为医疗、金融、供应链和知识产权等多种行业带来惊人的改变吗?如果说只看好比特币,为什么又不看好它背后的技术区块链呢?
带着这些问题,我们进入下文。
很多公司把“区块链”这个词当神器来用,在自家的产品面前加上“区块链”三个字,就好像这个产品用的技术、数据就错不了。显然,这家公司对区块链怕是有什么误解。
什么是区块链?这个概念听得我们耳朵都起茧了。从技术上讲,它就是一串数据块,一个数据块就是一组有序的交易,说得更直白点,你可以把区块链当做一种数据库,并具有一些额外的属性。
区块链与普通数据库的区别在于,对于如何将数据放进数据库这件事儿,区块链多了一些特定的规则。
第一,区块链不允许与数据库中已经存在的其他数据发生冲突;
第二,区块链只允许增加数据不允许更改数据;
第三,数据的本身归属于它的所有者;
最后,它是去中心化的,人人都认同数据库中事物的状态,不需要中心化权利的调节。
最后一点是区块链最吸引人的地方,权利的下放意味着不会某个点的失效而导致整个系统溃败。没有一个权威机构能够拿走你的资产,或者改变“历史记录”来满足他们的需求。但是,这种好处需要付出很大的代价。
为什么说区块链很难?
任何一方都无法控制、不可篡改,这当然很有用,但要创建一个这样的系统的成本实在是太高太高,很难达到一个完美状态。下面我们来看看这其中的一些问题。
1、区块链系统的开发严格且缓慢
创建一个准确无误的系统并非易事。一个小小的错误重则毁掉整个数据库,轻则导致数据不匹配。所以,所有的系统从一开始就必须将方方面面都设计得完美无缺。在区块链的世界里,不允许有缺陷。如果你破坏了一些东西,那么就会失去一致性,这条链就变得毫无价值。
您可能会想,为什么不能只修复数据库然后从头再来?在一个集中化的系统这很容易做到,但在一个去中心化的系统很困难。如果要更改数据库,您需要系统中所有参与者的达成一致。然而,区块链必须是一个不受单个实体控制的公共资源(去中心化还记得吗?),否则就变成了又贵有慢的数据库。
2、设计奖励机制很难
如何设计一个合适的奖励机制,确保系统中的参与者不会滥用权力破坏数据库,这也是区块链的一大难点。如果加入数据的成本很低,那么这条链上可能会存在很多垃圾数据,但是如果数据写入的成本很高,那这种昂贵的链也没什么卵用。
怎么确定最终数据?如何确保奖励恰当?为什么所有的节点都保存或更新数据?当数据发生冲突时,是什么让节点选择这段数据而不是另一段数据?这些都是要提前想到的问题,如果一开始没有都想清楚,那么随着技术和公司的变化,这个区块链系统就会失效。
这时,你可能会想知道为什么临时“修复”一些不实用的奖励机制。答案还是跟前面一样的,在一个集中化的系统中,这很容易做到,但在一个去中心化的系统中,没有共识你根本就没有权利改变任何事情。
3、维护成本很高
传统的数据库一个数据只需要写入一次,而区块链则需要被写入几千次;传统的数据库只需检查一次数据,但区块链需要检查几千次数据。因此,要维护一个区块链系统,成本要比传统的数据库高几个数量级,前提还是这个系统值得这样维护。
大得多数项目其实都只是在追求数据的一致且连贯性,其实他们大可不必用区块链这么麻烦的系统,很多便宜的技术也可以解决这些问题。
4、用户自主权
很多公司一开始就不想为用户的数据负责,用户有自主权对他们来说是好事。如果用户要搞破坏,那就糟糕了。你没有办法完全剔除那些发送垃圾数据的用户,也没有办法剔除那些通过某种方式获利并给其他人带来不方便的用户。这跟前面讲到的奖励机制一样,你必须提前想到N种可能会出现的bug,即便是在有利可图的情况下用户也不会去做坏事。
有人可能想为什么不直接拒绝向那些恶意的用户提供服务,这在中心化系统中容易搬到,区块链很难拒绝某一个人。只要是提前设定好的规则,区块链都必须公正的执行。如果项目方提前没有想到这些问题,那就倒霉了,区块链中讲道德是没有用的,你可能需要很长时间处理恶意用户。
5、所有升级都必须是自愿的
强制升级是不行的。如果这个系统必须要用户升级才能使用,那完全可以用中心化的系统,方便又快捷,根本用不上区块链。区块链不受单个实体控制,强制升级根本办不到。
相反,所有的升级都必须兼容旧版本。光是测试一个新功能都让人头大,升级整个版本更要花很长的时间。
同样,如果这是一个中心化系统,通过不再为旧系统提供服务,就可以解决这个问题了。然而,区块链办不到。
6、扩容真的很难
最后,与传统的中心化系统相比,扩容至少要困难几个数量级。原因很明显,同样的数据必须存在成百上千个地方,而不是一个地方。传输、验证和存储的费用非常大,因为数据库上的每个副本都必须支付这些费用,不像在传统的中心化数据库中只用支付一次。
当然,这可以通过减少节点的数量来减轻负担。但如果这样做,你为什么还要一个去中心化系统呢?如果扩容成本是主要问题,那为什么不做一个中心化的数据库呢?
中心化要容易得多
通过上面的内容,相信大家很容易发现:去中心化的系统很难用、维护成本高、很难升级、很难扩容。相反,去中心化的数据库比区块链更快、更便宜、更易于维护和升级。那么,为什么人们总是说区块链这好那好,就好像它是灵丹妙药,能解决所有的问题?
首先,很多需要“区块链+”的行业只是需要升级IT基础设施。
很多让人都吐槽,医疗行业的软件很糟糕,就像在用70年代的软件,供应链管理的软件安装起来麻烦还不好用。这些行业中的大多数公司往往因为保守而拒绝升级。也有很多搞基础设施升级的,投进去几亿美元的经费,最终还是用老版本。而大多将IT基础设施升级绑上区块链的公司,只不过是让他们更有吸引力而已。
其次,区块链可以让你看起来紧跟科技潮流。
不管你承不承认,“区块链”已经走出自己的路。很少有人搞明白它到底是什么,但为了显得更时髦、更有内涵就整天把它挂在嘴边。就像“云”就是指别人的计算机,“AI”指的是经过调整的算法一样,“区块链”在某些情况下意味着一个缓慢而昂贵的数据库。
第三,人们不喜欢ZF对某些行业的控制,他们希望有一种新的能够不同于法律框架的审判机制,即便后者既慢又烧钱。对他们来说,“区块链”实际上只是摆脱ZF重监管的一种方式。区块链并没有这么神通广大,能完全解决人类的冲突。
这导致很多人都被区块链炒作忽悠了,一些投资人和大佬对于技术细节的不考究,也让很多人不知道原来区块链有这么难、这么不好做,这种时候,人人都不敢说皇帝没有穿新衣。
那区块链有什么用?
前面我们已经确定,把区块链当做数据库来用非常烧钱,因此,用区块链的唯一原因就是去中心化。也就是说,想要避免单点故障或单点控制。(ps,单点故障:指系统中一旦失效,就会让整个系统无法运作的部件)
这意味着这些软件或数据库不能经常改动,如果常常改就有可能搞砸或者留下隐患。
大多数行业都不是这样的。大多数行业都需要新的功能或升级,以及在必要时自由地改动或扩张。考虑到区块链难升级、难改变、难扩大规模,区块链对大多数行业都没有多大用。
我们发现的一个例外——钱。它与大多数应用不同,不变反而更好。不改变规则或者难以改变规则对金钱是有利无害。这也就是为什么区块链非常适合比特币的原因。
很明显,很多想要用区块链的公司并不是真的想用,而是想要升级IT基础设施。这种行为也不能说是错的,但用“区块链”来达到目标就是不诚实的,会过度消耗企业的信用。
结论
区块链现在是一个流行术语,像 “区块链不只有比特币”的说法会一直流传。如果你要一个中心化系统,那么区块链不会为你提供任何中心化数据库所不能提供的东西。如果你只是要一个去中心化的系统,而是为了排除“单点故障”,那么你可能是在自欺欺人,在一个真正去中心化的系统中根本不会只存在一个“你”。
早在2000年初期,很多科技行业的高管都在推崇Java和XML。尽管这两者都只是工具,而不是实际产品,但许多高管还坚持着用它们,不管它能满足工程师们想要达到的目标。
区块链的情况跟这很相似。如果把注意力集中在要解决的问题上,要用的工具自然会好用。如果把注意力集中在工具上,最终只会造出华而不实的东西。
从某种意义上来说,目前很多“区块链+”项目都试图在做完不成的事情。既要一个去中心化系统的安全性,又要一个中心化系统的控制权,鱼和熊掌不可兼得,最终可能会吃力不讨好。区块链概念被炒作太久了,大多时候成为大佬割韭菜的噱头。越快摆脱这种炒作,长远来看对谁都好。
网友评论