Skip to content

2026-08-23 Morpho Vault V2:风险模型、市场隔离与可信执行

  • 数据时间:2026-08-23 Asia/Shanghai
  • 研究对象:Etherealm Research Morpho Vault V2 Manager、内部风险模型、Accountable 风险证明与 owner-exit
  • 报告类型:DeFi 技术架构 / Vault V2 策略与风控模型
  • 资料来源:Morpho Vault Manager 策略蓝图、风险配置与 replay 场景、Vault V2 代码设计、生产控制面架构方案

核心判断

Etherealm Research 的 Morpho Vault 策略采用“约束先于收益”的顺序:先用资产透明度、市场规模、利用率、可撤流动性、集中度和相关风险预算限定可配置空间,再由 optimizer 在剩余空间内寻找借贷利率与激励收益。

Vault V2 保留这套 risk 设计,并把执行边界进一步收紧。全新 V2 vault 通过 MorphoMarketV1AdapterV2 管理 Morpho Blue Market V1 allocation;固定区块 snapshot 同时读取 adapter、market 和三层 cap;风险退出形成明确的 market isolation;发送前模拟原生 multicall,确认后复读仓位、idle、liquidity route 与 cap 不变量。独立 owner-exit 处理持有人退出,主 manager 只负责 vault 内部 allocation。

策略定位

Vault 管理器不接管 LP 本金,也不把资产转入管理人账户。管理权限集中在 curator、allocator、sentinel 等 V2 角色允许的配置与分配动作内。策略以真实资产为本金,收益来自公开借贷市场和可解释激励,风险规则先裁剪仓位,optimizer 随后处理资金配置。

层级目标执行含义
本金边界以 USDC、USDT、WETH 等真实资产为本金排除循环贷、黑箱抵押和项目方凭证代币的无限再质押路径
风险边界先证明透明、可审计和具备退出路径市场规模、流动性、利用率、单市场占比和相关风险预算均需通过规则
执行边界optimizer 只在 risk 裁剪后的空间内配置资金APY 无权越过 cap、deposit lock、strategy group、withdrawability 和外部风险 directive

收益来源与风险处理

策略蓝图将 USDC vault 的目标定义为跑赢链上稳定币基准,将 WETH vault 的目标定义为跑赢主流 LST 回报。这些目标用于比较资金效率,不构成固定收益承诺。

收益来源解释风控处理
借贷利息Vault 把资产供给到 Morpho markets,向借款方收取利息利率与利用率、市场规模、抵押品和即时可撤流动性一起评估
激励补贴市场用代币激励吸引流动性激励不能单独构成准入理由,统一折回风险调整后收益
稳健停车场wstETH/USDC、cbBTC/USDC、Sky sUSDS 类透明度较高的路径承担防守角色承接 Degen 资金回转、赎回缓冲和风险升温时的降配资金
Degen alpha早期市场、波动窗口、激励错配和短期利差由单市场 cap、策略组预算、deposit lock 和流动性约束限制尾部风险

从 MetaMorpho V1 到原生 Vault V2

原有风险模型的政策层可以复用,协议执行语义需要重新建模。V1 依赖 supply queue、withdraw queue 和 reallocate;V2 围绕 adapter、cap ledger、liquidity route 和原生 multicall 运转。

维度MetaMorpho V1 设计Vault V2 改进风险意义
Vault 来源管理既有 V1 vault 与 market queue面向全新部署的 V2 vault,无 shares/assets 迁移避免把 V1 状态、角色和退出假设带入新系统
底层 allocationVault 直接维护 market allocation通过已安装的 MorphoMarketV1AdapterV2 接入 Market V1adapter identity 成为显式信任边界
新资金入口supply queue 顺序optimizer target 加 deposit lock 和三层 cap风险市场可保留现有头寸,同时禁止继续增仓
退出入口withdraw queue 顺序liquidity adapter 与 liquidityMarketIds 候选退出路由从隐含队列位置变成显式可验证状态
上限配置级 market cap 与组合约束adapter、collateral、market 三层链上 cap ledger计划同时服从协议 cap、共享 collateral cap 和单 market cap
调仓 payloadV1 reallocateV2 原生 multicall,先 deallocate、后 allocate提款先释放资金,存入不会暂时突破 cap
状态读取vault、position、queue 等多项读取同一固定区块读取 vault、adapter、market 与 cap降低跨区块状态拼接造成的错误计划
可撤性maxWithdraw / maxRedeem 与 queue 共同决定两个方法可能固定返回 0,改读 shares、资产换算与 market liquidity将 V2 的 0 返回值视为协议条件,不误判为零资产
风险退出风控收紧 target,再走 reallocatesmooth / battle market isolation,随后重新优化出险 market 只减不增,释放资金按正常风险政策再分配
持有人退出与 vault 常规赎回语义联系较紧独立 owner-exit 进程和 rescue executorallocator 风险处置与 owner 资产退出分权限、分 signer、分故障域
执行验收交易发送与通知同一 calldata 模拟、receipt、固定区块复读和不变量验证发送成功不再等同于风险处置完成

