有一种攻击的恶意不写在获利里:攻击者花一块钱,是为了让你花十块钱。这类战术统称 griefing(耗损骚扰),而当攻击媒介是区块空间的计价单位本身时,它就成为 Gas Griefing——DoS 经济学里“成本不对称”原则在链上的具体化。
原理:攻击贵贱,不看输赢
健康公链的安全模型里,攻击者的成本与他造成的损害应当挂钩。Griefing 的攻击点恰是挂钩松动的缝隙:利用协议机制,让攻击者支付的资源费与目标被迫支付的费用不成比例。历史剧本来自区块链之前:电子邮件时代,发送一封退信邮件的成本远低于接收方清除它的人工成本——“攻击者用别人的钱打仗”。搬到链上,只要存在“我动一小步、你的状态要大搬家”的路径,成本不对称就会出现。
链上形态:存储槽与状态膨胀
Gas 计价曾存在一类被反复引用的倒挂:改写存储槽的成本与相应的退款抵扣不匹配,使得“反复拨动同一个槽”的一方付出的少、被牵连的一方反而要多烧燃料。这种结构让骚扰者可以蹲在某个热门合约的关键路径上,用极低的单位成本迫使对方持续多付手续费;协议层面用退款上限与更贴近真实成本的计价修正了这类倒挂(以太坊的退款上限机制本身见 Gas 退款是怎么回事?销毁的燃料还能还回来)。同一思路的变体还包括:用小额输出把 dust 阈值与检索成本推高、反复触碰冷门存储槽迫使节点频繁读盘。它们共同的目的不是偷——而是让“正常用链”这件事贵给对手看。
合约层:可被耗损的应用设计
去信任系统的另一课在应用层。凡承诺“按完成顺序/先到先得”且校验依赖链上可观测特征的规则,都可能被耗损:预言机喂价窗口、抽奖的 reveal 顺序、治理投票的时间窗,攻击者都可用“抢在我自己之前必须让你看到更贵的数据”制造不对称消耗(MEV 视角的抢跑见 区块链交易的一生:从构造签名到最终确认相邻话题)。工程上的缓解有套路:随机数延迟揭示、把排序交给不可预测的链上事件(与 VDF 类机制的动机同源,见 可验证延迟函数(VDF)是什么?给区块链一个没人能作弊的时钟)、给关键路径设成本下限——本质都是让骚扰的边际成本追上骚扰收益。
快速问答
- “Griefing 和 51% 攻击什么区别?“51% 攻击买的是重写历史的权力;griefing 买的是“让你难受”的权利——成本模型完全两套,后者不需要控制多数。
- “它直接造成资金损失吗?“通常不直接盗币,损失以手续费、延迟、清算与机会成本形式出现,所以常被低估——但它会把协议逼进“要么改规则、要么容忍骚扰”的选择题。
- “个人用户会被 grief 吗?“更常见于协议与高交互合约;普通用户感知到的形态是费率突然抖动、某类操作变贵——排查时先区分是自然拥堵还是针对性行为(内存池政策视角见 内存池政策是什么?为什么合规交易会被节点拒绝)。
- “为什么协议不干脆禁止?“因为“用协议允许的操作制造高成本”恰恰在规则内——这正是要靠计价与随机化机制设计消解、而非靠封禁的原因。
常见误区
- 误区一:把一切费用上涨都归因于“有人攻击”。正常需求、活动 mint、清算风暴同样抬高费率,归因前先看出块者行为与地址集中度是否异常。
- 误区二:以为协议修订等于承认漏洞。计价参数演进是对成本结构变化的常规响应,把它直接读成“被攻破”是对协议治理的误读(提案流程见 BIP、EIP、RFC 是什么?加密协议改进提案的流程)。
- 误区三:把 gas 当纯技术参数。gas 定价的每个不对称缝隙,都是攻击面清单上的一行——审计清单里“谁为状态变更付钱、付多少”问得越细,griefing 面越小。
小结
Gas Griefing 的深刻之处在于揭示:链上安全不只是“攻击者偷不到”,还是“骚扰者让你用不起”。它像链上版本的“退信攻击”,逼迫协议设计者把每一处成本不对称当作承重墙检查。评价一个协议时值得追问:谁能为难谁、每次为难各花多少——这笔账算清了,耗损战术的土壤就小了一圈。
风险提示:本文不构成投资建议。费率与计价机制以各链现行文档为准。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。