EIP-8297 提议用一棵分区二叉树替换以太坊现行的多叉 Patricia 状态树:账户树与存储树合并、变长前缀无关键、合同代码入树、账户字段拆成独立叶子。本文解释为什么要换树、每个设计点对应什么收益。
汇总与「数据结构」相关的文章,帮助你系统了解该主题。
EIP-8297 提议用一棵分区二叉树替换以太坊现行的多叉 Patricia 状态树:账户树与存储树合并、变长前缀无关键、合同代码入树、账户字段拆成独立叶子。本文解释为什么要换树、每个设计点对应什么收益。
以太坊共识层的SSZ容器每经历一次分叉加字段,默克尔树形状就可能改变,旧默克尔证明随之失效。EIP-7495提议ProgressiveContainer:字段永远占据稳定的泛化索引,加字段只长树不改位,序列化紧凑、证明向前兼容。本文拆解其机制与限制。
RLP(递归长度前缀)是以太坊执行层的序列化格式:整条编码规则只回答一件事——数据有多长、嵌套怎么展开。本文拆解四类前缀字节、正整数必须去前导零的唯一例外,以及为什么放弃类型系统反而换来抗篡改的规范性字节串,哈希里藏数据、签名能重建原文都靠它。
默克尔山脉(Merkle Mountain Range)是一种只追加的哈希结构:元素从左侧往右排队,两个子节点到位就合并出一个父节点,整片“山脉”由若干完美的二叉小山组成。它更新便宜、天然适配可剪枝的链上数据,被 Grin、Monero 等工程采用。本文讲清它和标准默克尔树的取舍、峰顶打包与存在性证明。
以太坊把状态树从十六进制 Patricia Trie 换成 Verkle 承诺的设想,目标是让状态证明更小更恒定。本文讲换树的动机、与无状态路线的绑定,以及它为何一再延期。
OP_RETURN 让比特币交易携带一小段“永久可查、不可花费”的数据。本文讲它的设计初衷、随 Bitcoin Core 版本演进的数据上限策略,以及为什么节点会拒绝更大的输出。
区块头用 32 字节默克尔根承诺块内全部交易,这条承诺链曾经栽在“最后一个叶子的兄弟是谁”这种细节上。本文重走默克尔树的构造规则、重复叶子的攻击面与 BIP30/34 的封堵路径,并给出包含证明的实操。
轻节点不可能下载全部区块再逐条比对,布隆过滤器用几十字节的位图把“肯定不在”和“可能在这里”分开。本文解释位数组与多哈希原理、假阳性为何可控、它在以太坊回执和早期 SPV 里的用法与局限。
从二进制路径、容器字段树深度和列表长度mix-in入手,推导SSZ广义索引,并按兄弟节点顺序复算Merkle证明,附常见错位检查,并说明何时必须回到SSZ schema重新定位。
本文解释 Patricia Trie(前缀树/Merkle 结构)如何组织以太坊的状态、存储、收据三棵树:键值如何编码路径、修改如何局部化、以及“状态根”为什么能担保全部数据。