当前位置: 首页 > 科技观察

比特币开发者JimmySong:区块链为什么难

时间:2023-03-17 20:27:04 科技观察

有关区块链的讨论层出不穷。也许你听说过区块链现在可以:解决收入不平等使所有数据永远安全使一切更高效,更不可信拯救垂死的婴儿区块链到底是什么?它真的可以做所有这些事情吗?区块链能否为医疗、金融、供应链管理、音乐版权等各行各业带来惊人的变化?成为比特币从业者是否意味着您支持区块链?你怎么能支持比特币并批评比特币背后的技术呢?在本文中,我试图通过解释什么是区块链来回答上述问题。什么是区块链?让我们首先定义什么是区块链。有很多普通人容易混淆的地方。许多公司使用术语“区块链”来指代某种神奇的设备,在这种设备上,他们的所有数据都不会出错。显然,这样的设备在现实世界中是不存在的。那么什么是区块链?从技术上讲,区块链是一种数据块有序组合的链式数据结构。如果你不理解最后一句话,你可以把区块链想象成数据库的一个子集,并附加了一些属性。区块链与普通数据库的区别在于数据如何放入数据库。也就是说,它不能与数据库中已有的其他数据冲突(一致),它只是追加(不可变),并且数据在其自身锁定到所有者(Ownable)之后是可复制和可用的。***,大家一致认为数据库中的数据存在于一个共识规范和协议中(去中心化)。接下来我要说的最后一件事是对区块链真正佩服的关键:去中心化非常有吸引力,因为这意味着它没有单点故障。也就是说,没有任何一个权威机构可以拿走你的资产或改变“历史”来满足他们的需要。这种不可变的审计线索意味着你不需要信任这里的任何人,这是这项技术背后对利益的不断追求。然而,为了这些好处,我们付出了巨大的代价。区块链的成本任何一方都无法控制这些不可变的审计线索,但创建这样一个系统涉及很多成本。让我们来看看其中的一些问题。1.发展受限,进展缓慢创建一个表面上一致的系统并不是一件容易的事。一个小错误可能会破坏整个数据库,或者导致某些数据库与其他数据库不同。当然,损坏或分裂的数据库不再有任何一致性保证。此外,所有这些制度必须从一开始就设计得一致。区块链中没有“快速移动和破坏”,如果你破坏了某些东西,你就会失去一致性,区块链就会变得毫无价值。您可能会想,为什么不修复数据库或重新开始并继续前进呢?这在中心化系统中很容易做到,但在去中心化系统中却非常困难。要更改数据库,需要系统中所有参与者的共识或协议。要么区块链必须是不受单个实体控制的公共资源(分散的,还记得吗?),要么整个工作是创建一个缓慢的、集中的数据库的一种非常昂贵的方式。2、激励机制设计困难。添加正确的激励结构并确保系统中的所有参与者都不能滥用或破坏数据库也是一个重要的考虑因素。区块链可能是一致的,但如果它包含大量琐碎、无用的数据,它就不是很有用,因为将数据放入其中的成本非常低。如果几乎没有数据,那么一致的区块链就没有用,因为将数据放入其中的成本非常高。如何确保奖励与网络目标保持一致?为什么节点要保存或更新数据?是什么让他们在发生冲突时选择一份数据而不是另一份数据?这些都是需要好的答案的激励性问题,它们不仅在开始时需要保持一致,而且在未来随着技术和公司的变化或区块链变得无用时的任何时候都需要保持一致。同样,您可能想知道为什么您不能“修复”一些不良激励措施。同样,这在中心化系统中很容易,但在去中心化系统中,没有共识就无法改变。除非每个人都同意,否则不会有任何“修复”。3、维护成本高。传统的中心化数据库只需编写一次,而一条区块链需要编写数千次;传统的中心化数据库只需对数据进行一次校验,而区块链需要对数据进行数千次校验;传统的中心化数据库只需要传输一次数据就可以存储,而区块链需要传输数千次数据。维护区块链的成本要高出一个数量级,而且成本需要通过效用来证明是合理的。大多数应用程序都在寻找诸如一致性和可靠性之类的属性,这些属性可以通过使用完整性检查、收据和备份以低得多的成本获得。4.用户是独立的这真的很好,因为公司不喜欢拥有用户数据的责任。但是,如果用户“行为不当”,这可能会很糟糕。没有办法驱逐那些用微不足道的数据垃圾来破坏你的区块链的用户,也没有办法想出一种以一种会给其他用户带来极大不便的方式将其货币化的方法。这与上面提到的激励结构必须设计得非常非常好相吻合,因为发现错误的用户不太可能放弃这个,特别是如果用户有利润的话。您可能认为您可以简单地拒绝向恶意用户提供服务,这在集中式服务中非常容易。但是,与集中式服务不同,拒绝服务很困难,因为没有任何一个实体有能力驱逐任何人。区块链必须是公正的并执行软件定义的规则。如果法规不足以阻止不良行为,那你就不走运了。这里没有法律的“精神”,你只是处理恶意或行为不端的行为者,可能很长一段时间。5.所有升级都是自愿的强制升级不是一种选择,网络上的其他玩家没有义务对您的软件进行更改。如果他们这样做了,这样的系统将更容易、更快、更便宜地构建为一个集中式系统。区块链的要点是它不受单个实体的控制,这不利于强制升级。相反,所有升级都必须向后兼容。这显然是相当困难的,尤其是如果你想增加新的特性,更难从测试的角度来思考。每个版本的软件都在测试矩阵中增加了大量内容并延长了发布时间。还是那句话,如果这是一个中心化的系统,整改起来也很容易,不再为旧系统服务。然而,在去中心化系统中,你不能那样做,因为你不能强迫任何人做任何事情。6.扩展真的很难***,至少比传统的中心化系统难几个数量级。原因很明显:相同的数据必须存在于数百个位置,而不仅仅是一个。传输、验证和存储的开销是巨大的,因为这些费用必须为数据库的每个副本支付,而不是在传统的中央数据库中只支付一次。当然,你可以通过减少节点数量来降低负载。但在那个时候,你为什么需要一个去中心化的系统?如果扩展成本是主要问题,为什么不直接建立一个集中式数据库呢?7.中心化更容易如果你注意到一个主题,那就是去中心化系统难以使用、维护昂贵、难以升级、规模大。与区块链相比,集中式数据库更快、更便宜、更易于维护且更易于升级。那么为什么人们一直使用区块链这个词,就好像它是解决所有问题的灵丹妙药一样?许多在区块链上销售的行业都需要进行IT基础设施升级。医疗保健软件出了名的糟糕;金融结算行业仍在使用70年代的软件;供应链管理软件难于使用和安装。这些行业中的大多数公司由于风险而拒绝升级。许多基础设施升级耗资数亿美元,最终被淘汰。区块链是一种销售这些IT基础设施升级并使其更具吸引力的方式。区块链是一种让您看起来处于技术前沿的方式。不管喜欢与否,“区块链”这个词已经有了自己的生命。很少有人真正理解它是什么,但又想显得时髦,所以用这些词来让自己听起来更聪明。就像“云”是指其他人的计算机,“AI”是指经过调整的算法,在这种情况下,“区块链”是指缓慢且昂贵的数据库。人们真的不喜欢政府对某些行业的控制,他们想要一个不同于通常缓慢且昂贵的法律框架的审判制度。对他们来说,“区块链”实际上只是逃避政府监管的一种繁重方式。这是一个超卖的区块链可以做到的,但实际上区块链并没有神奇地消除人类的冲突。结果,许多人在没有真正了解能力或成本的情况下被夸大的承诺所愚弄。更糟糕的是,实际的技术细节和成本从许多VC和高管那里抽象出来,模糊了区块链能做什么和不能做什么。大家都不敢说皇上没有衣服,就像我们现在面临的情况一样。那么区块链有什么好处呢?我们已经确定,与集中式数据库相比,区块链非常昂贵,因此您应该使用区块链的唯一原因是去中心化。即,去除单点故障或控制点。这自然意味着软件或数据库不能经常更改,如果有的话。升级应该没有什么好处,而搞砸或改变规则会有很多坏处。大多数行业并非如此,它们需要新功能或升级,并在必要时自由更改和扩展。鉴于区块链难以升级、难以改变和难以扩展,大多数行业看不到区块链有多大用处。我们发现的一个例外是金钱。与大多数工业用例不同,如果不改变,钱会更好。改变规则的不变性和难度对金钱有利,但也不错。这就是为什么区块链是比特币的正确工具。很明显,许多想要使用区块链的公司并不是真的想要区块链,而是想要针对其特定行业进行IT升级。这一切都很好,但为此目的使用“区块链”这个词是虚伪的,并且夸大了它的能力。结语区块链是当今的流行语,不幸的是,这种“区块链而非比特币”的模因不会消亡。如果你是一个中心化服务,区块链不会给你任何你不能用中心化数据库便宜一千倍的东西;如果你是去中心化服务,你可能是在自欺欺人,而不是考虑系统中存在的单点故障。在真正去中心化的服务中,根本没有“你”。