返回 Expert 笔记
Expert Day 33

Centrifuge V3 深度解剖

拆解Centrifuge V3 Hub-Spoke架构、Pool设计、NAV预言机、与Tinlake的演进对比

2026-06-03
Phase 1 - RWA协议解剖 (Day 29-42)
CentrifugeTinlake私募信贷NAVHubSpoke

日期: 2026-06-03 方向: 机构DeFi / RWA 阶段: Phase 1 - RWA协议解剖 (Day 29-42) 标签: #Centrifuge #Tinlake #私募信贷 #NAV #HubSpoke


今日目标

类型内容
学习拆解Centrifuge V3 Hub-Spoke架构、Pool设计、NAV预言机、与Tinlake的演进对比
实操阅读Anemoy JTRSY基金合约,理解其如何支持Aave作为抵押品
产出协议拆解#3:Centrifuge(含Tranche设计、跨链架构图、私募信贷流程)

一、Centrifuge 协议概述

1.1 一页定位

Centrifuge:成立于2017年,柏林+旧金山。最早的RWA协议之一,最初通过Tinlake(基于Ethereum)服务于实物贸易融资(如发票贴现、应收账款)。2024年发布Centrifuge V3,转向Hub-Spoke跨链架构,目标是成为"RWA的Cosmos"。

维度数据
成立时间2017
联合创始人Lucas Vogelsang, Martin Quensel
总部Berlin / SF
当前TVL$620M(含V3 + Tinlake legacy)
主要资产类型私募信贷、应收账款、贸易融资、国债
TokenCFG(治理 + 质押 + 验证节点)
链支持(V3)Ethereum, Centrifuge Chain (Hub), Base, Arbitrum
主要合作Aave (Spark)、Anemoy、BlockTower、New Silver
监管取决于Pool(多数Reg D / Reg S)

1.2 Centrifuge的独特定位

其他RWA协议:
└── 单一资产 + 单一发行人(如BUIDL = BlackRock + UST)

Centrifuge:
├── 多元资产(贸易/信贷/国债/房产)
├── 多Pool模式(每Pool独立SPV)
├── 多Issuer(任何机构可在Centrifuge上发Pool)
└── Tranche分层(Senior/Junior风险分级)
                              │
                              ▼
                  ⇒ 类似传统Securitization平台
                  (ABS/CLO的链上版本)

1.3 时间线

2017 Q4   ──  Centrifuge成立
2019      ──  Tinlake发布(基于以太坊主网)
2020 Q3   ──  和Maker合作,将Tinlake Pool接入Maker作为RWA抵押品
2021      ──  Centrifuge Chain(基于Substrate/Polkadot)发布
2022.07   ──  与Aave合作发布"RWA Market"
2023      ──  Tinlake累计发起$500M+贷款
2024 Q2   ──  Centrifuge V3白皮书发布
2024 Q4   ──  Anemoy JTRSY基金接入Aave Spark
2025 Q1   ──  V3主网上线,Hub-Spoke架构启用
2025 Q3   ──  从Tinlake迁移完成,TVL $500M+
2026.05   ──  V3 TVL $620M,跨4条链

二、架构深度拆解

2.1 Tinlake (V1/V2) 架构回顾

Tinlake是Centrifuge早期的Pool设计,每个Pool是独立的合约组:

                    Tinlake Pool(每Pool独立部署)
                              │
        ┌─────────────────────┼─────────────────────┐
        ▼                     ▼                     ▼
┌──────────────┐    ┌────────────────┐    ┌────────────────┐
│ TIN Token    │    │ DROP Token     │    │ NFT (Asset)    │
│ (Junior)     │    │ (Senior)       │    │ ERC-721        │
│ 高风险高收益  │    │ 低风险固定收益  │    │ 代表实物资产    │
└──────────────┘    └────────────────┘    └────────────────┘
        │                     │                     │
        ▼                     ▼                     ▼
   ┌───────────────────────────────────────────────────┐
   │  Reserve(资金池)+ NAV Feed + Assessor          │
   └───────────────────────────────────────────────────┘

关键问题:每Pool独立合约部署,跨Pool无组合性,扩展性差。