V2 系统分层

模块职责对风控的意义
vaultV2Fetcher在固定区块读取 vault、Market V1 adapter、market 状态和三层 cap所有约束来自同一链上状态切片
riskAdapter应用市场准入、利用率、流动性、静态 cap 和策略组规则给出 target、max supply、deposit lock 与退出原因
ExternalRiskEngine接入 Accountable 等 market-scoped 外部风险 provider将链下偿付、透明度和新鲜度证据收敛为统一 directive
vaultV2Rescue把风险退出意图转换成 smooth 或 battle 隔离基线退出量受真实 withdrawable liquidity 约束
optimizer在风险基线、cap 和 idle reserve 内重新配置资金释放资金进入其他合格 market,缺少目标时保留 idle
vaultV2Execution生成原生 multicall、模拟并复核执行后状态risk 退出可越过收益门槛,仍需经过执行安全门槛
vaultV2Runner编排 risk check、rebalance、通知、backoff 与确认风险检查和常规收益优化拥有不同触发节奏
owner-exit独立监听 market 流动性并处理 share owner 退出主 manager 不持有 owner-exit 权限,也不自动启动该服务

内部 risk 设计

市场准入

市场准入先按规模与透明度分层。下表保留原 USDC 策略参数快照,用于说明 risk policy;实际阈值应随 vault 资产、链、抵押品和市场深度单独配置。

规则原策略参数示例风控结果V2 语义
fullWhitelistMinSize20,000,000达到完整白名单规模后按常规 cap 参与仍需通过三层链上 cap 与 adapter 检查
partialWhitelistMinSize10,000,000介于 full 与 partial 门槛之间时只允许受限暴露max supply 收紧,并进入组合占比约束
低于 partial 门槛blocked目标仓位降为 0并锁定新增进入 market isolation,不进入新 allocation
whitelist: true核心透明市场可跳过部分通用筛选,但仍受静态 cap外部 EXIT 可以覆盖 whitelist
excludeFromSupplyQueueV1 市场级开关保留退出路径,停止接收新存款V2 没有 supply queue,由 deposit lock 与 max supply 表达同一风险意图

full、partial、blocked 和禁止新增构成四层准入状态。V2 的改进是把“不能继续存入”从 queue 操作提升为 optimizer 约束:即使 market 仍在 adapter 中,计划也无法向它增加 allocation。

准入之后还要叠加 perMarketShareLimitPercentpartialPortfolioSharePercentmaxAllocationallocationDriftTolerance。前两项控制相对组合占比,maxAllocation 给出绝对金额上限;自然利息只在 drift tolerance 内允许冻结在当前值,期间禁止加仓,超过容忍值后必须降回 cap。

利用率与可撤性

利用率风险来自供给被借款占用后的退出不确定性。原有模型同时看利用率阈值、目标利用率、即时流动性覆盖、每轮撤出比例和 dust 清零条件。

参数原策略参数示例含义V2 改进
utilizationExit0.96高于阈值触发退出或降配与内部 risk note、外部 EXIT 共同形成 isolation request
utilizationTarget0.92计算希望恢复到的目标利用率optimizer 在救援基线之上重新计算其余 market allocation
liquidityCoveragePercent80要求可用流动性覆盖头寸的显著比例V2 同时检查 market liquidity 与指定 liquidity route
utilizationLiquidityConstrainedWithdrawPercent95流动性不足时只使用本轮可撤能力的一部分smooth 继续分轮退出,battle 使用本轮全部可撤流动性
utilizationExitDust10,000 USDC避免对不可完成的小额尾仓反复发交易minimumWithdrawalAssets 抑制无意义中间动作,能够完成退出时不留下 dust
utilizationExitDustLiquidityCoveragePercent103dust 清零需要额外流动性冗余执行后复读确认真实剩余仓位,不以计划值代替完成状态

这套规则允许退出跨越多个 iteration。每轮只报告实际可执行的 deallocation,剩余风险继续留在下一轮状态中。V2 进一步区分了 vault 内 market isolation 与 share owner 退出:前者调整 allocation,后者把资产送到 owner 指定的 receiver。

集中度与策略组预算

