利率模型吃进去的每个输入,都可能被做多做空 图 1
利率模型吃进去的每个输入,都可能被做多做空 · 图 1

借贷利率不是从天上掉下来的,它是一段按区块推进的算术,输入全部来自账本本身。攻击者不必攻破协议,只需要在输入上做文章,利率曲线就可能替他们做事。这篇逐项盘点哪些输入暴露在经济路径下、哪些已被加固,以及用户读利率时该看什么。

最核心的输入是资金利用率:已借出除以总存款。利率模型把它映射成借款利率,形状通常是低利用率平缓、过拐点陡峭。操纵它的思路分两头。抬高侧:攻击者先借走大部分流动性,把利用率顶进陡峭区,再在依赖高借款利率的模块里做多——比如押注利率互换的固定端、或者触发按高利率计费的清算与利息支付路径。压低侧:把大额资金一次性存进来稀释利用率,压低利率,在浮动端空头获利。两边的可行性都不取决于破解密码学,而取决于操纵行动需要的资金量、停留时间与可被套利者修正的速度。

第二个输入是存款凭证的汇率。多数协议用凭证份额比例表达累计利息,汇率的单调增长假设建立在利息按正常计提流入。围绕它的历史攻击是份额通胀:在极小的初始池里用捐赠式操作扭曲一次兑换率。现代协议的对策是把首存者份额钉死、把每区块利息增量与池子规模挂钩,把攻击成本抬到不划算为止。第三类输入是价格与参数:储备因子、借款上限、e-mode 折扣这类治理参数本身不进利率公式,但改变借贷双方的最优行为,间接移动利用率曲线;价格喂价失真导致的清算误伤会在瞬时改变某资产的存款与借出结构,让利率短暂跳变。

加固手段同样能列清单。把利率模型拆成可替换模块,把利用率的计算窗口拉长或加平滑,削弱瞬时操纵的收益;对存款与借出加上下限,限制单次移动幅度的影响;在关键参数变更后保留延迟生效;用时间加权口径而非瞬时值喂给下游模块。每一样的代价都是迟钝——平滑让正常行情下的利率反应变慢,操纵防御与利率发现之间没有免费午餐。

还有一类间接输入越来越重要:跨协议的利率参照。不少聚合器与金库策略把某市场的借款利率当信号去调自己的仓位——自动轮动资金、动态调整杠杆金库的目标利用率。这类下游依赖把单点操纵的爆炸半径放大了一整圈:操纵一个市场的利率,可能触发一批自动化策略在同一区块内集体行动,反过来又改变被波及市场的利用率。防守方的对应做法是给下游加决策延迟与幅度门槛:单块跳变超过阈值的利率先冻结自动响应、只记录不行动,等第二个区块确认。代价依旧是迟钝——真行情来了策略也慢半拍。

作为普通储户或借款者,读利率时值得做三件事:看当前利率是不是踩在拐点附近,那里利率对流动性进出最敏感,存款挤兑与挤借都会引发跳变;看该市场近三个月利率曲线图,长期贴着拐角运行的市场结构上更脆;看参数面板里储备因子与上限的最近变更时间,理解你拿到的利率可能正处在一次调整后的消化期。利率是输出的价格,输入是账本形状——价格异常时先找变形的输入。再补一个防守侧的要点:操纵者偏好流动性薄的市场,因为撬动利用率的资金成本低,同样的钱在深市场只够推一个百分点。因此小众资产市场的利率读数要额外打个折看,尤其是那些借出总量只够一两笔大单的市场——它们的利率曲线在结构上就是可订制的。看到远高于历史区间的瞬时利率,先查是不是有人正在进出,而不是急着当成机会。本文内容为机制说明,不构成投资建议。

利率模型吃进去的每个输入,都可能被做多做空 图 2
利率模型吃进去的每个输入,都可能被做多做空 · 图 2