模块化执行的案例(第一部分) The Case for Modular Execution (Part 1)

The Case for Modular Execution (Part 1)
How modular execution layers enable scalability by decoupling computation from verification.
模块化执行层如何通过将计算与验证解耦来实现可扩展性。


模块化执行案例 (The Case for Modular Execution)

The blockchain space is increasingly moving toward a modular architecture in order to achieve true scalability. Even chains like Ethereum, which were previously fully monolithic, are shifting to a modular design to overcome the challenges that come with monolithic blockchain designs.

为了实现真正的可扩展性,区块链空间正越来越多地向模块化架构发展。甚至像以太坊这样以前完全是单片的,现在正在 转变 到模块化设计,进而克服单片区块链设计带来的挑战。

One of the core components of the modular blockchain stack is the execution layer. Fuel is building the fastest execution layer for the modular blockchain stack.

模块化区块链技术栈 的核心组件之一是执行层。 Fuel 正在为模块化区块链技术栈构建最快的执行层。

What is a modular execution layer? And how will they enable more scalable blockchain systems?

什么是模块化执行层?他们将如何启用更具可扩展性的区块链系统?

Modular execution layers offer two core benefits over their monolithic counterparts:
与单体执行层相比,模块化执行层提供了两个核心优势:

  1. Monolithic chains couple computation and verification on the same layer, leading to sub-par security and limited scalability. Modular execution layers avoid this by decoupling computation and verification, allowing for much more robust security guarantees at scale.
    单片链将计算和验证耦合在同一层,导致安全性低于标准,可扩展性有限。 模块化执行层通过解耦计算和验证来避免这种情况,在规模上提供更强大的安全保证。

  2. Monolithic chains are locked into inefficient technologies when it comes to the speed and variety of computation they can support. On the other hand, modular execution layers can be specifically designed to optimize for efficient computation.
    单片链在可以支持的计算速度和多样性方面被锁定在低效的技术中。另一方面,模块化执行层可以专门设计用于优化高效计算。

This post elaborates on the first core benefit, with the second being explored in an upcoming Part 2.

本文详细阐述第一个核心优势,第二个核心优势将在即将发布的第二部分中进行探讨。


单片区块链基础知识:计算和验证 (Monolithic Blockchain Basics: Computation & Verification)

To understand the innovations that come from modular execution layers (MELs), first we need to understand how monolithic blockchains handle computation and verification.

了解来自模块化执行层 (MEL) 的创新,需要我们首先了解单片区块链如何处理计算和验证。

Blockchains rely on a network of entities which execute transactions and bundle them together into a block - these are known as block producers. Without checks and balances, a malicious block producer could include invalid transactions in a block (for example, minting tokens to their own address). To prevent this, blockchains rely on a network of other nodes to determine the validity of a block before adding it to their version of the chain.

区块链依赖于一个实体网络,这些实体执行交易并将它们打包在一起形成一个区块——这些被称为 区块生产者 。如果没有制衡,恶意区块生产者可能会在区块中包含无效交易(例如,将代币铸造到他们自己的地址)。为了防止这种情况,区块链依赖于其他节点的网络来确定一个块的有效性,然后再将其添加到他们链的版本中。

This leads to two core functions required for a blockchain to operate:
这导致了区块链运行所需的两个核心功能:

  • Block Production (i.e. computation) - Executing transactions and applying individual state transitions to build a block.
    区块生产(即计算) - 执行交易并应用单个状态转换来构建块。
  • Block Validation (i.e. verification) - Confirming that the state transitions are valid.
    区块验证(即验证) - 确认状态转换有效。

单片链上的计算和验证 (Computation & Verification on Monolithic Chains)

NOTE: For ease of understanding, this section provides a simplified explanation of how block production and verification work on monolithic blockchains. In reality, the process is more complex, and may differ depending on the design of the specific chain. However, many of the same core principles apply.

注意:为方便理解,本节提供了对如何在单片区块链上进行区块生产和验证工作的简化说明。实际上,该过程更复杂,并且可能因特定链的设计而异。然而,许多相同的核心原则也适用。

In most monolithic blockchain designs, computation and verification are performed by the same entities - validators (i.e. full nodes). When a user sends a transaction, a validator will execute the transaction and then include the corresponding state transition in a block. Once a block is created and propagated, other full nodes download the block and re-execute the transactions in the block in order to confirm it is valid. If the block is valid, assuming they are honest, the full nodes append that block onto their version of the chain, thereby attesting to its validity.

