Module 04: Decentralized Finance
AMM 数学模型、借贷协议、MEV、稳定币机制与 DeFi 风险框架
上一模块思考题参考
Q: ERC-20 标准定义了 approve + transferFrom 的授权模式——DEX 如何利用这个机制实现代币交换? 用户先调用代币合约的
approve,授权 DEX 合约转移指定数量的代币。DEX 合约在执行交换时调用transferFrom将用户的代币转入流动性池,同时将另一种代币转给用户。统一的 ERC-20 接口让任何符合标准的代币都能在任何 DEX 上交易,没有这个标准,每个代币都需要定制集成。
Q: Gas 机制对 DeFi 协议的可组合性有什么影响? 每多调用一层合约,gas 成本就增加一层。一笔涉及 5 个协议的复合交易可能消耗数百万 gas,在网络拥堵时手续费可达数百美元。这使得复杂策略在 L1 上对小额用户不经济,推动了 L2 和 gas 优化的需求。
Q: 代理模式允许合约升级——这对 DeFi 协议的”去信任”承诺意味着什么? 可升级意味着合约管理者有能力修改逻辑,包括潜在的恶意修改。用户需要检查:谁持有升级权限、是否有时间锁(timelock)、是否需要多签。完全不可升级的合约更符合”去信任”理念,但牺牲了修复漏洞的能力——这是安全性和灵活性之间的取舍。
什么是 DeFi
DeFi(Decentralized Finance,去中心化金融)是构建在公链上的金融协议集合。它用智能合约替代银行、券商、交易所等中介机构,实现借贷、交易、保险等金融功能。
与传统金融的核心区别:
- 无许可:任何人可以使用,无需开户、审批、信用评分
- 透明:所有交易和协议逻辑在链上公开可审计
- 可组合:协议之间可以像乐高积木一样自由拼装
- 自托管:用户保管自己的资产,不依赖第三方托管
DeFi 的总锁仓量(TVL)在 2021 年峰值超过 1800 亿美元。即使经历熊市回撤,它已经证明了无中介金融系统的可行性。
DeFi 基础架构
DeFi 的技术栈分四层:
结算层(Settlement Layer):底层区块链,负责最终交易确认。以太坊是最主要的 DeFi 结算层,其他包括 Solana、Avalanche 等。
资产层(Asset Layer):在结算层上发行的代币。包括原生代币(ETH)、ERC-20 同质化代币、NFT 等。这些资产是 DeFi 协议操作的对象。
协议层(Protocol Layer):部署在链上的智能合约,实现具体金融逻辑——交易撮合、借贷利率计算、清算触发等。Uniswap、Aave、Compound 都属于这一层。
应用层(Application Layer):面向终端用户的前端界面。协议本身是链上合约,用户可以直接与合约交互,但前端大幅降低了使用门槛。
这四层之间的关键特性是可组合性(composability)。一个协议可以调用另一个协议的合约,不需要任何商业协议或 API 授权。Yearn 聚合多个借贷协议的收益,Instadapp 在 Aave 和 Compound 之间自动搬仓——这些都是可组合性的体现。业界称之为”Money Legos”。
去中心化交易所(DEX)
传统交易所用订单簿撮合买卖双方。链上实现订单簿的成本极高(每次挂单、撤单都是链上交易),因此 DeFi 发展出了另一种模型:自动做市商(AMM, Automated Market Maker)。
AMM 与恒定乘积公式
Uniswap 使用恒定乘积公式:x × y = k
其中 x 和 y 分别是流动性池中两种代币的数量,k 是常数。
数值示例:假设一个 ETH/USDC 池中有 10 ETH 和 20,000 USDC,则 k = 200,000。
买入 1 ETH 后,池中 ETH 变为 9,USDC 需要满足 9 × y = 200,000,所以 y ≈ 22,222。买方需支付约 2,222 USDC(而非初始价格的 2,000 USDC)。池越小、交易量越大,滑点越高。
无常损失
流动性提供者(LP)将两种代币按比例存入池中,赚取交易手续费。但当代币价格偏离存入时的比例,LP 持有的资产组合价值会低于单纯持有——这个差值就是无常损失(Impermanent Loss)。价格偏离越大,损失越大。如果价格回归,损失消失,所以叫”无常”。但在实践中,价格不回归的情况很常见。
借贷协议
超额抵押借贷
DeFi 借贷的核心模式是超额抵押。以 Aave/Compound 为例:
- 存款人将资产存入协议,获得利息
- 借款人存入价值高于借款额的抵押品(例如存入价值 150 美元的 ETH,借出 100 USDC)
- 如果抵押品价值下跌至清算线以下,协议自动清算抵押品偿还贷款
为什么需要超额抵押?因为链上没有信用评分和法律追偿手段,只能靠抵押品保障贷方利益。
利率模型
利率根据资金利用率(utilization rate)动态调整。利用率 = 已借出资产 / 总存入资产。利用率越高,借款利率越高(激励还款),存款利率也越高(激励存入)。多数协议设有”拐点”(kink),利用率超过阈值(如 80%)后利率急剧上升,防止流动性枯竭。
闪电贷
闪电贷(Flash Loan)是 DeFi 独有的创新:在一笔交易内借出任意金额,只要在同一笔交易结束前归还本金加手续费即可,无需任何抵押品。
这依赖区块链的原子性——交易要么完全执行,要么完全回滚。如果借款人在交易结束时无法偿还,整笔交易回滚,就像从未发生。
闪电贷的合法用途包括套利、清算、抵押品置换。但它也被大量用于攻击(操纵价格、榨取协议漏洞)。
稳定币
稳定币是锚定法币(通常是美元)的代币,是 DeFi 的基础交易媒介。三种主要类型:
法币抵押型(USDT、USDC):发行方在银行账户中持有等额法币或等价资产。优点是机制简单、锚定稳定。缺点是中心化——发行方可以冻结地址、受监管审查。USDC 由 Circle 发行,储备审计相对透明;USDT 由 Tether 发行,储备构成长期受质疑。
加密资产抵押型(DAI):用链上加密资产超额抵押生成。MakerDAO 的 DAI 是代表:用户存入 ETH 等资产,按一定抵押率铸造 DAI。抵押率通常要求 150% 以上。优点是去中心化、透明。缺点是资本效率低(锁定 150 美元资产只能铸造 100 DAI)。
算法型:不依赖抵押品,通过算法和套利机制维持锚定。2022 年 5 月 Terra/UST 的崩溃是最深刻的教训——UST 通过 LUNA 的铸造/销毁机制维持锚定,当信心崩塌时进入”死亡螺旋”,UST 脱锚,LUNA 从 80 美元暴跌至接近零,数百亿美元市值蒸发。这一事件证明纯算法稳定币的脆弱性。
预言机
预言机问题
智能合约无法主动获取链外数据。ETH 的链上价格需要有人将现实世界的价格”喂”到链上。这就是预言机问题——如何以去信任的方式将链外数据引入链上。
Chainlink
Chainlink 是最广泛使用的去中心化预言机网络。其工作机制:
- 多个独立的节点运营商从不同数据源获取价格
- 链上聚合合约对多个节点的报价取中位值
- 当价格偏差超过阈值或经过固定时间间隔,触发链上更新
去中心化和多数据源的设计降低了单点操纵风险。但预言机仍然是 DeFi 的关键攻击面——如果喂价被操纵,依赖该喂价的所有协议都会受影响。
MEV
MEV(Maximal Extractable Value,最大可提取价值)是指区块生产者(矿工或验证者)通过重新排序、插入或排除交易所能获取的额外利润。
常见 MEV 策略:
- 抢跑(Front-running):看到用户提交大额交易,抢先提交同方向交易,推高价格后获利
- 三明治攻击(Sandwich Attack):在目标交易前后各插入一笔交易——先买入推高价格,等目标交易以更高价格成交后卖出获利
- 清算:监控借贷协议中即将被清算的仓位,抢先触发清算赚取奖励
MEV 对普通用户的影响是实质性的——交易执行价格更差,gas 费被推高。
Flashbots 是主要的缓解方案。它提供一个私有交易池(MEV-Share),用户可以绕过公开的 mempool 直接向区块构建者提交交易,减少被抢跑的风险。以太坊转向 PBS(Proposer-Builder Separation)架构后,MEV 的分配机制仍在持续演进。
DeFi 风险
DeFi 的风险不是理论上的——每年都有数十亿美元因各类漏洞损失。
智能合约风险:代码漏洞导致资金被盗。即使经过审计,复杂协议仍可能存在未发现的漏洞。2022 年 Wormhole 跨链桥被盗 3.2 亿美元,Ronin 桥被盗 6.2 亿美元。
预言机操纵:攻击者通过闪电贷在低流动性市场操纵价格,使预言机报出错误价格,进而从依赖该价格的协议中获利。
治理攻击:攻击者通过购买或借入治理代币获取投票权,通过恶意提案修改协议参数或转移资金。
监管风险:DeFi 协议的法律地位在全球大多数司法管辖区尚不明确。SEC 对多个 DeFi 项目的执法行动表明,去中心化并不自动豁免监管义务。
推荐资源
| 资源 | 类型 | 说明 |
|---|---|---|
| Finematics | YouTube | DeFi 概念的动画讲解,适合建立直觉 |
| DeFi Llama | 数据平台 | DeFi 协议 TVL 跟踪和链上数据分析 |
| Uniswap v2 白皮书 | 论文 | AMM 机制的原始设计文档 |
| Aave 文档 | 技术文档 | 借贷协议的完整技术规范 |
思考题
- 闪电贷在一笔交易内完成借款和还款——攻击者如何利用这个特性操纵 AMM 的价格,进而从借贷协议中获利?具体的攻击步骤是什么?
- 预言机将链外价格数据喂到链上,但喂价更新有延迟。攻击者如何利用这个时间差?Chainlink 的多节点聚合机制能否完全防御这类攻击?
- DeFi 可组合性意味着一个协议的漏洞可能影响所有依赖它的协议。从安全角度看,这种”乐高积木”架构的系统性风险如何评估?
下一步
Module 05 将进入区块链安全与密码学,包括常见攻击向量、安全审计方法和密码学原语在区块链中的应用。