单 market cap 无法识别多个市场共享同一抵押品、发行人、wrapper 或流动性来源的尾部风险。strategyGroups 将这些表面独立、经济上相关的 market 放进共同预算。

组别原策略上限示例控制对象V2 处理
managed-wrapper20%450,000 USDC管理型 wrapper 和结构复杂市场组预算与 adapter/collateral/market cap 取更严格结果
volatile-collateral30%600,000 USDC波动抵押品相关市场超限时优先削减组内低收益或风险更高的 allocation
reusd-complex65%1,500,000 USDC同一稳定币复合风险达到预算后锁定整组新增资金
snusd-complex35%800,000 USDC同一稳定币复合风险相关 market 不因地址不同而获得独立预算
alt-stables45%900,000 USDC非核心稳定币篮子组合风险与单 market 流动性同时生效
apollo-complex10%150,000 USDC单一复杂策略族低绝对 cap 限制早期或难解释暴露

V2 的三层 cap ledger 补充了策略组预算:adapter cap 管适配器总暴露,collateral cap 管共享抵押品暴露,market cap 管单一 Market V1。策略组属于管理人风险政策,三层 cap 属于链上执行约束;计划必须同时通过两套限制。

调仓阈值与风险优先级

收益优化需要抑制小额、频繁和 gas 不经济的交易。原 V1 USDC 参数快照采用分段最小收益改善:

当前 APY 区间原 V1 最小收益改善V2 配置示例处理方式
0%+15 bps10 bps普通 allocation move 需同时通过收益与 gas 门槛
10%+20 bps20 bps高收益区间提高换仓要求
15%+30 bps30 bps抑制追逐短期 APY 尖峰

原 V1 USDC 配置快照还使用 maxGasUsd = 5supplyQueueMinScoreDelta = 20minReallocateDelta = 1,000 USDC 限制无效调仓。V2 保留 minApyGainmaxGasUsdminReallocateDelta,删除 supply queue 的执行语义。risk-enforced isolation 可以越过 APY 与 gas 收益判断,仍需通过同一 calldata 模拟、signer lease、receipt 和执行后验证。

外部风险与 Accountable 证明

内部 risk 主要读取链上市场事实。aHYPER 一类资产还需要链下储备、供应量、净资产与抵押率证据,因此 V2 增加 market-scoped ExternalRiskEngine。每个 provider 显式绑定 appliesToMarketIds,多个 provider 覆盖同一 market 时取更严格 directive;provider 失败只冻结其绑定 market 的新增暴露。

Directive约束allocation 结果
ALLOW没有额外外部限制继续服从内部 risk、策略组与三层 cap
NO_INCREASEmax supply 钉在当前 allocation允许保持或减少,禁止继续增加
EXITdeposit lock,目标暴露压到 0进入 smooth 或 battle isolation,释放资金重新优化或保留 idle

Accountable provider 在解析 JSON 前校验原始响应体 content-digest。经济新鲜度只使用 data.ts,并检查时间倒退、未来偏移、reserves、supply、net 与 collateralization 一致性;HTTP datex-ts、Merkle 时间和 Nitro 内层时间仅作为辅助观测。

响应中的 signature-inputsignature 只有在官方公钥、算法与验证流程明确后才具备密码学证明含义。缺少这些条件时,系统记录 present-unverified,内容摘要验证与签名验证保持分离。

偿付缺口、快速恶化或持续陈旧可以触发 EXIT。EXIT latch 持久化并跨重启保留,健康数据不会自动清除;操作者发起 clearance 时,provider 重新读取健康证明并核对目标 id,避免一次短暂恢复直接重开风险暴露。

市场隔离与 owner-exit

路径权限和目标退出量安全边界
Manager market isolationallocator / sentinel;降低 vault 对出险 market 的 allocationsmooth 按配置比例分轮撤出;battle 使用本轮全部可撤流动性只调用正常 deallocate,资金重新进入 optimizer;主路径不调用 owner withdraw/redeem
独立 owner-exitshare owner 或预授权 rescue executor;把资产发送给 receiver按 owner shares、资产换算、V2 idle 与 Market V1 流动性取可执行值独立 signer、触发模式、执行锁和通知;主 manager 不导入该服务

V2 的 maxWithdraw / maxRedeem 可以固定返回 0。owner-exit 因此从 balanceOf(owner)convertToAssets 得到 owner assets,再用 market supply - borrow 和 idle 资产限定本轮退出量。三种触发模式分别服务不同需求:

  • liquidity:达到最低可执行流动性即可退出。
  • risk-proof:ExternalRiskEngine 必须给出 EXIT,同时满足最低流动性。
  • either:流动性窗口可以触发,风险 EXIT 也会被完整记录和执行。

