Sei的Giga升级:区块链性能的新突破
Sei区块链最近发布了新的白皮书,介绍了名为Giga的重大升级。这份长达17页的技术文档对许多读者来说可能显得有些艰深难懂。本文将用更通俗易懂的方式,为你解读这次升级的核心内容,以及它如何从多个层面提升区块链的性能表现。
异步执行的区块生成机制
Giga升级的核心思想其实很简单:
"只要所有节点都拥有相同的初始状态,并且按照完全一致的顺序处理交易,那么最终它们都会得到相同的结果。"
这意味着,区块链的最终结果只取决于初始状态和交易顺序。因此,共识层只需要确定交易的顺序,每个节点就可以独立计算出最终状态。

这种设计将共识和执行分离开来,让区块可以异步执行。
一旦区块被确认,节点就会处理它,并在后面的区块中提交状态变化。
然后通过状态共识来验证这个区块,确保所有节点都计算出了正确的最终状态。
这里有个关键点:执行和共识(生成)是同时进行的。节点在计算一个区块时,也在接收其他区块。
所以,虽然区块本身是按顺序执行的,但区块生成过程确实和共识并行发生。对任何一个特定区块来说,这些过程都是完全异步的。
你可能会想,同时对同一个区块进行共识和执行似乎不可能。实际上,当节点在执行区块n时,它已经在接收区块n+1为下一步做准备了。
如果共识出现问题(比如网络中有三分之一的节点在作恶),链会暂停,这和标准的BFT协议类似。
区块内执行失败的交易不会让整个区块失效,只是保持失败状态。因为区块生成和执行是分开的,当前区块的最终状态会在后续区块中提交。

多提议者模型与Autobahn协议
这个共识协议有个很酷的名字——"Autobahn"(就像德国不限速的高速公路)。Autobahn将数据可用性和交易排序分开,背后有个很有趣的模型。
就像高速公路有多条车道一样,每个节点都有自己的通道。节点用这些通道来提出关于交易排序的提案。提案其实就是一组有序的交易。
Autobahn会定期执行"tipcut"操作,聚合多个提案来确定最终的交易顺序。
每个验证者都有自己的通道来提议交易批次。
当节点收到有效提议时,会发送投票来确认收到了这个提议。
提案收集到足够投票后,会形成一个可用性证明(PoA),确保数据已经被网络中至少一个诚实节点接收。
Tipcut以毫秒为单位进行,最终来自Autobahn的多个提案会被"切断"。
提议者有动力等待发布区块,并尽可能发布单个区块,但每个区块的执行时间限制(类似Gas限制)会稍微改变这种动态。
一条通道上的一个提议通常相当于一个区块,这意味着当Tipcut发生时,多个区块会被同时处理。
之后,该slot的领导者将Tipcut发送给其他节点完成排序。节点实际上在对单个Tipcut投票的同时,已经在准备下一个Tipcut了。

错过批次的节点可以从PoA中列出的验证者那里异步获取数据,这就是数据可用性的重要性所在。
在网络同步的情况下,如果领导者正常工作,Autobahn只需要两轮通信就能确认提议。如果领导者出问题,系统会选出新领导者来保持进程。
下一个tip-cut提议实际上可以在当前tip-cut的提交阶段就开始,这样能减少延迟,因为执行和生成是并行的。
简单来说,整个模型是一个多提议者系统,许多节点可以同时为区块排序提出提案。每个验证者都提议自己的区块,并获得网络拥有这些区块的证明(PoA),这有助于提高网络的吞吐量和整体效率。
并行执行的实现与应用
前面提到,区块执行过程与共识是并行发生的,虽然区块本身是按顺序执行的。你可能会好奇,这算不算真正的并行执行。
答案是:既是也不是。
虽然区块是按顺序执行,但区块内的交易确实可以并行处理。如果交易不修改(写入)相同的状态,而且一个交易的结果不影响另一个交易,那么它们就可以同时执行。
简单说,它们的执行路径不应该相互依赖。Giga没有内存池,交易会立即被节点包含。
Giga假设大多数交易之间没有冲突,并在多个处理器核心上同时处理这些交易。
每笔交易的更改会暂时存储在私有缓冲区中,不会立即应用到区块链上。
处理完成后,系统会检查该交易是否与之前的交易存在冲突。
如果有冲突,该交易会被重新处理。如果没有冲突,其更改将被应用到区块链并最终确定。
如果遇到高频冲突的情况,系统会切换为一次处理一个交易,确保交易能够顺利进行。
简单来说,并行执行就是把交易分配到多个核心上,让那些没有冲突的交易能够同时运行。

