区块链架构

2023年9月22日

7

阅读分钟数

Web3 时代对区块链技术的挑战与潜在解决方案

Web3 与区块链密不可分的内在联系

Web3 的概念是通过区块链技术构建互联网,并将所有可在线存在的事物代币化。由于互联网与实体经济中的资产紧密交织,几乎任何事物都可以被代币化,无论是艺术家的原创作品还是房地产的所有权。

我们首先需要澄清一点:Web3 是由一人提出的概念,如今主要在加密社区内被广泛使用。“Web3”一词由以太坊(Ethereum)的联合创始人、同时也是波卡(Polkadot)项目和 Web3 基金会创始人的 Gavin Wood 提出。Wood 于 2014 年提出的 “Web3” 概念,与在二十世纪末期远早于它的 Web 3.0 和语义网(semantic web)的概念有所不同。

代币和加密货币发起的交易被记录在分布式账本中。目前许多致力于在分布式账本中记录数据的项目,都采用了有向无环图(directed acyclic graph, DAG)的数据结构,其节点是存储有关前一个区块信息以及自前一个区块生成以来所发生的交易的“区块”。您或许已经猜到,这种数据结构被称为区块链(blockchain)。

Web3 应用必须运行迅速,依赖于分布式计算,为普通用户提供安全保障,并确保所记录数据的完整性和真实性。分布式计算和数据将消除将计算能力集中在如谷歌或亚马逊等少数科技巨头手中的必要性——如今,用户不可避免地将自身数据(包括隐私数据)的存储和处理委托给了这些巨头。

综合以上所有因素,我们可以为 Web3 平台制定一个需求,使其能够确保其第三代万维网网络的顺畅运行。它应该是一个具有最高安全级别、难以攻破的交易验证算法、最大程度的去中心化以及前所未有吞吐量的分布式网络。许多力求在通往 Web3 的技术竞赛中领先的现有区块链项目,不幸地正面临网络吞吐能力低下的问题,这阻碍了生态系统的进一步发展。

话虽如此,我们无法保证 Web3 时代终将到来。然而,不同技术领域专家的预测往往会成为现实。如今,几乎没有人会梦想回到 Web 1.0 时代(该术语是在 Web 2.0 概念被提出后追溯性地命名,Web 2.0 用来描述当前形态的互联网)——Web 2.0 定义了现有互联网的面貌。

为了本文的目的,我们将假设 Web3 最终将取代第二代 Web,届时现有解决方案的开发者将被迫根据新的现实重新格式化其产品,并且互联网将平等地属于其每一位用户,而不是属于少数几家集中的 IT 市场参与者。

实际情况如何?

接下来,我们将评估多个第一层(L1)区块链,考察成对的高负载去中心化应用,这些应用能够合理地模拟为 Web3 构建的其他应用的运行情况。

Uniswap 在以太坊上:DeFi 领域首个大规模 Web3 应用

我们从 Uniswap 开始,这是一个采用自动做市商(AMM)系统的现货加密货币和代币交易去中心化交易所(DEX)。如今,Uniswap 在与 EVM 兼容的区块链上运行。最初,该 DEX 是在以太坊协议上开发的,以太坊是第一个支持智能合约的分布式网络。正是智能合约使得开发像 Uniswap 这样具有复杂逻辑的产品成为可能。它是一个完全去中心化的交易所,其逻辑完全写入智能合约中。

以太坊虚拟机(EVM)负责执行以太坊区块链上的智能合约代码。该虚拟机的架构早在 2014 年就被描述出来。以太坊虚拟机仅支持构建能够执行同步代码的网络,这导致了以太坊的可扩展性问题。

最主流的第一层(Layer 1)区块链的开发者认为,解决以太坊可扩展性问题的方案在于第二层(L2)链。它们本质上是建立在以太坊协议及其虚拟机基础上的侧链(独立的区块链)。与底层网络的通信是通过**桥接(bridges)**实现的,而桥接可能成为黑客攻击的目标。总的来说,使用第三方网络、通过桥接转移资金,以及需要在不同网络上存储多种货币来支付手续费,都无法为用户带来优质的体验。