批量 rescue executor 要求每个 share owner 预先注册 receiver,并授权 executor 使用 vault shares。每个请求单独捕获外部 vault/adapter 调用失败,单一请求失败不会阻断后续 owner。正常 partial withdraw 不调用 forceDeallocate;该方法保留为 owner 最后手段,并伴随 share burn penalty。

所有发送路径按 chainId + signer 获取 execution lease。锁覆盖 nonce 复读、签名、发送、replacement、receipt 与 bundle 生命周期,防止 manager、owner-exit 或另一进程同时消费同一 signer nonce。异常退出留下的锁需要结合链上 receipt 与 nonce 人工处理。

V2 执行闭环

text
固定区块 snapshot
  -> 内部 riskAdapter
  -> ExternalRiskEngine
  -> smooth / battle isolation baseline
  -> optimizer 重新分配
  -> 三层 cap 与 liquidity route 规划
  -> 构造同一组 V2 multicall
  -> authorized account 模拟
  -> signer execution lease
  -> 发送并等待 receipt
  -> 新固定区块复读
  -> target、idle、liquidity route 与 cap 不变量验证
环节风险检查拒绝条件
Snapshotvault asset、adapter identity、IRM、market identity、cap state 来自同一 block身份不匹配、cap 缺失或 chain id 错误
Plandeallocate 排在 allocate 前;保留 idleReserveAssets无 market 满足最低退出流动性或计划超 cap
Simulate从真实授权账户模拟准备发送的同一 calldata任一调用 revert
Execute显式 chain 配置、RPC 策略和 signer leasechain mismatch、lease 冲突或发送失败
Confirm等待成功 receiptrevert、替换失败或确认超时
Verify复核 market target、idle、liquidity route 与 cap无法由资产增长或舍入解释的状态漂移

source block 与 confirmation block 之间可能产生正常利息。market target 比较只吸收该区间内正向 vault-wide 实际资产增长;idle 仍只接受显式设置的最小单位舍入误差。adapter identity、cap allocation 和 liquidity route 保持精确检查。

Replay 与验证方法

原有离线 replay 固定市场规模、利用率、流动性、头寸、queue 和 cap,验证风险规则能稳定改变 target 与 payload。V2 复用同一风险政策,并把验收范围扩展到 adapter、cap ledger、liquidity route、原生 multicall 和执行后状态。

Replay 场景原风险意图V1 观察V2 改进分析
blocked-whitelist-exit市场规模跌破准入门槛后退出targetSupply 降为 0,资金转向 safe market,queue 移除 blockeddeposit lock 阻止新增,isolation 受真实 deallocation 流动性和 cap 约束
liquidity-constrained-utilizationstressed market 利用率 97%,高于 95% exit 时分轮撤离本轮只撤出可撤能力的 50%,示例仓位从 200 降到 185smooth/battle 明确本轮退出强度,复读确认真实剩余 allocation
group-share-cap同组两个 market 合计超过 50% 组合上限低收益 market 降到 0,高收益 market 保留,组进入 deposit lock组预算再与 adapter/collateral/market 三层 cap 叠加
group-max-allocation组绝对上限用满后停止新增idle 流向组外 marketV2 optimizer 只能选择 cap 完整、adapter 有效且未被外部风险锁定的目标
dust-min-reallocate小额退出不继续制造噪音交易尾仓退出后资金保留 IDLEminimumWithdrawalAssets、idle reserve 和 post-state verify 共同约束 dust

Replay 验证规则的确定性,固定区块 fork 验证真实合约调用兼容性,shadow dry-run 验证目标部署状态与角色。三条验证线回答的问题不同,任何一条都无法单独替代生产验收。

风控输出的 V2 映射

风控信息V1 表达V2 表达复盘问题
单市场裁剪riskSummaryrisk notes、max supply、deposit lock为什么减仓或禁止新增
相关风险预算groupSummariesgroup constraints 与 optimizer breakdown同一风险族占用了多少预算
流动性排序queuePlanliquidity candidates、active liquidity market 与 switch threshold退出依赖哪个 market,为什么切换或不切换
链下风险无统一接口ExternalRiskAssessment、directive、evidence digest 与 latch哪份证明改变了 market 约束
风险退出targetSupply / queue updaterescue mode、planned withdrawal、remaining withdrawal本轮实际隔离多少,剩余多少
执行动作V1 reallocate payloadV2 multicall operations 与 target supplies链上将执行哪些 deallocate/allocate
完成验收交易与通知receipt 加 post-state invariants交易确认后,风险状态是否真的按计划改变

生产控制面设计

