# Sei v2新版本:第一个并行化的EVM区块链 **Published by:** [Sei中文](https://paragraph.com/@sei/) **Published on:** 2023-11-29 **URL:** https://paragraph.com/@sei/sei-v2-evm ## Content Subscribe有关更详细信息,请在Sei开发者论坛上查看这篇额外的技术说明。 在这篇文章中,Sei Labs介绍并提出了对Sei的升级:v2 - 第一个并行化的EVM。 Sei v2充分利用了Sei的已验证优势,供全球范围的EVM开发人员使用。这使得Sei能够充分发挥Solana和Ethereum的优势 - 一个经过超级优化的执行层,充分利用了围绕EVM的工具和思考观点。非技术总结自2023年8月以来,Sei的主网beta版上线,在此期间一直在推动全球分布式节点能实现的极限:Sei始终以390毫秒的速度完成区块,成为已有的最快链;Sei持续保持每秒超过45笔交易的活跃度,成为目前运行中每秒成功交易数量第二多的链[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智能合约进行交互。升级变更摘要向后兼容性相比要求开发者完全重写智能合约以在Sei上部署,Sei V2考虑到了向后兼容性。这意味着存在于以太坊上的每个主要合约都可以无缝地在Sei上重新部署,而无需进行任何代码更改[2]。 从技术角度来看,作为Sei链二进制文件的一部分,Sei节点将自动导入Geth,即以太坊虚拟机的Go实现。Geth将用于处理以太坊交易,而任何由此产生的更新(状态更新或调用与非EVM相关的合约)将使用Sei专为EVM创建的特殊接口进行。Geth实现作为核心Sei二进制文件的一部分这种方法允许完全的字节码兼容性,使得任何可以在Geth上运行的内容都可以轻松地由Sei处理。此外,由于Sei与EVM的RPC接口将是相同的,因此可以无缝重用来自以太坊的现有工具。例如,用户只需切换连接的RPC,就可以使用Metamask;开发者可以使用工具,如Foundry、Remix和Hardhat。乐观并行化Sei目前要求智能合约开发者选择性地定义智能合约正在使用的状态。这种可选的方法不幸地引入了更大的开发者摩擦。 Sei V2将消除开发者自行定义状态访问的需求。相反,链将乐观地并行运行所有交易。每当发生冲突(涉及相同状态的交易)时,链将跟踪每个交易涉及的存储部分。涉及不同存储部分的交易将在并行中重新运行,涉及相同状态的交易将按顺序重新运行。这将递归地继续,直到没有更多未解决的冲突为止。由于交易在一个块中有序排列,这是一个确定性的过程,将简化开发者的工作流程,同时保持链级别的并行化。在乐观并行化冲突事件中的交易生命周期乐观并行化将适用于在Sei上运行的所有交易,包括Sei原生交易、Cosmwasm交易和EVM交易。有关技术实现的更多详细信息可以在这里找到。SeiDBSei目前使用由IAVL树数据结构组成的普通数据库层。Sei已经重新架构了存储接口,以优化不同的用例。Sei通过将单个IAVL树分为2个组件 - 状态存储和状态提交(动机)来实现这一点。状态存储层提供对原始键值对的低延迟直接访问,有助于RPC节点更好地处理查询。将历史数据存储为原始键值对消除了冗余元数据的开销,并帮助将磁盘使用减少数个数量级。状态存储还使用写前日志,在发生崩溃时帮助恢复。状态提交层使用高度优化的内存中IAVL树,负责提交数据,这将有助于验证者更快地达成共识,因为磁盘访问的数量减少了。 除了这个改变之外,Sei对各种业界领先的数据库进行了严格的基准测试,Sei V2将转向使用PebbleDB而不是GoLevelDB,这将大大提高多线程访问的读/写性能。有关技术实现的更多详细信息可以在这里找到。互操作性由于Sei是一个集成链,前往Sei不同组件(Cosmwasm、EVM、银行、质押)的所有交易都能够相互通信。尽管这些交易有不同的目的,但它们最终具有许多相似的特征,如燃气、发件人和交易体。当链接收到这些交易时,它们将被处理为Sei原生交易,并转发到存储的相应部分(即,CosmWasm交易将被发送到wasm模块并执行)。这带来了更无缝的开发者体验 - EVM开发者可以轻松访问原生代币和其他链功能,如质押。交易类型如何与Sei的多个虚拟机交互性能指标截至目前,SeiDB和乐观并行化已经完成了编码。EVM的实施仍在进行中,预计在接下来的几个月内完成编码。因此,Sei V2将在2024年初准备好推出测试网。 SeiDB和乐观并行化的初始性能数据表明如下性能:性能表格这些测试是在一个包含20个节点的集群中进行的,这些节点平均分布在俄亥俄州、加利福尼亚州、法兰克福和爱尔兰。每个节点都是AWS 8xlarge,具有32个核心和64GB RAM。结论这个提案概述了Sei支持和增强多个虚拟机的路线,首先是第一个并行化的EVM。 目前在任何EVM链上构建的应用程序都将能够在Sei上部署,以支持更多用户和比现有区块链更多的‘Web-2’风格的互动体验。 此外,它们可以提供更低廉的每笔交易成本、更高的吞吐量,并且不会受到中心化的权衡、复杂性或运营以太坊L2 Rollup的开销的影响。 通过这种方式,Sei正在使EVM再次变得简单。 预计将在未来几周内提出一个治理提案,以便讨论和投票对此提案进行决策。 有关更详细信息的额外技术说明可以在Sei开发者论坛上找到 - 欢迎贡献、提问和思考。 脚注 [1] 这个数字代表活动量,而不是Sei能够处理的交易的最大阈值。 [2] Ethereum L1和Sei V2之间的最大区别是状态存储的方式 - 以太坊使用Patricia Merkle Tree,而Sei使用IAVL树,因此任何需要状态证明的内容都需要重新编写。Sei —— 专为交易设计的最快 L1不想错过 Sei 的最新动态?点击下方按钮免费订阅! “Sei中文”官方推特、Sei中文电报群、Sei中文公告电报群已开通,现在Follow来第一时间了解Sei的最新进展: ## Publication Information - [Sei中文](https://paragraph.com/@sei/): Publication homepage - [All Posts](https://paragraph.com/@sei/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@sei): Subscribe to updates