DeFi 协议分析:MakerDAO 超额抵押借贷协议
MakerDAO协议概述与技术解析 MakerDAO是2014年创立的DeFi先驱,通过过抵押机制生成稳定币DAI。2024年升级为Sky Protocol后,引入USDS和SKY代币,但核心机制保持不变。截至2025年,协议TVL约61亿美元,DAI流通量84亿,RWA抵押占比14%。 关键技术包括: 多抵押品支持(ETH、RWA等) 去中心化治理(MKR/SKY投票) DSR储蓄机制(约5%A
协议概述
MakerDAO 是 2014 年由 Rune Christensen 创立的 DeFi 先驱协议,是第一个实现去中心化稳定币的系统。它通过过抵押机制生成 DAI(软挂钩美元),允许用户锁定 ETH 等资产借出 DAI,而无需中心化中介。MakerDAO 的核心是 DAI Stablecoin System (DSS),现已演进为 Multi-Collateral DAI (MCD),支持多种抵押品。2024 年起,MakerDAO 升级为 Sky Protocol,引入 USDS(DAI 升级版)和 SKY(MKR 升级版),但核心机制保持不变,强调社区治理和金融包容性。
关键事实(2025 年 11 月)
- TVL:约 61 亿美元(DAI 供应 84 亿,RWA 抵押 9.48 亿,占储备 14%),占 DeFi 稳定币市场份额 20%+,是 RWA 集成领先者。
- 支持链:Ethereum 主网、Arbitrum、Optimism、Base 等 L2(通过 SkyLink 桥接)。
- 治理:MakerDAO,使用 MKR 代币(ERC-20,总供应 97.7 万,流通 ~82 万)投票;veMKR(锁定)赚取收入;Endgame 计划引入子 DAO(如 Spark)。
- 费用:稳定性费(Stability Fee)动态 0.5-5%(ETH 库 1.5%),DSR(Dai Savings Rate)~5%;协议收入 ~2.2 亿/年,主要 RWA。
- 用户基数:数百万活跃用户,集成 400+ DeFi 协议(如 Aave、Uniswap);DAI 流通 53.6 亿。
- 风险:智能合约漏洞(多轮审计)、清算风险(150% 抵押率)、depeg(历史 <0.5%)、RWA 对手方风险。
MakerDAO 的使命是“无偏见全球金融系统”,通过 Endgame 计划实现自持续治理和不可变核心。截至 2025 年,完成 MKR → SKY 迁移,TVL 增长 20%+ 来自 RWA(如 BlackRock 合作)。
关键技术
MakerDAO 的技术栈强调过抵押、去中心化治理和 RWA 集成:
- 稳定币与收益代币:DAI(软挂钩 USD,ERC-20);sDAI(非 rebasing ERC-4626,价值随 DSR 增长,APY ~5%);USDS/SKY(Sky 升级版)。
- 抵押与 Vaults:Collateralized Debt Positions (CDPs/Vaults),支持 ETH、wstETH、RWA(如国债);多抵押 (MCD) 接受任何 ERC-20 资产,经治理批准。
- 治理模块:MKR 投票调整参数(如稳定性费、债务上限);Endgame 子 DAO(Spark 借贷、Grove RWA)。
- Oracle 系统:Chainlink + 自定义中位数 Oracle(Median/OSM),实时价格喂价;2025 年增强 RWA 审计和 OEV 保护。
- 清算机制:自动化拍卖(Flipper/Clipper),罚金 13%;Keeper 网络触发。
- 跨链支持:SkyLink(LayerZero 桥),连接 L2;RWA 通过 BlockTower 等 tokenize 国债。
- 安全措施:开源代码(GitHub: makerdao/dss)、多轮审计(Trail of Bits、Runtime Verification)、Immunefi 赏金、GateSeal 暂停、多签治理。
- 其他:DSR(Dai Savings Rate,储蓄收益);PSM(Peg Stability Module,1:1 兑换);Solidity 0.8.x。
这些技术确保 MakerDAO 在 2025 年 TVL 稳定,RWA 贡献 10.9% 收入。
核心流程
MakerDAO 的核心流程是非托管的,分为生成、维护和清算。以下是详细步骤(基于 MCD):
1. 生成 DAI(Lock Collateral)
- 用户连接钱包(如 MetaMask),访问 oasis.app,锁定 ETH 等抵押到 Vault(最小 150% 抵押率)。
- 协议铸造 DAI(债务 = 抵押价值 / 抵押率),转移到用户;支付稳定性费(年化)。
- RWA 抵押:机构通过 Grove 锁定国债生成 DAI。
- 升级:DAI → USDS(1:1),MKR → SKY(1:24,000)。
示例:锁定 1.5 ETH (~$4500) → 生成 3000 DAI;稳定性费 1.5%。
2. 维护与收益(Manage & Earn)
- DSR:存款 DAI 到 Pot → 铸造 sDAI,赚取 DSR (~5% APY,治理调整)。
- 治理:MKR 持有者投票参数;子 DAO 如 Spark 扩展借贷。
- 监控:Oracle 更新价格,健康因子 (HF) = (抵押价值 × 清算阈值 - 债务) / 债务;HF >1.2 安全。
- 额外:RWA 收入回购 MKR,社会化收益。
3. 偿还与清算(Repay & Liquidate)
- 偿还:支付 DAI + 费 → 解锁抵押;HF <1 触发清算。
- 清算:Keeper 拍卖抵押(罚金 13%),优先用 DAI 覆盖债务,剩余拍卖 MKR。
- 替代:二级市场交易 DAI(Uniswap,即时)。
- 罚金:延迟升级 1-2%(2025 年 12 月起)。
风险缓解:过抵押、动态费、Oracle 中位数防操纵。
核心算法
MakerDAO 的算法聚焦稳定性和风险控制,使用动态费和拍卖机制:
1. 稳定性费与 DSR 算法
- 稳定性费:债务年化费,动态调整以控制 DAI 供应:fee = base + slope × (utilization - target)。
- 目标利用率 80%;ETH 库 1.5%(2025 年 6 月)。
- DSR = (总收入 - 稳定性费) / DAI 供应;~5% APY。
- 公式示例(伪代码):
utilization = totalDebt / totalCollateral stabilityFee = baseRate + slope1 * utilization (if < kink) dsr = (rwaIncome + fees - stabilityFee) / totalDAI * 100 // 年化 % sDAIValue = principal * (1 + dsr * time / 365) - 社会化:费池化,MKR 持有者共享。
2. 清算算法
- HF = (collateralValue × liquidationRatio - debt) / debt;<1 触发。
- 拍卖:Flipper (债务拍卖 MKR) / Clipper (抵押拍卖 DAI);罚金 = 13% + 波动调整。
- 风险参数:LTV = 抵押率 (150%),债务上限治理设。
3. Oracle 中位数算法
- Median:多个喂价中位数,防操纵;OSM 延迟 1 小时读值。
- RWA 分配:allocation_i = f(yield_i, risk_score_i);Endgame AI 优化。
算法 Solidity 实现,WadRayMath 防溢出;2025 形式验证覆盖核心。
核心合约方法源码解析
MakerDAO 核心合约开源在 GitHub (makerdao/dss),使用 Solidity 0.8.x + Foundry,基于 MCD。以下解析关键合约(基于 v3.0.0,2025 测试版),提供核心方法源码片段及中文注释。仓库包含 Vat(核心引擎)、Pot(DSR)、Cat(清算)。
1. Vat.sol(核心引擎,Vault 管理)
- 作用:跟踪抵押、债务和系统会计。继承 Auth,使用 WadRayMath。
- 关键方法:
frob(锁定/生成)、hope(授权)。 - 源码解析(frob 方法,简化版):
// SPDX-License-Identifier: AGPL-3.0 pragma solidity 0.8.19; import "./lib/WadRayMath.sol"; contract Vat { using WadRayMath for uint256; mapping (bytes32 => mapping (address => uint256)) public gem; // 抵押映射 mapping (address => mapping (bytes32 => uint256)) public dai; // 债务映射 /** * @dev 修改 Vault:锁定抵押或生成/偿还 DAI * @param u 用户地址 * @param v 抵押类型 (e.g., ETH-A) * @param dink 抵押增量 (正: 锁定, 负: 解锁) * @param dart 债务增量 (正: 生成 DAI, 负: 偿还) * 逻辑:更新 gem/dai 余额,检查抵押率 >150%,emit 事件;核心会计 */ function frob(address u, bytes32 v, int dink, int dart) external auth { // 更新抵押 gem[v][u] = dink >= 0 ? gem[v][u].wadAdd(uint256(dink)) : gem[v][u].wadSub(uint256(-dink)); // 更新债务 dai[u][v] = dart >= 0 ? dai[u][v].wadAdd(uint256(dart)) : dai[u][v].wadSub(uint256(-dart)); // 检查健康因子 (简化) require(checkHF(u, v) >= RAY, "Vat-insufficient-collateral"); // RAY=1e27 emit Frob(u, v, dink, dart); } /** * @dev 检查健康因子 * @param u 用户 * @param v 抵押类型 * @return hf 健康因子 * 逻辑:(gem价值 * 价格 * 比率) / dai > 1 */ function checkHF(address u, bytes32 v) internal view returns (uint256 hf) { uint256 colVal = gem[v][u].wadMul(spot[v]); // spot=价格 * 比率 hf = colVal.wadDiv(dai[u][v]); } } - 解析亮点:WadRayMath 精确计算;auth 角色控制。审计覆盖 frob 操纵(Trail of Bits)。
2. Pot.sol(DSR 储蓄模块)
- 作用:管理 sDAI 和 DSR 累积。继承 Auth。
- 关键方法:
join(存款)、exit(赎回)。 - 源码解析(join 方法,简化版):
// SPDX-License-Identifier: AGPL-3.0 pragma solidity 0.8.19; import "./lib/WadRayMath.sol"; contract Pot { using WadRayMath for uint256; uint256 public pie; // 总份额 uint256 public rate; // 当前 DSR 率 (ray) /** * @dev 存款 DAI 到 DSR,铸造 sDAI * @param wad 存款 DAI 数量 (wad) * 逻辑:转移 DAI,计算份额 = wad * rate / chi,更新 pie;chi 随 DSR 增长 */ function join(uint256 wad) external auth { require(wad > 0, "Pot-zero-wad"); vat.move(msg.sender, address(this), wad); // 从 Vat 转移 DAI uint256 pieNew = wad.wadRayMul(rate).wadDiv(chi()); // 份额计算 pie = pie.wadAdd(pieNew); sDAI.mint(msg.sender, pieNew); // 铸造 sDAI emit Join(msg.sender, wad); } /** * @dev 计算 chi (累积因子) * @return chi 因子 * 逻辑:指数增长基于时间 */ function chi() public view returns (uint256) { return (now > rho) ? rate.rayPow((now - rho) / 1 days) : rate; } } - 解析亮点:rayPow 复合;2025 集成 USDS。Audit 修复时间依赖。
3. Cat.sol(清算模块)
- 作用:触发和处理清算。继承 Auth。
- 关键方法:
bite(触发清算)。 - 源码解析(bite 方法,简化版):
// SPDX-License-Identifier: AGPL-3.0 pragma solidity 0.8.19; contract Cat { mapping (bytes32 => mapping (address => uint256)) public ilks; // 清算罚金 /** * @dev 触发 Vault 清算 * @param u 用户 * @param v 抵押类型 * 逻辑:检查 HF <1,计算罚金,调用 Flip 拍卖;emit 事件 */ function bite(address u, bytes32 v) external auth { // 检查 HF <1 (从 Vat) require(vat.hope(u, v) < RAY, "Cat-safe"); // 简化 uint256 lot = vat.gem(v, u).wadMul(ilk[v].chop); // 罚金 = 13% flip.kick(v, u, lot, vat.dai(u, v)); // 拍卖抵押/债务 vat.sin(address(this)) = vat.sin(address(this)).wadAdd(lot); // 系统坏账 emit Bite(u, v, lot); } } - 解析亮点:集成 Flip 拍卖;2025 eMode 优化。Audit 覆盖 Keeper 激励。
其他核心合约:PSM.sol(挂钩模块);Vow.sol(收入处理)。测试覆盖 >95%;形式验证核心引擎。
协议层级
MakerDAO 采用模块化 DSS 架构,确保可扩展和治理:
| 层级 | 描述 | 关键组件 |
|---|---|---|
| 治理层 (DAO) | 决策层,MKR 投票参数/Endgame。 | Snapshot 投票、多签、子 DAO (Spark)。 |
| 合约层 (Core) | 执行生成/清算。 | Vat.sol、Pot.sol、Cat;DSS proxy 升级。 |
| Oracle/风险层 | 价格输入与参数。 | Median/OSM、Chainlink。 |
| 集成层 (DeFi/Multi-chain) | 扩展应用。 | Aave/Uniswap 集成、SkyLink L2。 |
Endgame 引入 Stars 层:子项目创新。
应用场景
MakerDAO 的 DAI/sDAI 解锁稳定借贷和收益场景,2025 TVL 增长受益于 RWA 和 L2。
- 稳定借贷:锁定 ETH 生成 DAI(150% 抵押),借贷 APY ~1.5%;Spark 子 DAO 杠杆 ~5x。
- 储蓄收益:sDAI 赚 DSR ~5%,DeFi 复合(Aave 抵押,总 ~10%)。
- RWA 投资:tokenize 国债赚 5%+,机构 Grove 管理 10 亿+。
- 流动性提供:Uniswap DAI/ETH LP,赚费 + DSR。
- 跨链/L2:SkyLink 桥 Arbitrum 低费 Vaults,小额友好。
- 治理/机构:MKR 投票调整费;BlackRock RWA 合作。
- 高级:闪贷集成(Aave),无抵押借 DAI。
示例收益:锁定 1.5 ETH 生成 3000 DAI → sDAI 赚 150 美元/年。
补充点
- 2025 更新:Endgame 完成,MKR → SKY 迁移;Spark SPK 主网(6 月);RWA TVL 9.48 亿;DSR 调整至 5%;Solana USDS 部署。
- 竞争:Aave(TVL 高但无 RWA 深度)、Liquity(效率高但 TVL 低);Maker 领先稳定币 20%+。
- 风险补充:清算罚金(13%)、RWA 对手方(BlockTower)、SEC 审查(USDS freeze 合规)。
- 社区:Discord/论坛、Bug Bounty($1M+)、MKR 空投(迁移激励)。
- 指标:收入 2.2 亿/年、MKR MC 46 亿;TVL 历史:2024 50 亿,2025 61 亿。
总结
MakerDAO 是 DeFi 的奠基石协议,通过 DAI/MKR 和 Endgame 桥接过抵押借贷与 RWA,管理 61 亿 TVL 并实现去中心化治理。其核心在于 Vault 机制、DSR 收益和社区投票,确保稳定/包容的金融系统。核心合约(如 Vat.sol)提供坚实基础,算法(如动态费)优化风险。尽管面临清算和监管挑战,多层审计和创新使其可靠。
备注:有错误欢迎指出!数据基于公开来源,可能随市场变化;DYOR,DeFi 有风险。
更多推荐



所有评论(0)