在大多数单片区块链设计中,计算和验证由相同的实体 - 验证者(即完整节点)执行。当用户发送交易时,验证者将执行交易,然后将相应的状态转换包含在块中。一旦创建并传播了一个块,其他完整节点就会下载该块并重新执行该块中的交易来确认它是有效的。如果该块是有效的,假设他们是诚实的,那么全节点将该块附加到他们链的版本上,从而证明它的有效性。

Sometimes, applications or users need to access the state of the blockchain, but don’t want to incur the high resource requirements of running a full node and independently validating all transactions. For this purpose they can run light clients, which assume the blocks provided by full nodes include only valid transactions. They do not download the full blockchain, nor do they verify that all previous transactions are valid. Instead, they have to trust that the majority of full nodes are honest (i.e. have only included valid blocks in their copy of the chain).

有时,应用或用户需要访问区块链的状态,但不希望产生运行完整节点和独立验证所有交易的高资源需求。为此,他们可以运行 轻客户端,假设全节点提供的块仅包含有效交易。他们不会下载完整的区块链,也不会验证所有之前的交易是否有效。相反,他们必须相信大多数完整节点是诚实的(即在其链副本中仅包含有效块)。

This is called the honest majority assumption, and is the reason that most monolithic blockchains are vulnerable to 51% attacks. Under the monolithic model, because an honest majority of full nodes is required to verify that the blockchain is valid, light clients are forced to trust the majority. If more than half of the full nodes are dishonest, light clients have no way of knowing this, so they will end up following an invalid chain.

这被称为 诚实大多数假设,这也是大多数单片区块链容易受到 51% 攻击的原因。在单片模型下,由于需要诚实的大多数完整节点来验证区块链是否有效,因此轻客户端被迫信任大多数。如果超过一半的全节点不诚实,轻客户端无法知道这一点,因此他们最终会跟随一条无效的链。

诚实多数假设 - 可扩展性的限制 (Honest Majority Assumption - Limits to Scalability)

The scalability of monolithic chains is severely limited by their reliance on this honest majority assumption. This is because, in order to increase transaction throughput, block size and/or frequency must be increased to enable more transactions to be processed in the same amount of time. This increases the resource requirements (and associated costs) for full nodes; bigger/faster blocks = more computation = higher costs.

单片链的可扩展性,受到其对这种诚实多数假设依赖的严重限制。这是因为,为了增加交易吞吐量,必须增加块大小和/或频率,以使更多交易能够在相同的时间内处理。这增加了全节点的资源需求(和相关成本);更大/更快的块 = 更多的计算 = 更高的成本。

As the cost of running a full node increases, more entities will opt to run a light client instead, relying on a smaller and smaller network of full nodes to verify the validity of the chain. This increasing centralization of block validation is a major threat to security for monolithic chains, as a more centralized pool of validators is more vulnerable to attacks and also more easily able to collude.

随着运行全节点成本的增加,更多实体将选择运行轻客户端,依靠越来越小的全节点网络来验证链的有效性。 这种日益集中的区块验证是对单片链安全性的主要威胁,因为更集中的验证者池更容易受到攻击,也更容易串通。


模块化执行:解耦计算和验证 (Modular Execution: Decoupling Computation & Verification)

The good news is that blockchain systems can move away from designs that rely on an honest majority assumption. In order to avoid this pitfall of monolithic design, the modular blockchain stack decouples computation from verification. By moving execution (i.e. computation) off the base chain (often referred to as the “parent chain”), increased scale can be achieved without compromising on decentralization.

好消息是区块链系统可以摆脱依赖诚实大多数假设的设计。为了避免这种单片设计的缺陷,模块化区块链技术栈将计算与验证分离。通过将执行(即计算)移出基础链(通常称为“父链”),可以在不影响去中心化的情况下实现规模扩大。

什么是模块化执行层? (What is a Modular Execution Layer?)

Within the modular blockchain stack, the execution layer is responsible for computation - in other words, processing transactions and applying individual state transitions.

在模块化区块链技术栈中,执行层负责计算——换句话说,处理交易和应用单独的状态转换。

