标题: 如何让5年后的以太坊变得像比特币一样简单(转) [打印本页] 作者: 九嶷风 时间: 2025-5-8 08:22 标题: 如何让5年后的以太坊变得像比特币一样简单(转) 3 F2 `7 a" z( A* o
! ]; d* B( C; r1 y1 h* h
以太坊旨在成为全球账本,需要可扩展性和韧性。本文聚焦协议简单性的重要性,提出通过简化共识层(3-slot 最终性、STARK 聚合)和执行层(替换 EVM 为 RISC-V ; J/ v2 a7 h, u, `2 f* @9 d. m8 D( A8 U0 B
或类似虚拟机)大幅降低复杂性,减少开发成本、错误风险和攻击面。建议通过向后兼容策略(如链上 EVM 解释器)平滑过渡,并统一纠删码、序列化格式(SSZ)和树结 \; o: W- A0 u% d% |% l ^8 J4 |6 Y8 Y$ T! H% N0 z3 K. R
构以进一步简化。目标是让以太坊共识关键代码接近比特币的简单性,提升韧性和参与度,需文化上重视简单性并设定最大代码行数目标。* a7 [0 I: m# Z* m! u! |, ?0 D; Z
( E. {; \7 o/ n6 h) T: D" @) y7 h# V
以太坊的目标是成为全球账本:存储人类文明资产与记录的平台,服务于金融、治理、高价值数据认证等领域。这需要两方面的支持:可扩展性与韧性。Fusaka 硬分叉3 {- }* ?: J; y7 O, Q1 \8 U
( S5 ?8 i( g9 L$ ]0 i# S- V' U& _计划将 L2 数据的可用空间增加 10 倍,而当前提议的 2026 年路线图也计划为 L1 层带来类似的大幅提升。与此同时,以太坊已完成向权益证明(PoS)的过渡,客户端多样0 L- W2 h5 i! }6 v. C) I
# d, \; [( G+ S/ _
性迅速提升,零知识(ZK)验证、量子抗性研究也在稳步推进,应用生态日益稳健。 ! @0 U) G+ P* D5 `* h- p8 d" ?4 r' Q% J9 m- _4 E) a4 [' A i2 z6 {8 T
本文旨在聚焦一个同样重要却易被低估的韧性(乃至可扩展性)要素:协议的简单性。 8 S( C7 q. K0 b, P: C) K8 t; L+ O; H2 D$ Z: G; ?( N
比特币协议最令人赞叹之处在于其优雅的简洁性: " t. Y! u" c/ s; K* u4 y4 ?' M) t) \2 I0 P. n
5 U) o. P! y- I. s' P! L 1. 存在一条由区块组成的链,每个区块通过哈希与前一区块相连。8 z& b1 \8 @) M' w
8 K& e9 N5 z8 K- {
2. 区块的有效性通过工作量证明(PoW)验证,即检查哈希值的前几位是否为零。7 s s+ Q$ d2 }$ Z& A
3 l9 z Q" E, F; s# ]% l
3. 每个区块包含交易,交易花费的币要么来自挖矿奖励,要么来自之前的交易输出。) F1 n$ w4 [( n0 K
% U/ }& L/ ]4 I Q, n 仅此而已!即便是一个聪明的高中生也能完全理解比特币协议的运作,而一个程序员甚至可以将其作为业余项目编写一个客户端。 ( Z5 X0 v& h! Y) g5 T# K5 t3 T q3 W1 l/ ^5 c! C& h
协议的简单性为比特币(以及以太坊)成为可信、中立的全球基础层带来了诸多关键优势:, o# `" p- n8 T3 K6 z3 u
& B7 I2 I4 U/ e) z' t& x
1. 易于理解:降低协议的复杂性,让更多人能够参与协议研究、开发和治理,减少技术精英阶层主导的风险。2 G' R+ S8 R2 M- M. y. a7 c
, N7 A& t3 D9 P+ s
2. 降低开发成本:简化协议大幅降低创建新基础设施(如新客户端、证明器、开发者工具等)的成本。- v$ b* L# i5 z$ A8 k6 s
5 }, }3 n( S3 d
3. 减少维护负担:降低长期协议维护的成本。 G4 c X& }0 [" i- k0 w
; i/ ] z4 f4 A5 \ A, p8 s
4. 减少错误风险:降低协议规范及实现中发生灾难性错误的可能性,同时便于验证不存在此类错误。 3 W& W. B; I' e3 O) O & G/ H" n& X, k) C 5. 缩小攻击面:减少协议的复杂组件,降低被特殊利益集团攻击的风险。 / Y4 a& R' @! Z* ^% d2 Z& ]5 G
历史上,以太坊(有时因我个人的决策)常常未能保持简单,导致开发成本过高、安全风险增加以及研发文化的封闭性,而这些复杂性追求的收益往往被证明是虚幻的。7 z; ~0 E$ [" n
* @! s5 C6 M K( ^
本文将探讨五年后的以太坊如何接近比特币的简单性。 l# x, b3 y# P/ n V$ ^0 ^, |2 P1 f2 Z: K" m+ y9 N3 A4 x
简化共识层 : V1 f/ p' @$ W! z. H ~ 9 n; [( S" B3 _* q1 `9 I; P! u" b8 ?& ^+ ~- i% |1 A/ y
- y0 D5 I4 ^1 B N
新的共识层设计(历史上称为 “信标链”)旨在利用过去十年在共识理论、ZK-SNARK 开发、质押经济等领域的经验,构建一个长期最优且更简单的共识层。4 G8 u7 \0 R5 P2 K$ t: Q6 b/ x
- n5 y% S, N1 |# ?# S/ |; M 简化执行层 6 n3 w' u: O3 Y" A* s0 v9 m7 V- M* }) W. X* D6 D% T' u
EVM 的复杂性日益增加,且许多复杂性被证明无必要(部分因我个人决策失误):256 位虚拟机过度优化了如今已逐渐过时的特定密码学形式,预编译: C+ Y* |% q, b* O% H+ ~( B
9 q6 m5 o, e5 w0 w
(precompiles)为单一用例优化却鲜被使用。/ F% U3 ~( N& a. I
Y- T( \- O! t5 F
逐一解决这些问题效果有限。例如,移除 SELFDESTRUCT 操作码耗费巨大努力,却仅带来较小收益。近期关于 EOF(EVM Object Format)的争论也显 ; ^' K* W ?3 f) ~8 A5 l G' i: e3 h" k' m9 g
示出类似挑战。, c2 e0 r- x- I" y1 Z; Z* a$ r$ |
4 h( ~. w2 R8 L( y' }0 K! m& U 我最近提出一个更激进的方案:与其对 EVM 进行中等规模(但仍具破坏性)的更改以换取 1.5 倍的收益,不如向一个更优、更简单的虚拟机过渡,以. w; Y- v& ~! I( h" d1 B% e2 q
, R4 y1 t# ?, V! B
实现 100 倍的收益。类似于 “合并”(The Merge),我们减少破坏性变更的次数,但使每次变更更具意义。具体而言,我建议将 EVM 替换为 RISC-V,或5 b* T5 s) k& l' X) q* z
3 f _6 x2 C& l. S* ]/ ~
以太坊 ZK 证明器使用的另一种虚拟机。这将带来:$ s3 f+ | b7 D s
3 K6 r% ^* U# m8 \% x, Z: a 1. 效率大幅提升:智能合约执行(在证明器中)无需解释器开销,直接运行。Succinct 的数据显示在许多场景下性能可提升 100 倍以上。 # l G F! m1 N4 p" [3 v7 ~( F+ j9 ~2 k" }# a
2. 简单性大幅改进:RISC-V 规范相比 EVM 极其简单,替代方案(如 Cairo)同样简洁。 * e/ j$ s+ r6 ?8 P% z/ z# a! K& O : d+ Z! N. t- ] n' B& b 3. 支持 EOF 的动机:如代码分区、更友好的静态分析、更大代码大小限制等。: I, T% W4 R7 @; \% {4 Y
$ b: Y; P/ i7 @% x* \; l) L5 j
4. 更多开发者选择:Solidity 和 Vyper 可添加后端以编译到新虚拟机。若选择 RISC-V,主流语言开发者也能轻松将代码移植到该虚拟机。 . S9 k4 ]9 ?& p! p. t0 {' ^ % l/ l* G/ q- e, J* S- v z8 w 5. 移除大部分预编译:可能仅保留高度优化的椭圆曲线操作(量子计算机普及后连这些也将消失)。$ D8 {* f1 D2 w& K
: `/ k# ], ] ~- f J 主要缺点是,与已准备就绪的 EOF 不同,新虚拟机的收益需较长时间惠及开发者。我们可通过短期实施高价值的 EVM 改进(如增加合约代码大小限制、; ]' P- Z( }" G$ Z* @/ l% X. A
+ C) v9 O; O9 q& O, V: P O- B
支持 DUP/SWAP17–32)来缓解这一问题。 - a2 C0 F2 G' v; {8 u* ?+ t5 N! B5 a! u/ c( q5 p) s2 ~
这将带来更简单的虚拟机。核心挑战在于:如何处理现有的 EVM? ; n# G$ D* N2 \; O0 t3 ^ - B4 M5 ~ N& L% d; [ 虚拟机过渡的向后兼容策略 7 F, V' x5 ?7 J0 T% n . I9 j4 X' [# c 简化(或在不增加复杂性的前提下改进)EVM 的最大挑战在于如何平衡目标实现与现有应用的向后兼容性。- ~. @2 g# s0 Q% M! \
2 T H3 {0 a+ i- K' M
首先需要明确:以太坊代码库(即使在单一客户端内)并非只有一种定义方式。' U7 W. z$ E5 E4 a) F6 ~
: w+ q- c5 Y1 e4 f. Z& \
( c& n6 F1 @3 h: G9 j7 t; i0 i" y
目标是尽量缩小绿色区域:节点参与以太坊共识所需的逻辑,包括计算当前状态、证明、验证、FOCIL(分叉选择规则)及 “普通” 区块构建。4 i2 J- X! w \6 U: _8 H( A
8 W( I, F2 e* f! u7 h. l* \: M 橙色区域无法减少:若协议规范移除或更改某执行层功能(如虚拟机、预编译等),处理历史区块的客户端仍需保留相关代码。但新客户端、ZK-EVM 或6 v% c0 D6 J' E# X
9 X! R( d3 X$ x7 s# q
形式化证明器可完全忽略橙色区域。# M0 E& @3 R" f& m
6 F% {* M8 M' h" D/ X2 `$ \ 新增的HS区域:对理解当前链或优化区块构建非常有价值,但不属于共识逻辑。例如,Etherscan 及部分区块构建者支持 ERC-4337 用户操作。若我们 / ]; l1 p: Q# r & l, |" G% C- s/ x9 d% t1 O$ C用链上 RISC-V 实现替换某些以太坊功能(如 EOA 及其支持的旧交易类型),共识代码将显著简化,但专用节点可能继续使用原有代码进行解析。5 q) ?" \: Z9 U6 `* i
) ^: q- J2 D! o, ]! K# e
橙色和HS区域的复杂性是封装复杂性,理解协议的人可跳过这些部分,以太坊实现可忽略它们,这些区域的错误不会引发共识风险。因此,橙色和HS区 + w/ I' `3 W8 E+ g; \! N! A7 J0 {& E5 b" L" C/ G8 |. \* P
域的代码复杂性远比绿色区域的复杂性危害小。 ) d2 c5 Q3 |7 N3 z- i' z# @, d0 K3 c5 S3 O5 _
将代码从绿色区域移至HS区域的思路,类似于苹果通过 Rosetta 翻译层确保长期向后兼容的策略。 7 u$ c( J* r: | ~0 H6 O) r) ~/ i) G" v* I0 V( n: c$ c
1. 要求新预编译提供链上 RISC-V 实现:让生态系统逐步适应 RISC-V 虚拟机。 6 T A4 B* z: x ; Q% P8 X& j3 q4 E. o 2. 引入 RISC-V 作为开发者选项:协议同时支持 RISC-V 和 EVM,两种虚拟机的合约可自由交互。( O+ K1 C* R% y2 z: h
: q+ T9 z4 ~$ T$ w2 h9 r; I4 h
3. 替换大部分预编译:除椭圆曲线操作和 KECCAK(因需极致速度)外,用 RISC-V 实现替换其他预编译。通过硬分叉移除预编译,同时将该地址的代码7 }% w% u) J& V$ I; \ a$ X
% M% P* ]' n, k5 ]- \) y; |
(类似 DAO 分叉)从空更改为 RISC-V 实现。RISC-V 虚拟机极其简单,即使在此止步也净简化协议。 6 F1 b' H/ {3 H# ]/ o4 O D3 S) a * Q6 R8 N z/ b, C u 4. 在 RISC-V 中实现 EVM 解释器:作为智能合约上链(因 ZK 证明器需要已进行)。在初始发布数年后,现有 EVM 合约通过该解释器运行。5 l( T) s5 }$ k: y) c
# b: [+ u6 D- n7 o
# c9 I, w8 G" i/ t3 E6 N( b 完成第 4 步后,许多 “EVM 实现” 仍将用于优化区块构建、开发者工具和链分析,但不再是关键共识规范的一部分。以太坊共识将 “原生地” 仅理解 RISC-V。5 i! N& X9 @) n- D4 y9 I6 P
. |& p3 v/ A0 e7 d, U2 _" w 通过共享协议组件简化 3 f' G" P. N. u3 x0 ^, g5 X& I$ j) { 6 u. T: ?6 Z3 o 降低协议总复杂度的第三种方式(也最易被低估)是尽可能在协议栈的不同部分共享统一标准。不同协议在不同场景下做相同的事情通常毫无益处,但这种1 ?1 p2 L' ^% q, A! I' C# n$ K
, ~ y3 p" U& {* f模式仍常出现,主要是因为协议路线图的不同部分缺乏沟通。以下是几个通过共享组件简化以太坊的具体示例。6 z4 ]& L- m" r3 {# {# d
1 g- {. D( T) k. p( c5 P# t2 b& [' l
统一纠删码 ( J- f3 J, n$ ^1 V( {0 g `" B: A9 N w. \ ?
: L. y5 O% a) S
我们在三个场景中需要纠删码:: R4 l8 I! p- d, o, E2 t; @
5 d+ y9 J# z/ i# t5 ^, o 1. 数据可用性采样:客户端验证区块已发布。5 r6 w% T B1 y6 w4 v/ y
' \' x8 n! q5 ]1 L l) ? 2. 更快的 P2P 广播:节点接收 n/2 个片段后即可接受区块,在延迟与冗余间取得平衡。 & y( r' }! ~! E( O 3 r* m4 @1 C+ p0 ?4 ^5 | 3. 分布式历史存储:以太坊历史数据分片存储,每组 n/2 个片段可恢复其余片段,降低单一片段丢失风险。 8 Y: h% e6 a$ j' v 7 C% q0 ?' t4 t3 `7 j5 V5 m 若在三种场景中使用同一纠删码(无论是 Reed-Solomon、随机线性码等),将获得以下优势: 9 p; w6 S/ h! S- N9 F0 Z' t) A; X# Q. s1 |
1. 最小化代码量:减少总代码行数。 $ s+ u" ~9 k' n- N0 `7 E1 V7 h ]' M1 v& ^5 H# {
2. 提高效率:若节点为某场景下载部分片段,这些数据可用于其他场景。* q) ?4 A% t) M
- E' U: V8 T1 H1 Z3 a6 |% }
3. 确保可验证性:所有场景的片段均可根据根验证。 5 S: @. W6 O, l4 P- y1 k/ @2 M . G1 \; ]" h* n* g7 f4 T+ N 若使用不同纠删码,至少应确保兼容性,例如数据可用性采样的水平 Reed-Solomon 码与垂直随机线性码在同一域操作。 5 d. H1 R0 ]* r$ f7 d& E8 b$ K! B2 [7 n- A" g$ h
统一序列化格式/ X- ]6 y# d! y
* e- j+ m- S5 T
3 N6 h, F4 _3 B 以太坊的序列化格式目前仅部分固化,因数据可按任意格式重新序列化和广播。例外是交易签名哈希,需规范格式进行哈希。未来,序列化格式的固化程 6 Y0 B9 W4 x1 r; R4 t. U- Y8 R6 @1 g3 I
度将因以下原因进一步提高: + w/ `$ V; h4 E, t Y) |( ]2 K7 h% R- a0 t' n
1. 完全账户抽象(EIP-7701):交易完整内容对虚拟机可见。% p$ y1 a8 s# P" v5 m5 u& |9 h
) e- [8 M5 r6 e& x' D
2. 更高的 Gas 限制:执行层数据需放入数据块(blobs)。1 l) u1 T! s2 i( `: ?9 G
6 p4 y0 |; K8 k( J 届时,我们有机会统一以太坊三个层级的序列化格式:执行层、共识层、智能合约调用 ABI。' L, H/ _+ a( L( v' _" _7 L
1 u! g4 s1 E W' j3 ?: K3 O
我提议使用 SSZ,因为 SSZ:* I+ R- P* d( N8 h- ?$ h
6 E! [; l# f' k4 i5 k! L
1. 易于解码:包括在智能合约内(因其基于 4 字节的设计和较少的边缘情况)。0 z" G, a, I6 O
6 B# a. P. P" P 2. 已在共识层广泛使用。 0 t) v, g' n8 P& i$ @8 l0 V. z% y9 h% ~& v. ~0 L
3. 与现有 ABI 高度相似:工具适配相对简单。 " Z" e& I; ~* C7 t0 \; a/ l* }) y ! l6 c$ K/ V2 m" |6 g 已有向 SSZ 全面迁移的努力,我们应在规划未来升级时考虑并延续这些努力。 6 V. K: a4 c# Z8 ^9 N g' P* I ! ^/ V! O% K; a 统一树结构 % r1 D% {/ g3 S. d) ^- P. d$ q {, _' O5 F" Y: d
5 F& j3 Y% |% M. Z9 E9 }+ l/ _0 W" f
若从 EVM 迁移到 RISC-V(或其他可选的最小虚拟机),十六进制 Merkle Patricia 树将成为证明区块执行的最大瓶颈,即使在平均情况下也是如此。迁移 % H; d4 e- W6 Z. [0 f1 e# y2 {! E% p9 b. C8 }( A
到基于更优哈希函数的二叉树将显著提升证明器效率,同时降低轻客户端等场景的数据成本。- E3 o0 ]" m1 r- N5 R) ^7 b& J
, v5 ~' y7 v% ]2 {. {- S
迁移时,应确保共识层使用相同的树结构。这将使以太坊的共识层与执行层可通过相同代码访问和解析。 : C3 X* H* C2 B# m, w/ M" a0 z* y( }4 p% Y( H( }0 y5 E
从现在到未来" B* G* _: c- J) [6 N1 A u t
& m" K% K; y' C3 }3 N0 a7 i' F
简单性在许多方面类似于去中心化,二者均为韧性目标的上游。明确重视简单性需要一定的文化转变。其收益往往难以量化,而额外努力和放弃某些耀眼功 9 J. \+ r2 E. p* v# D# B' e2 ? ! F0 J0 [9 m, _5 C% e能的成本却立竿见影。然而,随着时间推移,收益将愈发显著 — — 比特币本身就是绝佳例证。+ g) x9 _: @, }! ?/ E
Z$ ?7 [8 D. x 我提议效仿 tinygrad,为以太坊长期规范设定明确的最大代码行数目标,使以太坊共识关键代码接近比特币的简单性。处理以太坊历史规则的代码将继续存/ g5 w/ [ `5 B- L( z