2.2 Centrifuge V3 Hub-Spoke 架构

V3的核心创新:Hub链负责治理与逻辑,Spoke链负责用户交互

                    ┌──────────────────────────┐
                    │   Centrifuge Chain (Hub) │
                    │   (Substrate L1)         │
                    │   - Pool Logic           │
                    │   - NAV Oracle           │
                    │   - Issuer Registry      │
                    │   - Liquidity Pool       │
                    └────────────┬─────────────┘
                                 │
                         ┌───────┴───────┐
                         │  CCIP/Axelar  │
                         │  Message Bus  │
                         └───────┬───────┘
              ┌──────────────────┼──────────────────┐
              ▼                  ▼                  ▼
      ┌──────────────┐  ┌──────────────┐  ┌──────────────┐
      │  Ethereum    │  │   Base       │  │  Arbitrum    │
      │  Spoke       │  │   Spoke      │  │  Spoke       │
      │  ERC-7540    │  │   ERC-7540   │  │   ERC-7540   │
      └──────────────┘  └──────────────┘  └──────────────┘

ERC-7540 = Asynchronous Tokenized Vault(异步金库),是V3使用的关键标准,专为RWA这种"申购需要T+1处理"场景设计。

2.3 ERC-7540 Vault 接口

// ERC-7540 异步Vault
interface IERC7540 is IERC4626 {
    // 异步申购:用户先deposit请求,再等结算
    function requestDeposit(uint256 assets, address controller, address owner)
        external returns (uint256 requestId);

    function pendingDepositRequest(uint256 requestId, address controller)
        external view returns (uint256 pendingAssets);

    function claimableDepositRequest(uint256 requestId, address controller)
        external view returns (uint256 claimableAssets);

    // 异步赎回
    function requestRedeem(uint256 shares, address controller, address owner)
        external returns (uint256 requestId);

    function pendingRedeemRequest(uint256 requestId, address controller)
        external view returns (uint256 pendingShares);

    function claimableRedeemRequest(uint256 requestId, address controller)
        external view returns (uint256 claimableShares);
}

为什么需要异步Vault?

  • 传统ERC-4626假设deposit/withdraw即时完成
  • RWA基金赎回需要先卖资产,T+1或T+3
  • ERC-7540区分"请求"和"领取",匹配传统Asset Management流程

2.4 Pool架构详解

每个Pool有完整的"金融三段论":

                   Centrifuge Pool
                          │
        ┌─────────────────┼─────────────────┐
        ▼                 ▼                 ▼
┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│  Tranches    │  │  Holdings    │  │  Investors   │
│  (代币)      │  │  (资产)       │  │  (持有人)     │
└──────────────┘  └──────────────┘  └──────────────┘
        │                 │                 │
        ▼                 ▼                 ▼
┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│ Senior Tier  │  │ NAV Oracle   │  │ Subscription │
│ Mezzanine    │  │ (链上推送)   │  │ Queue        │
│ Junior       │  │              │  │              │
└──────────────┘  └──────────────┘  └──────────────┘
                          │
                          ▼
                ┌──────────────────┐
                │  Issuer (链下)   │
                │  借款人/资产管理人 │
                └──────────────────┘

2.5 NAV Oracle(重点创新)

不同于OUSG/BUIDL(仅持有国债),Centrifuge的Pool持有多元化、流动性差的资产(如房产抵押贷款、应收账款),NAV计算复杂得多。

// Centrifuge V3 Holdings合约(简化)
contract Holdings {
    struct Asset {
        bytes32 assetId;
        uint256 currentValue;     // 当前估值
        uint256 outstandingDebt;  // 未还本金
        uint256 maturity;
        uint8 status;             // 0=正常 1=逾期 2=违约
        bytes ipfsDocHash;        // 法律文件哈希
    }

    mapping(bytes32 => Asset) public assets;

    // NAV计算 = sum(各资产现值) - sum(逾期减值)
    function calculateNAV() external view returns (uint256) {
        uint256 totalValue;
        for (uint i = 0; i < assetIds.length; i++) {
            Asset memory a = assets[assetIds[i]];
            uint256 discount = getDiscountRate(a);  // 基于maturity和status
            totalValue += a.currentValue * (1e18 - discount) / 1e18;
        }
        return totalValue;
    }

    // 由Asset Originator每日推送
    function updateAsset(bytes32 _assetId, uint256 _newValue, uint8 _newStatus)
        external onlyOriginator
    {
        // 检查变化幅度
        Asset storage a = assets[_assetId];
        uint256 maxChange = a.currentValue * 5 / 100;
        require(_newValue > a.currentValue - maxChange &&
                _newValue < a.currentValue + maxChange,
                "NAV change too large");

        a.currentValue = _newValue;
        a.status = _newStatus;
    }
}