但让我们回到 Uniswap。以太坊的网络吞吐量问题导致用户为了将交易写入新区块而竞相向验证者支付更高的 Gas 费。此外,如果填满一个区块的 Gas 量(即交易数量)超过某一限制,协议本身就会提高基础费用。

因此,当网络承受高负载时,例如在 Uniswap 上交易的代币需求爆发式增长的情况下,以太坊用户会面临这样一个局面:将一笔交易写入区块需要花费 20 美元甚至更高的 ETH 手续费。而这一切都发生在当前“加密寒冬”期间,网络活动普遍较低之时。在牛市环境下,以太坊的网络费用会持续高企。随着生态系统用户数量的增加以及 ETH 自身价值的上升,这个问题在未来只会愈发尖锐。

如果 Web3 真的到来,并且 Uniswap 上的交易量像传统股票市场上的证券交易一样普及,会怎样?以太坊的同步架构对创建新区块的时间限制为 12 秒,同时它还限制了每个区块包含的最大 Gas 量。如果有一百万 Uniswap 用户想同时购买某种数字资产,这会不会危及网络上所有其他交易的正常进行?请记住,以太坊交易并非仅限于 Uniswap 上的交易。

dYdX:从以太坊迁移至基于 Cosmos 的专有区块链的原因

另一个应用负载很高的例子是去中心化衍生品交易平台 dYdX。其开发者在基于以太坊区块链构建高质量去中心化应用时面临了更多障碍。

除了需要处理以太坊虚拟机(EVM)费用导致的低吞吐量和高昂费用外,dYdX 还要求高区块确认速度,以实时反映订单簿的变化。过渡性的解决方案是使用 StarkWare 的二层(L2)区块链,但后来的事实证明,该方案无法完全满足高交易量去中心化交易所的需求。

dYdX 协议的第四个版本涉及将整个架构迁移到基于 Cosmos 项目 Tendermint 核心构建的专有区块链上。Tendermint 核心和 Cosmos SDK 开发工具包使得通过在区块链层面奠定应用逻辑,可以构建具有高度针对性的区块链。然而,共识机制仍是 Tendermint 核心中描述的标准机制。因此,Cosmos 生态系统中的所有应用都作为独立的区块链进行部署,并具备相互交互的能力。

地址格式有助于区分地址所属的区块链:

  • ATOM: cosmos1mzfzfe57tyj6m4f8j5dv98qqaurjn39v92k6tg

  • AKASH: akash17vz8hvg96lddwawdfygvu89ua4v7qgd6y39jvvv

  • OSMOSIS: osmo12ndfvm5pmpl0w9gpz7qep5q44exfkz8ulywz4a

dYdX 区块链也将很快可用。

dYdX 迁移至 Cosmos 的劣势是什么?

这种异构方法通过让每个应用在自己的区块链上运行,提高了整个生态系统的整体吞吐量,但它也有其缺点:

  • 每个区块链的安全性取决于其特定区块链上验证者的数量和质量;

    • 在一个区块链中允许无效区块可能会危及其他区块链以及整个生态系统的安全;

    • Cosmos 项目尚未解决此问题。一种选择是向核心网络 Cosmos Hub 租用验证者容量;

    • Cosmos 区块链本身不具备额外的功能,其代币 (ATOM) 的价值在很大程度上取决于人们对该项目及其生态系统未来的信心。

  • 验证者费用以原生区块链代币支付,这可能会对用户体验产生负面影响。想要使用去中心化交易所进行现货交易,并使用 Osmosis 上的流动性池?每笔交易都需要用 OSMO 代币支付费用。dYdX 和其他未来生态系统应用也将面临同样的情况。

  • Tendermint 核心不允许验证者之间对计算能力进行分片。这意味着 Cosmos 生态系统中每个区块链中的交易验证都是以同步方式进行的。因此,在单个应用负载高峰期(我们已经提到了 Web3 时代可能需要的吞吐量:每秒数十万笔交易),整个区块链都会变慢。

正如我们所见,Cosmos 项目选择了一条与以太坊不同的道路。Cosmos 生态系统由多个区块链组成,每个区块链都实现自己的业务逻辑,而不是依赖于托管在单一网络上的可自由编程逻辑的智能合约。这样的解决方案是否适合提供稳定的 Web3 体验?考虑到上述缺点,这种可能性极小。