存储优化方案
由于交易量很大,数据需要既安全又容易访问,所以存储方式与传统区块链有所不同。Giga用简单的键值(key-value)格式存储数据,这种相对扁平的结构有助于减少数据更改时需要的多次更新或检查。
此外,Giga还采用分层存储方式:新数据保留在SSD(高速)上,而不常用的数据则迁移到速度较慢但更经济的存储系统中。
如果某个节点崩溃,它可以回放日志来恢复正确状态,并将更新应用到RocksDB(一种专用数据库)来组织数据。
这个存储系统使用了一种加密累加器(Cryptographic Accumulator),能够证明数据的正确性而不需要进行大量计算。累加器以批处理方式更新,让验证者和轻节点能够快速就区块链的当前状态达成一致。
成为多提议者EVM L1区块链的意义
L1基础设施有很多可以改进的地方,不同的L1也面临各种技术挑战,从MEV等经济问题到状态管理等技术问题。
成为首个支持多提议者的L1链很有挑战性,尤其是对EVM L1来说,因为EVM最初并不是为多提议者系统设计的。
不过,Sei正在尝试不同的方法来保留EVM以及开发者们习惯使用的工具。
并行交易执行、执行过程中达成共识以及多个提议者并行操作都有助于提升性能,执行吞吐量可提高约50倍。但这些改进也可能面临前面提到的一些风险。
这是Sei的第二次重大更新,之前Sei从Cosmos链转型为EVM链,现在又推出了针对速度优化的执行客户端。
接下来Sei的发展以及这些优化措施的效果,值得我们持续关注。
Sei的Giga升级代表了区块链技术的一次重要创新,通过异步执行区块生成、多提议者模型、并行执行和存储优化等多项技术,显著提升了区块链的性能和效率。作为首个支持多提议者的EVM L1区块链,Sei正在探索一条新的技术路径,虽然面临挑战,但也为整个行业提供了宝贵的经验。随着这些技术的成熟和应用,我们有望看到更快速、更高效的区块链生态系统,为用户和开发者带来更好的体验。
相关问答
1. 问:Sei的Giga升级主要解决了什么问题?
答:Giga升级主要解决了区块链性能问题,通过异步执行区块生成、多提议者模型、并行执行和存储优化等技术,显著提升了区块链的处理速度和效率。
2. 问:Giga升级中的异步执行区块生成是什么意思?
答:异步执行区块生成是指将共识与执行分离开来,允许区块异步执行。一旦区块最终确定,节点就会对其进行处理,并在后续区块中提交其状态,然后通过状态共识验证该区块。执行与共识(生成)是并行进行的。
3. 问:Autobahn协议是如何工作的?
答:Autobahn协议将数据可用性和交易排序分离开来,采用多车道模型,每个节点都有自己的通道来提议交易排序。它会定期执行"tipcut"操作,聚合多个提案来确定最终的交易顺序。节点收到有效提议后会发送投票确认,形成可用性证明(PoA)。
4. 问:Giga中的并行执行是如何实现的?
答:Giga假设大多数交易之间没有冲突,并在多个处理器核心上同时处理这些交易。每笔交易的更改会暂时存储在私有缓冲区中,处理完成后系统会检查是否存在冲突。有冲突的交易会被重新处理,无冲突的更改将被应用到区块链并最终确定。
5. 问:Giga在存储方面有哪些优化?
答:Giga采用简单的键值格式存储数据,使用分层存储方式(近期数据在SSD上,不常用数据迁移到经济型存储),并使用加密累加器来证明数据正确性而不需要大量计算。节点崩溃后可以通过回放日志恢复状态。
6. 问:Sei成为多提议者EVM L1区块链面临什么挑战?
答:主要挑战在于EVM最初并不是为多提议者系统设计的,Sei需要尝试不同方法来保留EVM及开发者习惯的工具。此外,还需要处理MEV等经济问题和状态管理等技术问题。
7. 问:Giga升级能带来多大的性能提升?
答:通过并行交易执行、执行过程中达成共识以及多个提议者并行操作,Giga升级可以将执行吞吐量提升约50倍。
8. 问:Giga升级中的"tipcut"操作是什么?
答:"tipcut"是Autobahn协议中的一种操作,它会聚合多个提案来确定最终的交易顺序。这个操作以毫秒为单位进行,当发生时,多个区块会被同时处理。
9. 问:Sei之前有过哪些重大更新?
答:在Giga升级之前,Sei已经进行过一次重大更新,即从Cosmos链转型为EVM链。Giga升级是Sei的第二次重大更新,推出了针对速度优化的执行客户端。
10. 问:Giga升级对区块链行业有什么意义?
答:Giga升级代表了区块链技术的一次重要创新,作为首个支持多提议者的EVM L1区块链,Sei正在探索新的技术路径。这些技术的成熟和应用有望带来更快速、更高效的区块链生态系统,为整个行业提供宝贵经验。