大家好,为了未来的极致扩容,以太坊正在经历一场史无前例的底层手术。
我们知道,以太坊就像一台全球共享的超级计算机,它需要一个极其庞大且高效的“账本”来记录所有人的余额和智能合约数据。目前,这个账本使用的是一种叫做 MPT(默克尔帕特里夏树) 的数据结构。
但是,随着以太坊朝着“无状态客户端”和极致扩容的方向狂奔,MPT 越来越显得臃肿和力不从心。为此,以太坊核心开发者们提出了一个激进的替代方案:二进制 Trie(二叉树,代码代号 EIP-7864)。
那么,这个被寄予厚望的“新账本”,在真实的物理服务器上,性能到底能不能打?它准备好接管价值数千亿美元的以太坊主网了吗?
最近,极客社区在顶级的服务器硬件上,让这两代底层数据结构进行了一场硬碰硬的“极限性能压测”。
今天为您深度拆解这场巅峰对决的真实战况。
一、 核心战况速览:新王尚未登基,性能仍有阵痛
直接说结论:在目前的测试版本中,新型的“二进制 Trie(二叉树)”在速度上被现有的 MPT 全面碾压。
读取数据: 二叉树比 MPT 慢了约 1.7 倍。写入数据: 二叉树比 MPT 慢了约 2.5 倍。
💡 【特别澄清】不要被表面数据骗了:在早期的粗略测试中,有人惊呼新树比老树慢了惊人的 9.6 倍。但那是由于两者的“计费规则(Gas 消耗算法)”不同导致的假象。在统一了起跑线、并且极客们在过去一周紧急打上了 4 个极限优化补丁后,真实的性能差距其实已经缩小到了“可控的阵痛范围(1.7 ~ 2.5 倍)”。
二、 刨根问底:二叉树为什么会慢?
既然二叉树是未来的演进方向,为什么它现在的速度反而不如老技术?这就必须从两者的底层架构差异说起。
💡 【大白话】MPT 与 二叉树的区别:找数据就像“查字典”。MPT(现任账本): 采用的是“多叉树”结构。它就像一本有完整拼音索引的现代字典,你要找“张三的余额”,只需要翻 5 到 6 次(节点),就能精准定位到具体的页面和行数。
二叉树(未来账本): 采用的是极其严谨但刻板的“非黑即白”结构。它把所有的账户和数据全部揉进了一个巨大的二维空间里。找“张三的余额”,你必须顺着树干,一路做 50 多次“向左走还是向右走”的判断,硬生生跨越约 52 个节点才能找到。
致命的“路径深度”二叉树之所以读取慢了 1.7 倍,根本原因就在于这暴增了近 10 倍的“查找路径(从 5 次变成了 52 次)”。
在计算机底层,每一次寻找节点,都要去硬盘里翻一次数据库(Pebble 的 LSM 树)。虽然开发者用尽全力优化,但这 52 次的硬盘折返跑,依然让系统的读取耗时(State_read_ms)大幅增加。
有趣的“冷尾效应(Cold Tail Effect)”测试中发现了一个极其有趣的现象:当一个区块里包含的交易越来越多时,二叉树找数据的速度会呈现“断崖式下跌”(单次查找成本飙升了 7.5 倍)。
为什么?因为在一个大区块刚开始处理时,系统会把那些经常被访问的“树干顶端节点”缓存到高速内存里(预取器)。但随着交易越来越深,系统不得不在那些从未被访问过的“冷门树枝(极深的路径)”里不断摸索,每一次摸索都需要重新向缓慢的硬盘发起请求。
三、 写入之痛:被“哈希计算”拖垮的性能
在区块链中,除了读取数据,更重要的是在转账后更新数据(写入)。测试表明,二叉树的写入时间(每槽耗时)是 MPT 的 2.5 倍。
💡 【大白话】状态哈希计算(State_hash_ms):区块链的防篡改机制要求:只要账本里哪怕改动了 1 块钱,整个账本目录的“防伪码(哈希值)”都要重新计算一遍。
在二叉树的设计(GD-5 组深度)中,修改一个底层数据,会牵一发而动全身,触发多达 260 次的局部防伪码(SHA-256)重新计算。作为对比,老迈的 MPT 只需要更新 10 到 15 次。
但千万不要以为是 CPU 算力不够!测试显示,真正用于加密运算的 CPU 时间只占了 2% 到 5%,剩下 95% 以上的漫长时间,全都耗费在了“顺着那 50 多个节点一路往回爬,把沿途节点从硬盘里读出来更新”的 I/O(输入输出)泥沼里。
四、 灵魂拷问:二叉树准备好上主网了吗?
结论非常明确:目前尚未准备好。
以太坊主网有一个死要求:每 12 秒必须产出一个新区块。在极限混合压测下,目前的二叉树处理一个标准区块需要耗时近 10.9 秒,一口气吃掉了 12 秒额度的 91%。这意味着它几乎没有给网络广播、生成证明和其他冗余操作留下任何喘息的空间。如果现在强行上主网,极有可能导致以太坊大面积瘫痪。
那么,这场底层大换血还有救吗?
答案是充满希望的。高达 1.7 倍到 2.5 倍的差距听起来吓人,但考虑到二叉树底层近 10 倍的架构复杂度增加,这种性能折损其实已经被优化得极其优秀了。
而且,极客们手里还有三大“终极武器”没有亮出来:
快照层(Snapshot)降维打击: 也就是把树状结构直接拍扁,变成一个平面账本供快速读取。如果能在二叉树上成功部署快照层,那 1.7 倍的读取劣势可能会被瞬间抹平。底层数据库引擎重构: 目前测试用的 Pebble 数据库可能并不适合二叉树这种“深长”的读取模式,未来换上专用的前缀顺序读取引擎,性能还能再上一个台阶。并行执行(Parallel EVM): 这是以太坊的终极杀招,用多线程并发处理来彻底掩盖底层的读取延迟。
结语:这场 MPT 与 二叉树的对决,其实是一场“当下效率”与“未来扩展性”的残酷博弈。
虽然新型二叉树目前在读写速度上仍处于下风,但它是实现太坊无状态客户端、极低存储节点运行门槛的必由之路。阵痛是肯定的,但这正是每一项伟大底层技术在破茧成蝶前,必须经历的淬火重塑。
未来的几个月,我们将持续关注极客社区如何一步步榨干这 12 秒的物理极限,敬请期待。
⚠️ 【免责声明】本文内容仅为商业模式拆解与技术知识分享,数据均源于网络。绝不构成任何投资或操作建议,亦不对数据真实性承担责任。请大家独立研究,谨慎决策。
🌹 如果您喜欢本篇深度解析,欢迎点赞、关注、留言与转发!您的支持是我们持续输出的最大动力。#Binary Trie
#MPT $BTC $ETH $BNB