NAV更新流程:

  1. 链下:Issuer(如New Silver)每日重估贷款portfolio
  2. 签名:Issuer用Ledger私钥签名NAV
  3. 预言机:Centrifuge runner监控并推送
  4. 链上:Hub合约收到NAV,验证,更新Pool TVL
  5. 挑战期:12小时挑战期,任何人可质疑
  6. 生效:通过后影响Tranche价格

2.6 Tranche设计

Tranche是Centrifuge最经典的设计,模拟传统ABS(Asset-Backed Security)的Senior/Junior分层:

[Pool资产 $100M]
       │
       ├── Senior Tranche(DROP代币)$80M
       │   ├── 优先获得现金流
       │   ├── 固定利率(如 6%)
       │   └── 损失最后承担
       │
       └── Junior Tranche(TIN代币)$20M
           ├── 后获得现金流
           ├── 浮动利率(剩余收益)
           └── 损失先承担

如果Pool损失$5M:
- Junior损失全部$5M(变$15M)
- Senior毫发无损(仍$80M)

V3将Tranche实现为多个独立的ERC-7540 Vault,每个Vault对应一个Tier。


三、资金流/价值流图

3.1 借款方流程

[Asset Originator/Issuer]
(如New Silver,做美国房产Bridge Loan)
     │
     │ 1. 在Centrifuge创建Pool
     ▼
[Centrifuge Hub]
     │
     │ 2. 部署Pool合约 + 配置Tranche
     ▼
[投资者] 申购Senior/Junior Tranche
     │
     │ 3. 资金进入Pool Reserve
     ▼
[Pool Reserve] 持有USDC(或DAI)
     │
     │ 4. Issuer提交贷款申请(链下KYC借款人)
     ▼
[Pool] 发放贷款
     │
     │ 5. mint NFT表示该贷款(持有借款人借据)
     ▼
[借款人收到USDC] 用美国房产做抵押

3.2 投资者流程(Senior Tranche申购)

[投资者钱包] 持有1M USDC
     │
     │ 1. 在Spoke (Ethereum) 调用 requestDeposit(1M, ...)
     ▼
[Ethereum Spoke Vault]
     │
     │ 2. USDC托管在Spoke
     │ 3. 通过CCIP跨链消息通知Hub
     ▼
[Centrifuge Hub]
     │
     │ 4. 检查Pool容量、KYC状态
     │ 5. 等待下一个settlement周期(通常每日)
     │
     │ 6. NAV更新后,计算应得Senior代币数量
     │    senior_amount = 1M USDC / current_NAV
     ▼
[Hub mint Senior代币 → 跨链回Spoke]
     │
     │ 7. 投资者调用 deposit() 领取
     ▼
[投资者钱包] 收到Senior代币

3.3 收益分配

[借款人还款] 每月还利息(如 8% APR)
     │
     │ → Pool Reserve增加USDC
     ▼
[Hub Distributor] 按Tranche优先级分配
     │
     ├── Senior获得固定 6% APR
     │   (从Reserve中持续累积)
     │
     └── 剩余流向Junior
         (Junior分到 2% × 5x leverage = 10%)

体现方式:
- Senior:固定NAV上涨(每日 6%/365)
- Junior:浮动NAV,吸收剩余利润和损失

四、风险分析

4.1 信用风险(最大风险)

  • 借款人违约:Tinlake历史上有多次违约(如2022 Branch违约$1.7M) → 缓解:Junior Tranche吸损
  • Asset Originator跑路:Issuer是Pool实际管理人,如果道德风险 → 缓解:Issuer Stake CFG代币、链下法律责任
  • 资产估值水分:NAV由Issuer提供,存在虚高风险 → 缓解:第三方Asset Manager(如BlockTower)独立审计

