|分析 Mempool,复盘“黑色星期四”


摘要: 本分析旨在引起大家对动态交易风险的关注 , 该风险在区块链网络拥堵期间可能会迅速出现 。
Blocknative 已经找出了 MakerDAO 在 3 月 12 日和 13 日时的清算活动乃是有人刻意为之的证据 。 这些证据是从 “Mempool”(交易内存池) , 即矿工打包区块时候的备选交易池 , 中发现的 。 交易内存池是一个以太坊生态中经常被人忽略 —— 也不受大家重视 —— 的部分 。
作为交易内存池分析专家 , Blocknative 运营着一个由遍布全球且配置各不相同的 Geth 节点和 Parity(OpenEthereum)节点组成的网络 。 这一基础设施使我们能部署实时的交易监控服务 , 我们可以捕捉、规范化和归档内存交易池的状态变化(如无专门操作 , 这些变化都是川流不息、转瞬即逝的) 。 Blocknative 在 “黑色星期四” 时捕捉到了 3000 万行数据 , 使我们能做一项开放式的研究;迄今为止 , 我们已经发现了数个似乎已被利用过的 “漏洞” 。
虽然很多人都已写过 “黑色星期四” 的结果 , 但在本文中我们会首次披露 Blocknative 内存池存档中的数据 , 用新的数据和理论说话 。 我们也把分析要用的底层内存池交易数据集合开放出来了 , 供大家审阅(见下文) 。
如果你是一位安全研究员 , 想了解更多我们的发现 , 或想发现其它潜在的交易池异常 , 请联系我们 。
总结
Blocknative 的内存池事后检验报告显示 , 内存池中有三大因素影响到了 3 月 12 日和 13 日的事态:

  1. 被阻塞的交易—— 内存池的拥堵极大地提高了交易卡壳率 , 让同一地址连续发出的多笔交易都被卡住、不能得到处理;
  2. 交易池 “压缩”—— 交易池中可上链部分(即被矿工认为 Gas 费用足够高的交易)比重的大幅减少 , 可能影响到了 Gas 价格的估计;
  3. “Hammerbot”—— 自动化的交易系统加剧了交易池堵塞 , 因此与交易池压缩效应相叠加;
我们出版这份分析以及相关的数据 , 是为了引起大家对动态交易风险的关注 , 这种风险在区块链网络拥堵期间可能会迅速出现 。
背景:“黑色星期四” 概况
在 2020 年 3 月 12 日 , 密码学货币市场上出现了有史以来最大的抛售潮 , 几个小时里面 , ETH 价格暴跌 43% , BTC 的价格跌掉了 39% 。 随着价格下跌 , 一个负反馈循环出现 , 多种 DeFi 合约内都开始出现流动性降低和强制清算活动 。 在此期间 , 这种下行的压力使得每一个尝试在网络上发送交易的个体都遇到了严酷的挑战 。
|分析 Mempool,复盘“黑色星期四”
本文插图
- UTC 时间 2020 年 3 月 12 日到 13 日期间按小时加权的 ETH 平均价格 。 数据来源:cointelegraph.com -
迅速的价格变化导致了以太坊交易池的持续拥堵 , 因为自动化的交易系统(比如交易机器人)总是按照程序对波动性机械地作出反应 。
如此堵塞情形的一个负面后果是 MakerDAO 债仓清算活动中出现了 “0 价格拍卖” 现象 。 在 “黑色星期四” 期间的 3994 个清算拍卖中 , 有 1462 个(36.6%)债仓的担保品是被 0 价格拍走的 。 在大概 12 小时的时间里 , 锁在债仓中、总计 832 万美元的担保品被 0 价格拍走 , 没有让系统回收到一分钱 。 更多细节请看 MakerDAO 自己发布的《2020 年 3 月 12 -13 日的价格暴跌及其对 MakerDAO 的影响》一文 。
1. 由交易池堵塞导致的交易卡壳
3 月 12 日时 ETH 价格的迅速变化导致用户大量发送交易 , 产生了交易池内部的拥堵 。 对价格波动自动作出反应的机器人的活动加剧了这一情形 。
|分析 Mempool,复盘“黑色星期四”
本文插图
- 进入交易池的待打包交易计数 vs. 打包上链的交易计数(按小时计) -