Fuel defines a modular execution layer as: a verifiable computation system designed for the modular blockchain stack. More concretely, a fraud- or validity-provable blockchain (or other computation system) that leverages a modular blockchain for data availability.

Fuel 定义 了模块化执行层:为模块化区块链技术栈设计的可验证计算系统。更具体地说,一种可验证欺诈或有效性的区块链(或其他计算系统),它利用模块化区块链来实现数据可用性。

To clarify further, computation systems are not modular execution layers if they: 1) are not fraud- or validity-provable, or 2) do not offload data availability to another layer.

为了进一步澄清,如果计算系统:1) 不能证明欺诈或有效性,或 2) 不将数据可用性重载到另一层,则它们不是模块化执行层。

Like monolithic blockchains, modular execution layers employ a network of dedicated block producers. These entities handle the resource-intensive process of executing transactions and producing blocks. However, unlike in monolithic systems, verification is not handled on the execution layer, but rather on the lower levels of the modular blockchain stack.

与单片区块链一样,模块化执行层采用专门的区块生产者网络。这些实体处理执行交易和生成区块的资源密集型过程。但是,与单片系统不同,验证不在执行层处理,而是在模块化区块链技术栈的较低级别处理。

验证 - 让区块生产者保持诚实 (Verification - Keeping Block Producers Honest)

The genius of modular execution is that as long as verification (i.e. block validation) is decentralized, computation (i.e. block production) does not need to be decentralized. Block sizes can be increased, leading to centralization of nodes which produce blocks - but as long as verification is decoupled, invalid blocks will not be added to the chain.

模块化执行的天才之处在于,只要验证(即区块验证)是去中心化的,计算(即区块生产)就不需要去中心化。可以增加块大小,从而导致产生块的节点集中化——但只要将验证解耦,无效块就不会被添加到链中。

But how does this work? How can we ensure security is preserved if we allow block production to remain centralized? This is where modularity comes into play.

但这是如何工作的? 如果我们允许块生产保持中心化,我们如何确保安全性? 这就是模块化发挥作用的地方。

Modular execution layers abstract the resource-intensive function of execution to powerful block producers which bundle and execute batches of transactions, and periodically post these as blocks to the parent chain (settlement/consensus/data availability layers). In order to keep these block producers honest, there are additional non-block-producing full nodes (often referred to as “verifiers” or “provers”) which download and re-execute the blocks posted to the parent chain to ensure they contain only valid transactions.

模块化执行层将资源密集型执行功能抽象给强大的区块生产者,这些区块生产者打包并执行批量交易,定期将这些作为区块发布到父链(结算/共识/数据可用性层)。为了让这些区块生产者保持诚实,还有额外的非区块生产完整节点(通常称为“验证者”或“证明者”)下载并重新执行发布到父链的区块,以确保它们仅包含有效交易。

The specifics of how these full nodes communicate the validity or invalidity of transactions differs depending on whether the modular execution layer employs an optimistic or zero-knowledge model. In the case of optimistic MELs, full nodes only take action (via fraud proofs) when they detect an invalid transaction. Conversely, in the case of zero-knowledge MELs, full nodes actively attest to the validity of transactions (via validity proofs). In either case, the validity or invalidity of all transactions provided by the block producer is attested to on the parent chain, not on the modular execution layer.

这些完整节点如何传达交易的有效性或无效性的细节,取决于模块化执行层是采用乐观模型还是零知识模型。在乐观 MEL 的情况下,全节点仅在检测到无效交易时才采取行动(通过欺诈证明)。相反,在零知识 MEL 的情况下,全节点主动证明交易的有效性(通过有效性证明)。无论哪种情况,区块生产者提供的所有交易的有效性或无效性都在父链上证明,而不是在模块化执行层上

一个例子:乐观模块化执行层的欺诈证明 (An Example: Fraud Proofs on Optimistic Modular Execution Layers)

To provide a deeper illustration, let’s explore the case of optimistic MELs (under which it is assumed that all transactions are valid unless otherwise proven). If even a single full node on the modular execution layer detects an invalid transaction within a block posted on the parent chain, they can generate a fraud proof (within a predefined “dispute resolution window”) which cryptographically proves that the transaction is invalid.