4.2 技术风险

  • 跨链消息丢失:CCIP/Axelar消息失败导致申赎卡住 → 缓解:消息重发机制 + 跨链对账
  • NAV预言机操纵:Issuer故意虚报NAV → 缓解:12h挑战期 + 第三方挑战激励
  • Hub-Spoke同步:Hub暂停但Spoke未感知 → 缓解:心跳检测 + 自动暂停

4.3 法律风险

  • 多Pool多SPV:每个Pool对应一个SPV(通常Cayman/Delaware),法律复杂度极高 → 缓解:标准化SPV模板
  • 跨境执法:借款人在美国,投资者在欧洲,Pool在Cayman → 缓解:选定主要管辖法

4.4 流动性风险

  • 私募信贷天然非流动:底层贷款2-5年期 → 缓解:Senior Tranche设12-24个月最低锁定期
  • 挤兑风险:经济下行所有人想退出 → 缓解:赎回Gate(最大日赎回比例 5%)

4.5 操作风险

  • 链下文件管理:每笔贷款的法律文件 → 缓解:IPFS哈希上链 + 第三方托管
  • 多语言/多管辖:跨境合同复杂性 → 缓解:标准化Centrifuge法律文档模板

五、TradFi对照

5.1 Centrifuge ↔ Securitization Platform

维度Centrifuge传统证券化(如ABS)
平台Centrifuge ChainDTCC + Trustee Bank
发起人Asset Originator (Issuer)Originator (Bank/Lender)
SPVCayman SPV per PoolDelaware Statutory Trust
分层Tranche (DROP/TIN)Senior/Mezzanine/Equity Notes
NAV链上OracleServicer月度报告
投资者任何KYC通过的钱包机构投资者(QIB)
流动性Senior 12月锁定Senior 144A可二级
透明度完全链上可见仅Trustee季度报告
设立时间1-4周6-12月
设立成本$50K-200K$500K-2M
最低规模$5M$100M+

核心增值:Centrifuge把传统ABS的设立成本降低90%、时间压缩90%,让中小型Lender也能证券化资产。

5.2 Pool ↔ CLO (Collateralized Loan Obligation)

Centrifuge Anemoy Pool(持有美短国债)
≈ Government Money Market Fund

Centrifuge BlockTower Pool(持有Trade Finance)
≈ Trade Finance ABS

Centrifuge New Silver Pool(持有Bridge Loans)
≈ RMBS (Residential Mortgage-Backed Securities)

5.3 与Sky/Aave集成的TradFi对照

Aave Spark市场
     │
     │ 接受Centrifuge Senior Tranche作为抵押
     ▼
≈ 传统Bank Repo Desk接受AAA级ABS作为repo抵押品

利率传导:
Bridge Loan (8%) → Centrifuge Senior (6%) → Aave Borrowers (4-5%)
对照:
Mortgage (5%) → AAA RMBS (4%) → Repo Lenders (2-3%)

六、关键速查表

参数V3 主要Pool(Anemoy JTRSY)
主合约0x36036fFd9B1C6966ab23209E073c68Eb9A992f50
Pool类型美短国债
TVL$230M
管理费0.40% APR
净收益~4.6% APR
Tranche单层(无Junior)
最低申购$250
申购T+T+1(通过ERC-7540)
赎回T+T+3
Ethereum + Centrifuge Chain
IssuerAnemoy Capital (BVI)
Asset ManagerJanus Henderson
Aave集成Spark Liquidity Layer
Centrifuge生态参数
CFG Token (ETH)0xc221b7E65FfC80DE234bbB6667aBDd46593D34F0
Centrifuge Chain基于Substrate
总Pool数18+ active
总TVL$620M
累计发起$1B+ since 2019
历史违约率~2.3% (vs 传统ABS ~1.5%)
主要客户New Silver, BlockTower, Anemoy, Harbor

七、面试题

Q1: Centrifuge的Tranche设计在DeFi中是否真的有效?

