预计阅读时间:10分钟
作者:jimmysong
译者:Flora
前言
区块链到底有没有泡沫?区块链的热度一直居高不下,关于区块链的应用也是众说纷纭:
1.它能解决收入不均的问题
2.保证数据永久的安全性
3.让一切变得更有效率或者更不可信
4.拯救垂死的婴儿
那么区块链到底是什么呢?它真得能做到以上这些事情吗?区块链能为医疗、金融、供应链管理和音乐版权保护等各行各业带来让人惊喜的变化吗?比特币的专业人士是不是也是区块链的支持者呢?你怎么能在站比特币的同时去质疑比特币背后的底层技术呢?
在这篇文章中,我想通过探讨区块链的是与非来解释以上疑问。
区块链是什么
我们必须给区块链一个清晰的定义,才能解决这里边很多混乱的地方。很多公司都滥用了区块链这个词,似乎有了区块链这个神奇的设备,所有的数据都永远不会有任何问题。显然,这样的装备,在我们的现实世界里是不可能存在的。
那么区块链是什么?从技术上讲,区块链是数据区块以有序的方式排列组合起来的一串链式数据结构。如果您不理解,您可以将区块链看作是具有一些附加属性的数据库的子集。
区块链区分于普通数据库的地方主要在如何用特定的规则将数据放入数据库中。也就是说,它不能与已经存在于数据库中的其他数据冲突(一致),它只是附加(不可变),并且数据本身被锁定到所有者后,它是可以复制和可用的。最终,每个人都达成共识同意数据库中的数据以一种规范化、去中心化的状态存在。
区块链被推上圣坛的另一个重要的原因是:去中心化的字眼是非常具有吸引力的,它意味着个体不会陷入被动。也就是说,没有任何一个所谓的权威机构能够拿走你的资产或者通过篡改历史以满足他们的私利。因为这种不能改变的审计式的追踪,使你不必去相信任何人,然而人们争相追逐这个技术带来的利益的同时也付出了巨大的代价。
区块链的成本
创建一个这种不受人为控制、无法改变的可跟踪系统是需要付出很多代价的,让我们来看看到底存在些什么问题:
发展受限,进程缓慢
创建一个可以证明的并且达成共识的系统不是一件易事,一个小错就会毁坏整个数据库或者导致数据库之间的不一致。毁坏或者被拆分了的数据库显然不能再保证任何一致性。而且,所有的一致性所涉及的系统从一开始就应该设计好,区块链世界里没有“快速转变或者停顿“一说,一旦失去一致性,区块链就会变得毫无价值。
你可能会想,为什么不能修复数据库,改善一新后重新开始呢?事实上,在中心化的系统中这个很容易做到,但是在去中心化的系统中却非常难。因为需要共识,需要这个系统中所有的参与者统一才能修改。因为它是去中心化的,区块链必须是不受单个实体控制的公共的资源系统,否则还是在费心费力地建造一个缓慢而昂贵的中心化的数据库。
难以设计的激励架构
添加正确的激励结构并确保系统中的所有参与者不会滥用或破坏数据库同样是一个重要的考虑因素。如果数据加入链的成本非常低,如果其中充斥着大量的无聊的、无用的数据显然意义不大。
相反,如果入链的成本很高,几乎没有数据,那么这种一致性的区块链也是没有什么用的。
如何确保奖励与网络目标保持一致? 为什么节点会保留或更新数据?是什么让它们在冲突时选择一条数据而不是另一个?这些都是需要良好答案的激励性问题,它们不仅需要在开始时保持一致,而且需要在未来随着技术和公司的变化始终保持一致,否则区块链就无用了。
你可能还想知道为什么不能“修复”一些有问题的激励。 同样的,这在中心化的系统中很容易,但在去中心化的系统中,如果没有达成共识,就不能改变任何事情。 除非得到所有人的同意,否则不能“修复”任何东西。
维护成本很高
传统的中心化的数据库只需要写入一次,而一个区块链需要写入数千次; 传统的中心化的数据库只需要检查一次数据,而区块链则需要数千次检查数据;传统的中心化的数据库只需传输一次数据即可存储而区块链的数据需要传输数千次。
维护区块链的成本要比普通的高出几个数量级,而且成本需要通过效用来证明。大多数应用程序在寻找早期声明的一些属性(如一致性和可靠性)时,可以使用完整性检查、收据、备份,以及更低的成本来获得这些功能。
用户有独立的主权
首先这可能是好的,因为公司不喜欢担负拥有用户数据的责任。但是,如果用户“行为不端”,这也可能会很糟糕。对于那些在区块链里发送大量没有意义的垃圾数据且通过各种漏洞获利的用户,无法把他们驱逐出去,会对其他用户带来很多不便和不公平。
这又与上述的观察吻合,激励架构必须设计得完美,否则其中的漏洞就会被利用来获得利润,而且还会愈演愈烈。
你可能会认为可以简单地拒绝向恶意用户提供服务,就像中心化的服务系统那样。然而事实上,拒绝服务很困难,因为没有任何一个实体有权将任何人踢出去。 区块链必须是公正的,并强力执行定义的规则。 如果规则不足以阻止不良行为,那就不走运了, 这里没有法律的“精神”。 你可能需要很长的时间去处理这些恶意的、行为不端的“演员”。
所有升级都是自愿的
强制升级不是一种选择。 网络上的其他玩家没有义务更改您的软件。 如果他们这样做,这样的系统将更容易、更快、更便宜地构建为中心化系统,而区块链的重点在于它不受单个实体的控制,这与强制升级相违背。
相反,所有升级都必须向后兼容。 这显然非常困难,特别是当你想要添加新的功能或者从测试的角度思考问题时。 每个版本的软件都会为测试矩阵增加很多内容,并延长发布时间。
然而,如果这是一个中心化的系统,这将非常容易纠正,不再为旧系统提供服务即可。但是在去中心化的系统中, 你不能这样做,但是在这个系统中你不能强迫任何人做任何事情。
存储成本很高
最后,相比于传统的集中式的数据库,去中心化的数据必须存储在成百上千的地方,而不是一个集中的一个地方。传输、验证、存储的开销是非常巨大的。数据库的每一份副本都是要支付的,而不是像传统的中心化数据库只需要支付一次费用即可。
区块链的好处
我们已经知道了,相对于中心化的数据库,区块链系统非常昂贵。所以使用区块链的唯一原因就是去中心化,去除单一的故障点和控制点。
这就意味着软件和数据库不能经常改变,即便的确有需要。升级的积极面不大,而且如果搞砸或者改变规则会有很多负面影响。
大多数行业都不是这样的。 大多数行业都需要新功能或升级,并可根据需要自由更改和扩展。 鉴于区块链难以升级,难以改变且难以扩展,大多数行业对区块链没有多大用处。
我们发现的有一个例外就是钱。 与大多数工业用例不同,不改变对钱更好。 改变规则的不可变性和困难对金钱是积极的,而不是有害的。 这就是为什么在比特币的应用上,区块链是适合这项工作的工具。
所以现在可以很清楚了,很多在探索区块链应用的公司不是真得需要区块链,而是对一些特定产业进行IT方面的升级。这个目标是好的,但是利用“区块链”这个词来达到目的是不诚实的,也夸大了它的能力。
结论
区块链是现在流行的术语。当然这种“区块链而不是比特币”的梗还会继续。一个中心化的服务系统,区块链不会为你提供任何比集中式数据库便宜一千倍的东西;如果你是一个去中心化的服务,你可能是在欺骗自己,而不是考虑系统中存在的单一故障点。在真正的去中心化的系统中根本不会有“你”。
早在2000年早期,科技行业的许多高管就推动使用Java和XML。尽管这两个事物都是工具而不是实际产品,但许多高管都坚持使用它们,无论与工程师们所做的是多么的不适合。区块链就是这样的,专注于正在解决的问题,工具将使自己变得显而易见。专注于您想要使用的工具,您最终得到的是鲁布戈德堡机器,一种滑稽的机械。
从某种意义上说,目前区块链的概念正在试图做一些不可能的事情。人们希望得到去中心化的安全系统又不愿意放弃掌控权。如果天平的两端都能得到是最好的,可是往往最终获得的两败俱伤。所谓去中心化的系统带来了大量的成本和麻烦还离不开中心化的模式。
区块链作为一个时髦的流行词被过度炒作,从长远来看,越早摆脱这种浮躁,越利于区块链的正常发展。
网友评论