异步执行——Web3时代的区块链解决方案

Cosmos 并非唯一具有异构性质的网络(Polkadot 是另一个著名的例子),以太坊也绝非唯一拥有智能合约的网络。然而,它们都缺少一个关键特性:在验证者之间对负载进行并行化处理,以实现智能合约代码或区块链程序代码的异步执行。理想情况下,如果需要实现智能合约,该特性应在协议层和虚拟机层面内建,以确保所有未来的应用程序都遵循异步范式进行构建。

到目前为止,您可能在想,构建支持 Web3 的应用程序需要一个在协议层面内生具备海量吞吐能力的分布式网络。您可能还认为,这样的网络应该以某种方式实现异步运行,将负载分散到几组乃至数百组验证者之间。

在这种情况下,将无需限制区块大小或进行需求调控。这种异步区块链的稳定性和速度,将不会因为用户数量的增加而下降,而在分布式网络上部署的应用的交互体验,其质量将与顶级的中心化 Web2 产品相媲美。

基于线程虚拟机(TVM)的异步区块链:Web3 的架构

作为 EverscaleVenom 区块链上去中心化应用(DApp)的开发者,我们将探讨运行在线程虚拟机(Threaded Virtual Machine, TVM)上的这些网络。还存在另一个异步网络,其中基于 TON 虚拟机——TVM 的早期迭代版本——负责执行智能合约代码。该网络被许多人称为 Telegram 开放网络(TON)。原则上,关于 Everscale 和 Venom 的一些论点也适用于该区块链。

我们已经介绍过基于 TVM 构建的异步区块链的可能性。此外,我们还撰写了关于使用 Threaded Solidity 语言(该语言被编译成 TVM 指令)开发智能合约的特点。

以下是基于 TVM 的 Everscale 和 Venom 网络特点的简要汇总:

  • 区块链上的所有实体都是智能合约;

  • 智能合约代码应简洁,理想情况下仅描述网络中的一个操作,因此网络将类似于微服务(智能合约)交互的运行时环境;

  • 智能合约通过交换消息进行交互。接收到有效消息将触发智能合约代码的执行;

  • 智能合约代码的执行会生成一笔交易;

  • 智能合约动态地分布在不同的计算线程中;

  • 每个线程都分配有自己的一组验证人;

  • 来自不同线程的交易由不同的验证人组异步地收集到不同的区块中;

  • 单个工作链(Workchain)中最大线程数目前为 256,未来将达到 65,536;

  • TVM 网络是异构的:一条主链(Masterchain,Workchain -1)保存多个工作链的网络状态(大多描述去中心化应用逻辑的智能合约都存储在工作链中);

  • 最大工作链数量为 $2^{32}$;

  • 来自不同工作链的智能合约可以自由地相互交换消息。

最终,我们获得了一个能够处理每秒数百万笔交易的分布式网络。唯一的缺点是,为异步架构开发合约比为像以太坊(Ethereum)这样的同步网络更复杂、要求更高。

工作链可以灵活配置,使其充当独立的区块链,类似于 Cosmos 中的“区域”(Zones)。TVM 允许编写完全可编程的智能合约,其代码由于虚拟机本身的架构,将以高速度和高效率执行。

区块最终确定时间可达到亚秒级——所有这些都可通过存储在主链合约中的设置灵活配置。此外,改进的共识算法——软多数容错算法(Soft Majority Fault Tolerance, SMFT)——对区块最终确定速度有积极影响,该算法通过假设大多数验证人在大部分时间内是诚实且正常运行的来加速共识。然而,这种新的共识算法对网络的安全性能没有影响,也不会增加任何漏洞。

所有这些共同构成了一个快速、可扩展、安全的第一层(Layer 1)解决方案,其功能可以通过去中心化的投票快速轻松地得到改进。

凭借这些特性,Everscale 和 Venom 网络非常适合开发能够无缝、快速、一致地处理任意数量用户交易的 Web3 应用。

是否存在与 Uniswap 和 dYdX 竞争的异步解决方案?