回答

  • 理论价值:Senior/Junior分层确实模拟了传统ABS,可以满足不同风险偏好投资者
  • 实践挑战
    1. Junior流动性差:高风险层级缺少自然买家,依赖CFG质押激励
    2. 价格发现不足:Junior往往折价交易,但DEX池子流动性差
    3. 风险定价不准:链上信用评级体系尚不成熟
  • 真实数据:Tinlake历史Pool,Junior实际收益经常不及预期(违约时承担损失)
  • 改进方向:V3引入"自动Tranche再平衡",根据违约率动态调整Senior/Junior比例
  • PM启示:复制传统金融结构到DeFi,需要充分考虑链上参与者结构差异

Q2: ERC-7540 异步Vault 解决了什么问题?

回答

  • 问题:ERC-4626假设deposit/withdraw即时,但RWA:
    • 申购需要T+1(Issuer需要时间收集KYC、买入资产)
    • 赎回需要T+3(卖出资产 + 跨境转账)
  • ERC-7540设计
    • requestDeposit() → 用户提交请求,资金锁定但不分发shares
    • 后端结算 → 触发claimable...()状态
    • 用户调用deposit() 实际领取
  • 优势
    • 兼容ERC-4626(前端无需大改)
    • 支持queue机制(公平排队)
    • 适合所有"延迟结算"产品(不仅RWA,也适合NFT基金、低流动性资产)
  • 未来:ERC-7540可能成为RWA标准Vault接口

Q3: 比较Centrifuge和Maple的私募信贷模式

回答

维度CentrifugeMaple
角色平台(多Issuer)平台(多Pool Delegate)
资产范围多元(信贷/贸易/国债/房产)主要机构信贷
风险评估Issuer负责 + 第三方挑战Pool Delegate全责
投资者Tranche分层单一池
历史违约~2.3%~3-5%(含2022年事件)
透明度NFT表示每笔贷款池级别透明
创新点Hub-Spoke多链Direct Lending Model

核心差异:Centrifuge更"基础设施"(让任何人发资产),Maple更"运营"(精选Pool Delegate)。

Q4: Hub-Spoke跨链架构的优势和挑战?

回答

优势

  1. 逻辑统一:Pool治理、NAV在Hub一处定义,无需多链同步
  2. 资本效率:一个Pool接受多链投资者
  3. 降低运营成本:不用为每条链重新部署Pool
  4. 跨链组合性:Spoke上的Senior代币可作其他DeFi抵押品

挑战

  1. 跨链消息延迟:CCIP通常需要15-30分钟,影响用户体验
  2. 消息丢失/重排序:需要复杂的nonce + retry机制
  3. Hub单点故障:Centrifuge Chain宕机=全协议停摆
  4. 消息成本:每次申赎触发跨链消息,成本叠加(约$5-15/次)
  5. 状态一致性:Hub和Spoke的余额数据需要严格对账

Centrifuge选择:用Axelar GMP(General Message Passing) + 多Validator节点提供安全保证。

Q5: 如果你是Centrifuge V4 PM,你会增加什么功能?

回答

  1. 链上信用评级:用历史链上数据训练模型,对Issuer自动评级
  2. 二级流动性:Permissioned AMM支持Senior Tranche二级交易(参考Maple的SP)
  3. 保险层:与Nexus Mutual合作,为Junior Tranche提供违约保险
  4. 跨Pool组合:让投资者一键购买"分散多Pool组合"(类似ETF of Pools)
  5. AI Underwriting:集成AI辅助借款人信用评估(链上+Plaid数据)
  6. 法币On-Ramp:直接接Coinbase Prime / Anchorage,省去USDC兑换
  7. DAO治理升级:CFG持有者可以投票"添加新Issuer",去中心化平台审核
  8. 挑战机制激励:链上挑战NAV的人获得CFG奖励,激励第三方监督

明日预告

Day 34: Maple Finance 深度解剖

明天我们将拆解机构无抵押借贷的代表协议Maple Finance

  • Pool Delegate模式
  • 信用评估如何链下化
  • 2022年违约处理(Orthogonal、Auros)
  • 现金管理产品Cash Management与Maple syrupUSDC
  • 与Centrifuge的对比

预计深度500-600行。