foobar/
foobar/|2025年06月27日 17:01
FAFO深潜 区块链扩展的两个瓶颈是状态增长和吞吐量。状态增长意味着你必须存储每个用户帐户、每个智能合约和每笔交易的数据,这需要巨大的快速磁盘。吞吐量意味着你想在短时间内处理许多交易,比如总统投下一枚表情币。 来自LayerZero的新区块链事务调度器FAFO优化了吞吐量问题。既然区块链是去中心化的数据库,我们知道如何大量优化数据库写入,为什么2025年交易吞吐量会成为这样一个问题? 区块链具有特殊的属性,称为经过身份验证的数据结构(想想默克尔树),它将整个状态压缩到一个字节的区块哈希中,以证明当前状态的情况。这种blockhash使L2和轻量级客户端等功能,甚至将块链接在一起成为可能。 区块链和数据库中的存储结构之间的区别在于,数据库将存储槽整齐地打包在一起,而区块链倾向于分散存储槽。这使得区块链中的读写操作变得更加昂贵,因为您正在从SSD的所有不同分区进行读取。因此,第一个问题是,你需要不惜一切代价最大限度地减少SSD的读/写。 第二个问题是,虽然数据库被构建为大规模并行,但区块链交易并不总是能够并行化。如果两个人试图以完全相同的价格购买相同的Uniswap代币,并且没有滑点怎么办?只有one会成功。因此,区块链需要对冲突的交易进行排序。 因此,提高事务吞吐量的关键是(1)尽量减少存储的读/写次数;(2)在处理冲突的tx时,尽可能并行化事务处理。 结果one解决方案同时解决了这两个问题!只有当事务从相同的存储插槽读取或写入时,它们才会发生冲突。 SVM和EVM在这里采取了不同的方法。SVM使您在事务提交时硬编码要读/写的存储插槽,这使节点在优化方面更加积极,但为可组合应用程序创造了更困难的开发人员体验。EVM具有可选的访问列表,这些列表从未真正正确定价,因此它们未被使用,并且允许任何事务在没有任何事先警告的情况下接触任何经过身份验证的存储插槽。 FAFO是一系列适用于任何VM的算法,尽管在EVM上收益最高。关键思想是将不冲突的事务分组到帧中,然后在单独的计算核心上运行帧内的每个事务,以实现块内并行性。这里的思维过程并不新颖,但每个阶段的最佳实现都是。 1) ParaLyze -对每个内存池事务进行推测性分析,以了解它将触及哪些存储插槽。这是通过启发式而不是完美计算预先完成的。 2) ParaFramer -然后,每个内存池事务都被贪婪地打包成帧(非冲突事务组),使用存储槽上的布隆过滤器进行概率冲突检测(保证检测到每个冲突,也有一些误报)。 3) ParaScheduler -由于存储槽的读/写操作成本高昂,您希望按顺序执行每个涉及特定存储槽的事务。例如,同一池上的10个Uniswap交换应该按顺序进行,这样您就不必多次从磁盘重新加载Uniswap存储数据。 -对于每个预测的存储槽,由单独的核心计算事务的有向酰基图(DAG)。DAG是一种奇特的说法,即A应该发生在B应该发生在C之前,就像A->B->C一样。然后,每个DAG中的事务以有序的直接顺序执行,在避免冲突的同时最大限度地减少存储槽读取。 太长,读不下去了 -FAFO在reth上每秒可处理高达110万个EVM事务,专门解决吞吐量问题(无需解决带宽或状态需求)。 -推测状态槽预处理,使用布隆过滤器构建帧,然后在存储槽上构建DAGs以供执行。 -这是一种启发式算法,不是最优解,而是对现有朴素方法的有力改进。 -可能最相关的是新的单序列器链,如MegaETH,其中带宽不是一个问题,但也有助于缩短以太坊/Monad上的区块时间,同时保持去中心化。
+5
曾提及
分享至:

脈絡

熱門快訊

APP下載

X

Telegram

Facebook

Reddit

複製鏈接

熱門閱讀