交易被卡住的另一种可能:没人肯打包
发出去的交易长时间不确认,常见原因是出价太低或 nonce 断档,但还存在第三种、也更棘手的一种:交易合规、出价合理,却因为发送方地址或交易内容触碰了某些出块方的过滤器,被系统性地从区块里剔除。只要还有任何一个诚实出块者愿意打包,交易最终会上链;但如果过滤器覆盖面足够广,普通用户的交易就可能被无限拖延。
在协议层面给出第一种系统性强制通道设计的是 2023 年 10 月起草、编号 7547 的提案:为被审查交易准备的包含列表(Inclusion List),当前状态 Stagnant。它引入一组新常数:每份包含列表最多列十六笔交易(MAX_TRANSACTIONS_PER_INCLUSION_LIST 等于 2 的 4 次方),每份列表的 Gas 总量帽 MAX_GAS_PER_INCLUSION_LIST 为 2 的 21 次方,约二百零九万七千 Gas。下面拆它怎么运转、边界在哪。

两本账与按序纳入:机制三步
机制分三步。第一步,验证者(共识层节点)可以广播自己这份槽位的包含列表,最多列十六笔交易。第二步,接下来的出块者被要求把收到的包含列表按列表顺序纳入区块,排在正常交易之前。第三步,节点在验证区块时检查:该区块有没有按共识规则把这些交易放进去;放了就通过,不放则该区块被判定无效。
为什么两个数字很关键?十六笔给的是被审查交易的数量出口——它不承诺任意多交易同时通过,而是限定一个有界的应急通道;整表约二百零九万七千的 Gas 总量帽则防止有人往通道里塞太多大交易,把强制成本推到全体出块者头上(以太坊一笔普通转账的基础开销约二万一千 Gas,这个帽大约容纳一百笔转账的体量)。两个数共同确保:过滤器想拦交易,代价不再是沉默剔除,而是明面上违反协议规则。
为什么需要诚实少数,而不是多数表决
这套设计的安全假设非常朴素:只要有一个诚实的验证者把他的包含列表广播出去,出块者不敢公开拒绝,交易就进入链。审查一方可以无视某个验证者的列表,但无法公开阻止所有诚实验证者同时广播。它把『审查』从无声行为变成了有声行为——要么执行,要么在共识层留下可指认的违规区块。
演进方向上,后来的 FOCIL 类提案把触发从『每个验证者自选』推进到『多数签名汇成一份列表再约束出块者』,并把可纳入交易的资格定义得更细。可以这样记谱系:7547 给出原型与两个常数的思路,后续提案改的是谁有资格列、列表多长、以及怎么收集签名。理解到这一层,就足以判断新闻里『包含列表』字样出现的语境属于哪一代设计。
它防什么,不防什么
防的很清楚:防针对单个交易或地址的系统性排除,防出块者私下过滤。不防的也要说透。第一不防延迟:通道容量十六笔,若同一时段被审查交易更多,排队依然存在,只是从被拒变成等待。第二不防数据隐藏:若冲突发生在跨链或前链层面,链上没有交易可列,列表也无从谈起。第三不防排序摩擦:被列交易强制排前,可能扭曲正常的优先费排序,让 MEV 策略转去在列表外的空间竞争。
十六这个数字为什么选得这么小
第一次看到每份列表十六笔的人常问:为什么不设大一点,让审查彻底失效?这正是设计里的取舍。包含列表是强制通道,每一笔都要求出块者无条件执行,容量越大,协议给滥用者留的口子越大——十六笔小额转账只是给诚实方开门,换成塞满 Gas 的交易就会抬高所有节点的验证成本。整表 Gas 帽加条数帽的组合,等于把最坏情况的强制成本压到正常区块都消化得起的量级。它防的是系统性的不上链,而不是提供一条免费快速通道;把它理解成应急出口而非贵宾通道,就理解了参数为什么保守。
把坐标用起来:判断与行动
这条通道目前没有按钮可点,但有可操作的含义。若交易长期被排除而费用与序号都正常,可做的还是那几件事:把同一笔交易通过不同公共节点重新广播,让更多诚实验证者有机会把它列进自己的列表;保持交易内容简单规范,复杂的原子捆绑包被整组放弃的概率远高于普通转账。判断坐标则是:当某类交易在多个互相独立的浏览器上同时从某时段区块里消失,问题就不在你的钱包设置里,值得换通道而不是改参数。
还要提醒一个常见的误读:包含列表是协议层机制,不面向单个用户提供订阅服务,也不存在『申请加入列表』的入口。任何声称能『付费把你的交易塞进包含列表』的第三方服务,都可以按营销话术处理——机制里根本没有这个接口。判断力成熟的标志,是把每一层工具放回它的位置:出价、拥堵与序号是你自己能管的,共识层的强制机制是全体用户的公共保险,两层各管各的事。
普通用户能从中读出什么
对日常转账没有直接操作意义,但它提供了两个判断坐标:交易久拖不决时,若排除了 nonce 和费用因素,可观察同类交易是否整体消失于该时段,那才与审查假说相关;读协议新闻时,『验证者可以提交包含列表』与『多数签名的 FOCIL』是两代不同设计,别混着引。判断坐标的用处在排除法:先排掉自己这侧的朴素原因,再谈协议层保险;把每一层工具放回它的位置,焦虑就少了大半。在此之前,用户手里的防审查手段依旧朴素:换公共 RPC 重播交易、用不同区块浏览器与节点交叉确认,这些动作成本几乎为零。相关但视角不同的还有帧交易的审批分四档:ERC-8286 让 7579 模块直通 EIP-8141,讲的是一条交易内多步执行与费用分摊路径——把机制与通道分清楚,是理解『交易怎么才能进块』的正解。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。