为了提供更深入的说明,让我们探讨乐观 MEL 的情况(假设所有交易都是有效的,除非另有证明)。即使模块化执行层上的单个完整节点检测到发布在父链上的块中的无效交易,它们也可以生成欺诈证明(在预定义的“争议解决窗口”内),以加密方式证明交易无效。

Depending on the structure of the particular modular stack, this may be dealt with in several ways, for example:

根据特定模块化技术栈的结构,这可以通过多种方式处理,例如:

In modular stacks with a settlement layer:

在具有结算层的模块化技术栈中:

  • The full node submits the fraud proof to a dedicated dispute resolution contract on the settlement layer, which re-executes the transaction directly (note that this requires the MEL transactions to be structured in a way which makes them fraud-provable on the settlement layer’s VM in a deterministic manner - for example, the FuelVM is designed to be fraud-provable within the EVM to enable settlement on Ethereum).
    全节点将欺诈证明提交给结算层上的专用争议解决合约,该合约直接重新执行交易(请注意,这要求 MEL 交易的结构使其在结算层的欺诈可证明VM 以一种确定性的方式 - 例如,FuelVM被设计在 EVM 内完成可证明欺诈性 来获得在以太坊的结算能力)。

  • If the transaction is invalid, the offending block producer is punished via slashing (i.e. they lose funds), the “whistleblower” is rewarded with a portion of these funds, and the state of the chain is reverted to before the invalid transaction. Because there is no guarantee that any transaction following the invalid one corresponds to a valid state, these subsequent transactions are re-executed.

  • 如果交易无效,违规的区块生产者将受到惩罚(即他们损失资金),“举报人”将获得部分资金奖励,并将链的状态恢复到无效交易之前的状态。因为不能保证在无效交易之后的任何交易都对应于有效状态,所以这些后续交易被重新执行。

In modular stacks without a settlement layer:

在模块化技术栈中若没有结算层

  • The full node gossips the fraud proof via a peer-to-peer network to warn light clients that the block contains an invalid transaction. Using the fraud proof as evidence of the block producer’s dishonest behavior, full nodes can propose a penalty transaction on the parent chain, which slashes the block producer’s funds.
    全节点通过点对点网络传播欺诈证明,警告轻客户端该块包含无效交易。使用欺诈证明作为出块人不诚实行为的证据,全节点可以在父链上提出惩罚交易,从而削减出块人的资金。

  • Because there is no settlement layer to dictate the “canonical” version of the chain, malicious full nodes could theoretically choose not to reject the block; however, the fraud proof has already been communicated to light clients, so they know not to follow a malicious full node’s version of the chain. As a result, social consensus guarantees that the invalid block will be rejected.
    由于没有结算层来规定链的“规范”版本,恶意全节点理论上可以选择不拒绝区块;但是,欺诈证明已经传达给轻客户端,因此他们知道不要遵循恶意的全节点版本的链。结果,社会共识保证了无效块将被拒绝。

In either case, because the verification process is enshrined on the parent chain instead of the execution layer, security is outsourced to the parent chain, meaning the execution layer on its own can operate with lower security guarantees. Even if 99% of full nodes on the execution layer are dishonest, it only takes one honest full node to ensure the execution layer only includes valid transactions.

在任何一种情况下,由于验证过程是在父链上而不是在执行层上进行的,因此安全性被外包给了父链,这意味着执行层本身可以在较低的安全保证下运行。 即使执行层上 99% 的全节点都是不诚实的,也只需要一个诚实的全节点来确保执行层只包含有效交易。

This means that instead of relying on an honest majority of full nodes, modular execution layers (and MEL light clients) can operate on a single honest minority assumption.

这意味着,模块化执行层(和 MEL 轻客户端)可以在 单个诚实少数假设 上运行,而不是依赖于诚实的大多数完整节点。

On modular execution layers, light clients only need to rely on there being a single honest full node in order to guarantee the validity of the chain

在模块化执行层上,轻客户端只需要依赖一个诚实的全节点就可以保证链的有效性

Whereas an invalid block can only be reverted by a majority of full nodes in a monolithic system, a single full node in a modular system can force an invalid transaction to be reverted by using fraud/validity proofs.

无效块只能由单片系统中的大多数完整节点恢复,而模块化系统中的单个完整节点可以通过使用欺诈/有效性证明来强制恢复无效交易。

这如何实现可扩展性 (How this Enables Scalability)

