区块链开发者的内心:可升级性危机(一)

2020-09-26 19:01

   

为了实现区块链的大规模采用,应该解决三个基本问题。让我们进入第一个:可升级性。

这是一个由三部分组成的系列文章的第1部分,其中Andrew Levine概述了传统区块链面临的问题,并提出了针对这些问题的解决方案。在此处阅读有关纵向扩展危机的第2部分,在此处阅读有关治理危机的第3部分。

我们相信,存在三种基本问题或危机阻碍区块链采用:可升级性,垂直扩展和治理。在本文中,我们将探讨可升级性危机,以及如何将计算机操作系统用作有用的类比,从而为解决该危机和使区块链获得主流采用提供秘密。

理解可升级性问题最强大的概念是“抗脆弱性”。由Nassim Taleb提出,抗脆弱性是系统在受到压力时会改善的特性。脆弱的系统在大多数情况下似乎运行良好,但是当受到压力时,它们会崩溃或“炸毁”。

抗脆弱性是从包含易碎亚基的多层,分层系统中出现的特性,这些易碎亚基通过破坏/死亡/爆炸而形成一个整体更健康的系统。本质上,我们称这种过程为进化。当物种将较不成功的性状替换为较成功的性状时,就会发生进化。在计算中,我们称这种改进为“升级”。

我们今天知道的主要区块链的问题在于,它们并非旨在进行升级,这意味着它们无法发展。进化如此重要的原因在于,它使系统能够生存“黑天鹅”,这是高度不可预测的事件,具有严重的后果。抗脆弱性系统不仅可以在黑天鹅中幸存下来,而且实际上可以从中受益。

在区块链中,几乎没有带有脆弱子系统的单独层,这些子系统可以使健康适应压力源。创造者们并没有从谦卑的角度进行设计,而是试图将自己展示为无可挑剔的有远见卓识的人,他们设计出了一个当之无愧的高价值系统。

在探索领土之前绘制的地图

没有比依靠硬叉进行系统升级更好的证据了。硬分叉与升级路径相反。它正在淘汰旧系统,并用新系统替换它。

但是,这种分析有一个一线希望,那就是解决方案与其说是突破技术障碍,不如说是突破心理障碍。我们并不是从最初的原理设计区块链,而是仍然主要在诸如比特币和以太坊等现有架构之上进行迭代。

实现区块链的方法有很多,但是我们经常假定这些协议实现区块链某些组件的方式默认是“正确的方式”。这些协议完全构成了我们处理这些问题的方式,导致我们甚至在开始探索这一新领域之前就已经为“画出”的问题创建了心理“图”。

比特币和以太坊本质上是第一批去中心化的计算机。与任何新的计算范例一样,在早期阶段,工程师和开发人员将注意力集中在他们是否可以使用该技术解决特定问题上,如果可以的话,可以使用该技术来构建其应用程序。他们没有工具,也没有可以利用的平台,因此他们必须从头开始构建所有内容并针对特定应用优化堆栈。

最终结果是一块完整的代码,为设计用于解决特定问题的应用程序提供了动力。

先动者和脆弱的系统

凭借先行者的优势,这些早期的应用程序可以取得相当大的成功,但是在软件开发方面,先发制人的成功是虚幻的。软件的先行者会发现用户会发现最有价值的功能或“行为”,从而验证新技术。

但是,保持这种优势几乎是不可能的,因为该应用程序是建立在很少有人理解或能够升级的旧代码的基础上的。错误是修复的噩梦,仅维护现有代码就成为Sisyphean的任务。忘记改进它。

在此阶段,这些应用程序可能会出于多种原因而死亡,但潜在的死亡原因是它们脆弱。最终对现有应用造成破坏的黑天鹅是操作系统的开发。操作系统使开发人员可以更轻松地启动具有相同先行者特征的相同行为的同类应用程序。

操作系统的出现使开发人员可以更轻松,更快速地发布更好的程序,从而将技术扩展到下一个级别,从而更好地渗透到更多的市场并吸引更多的用户。另外,它为我们提供了堆栈中的另一层。现在,如果一个应用程序崩溃了,那么最关键的底层将不受影响。

所以,问题解决了吧?尽管第一代操作系统为采用正确操作系统的应用程序开发人员提供了巨大的竞争优势,但它们也遭受与第一代应用程序相同的可升级性问题。它们的出现是为了提供核心功能,安全性和共享的用户群,而不是使可升级性最大化。因此,它们最终变得功能庞大,复杂且难以升级。

操作系统类比

升级系统需要重新引导和重新加载系统,该过程越长,越混乱,它变得越大越复杂。虽然一层(操作系统)与另一层(应用程序层)的错误隔离开来,但操作系统本身仍然很脆弱。

以太坊和EOS等区块链的设计类似于这些早期的操作系统。它们提供了核心功能,安全性,共享的用户群和可编程的“用户空间”,开发人员可以利用它们来添加所需的自定义功能,以支持其特定应用程序。

在区块链的情况下,由于不变性,困扰第一代操作系统的问题更加严重。它们的规模不断增长,这给基础架构带来了更多压力,并带来了明显的扩展挑战。

此外,由于它们是分散式的,因此升级必须通过治理过程来完成,在最佳情况下,该过程要以协调一致的努力结束,在此过程中,所有计算机都停止运行旧软件,并开始运行新软件(一个新的“叉子”)。这远非易事,这就是为什么称其为“硬”叉特别合适。

当某些变更需要硬分叉时,人们被迫捆绑这些变更,因为零碎实施这些变更将导致额外的网络停机时间。这导致了一个“骑手问题”,类似于我们在不相关的变化与重要的变化相关的政府系统中看到的情况。换句话说,存在时间集中 问题。因为每个重要的事情都必须在同一时间完成,并且由于人们在重要的事情上存在分歧,所以必须实施这些更改的时间点会产生攻击媒介。

无论如何,硬分叉最终变得庞大,政治,冒险,而且最重要的是,它们摧毁了网络! 这极大地减慢了进展速度,并且因为每个主要的区块链都以这种方式工作,整个行业陷入停滞。

可升级的抗脆弱性

我们需要的是操作系统之下的另一层,它使整个系统得以发展。在操作系统中,该层称为BIOS-基本的输入/输出系统。但是请务必记住,我们仅以操作系统为类比。我们需要从专门用于区块链的第一原理构建这一层。就像其他所有层一样,该层必须由易碎的子单元组成,这些子单元可以以某种方式“破坏”而不会炸毁整个系统。

BIOS的创建是使计算机主流化的关键一步,因为它使开发人员能够快速构建,测试和迭代使个人计算机对普通消费者有用的应用程序。

如果我们想跨越同样的鸿沟,我们不仅需要一个更好的区块链操作系统,还需要一个基于BIOS等效构建的操作系统,以实现特定的可升级性。

我们必须能够在 无需硬分叉的情况下向区块链添加任何功能。这将使区块链能够适应压力源(攻击,错误,缺少的功能等),进行自我完善并进行扩展以满足群众的需求。

直到这一天,基于区块链的应用程序的质量将继续停滞不前,并且该空间将仍然由看起来像在表面上工作但未被广泛采用,本质上是脆弱的项目所主导。一天“炸毁”。

声明:「火综财经」所发表的文章除注明来源外,均为来自互联网,不代表「火综财经」赞同其观点或证实其描述。转载请注明:火综(www.huozong.cn)