# Sei v2新版本：第一个并行化的EVM区块链

By [Sei中文](https://paragraph.com/@sei) · 2023-11-29

---

[Subscribe](null)

有关更详细信息，请在[Sei开发者论坛](https://forum.sei.io/t/evm-integration/37?ref=blog.sei.io)上查看这篇额外的技术说明。

在这篇文章中，Sei Labs介绍并提出了对Sei的升级：v2 - 第一个并行化的EVM。

Sei v2充分利用了Sei的已验证优势，供全球范围的EVM开发人员使用。这使得Sei能够充分发挥Solana和Ethereum的优势 - 一个经过超级优化的执行层，充分利用了围绕EVM的工具和思考观点。

非技术总结
-----

自2023年8月以来，Sei的主网beta版上线，在此期间一直在推动全球分布式节点能实现的极限：

*   Sei始终以390毫秒的速度完成区块，成为已有的最快链；
    
*   Sei持续保持[每秒超过45笔交易](https://flipsidecrypto.xyz/sei_team/speed-analysis-speed-analysis-1YodXl?ref=blog.sei.io)的活跃度，成为目前运行中每秒成功交易数量第二多的链\[1\]。
    

所有这些都是在没有中断或意外的网络停机的情况下完成的。这进一步加强了一个基本的技术论点，即集成的区块链比使用模块化链具有更显著的性能优势。

Sei目前支持使用Rust编写的Cosmwasm智能合约。随着Sei继续吸引更多开发者的兴趣，开发者最大的需求之一是增加Sei支持的执行环境的灵活性。特别是，EVM支持是许多开发者关注的重点。

因此，我们提出Sei V2：Sei的首次重大升级，成为第一个完全并行化的EVM。此升级将使Sei具备以下功能：

*   EVM智能合约的向后兼容性 - 允许开发者在不进行代码更改的情况下部署来自EVM兼容区块链的经过审计的智能合约。
    
*   熟悉和广泛使用的应用程序和工具的可重用性，如Metamask。
    
*   乐观的并行化 - 允许链支持并行化，无需开发者定义任何依赖关系。
    
*   SeiDB - 对存储层的改进，以防止状态膨胀，提高状态读/写性能，并使新节点更容易进行状态同步和追赶。
    
*   与现有链的互操作性，允许在Sei上支持的EVM和其他任何执行环境之间实现无缝的可组合性。
    

从性能角度来看，Sei V2将提供每秒28,300个批处理交易的吞吐量，同时提供390毫秒的区块时间和390毫秒的最终性。这使得Sei能够支持比现有区块链更多的用户和更丰富的互动体验，同时提供更低廉的每笔交易成本。

Sei的主要升级目前几乎已经完成了编码。一旦审核完成，这个升级将在2024年第一季度发布到公共测试网，并将在2024年上半年的某个时候部署到主网。

工作原理
----

Sei由不同的软件组件组成，它们相互协作以支持区块链。其中一些组件与共识层相关，而另一些与执行层相关。

Sei V2将改变执行层的工作方式，以支持乐观并行化和优化状态存储。此外，它还将创建一个新的组件来支持EVM智能合约。这些EVM智能合约将受益于对共识和并行化所做的所有更改，并能够与现有的Cosmwasm智能合约进行交互。

![升级变更摘要](https://storage.googleapis.com/papyrus_images/27941c1e617767f8b818c0b922c760f18aac9760256988af87c1db0dffe1e9aa.png)

升级变更摘要

向后兼容性
-----

相比要求开发者完全重写智能合约以在Sei上部署，Sei V2考虑到了向后兼容性。这意味着存在于以太坊上的每个主要合约都可以无缝地在Sei上重新部署，而无需进行任何代码更改\[2\]。

从技术角度来看，作为Sei链二进制文件的一部分，Sei节点将自动导入[Geth](https://github.com/ethereum/go-ethereum?ref=blog.sei.io)，即以太坊虚拟机的Go实现。Geth将用于处理以太坊交易，而任何由此产生的更新（状态更新或调用与非EVM相关的合约）将使用Sei专为EVM创建的特殊接口进行。

![Geth实现作为核心Sei二进制文件的一部分](https://storage.googleapis.com/papyrus_images/14b6ec4af4771d92fdecce7d7a6d177642e8a384ee9c18893b0169412d1417be.png)

Geth实现作为核心Sei二进制文件的一部分

这种方法允许完全的字节码兼容性，使得任何可以在Geth上运行的内容都可以轻松地由Sei处理。此外，由于Sei与EVM的RPC接口将是相同的，因此可以无缝重用来自以太坊的现有工具。例如，用户只需切换连接的RPC，就可以使用Metamask；开发者可以使用工具，如Foundry、Remix和Hardhat。

乐观并行化
-----

Sei目前要求智能合约开发者选择性地定义智能合约正在使用的状态。这种可选的方法不幸地引入了更大的开发者摩擦。

Sei V2将消除开发者自行定义状态访问的需求。相反，链将乐观地并行运行所有交易。每当发生冲突（涉及相同状态的交易）时，链将跟踪每个交易涉及的存储部分。涉及不同存储部分的交易将在并行中重新运行，涉及相同状态的交易将按顺序重新运行。这将递归地继续，直到没有更多未解决的冲突为止。由于交易在一个块中有序排列，这是一个确定性的过程，将简化开发者的工作流程，同时保持链级别的并行化。

![在乐观并行化冲突事件中的交易生命周期](https://storage.googleapis.com/papyrus_images/066308e015fae3f450b49b88fe4586648b694fb44c9caa2bc414addd922c1b36.png)

在乐观并行化冲突事件中的交易生命周期

乐观并行化将适用于在Sei上运行的所有交易，包括Sei原生交易、Cosmwasm交易和EVM交易。有关技术实现的更多详细信息可以在[这里](https://forum.sei.io/t/optimistic-concurrency-control/28?ref=blog.sei.io)找到。

SeiDB
-----

Sei目前使用由IAVL树数据结构组成的普通数据库层。Sei已经重新架构了存储接口，以优化不同的用例。Sei通过将单个IAVL树分为2个组件 - 状态存储和状态提交（[动机](https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-065-store-v2.md?ref=blog.sei.io)）来实现这一点。状态存储层提供对原始键值对的低延迟直接访问，有助于RPC节点更好地处理查询。将历史数据存储为原始键值对消除了冗余元数据的开销，并帮助将磁盘使用减少数个数量级。状态存储还使用写前日志，在发生崩溃时帮助恢复。状态提交层使用高度优化的内存中IAVL树，负责提交数据，这将有助于验证者更快地达成共识，因为磁盘访问的数量减少了。

除了这个改变之外，Sei对各种业界领先的数据库进行了严格的基准测试，Sei V2将转向使用PebbleDB而不是GoLevelDB，这将大大提高多线程访问的读/写性能。

![](https://storage.googleapis.com/papyrus_images/305b5a28c3366d1fac37dd896773c2a4962ae0d6705e1f36cd60def205581b98.png)

有关技术实现的更多详细信息可以在[这里](https://forum.sei.io/t/seidb-improving-long-term-storage/22?ref=blog.sei.io)找到。

互操作性
----

由于Sei是一个集成链，前往Sei不同组件（Cosmwasm、EVM、银行、质押）的所有交易都能够相互通信。尽管这些交易有不同的目的，但它们最终具有许多相似的特征，如燃气、发件人和交易体。当链接收到这些交易时，它们将被处理为Sei原生交易，并转发到存储的相应部分（即，CosmWasm交易将被发送到wasm模块并执行）。这带来了更无缝的开发者体验 - EVM开发者可以轻松访问原生代币和其他链功能，如质押。

![交易类型如何与Sei的多个虚拟机交互](https://storage.googleapis.com/papyrus_images/7435b50573651b56ef31cb15916362b458196d808eccfa5fa9732c8f7a11ef64.png)

交易类型如何与Sei的多个虚拟机交互

性能指标
----

截至目前，SeiDB和乐观并行化已经完成了编码。EVM的实施仍在进行中，预计在接下来的几个月内完成编码。因此，Sei V2将在2024年初准备好推出测试网。

SeiDB和乐观并行化的初始性能数据表明如下性能：

![性能表格](https://storage.googleapis.com/papyrus_images/858426646d857125ccca53207b3f65aa86b5514c48f9c6f786822309c3c056f0.png)

性能表格

这些测试是在一个包含20个节点的集群中进行的，这些节点平均分布在俄亥俄州、加利福尼亚州、法兰克福和爱尔兰。每个节点都是AWS 8xlarge，具有32个核心和64GB RAM。

结论
--

这个提案概述了Sei支持和增强多个虚拟机的路线，首先是第一个并行化的EVM。

目前在任何EVM链上构建的应用程序都将能够在Sei上部署，以支持更多用户和比现有区块链更多的‘Web-2’风格的互动体验。

此外，它们可以提供更低廉的每笔交易成本、更高的吞吐量，并且不会受到中心化的权衡、复杂性或运营以太坊L2 Rollup的开销的影响。

通过这种方式，Sei正在使EVM再次变得简单。

预计将在未来几周内提出一个治理提案，以便讨论和投票对此提案进行决策。

有关更详细信息的额外技术说明可以在Sei[开发者论坛](https://forum.sei.io/t/evm-integration/37?ref=blog.sei.io)上找到 - 欢迎贡献、提问和思考。

_脚注_

_\[1\] 这个数字代表活动量，而不是Sei能够处理的交易的最大阈值。_

_\[2\] Ethereum L1和Sei V2之间的最大区别是状态存储的方式 - 以太坊使用Patricia Merkle Tree，而Sei使用IAVL树，因此任何需要状态证明的内容都需要重新编_写。

* * *

**Sei —— 专为交易设计的最快 L1**
-----------------------

不想错过 Sei 的最新动态？点击下方按钮免费订阅！

[“Sei中文”官方推特](https://twitter.com/Sei_ZH)、[Sei中文电报群](https://t.me/sei_chinese_group)、[Sei中文公告电报群](https://t.me/sei_chinese_announcement)已开通，现在Follow来第一时间了解Sei的最新进展：

---

*Originally published on [Sei中文](https://paragraph.com/@sei/sei-v2-evm)*
