荷兰式拍卖回购与 99/1 代币销毁机制

传统的 Web3 项目在回购销毁代币时,通常依赖项目方手动提取国库资金、在去中心化交易所(DEX)手动执行 Swap,最后转入黑洞地址。这种机制缺乏链上透明度,且极易因人为操纵或延迟引起信任危机。
DeSix 实现了业内首创的去中心化、免许可荷兰式拍卖代币买回与自动销毁系统 (DeSixDutchAuctionBuyback.sol)。它通过市场套利力量自我驱动,将通缩逻辑完全交由链上数学公式运行。
1. 回购资金的累积与拍卖触发
- 手续费切片:每笔交易下注的 0.3% 协议手续费中,有 15% 被实时拨入
DeSixDutchAuctionBuyback合约地址。 - 拍卖阈值:当合约内的 USDC 累积达到起拍阈值(测试网
10.00 USDC/ 主网100.00 USDC)时,任何人都可以触发或由系统自动开启一轮荷兰式拍卖。 - 价格衰减曲线:
- 拍卖一旦开启,每个 $DESIX 折算的 USDC 买回价格(即拍卖价格)会设定为一个较高的初始值(例如历史 Oracle 喂价的
2.0x价格)。 - 随着区块时间推进,买回价格在 6 小时内呈线性衰减,直至降至底价(例如历史价格的
0.5x)。
- 拍卖一旦开启,每个 $DESIX 折算的 USDC 买回价格(即拍卖价格)会设定为一个较高的初始值(例如历史 Oracle 喂价的
2. 无许可套利与 99/1 分配
由于买回价格是线性下降的,在下降的某一瞬间,价格一定会触及 DEX(如 Uniswap V3)的真实市场价格线并出现“溢价空间”:
拍卖价格 (USDC / DESIX)
│
2.0x ──┐
│ \
│ \ [溢价区间] — 机器人竞争触发
│ \ │
DEX 价格 ────────┼───────
│ \ ▼
│ \
0.5x ────────┴───────────
│
└──────────────────────── 时间 (6 小时)- MEV 竞争执行:全球的 MEV(矿工可提取价值)搜索者、套利机器人和套利玩家会时刻监控这一溢价空间。一旦折算价格有利可图,他们会立即调用
executeBuyback函数,买入 $DESIX 并换取合约中的 USDC。 - 分润与销毁机制:
- 99% 销毁:买回的 $DESIX 中的 99% 会在同笔交易内自动被合约执行 Burn(销毁),永久移出流通量。
- 1% 套利奖励:触发执行的调用者(机器人)将自动获得买回代币的 1% 作为其 Gas 补偿与风险利润奖励。
- 通缩闭环:这保证了协议在完全不需要项目方介入的情况下,依托外部市场的竞争力量,高效率地完成回购销毁,实现代币供应量的持续通缩。
3. P1-4 任意调用漏洞与安全加固 (Swap Selector 白名单)
在上一轮安全审计中,审计指出 executeBuyback 存在一个严重的漏洞(P1-4):
- 漏洞描述:为了兼容不同 DEX 的 Swap 路由,回购合约内部使用了
router.call(swapData)的低级调用。如果swapData由调用者完全控制,且router地址缺乏严格限制,攻击者可以通过构造恶意的swapData,假借回购合约的身份执行任意转账操作,从而抽干回购桶中的全部资产。 - 安全加固:
- 我们引入了
allowedSwapSelectors(Swap 函数选择器白名单) 机制。 - 合约会对传入的
swapData前 4 个字节(Function Selector)进行严格解码验证。只允许已注册的受信任 Swap 函数签名(如 Uniswap V3 的exactInputSingle/swapExactTokensForTokens)通过。 - 强制验证交易的目标接收人(Recipient)必须为回购合约自身,彻底封堵了资产被任意调用外流的漏洞通道。
- 我们引入了