是的,如今 Everscale 已经拥有一些应用可以部分展示异步网络的潜力(只有在用户数量大幅增加后,其全部潜力才能得以实现)。计算任务会根据网络的当前负载被划分和合并。

下面的动画演示了 Web3 应用程序与 Everscale 网络交互的逐步流程:

  • 应用程序向网络发送外部消息;

  • 该消息会调用智能合约的业务逻辑(在实践中,这会导致一系列智能合约代码执行);

  • 智能合约被部署到 Everscale 网络中;

  • 节点下载不断更新的网络状态;

  • 节点软件将智能合约代码转换为虚拟机(TVM)指令,并由其执行;

  • TVM 返回新的数据以记录到网络中;

  • 节点在验证过程中将新状态发送给其他节点。

此类应用的一个例子是 FlatQube,这是一个用于现货交易和去中心化流动性池的去中心化交易所。其逻辑完全由能够与其他合约进行异步交互的智能合约来描述。

让我们回顾一下我们之前提出的假设情景:“如果有一百万个 Uniswap 用户想同时购买一种数字资产,这会危及网络中所有其他交易的阻塞。” 使用 FlatQube,就不会出现这样的问题。单个 FlatQube 交易对就是一个智能合约。如果涌入该合约的消息数量巨大,它可以成为其所在计算线程中唯一处理交易的合约。届时,将分配一整组专用的验证者来处理该交易对的交易请求,其计算能力足以处理任何数量交易者的请求。

最重要的是,在这个计算线程中处理交易不会对来自其他线程的交易产生任何负面影响:不会导致网络放缓、费用增加、执行延迟或被困在内存池中。

还有 Gravix,这是一个在 Venom 区块链上运行的去中心化衍生品交易平台。凭借高区块链最终确定性和整体网络带宽,Gravix 支持链上订单簿的更新。

这就是当今高效 L1 解决方案的优势所在:开发人员无需使用 SDK 开发自己的区块链,也无需考虑 L2 解决方案、跨链桥或类似技术。他们只需学会编写异步智能合约,并理解异步异构去中心化网络的架构,就可以构建安全由 Everscale 或 Venom 的分布式协议保证的、灵活且易于扩展的应用。

Web3 应用:不限于 DeFi

如果我们讨论 Web3 是下一代互联网的整体,那么我们也应该关注那些与未深度涉足加密货币领域的用户所熟悉的那些服务。

这类服务的一个例子就是传统的电子邮件。Web2 时代的电子邮件服务存在风险,其中最主要的风险当然是托管我们个人通信的中心化公司服务器遭到黑客攻击。此外,这些公司本身可以自由地根据要求提供您的邮件信息。更糟糕的是,这种请求可能被伪造,您的通信内容可能很容易落入骗子手中,而不是执法机构,因为骗子可能出于某种原因而希望获取您电子邮件中的信息。

真正安全的电子邮件的唯一架构是部署在具有端到端加密的分布式网络中的应用程序。

毋庸置疑,此类应用程序的潜在用户群可能高达数千万,涵盖企业用户和私人用户。当然,要维护这种去中心化解决方案的稳定和快速运行,需要一个具有卓越可扩展性的网络。

在 Everscale 生态系统中,一个带有加密功能的去中心化电子邮件服务已经存在:Qamon。与上述其他服务一样,该服务完全构建在智能合约之上:它本质上是 Everscale 网络中账户之间通信的邮件服务。我们将在接下来的文章中向您介绍更多关于 Qamon 的信息。

结论

Web3 时代的到来,有可能彻底改变第一层(L1)区块链领域参与者之间的权力分配格局。我们坚信,未来属于异步化、可扩展、快速、去中心化且安全可靠的网络。我们诚挚邀请您在 Github 上查看我们的最新进展:在那里,您不仅会发现去中心化应用程序的开发成果,还能找到针对在兼容 TVM(Threaded Virtual Machine,线程虚拟机)的区块链上工作的开发人员所提供的实用工具。

我们也鼓励您深入了解现代去中心化网络的世界,并尝试使用 Threaded Solidity 编写您的第一个智能合约。进步是不可阻挡的。