Allowing computation to happen off the parent chain allows for massive increases in transaction throughput. Block size can be significantly increased without concerns about centralization of block production, as the separate block validation process keeps block producers honest.

允许在父链之外进行计算可以大幅增加交易吞吐量。区块大小可以显着增加,而无需担心块生产的中心化,因为单独的块验证过程使块生产者保持诚实。

While larger blocks do place a higher burden on the full nodes performing validation, the honest minority assumption means that centralization in this area is less of a threat, as centralization-based vulnerabilities which rely on a dishonest majority are rendered impossible.

虽然较大的区块确实会给执行验证的完整节点带来更高的负担,但诚实的少数假设意味着该领域的中心化威胁较小,因为依赖不诚实多数的基于中心化的漏洞变得不可能。

Light clients can also run with significantly higher security guarantees under a modular architecture, as fraud proofs enable them to identify invalid transactions based on a proof from a single honest full node (as opposed to monolithic systems, which require light clients to trust that at least half of the full nodes are honest).

轻客户端还可以在模块化架构下以显着更高的安全保证运行,因为欺诈证明使他们能够根据来自单个诚实完整节点的证明来识别无效交易(与单片系统相反,单片系统至少需要轻客户端信任一半的完整节点是诚实的)。

Light clients on modular execution layers have significantly higher security guarantees than their monolithic counterparts 模块化执行层上的轻客户端比它们的单体客户端具有更高的安全保证

In addition, block producers are aware that any malicious activity will be detected and will result in slashing, so they are less likely to even attempt to behave dishonestly. As such, the execution layer can be computation-optimized (i.e. handle a lot of transactions) while relying on security-optimized lower levels of the modular stack.

此外,区块生产者知道任何恶意活动都会被检测到并导致处罚,因此他们甚至不太可能试图做出不诚实的行为。因此,执行层可以进行计算优化(即处理大量交易),同时依赖模块化技术栈的安全优化的较低级别。


模块化执行:潜在挑战 (Modular Execution: Potential Challenges)

This modular architecture does present some additional technical and game-theoretic challenges.

这种模块化架构确实提出了一些额外的技术和博弈论挑战。

数据可用性 (Data Availability)

While fraud/validity proofs enable honest full nodes to prove fraud, there is an additional problem: data availability. In order to generate proofs, full nodes rely on block availability, as they need to download and re-execute all transactions in a block to determine its validity and generate a proof.

虽然欺诈/有效性证明使诚实的完整节点能够证明欺诈,但还有一个问题:数据可用性。为了生成证明,全节点依赖于区块的可用性,因为它们需要下载并重新执行块中的所有交易以确定其有效性并生成证明。

A malicious block producer could theoretically publish only block headers to the parent chain, potentially withholding some or all of the corresponding data. This prevents full nodes from being able to generate fraud/validity proofs to alert light clients to the issue.

理论上,恶意区块生产者可以只向父链发布区块头,可能会保留部分或全部相应数据。这可以防止完整节点生成欺诈/有效性证明来提醒轻客户端注意问题。

When attempting to validate a block, it is trivial for full nodes to identify when data has been withheld by a malicious block producer. In this case, they can simply assume the chain is invalid and fork away from it. But how can light clients determine whether data has been withheld by a block producer without downloading the whole block?

当尝试验证一个块时,全节点很容易识别数据何时被恶意块生产者扣留。在这种情况下,他们可以简单地假设该链无效并从中分叉。 但是轻客户端如何在不下载整个区块的情况下确定数据是否被区块生产者扣留?

A new technology called data availability sampling (DAS) enables light clients to probabilistically determine whether the entirety of a block has been published. In short, light clients request small random small portions (or “samples”) of the block from full nodes.

一种称为数据可用性采样 (DAS) 的新技术使轻客户端能够以概率方式确定是否已发布整个块。简而言之,轻客户端从完整节点请求块的小随机小部分(或“样本”)。

Light clients request subsets (“samples”) of the block from full nodes (source: Vitalik Buterin) 轻客户端从完整节点请求区块的子集(“样本”)(来源: Vitalik Buterin)

If all the requested samples are available, then assuming there are enough light clients performing data availability sampling, this probabilistically proves that the entire block is available. If any portions of the block are not available, light clients know that data has been withheld, and can therefore fork away from that version of the chain.

