← 返回预习计划
Module 04

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 为例:

  1. 存款人将资产存入协议,获得利息
  2. 借款人存入价值高于借款额的抵押品(例如存入价值 150 美元的 ETH,借出 100 USDC)
  3. 如果抵押品价值下跌至清算线以下,协议自动清算抵押品偿还贷款

为什么需要超额抵押?因为链上没有信用评分和法律追偿手段,只能靠抵押品保障贷方利益。

利率模型

利率根据资金利用率(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 是最广泛使用的去中心化预言机网络。其工作机制:

  1. 多个独立的节点运营商从不同数据源获取价格
  2. 链上聚合合约对多个节点的报价取中位值
  3. 当价格偏差超过阈值或经过固定时间间隔,触发链上更新

去中心化和多数据源的设计降低了单点操纵风险。但预言机仍然是 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 项目的执法行动表明,去中心化并不自动豁免监管义务。

推荐资源

资源类型说明
FinematicsYouTubeDeFi 概念的动画讲解,适合建立直觉
DeFi Llama数据平台DeFi 协议 TVL 跟踪和链上数据分析
Uniswap v2 白皮书论文AMM 机制的原始设计文档
Aave 文档技术文档借贷协议的完整技术规范

思考题

  1. 闪电贷在一笔交易内完成借款和还款——攻击者如何利用这个特性操纵 AMM 的价格,进而从借贷协议中获利?具体的攻击步骤是什么?
  2. 预言机将链外价格数据喂到链上,但喂价更新有延迟。攻击者如何利用这个时间差?Chainlink 的多节点聚合机制能否完全防御这类攻击?
  3. DeFi 可组合性意味着一个协议的漏洞可能影响所有依赖它的协议。从安全角度看,这种”乐高积木”架构的系统性风险如何评估?

下一步

Module 05 将进入区块链安全与密码学,包括常见攻击向量、安全审计方法和密码学原语在区块链中的应用。