V2 manager 涉及生产签名、链上监听、WebSocket/mempool、nonce、执行锁、风险 latch 和本地应急状态。部署采用 Cloudflare 入口与 Docker 可信执行面的混合拓扑:

text
Cloudflare Pages 静态 UI
  -> Cloudflare Access
  -> Cloudflare Tunnel
  -> Docker control-api
       -> PostgreSQL 权威库
       -> manager-agent
       -> projector
       -> 独立 owner-exit
            -> 本地 SQLite durable outbox
组件设计职责风险边界
Pages静态控制台不持有 signer,不承担链上监听或执行
Access分别保护 UI 与 APIorigin 继续校验 Access token、issuer、audience 和 expiration
Tunnel由服务器建立出站连接暴露 control-apiAPI 与数据库不开放公网端口
PostgreSQL配置版本、审批、命令、事件、投影和审计的唯一真相源API、manager、projector、migration 使用不同数据库角色
SQLite开发测试与 manager 本地 durable outbox数据库故障时先持久化 execution intent;outbox 也失败则停止主路径发送
Docker services隔离 control-api、manager-agent、projector 与 owner-exit按权限、生命周期和故障域拆分进程与网络
D1可选边缘只读投影只从 PostgreSQL outbox 投影,不参与 API 双写

owner-exit 使用独立 profile、signer secret、数据库角色和 Access hostname。主 API 只接受高层命令;manager 重新检查命令类型、审批、有效期、配置版本、链上状态、risk、simulation 和 execution lease,不接收数据库中预制的任意 calldata。

策略边界

可管理风险控制方式V2 增强
市场规模不足whitelist 分层和 blocked 退出deposit lock 加 market isolation
利用率过高utilizationExit / utilizationTargetsmooth/battle 分轮退出与 post-state 复读
流动性不足coverage、withdraw capacity、dust 规则显式 liquidity route 与 owner-exit 流动性触发
单市场集中per-market share 与 max allocationmarket cap ledger
相关市场叠加strategy group 预算collateral 与 adapter cap ledger
链下偿付与透明度人工观察或专项规则market-scoped ExternalRiskEngine、Accountable digest 和 EXIT latch
无效调仓min APY、max gas、min deltarisk action 越过收益门槛,执行安全门槛保持不变
多进程签名冲突nonce 与发送重试chainId + signer execution lease
剩余风险原因
协议、adapter 或集成漏洞风控只能覆盖已经纳入状态读取和执行不变量的路径
稳定币发行人、储备与法律权利透明度和证明降低信息风险,无法消除发行人和资产索取权风险
极端流动性枯竭分轮隔离提升可执行性,无法创造 market 中不存在的流动性
外部证明被攻破或停止更新digest、freshness 与 latch 降低风险,可信公钥和独立验证仍需完整设计
RPC、mempool、MEV 与 gas 变化多 RPC、私有发送、监听和 backoff 提升韧性,无法保证任意时点成交
owner 与角色治理独立服务和权限减少耦合,最终安全仍依赖角色配置、timelock、密钥和操作纪律

结论

Morpho Vault V2 将原有的市场准入、利用率、流动性、集中度、策略组预算和调仓阈值保留下来,并把它们落到更严格的链上执行模型中。V1 的 queue 约束被 deposit lock、liquidity route 和三层 cap ledger 替代;风险退出形成 smooth/battle isolation;链下偿付证据通过 ExternalRiskEngine 进入同一 market 约束;执行结果由固定区块复读和不变量验收确认。

这套设计追求可解释的收益、有限的风险预算和可验证的退出。每笔 allocation 都应能回到来源市场、风险政策和 cap;每次退出都应说明触发证据、本轮可撤量、剩余风险与执行后状态;每次生产操作都应留下配置版本、审批、simulation、lease、receipt 和 audit event。

来源

材料使用范围证据属性
Morpho Vault Manager 策略蓝图本金、收益来源、市场准入、利用率、集中度和策略组设计策略设计材料
原 USDC 风险配置与 replay fixtures参数示例、blocked exit、受限流动性、group cap 与 dust 场景配置快照与离线确定性场景
Vault V2 planner、fetcher、execution、runner 与 rescue 设计adapter、cap ledger、liquidity route、multicall、isolation 与执行后验证本地源码设计
ExternalRiskEngine 与 Accountable provider 设计directive、digest、freshness、偿付一致性与 EXIT latch外部风险接口与实现设计
owner-exit 与 rescue executor 设计V2 share owner 退出、流动性触发、execution lease 与权限隔离独立应急路径设计
生产控制面架构方案Pages、Access、Tunnel、Docker、PostgreSQL、SQLite 与 D1 分工生产部署设计