如果所有请求的样本都可用,那么假设有足够多的轻客户端执行数据可用性采样,这在概率上证明了整个块是可用的。如果块的任何部分不可用,轻客户端知道数据已被保留,因此可以从该版本的链中分叉。

A full explanation of this technology is out of scope for this post, but you can read more about it here. Ultimately, the important takeaway is that DAS enables light clients to identify invalid blocks even when a malicious block producer withholds data.

对这项技术的完整解释超出了本文的范围,但您可以在 此处 阅读更多相关信息。最终,重要的一点是 DAS 使轻客户端能够识别无效块,即使恶意块生产者隐瞒数据也是如此。

验证者的困境 (Verifier’s Dilemma)

Another potential issue is the phenomenon referred to as the “verifier’s dilemma”. The simplified version is as follows:

另一个潜在的问题是被称为“验证者困境”的现象。简化版如下:

  • If block producers know that full nodes will identify dishonest activity, they will behave honestly in order to avoid being slashed.
    如果区块生产者知道全节点会识别不诚实的活动,他们会诚实行事以避免被处罚。

  • Over time, if full nodes assume block producers will continue to behave honestly, they have no incentive to continue validating blocks, as they will never receive a reward for identifying an invalid transaction.
    随着时间的推移,如果全节点假设区块生产者将继续诚实行事,他们就没有动力继续验证区块,因为他们永远不会因识别无效交易而获得奖励。

  • If full nodes are not financially incentivized to continue validating blocks, they may stop doing so. At this point, it becomes viable for block producers to behave dishonestly. Even if there is still a non-zero amount of full nodes, it may become financially viable for the block producer to bribe the remaining full nodes to ignore a sufficiently valuable invalid transaction.
    如果全节点没有经济上的激励来继续验证区块,他们可能会停止这样做。在这一点上,区块生产者的不诚实行为变得可行。即使仍然存在非零数量的完整节点,对于区块生产者而言,贿赂剩余的完整节点以忽略足够有价值的无效交易可能在财务上是可行的。

This ends in a circular conundrum whereby the more secure a modular execution layer becomes (i.e. the less incentive there is for a block producer to behave dishonestly), the more it tends toward lower security (i.e. full nodes are no longer incentivized to validate blocks). On the other hand, the less secure it is, the more it tends toward higher security.

这以一个循环难题告终,即模块化执行层变得越安全(即区块生产者不诚实行为的动机越少),它就越倾向于降低安全性(即不再激励完整节点来验证区块) .另一方面,它越不安全,它就越倾向于更高的安全性。

This dilemma can be mitigated through a number of avenues (for a game-theoretic analysis of these factors, see this extensive post):

可以通过多种途径缓解这种困境(有关这些因素的博弈论分析,请参阅这篇帖子):

  • Altruism - Because MELs only require a single honest validator, as long as there is at least one altruistic full node operating, the system remains secure. However, while this may be secure enough in practice, it is not a sufficient guarantee for a system controlling a large amount of assets.
    利他主义 - 因为 MEL 只需要一个诚实的验证者,只要至少有一个利他的全节点在运行,系统就会保持安全。然而,虽然这在实践中可能足够安全,但对于控制大量资产的系统来说,这并不是充分的保证。

  • Economic interest - There are many entities which have financial incentives to run full nodes that go beyond the potential whistleblower reward. For example, products and services like block explorers, liquidity providers, or dapps need to access the full state of the MEL to effectively run their business. However, these entities are (in theory) susceptible to being bribed by a malicious block producer.
    经济利益 - 许多实体拥有运行完整节点的经济激励,这些激励超出了潜在的举报人奖励。例如,区块浏览器、流动性提供者或 dapp 等产品和服务需要访问 MEL 的完整状态才能有效地开展业务。然而,这些实体(理论上)容易受到恶意区块生产者的贿赂。

  • Whales - Entities with a large number of assets on an MEL may choose to run a full node in order to ensure their interests are protected and that the chain is secure.
    巨鲸 - 在 MEL 上拥有大量资产的实体可以选择运行一个完整节点,以确保他们的利益受到保护并且链是安全的。

  • Fast withdrawals - Because optimistic MELs rely on a dispute resolution window before guaranteeing finality on the lower layers of the modular stack, withdrawals from the MEL to the settlement layer are not finalized until this window has elapsed. As such, there is a market for third-party services which offer fast withdrawals, accepting tokens on the MEL and instantly sending the same tokens (minus a fee) to the user on the settlement layer. In order to ensure the MEL state isn’t reverted after they have sent funds on the settlement layer, the service provider is incentivized to verify the validity of the chain before entering into such a transaction.
    快速取款 - 因为乐观 MEL 在保证模块化技术栈较低层的最终确定性之前,依赖争议解决窗口,所以在此窗口过去之前,从 MEL 到结算层的取款不会最终确定。因此,存在提供快速提款、在 MEL 上接受代币并在结算层立即向用户发送相同代币(减去费用)的第三方服务市场。为了确保 MEL 状态在他们在结算层发送资金后不会恢复,激励服务提供商在进行此类交易之前验证链的有效性。

  • Block producers - It is possible to introduce a penalty for block producers who submit blocks which build on top of previous invalid blocks. With such a mechanism in place, block producers would be incentivized to verify the validity of the chain before submitting a block.
    区块生产者 - 可以对提交构建在先前无效块之上的新块的生产者引入惩罚。有了这样的机制,区块生产者将被激励在提交区块之前验证链的有效性。

While the above mitigation strategies may not be completely effective on their own, when combined there is a clear incentive for a number of different parties to continue running full nodes on the MEL and validating the state of the chain.

虽然上述缓解策略本身可能并不完全有效,但当结合使用时,有明显的动机让许多不同的各方继续在 MEL 上运行完整节点并验证链的状态。


新的设计空间:超越 EVM (A New Design Space: Going Beyond the EVM)

By adopting a design that enables high security under a single honest minority assumption, the modular blockchain stack enables the development of much higher-throughput blockchains than have previously been possible under monolithic designs.

通过采用在单一诚实少数假设下实现高安全性的设计,模块化区块链技术栈能够开发比以前在单片设计下可实现的更高吞吐量的区块链。

However, alongside the scalability benefits that come from separating computation from verification, further strides can be made in scalability by focusing specifically on the design of the top of the stack: the modular execution layer. Making computation more scalable and efficient on this layer is the next step in building better blockchains.

然而,除了计算与验证分离带来的可扩展性优势之外,还可以通过专门关注技术栈顶部的设计:模块化执行层,在可扩展性方面取得进一步进展。 在这一层上使计算更具可扩展性和效率是构建更好的区块链的下一步。

Most modular execution layers currently under development use Ethereum as their parent chain, so default to using the EVM as an execution environment. This is the design equivalent of improving the energy efficiency of an internal combustion engine: an incremental improvement on an already outdated technology.

目前正在开发的大多数模块化执行层都使用以太坊作为其父链,因此默认使用 EVM 作为执行环境。这相当于提高内燃机的能源效率的设计:对已经过时的技术进行增量改进。

In reality, the modular stack opens up a much wider design space, removing the need for modular execution layers to rely on the inefficient EVM. Fuel is taking advantage of this newly expanded design space to build a modular execution layer which goes beyond the EVM, optimizing for efficient & scalable computation, superior developer experience, and maximum security.

实际上,模块化技术栈开辟了更广阔的设计空间,不再需要模块化执行层来依赖低效的 EVM。 Fuel 正在利用这个新扩展的设计空间来构建一个超越 EVM 的模块化执行层 ,优化高效和可扩展的计算、卓越的开发人员体验和最大的安全性。

In Part 2, we will explore the ways in which modular execution layers can transcend the technological limitations of the previous generation of blockchain design to achieve true scalability.

在第 2 部分中,我们将探讨模块化执行层如何超越上一代区块链设计的技术限制以实现真正的可扩展性。


敬请关注 (Follow Us)

关于我们 (About Us)

Fuel is the fastest execution layer for the modular blockchain stack. Powerful and sleek, the technology enables parallel transaction execution, empowering developers with the highest flexible throughput and maximum security required to scale. Developers choose the FuelVM for its superior developer experience and the ability to go beyond the limitations of the EVM.

Fuel 是模块化区块链技术栈的最快执行层。该技术功能强大且时尚,支持并行交易执行,为开发人员提供了扩展所需的最高灵活吞吐量最大安全性。开发人员选择 FuelVM 是因为它卓越的开发人员体验和运行能力 ,突破了 EVM 的限制****。

成为贡献者 (Become a Contributor)

赞赏