RIB · English Edition

综合设计1.0

RIB(中文) · RIB简单设计 · Intent设计1.0

那我直接给你一版 “可以写在一页纸上的最简设计”,把所有东西压到骨架。

1. 一句话总纲

钱在 EVM,脑在链下 MoveVM;

所有动作都变成一个极简 Intent:

把某个东西,在某个条件下,转给某个目标。

Flux 当 gas,Power 当生命上限,D 当结构护栏。

2. 四个核心概念

① Object(对象)

② D(Dependence,结构依赖)

③ Power(生命上限)

Power = 你在系统里的“生命能级 + 信任额度”。

④ Flux(gas)

Flux = 行为成本,想频繁动手就得有油。

3. 最简 Intent 设计

直接锁死成一个结构:

Intent {

user: ID // 谁发的

transfer: (Object, amount) // 要转的东西(3 USDC、某任务、权限…)

target: Object // 转给谁 / 作用在哪个对象上

cond: CondID // 在什么条件下触发

}

所有复杂目标(赚多少、换成什么、达到什么值)

都写进 cond 对应的条件模板里去检查。

Intent 本身只关心:转什么、给谁、在什么条件下。

D 的检查这样做:

不再在 Intent 里显式写 d_min,更极简。

4. 架构分工(超简版)

EVM 层(钱袋)

用户在 EVM:

链下 MoveVM(大脑)

MoveVM 做 4 件事:

  1. 验签 + 扣 Power、Flux
  2. 查 D_true,结构合法才允许进池
  3. 把 Intent 放进对应市场 (asset → target) 的订单簿
  4. 撮合后生成 SettlementAction 发给 EVM 执行

PoCW、Flux 奖励、Power 解锁节奏,都在 MoveVM 内部处理。

5. 一条 Intent 的最简生命周期(3 步)

以:“用 3 USDC 换 BTC,在滑点 <1% 条件下” 为例:

  1. 用户侧:
    • 在 EVM:approve(USDC, Settlement, 3e6)
    • 在前端签名一个 Intent:

transfer: (USDC, 3e6)

target: BTCPool

cond: cond_swap_usdc_to_btc_with_slippage_lt_1pct_and_value_ok



  1. MoveVM:
    • 验签 → 扣一点 Power + Flux
    • 查 D_true(USDC, BTCPool),不达标就拒绝
    • 放进 (USDC → BTC) 市场订单簿
    • 撮合、计算路径,生成 SettlementAction(Uniswap swap 调用)
  2. EVM:
    • Settlement 合约执行 Action:
      • 收 3 USDC
      • 调用 DEX 换成 BTC/WBTC
      • 把 BTC/WBTC 打回用户

MoveVM 再内部做:给撮合者发 Flux、调 H、解锁 Power 等。

6. 最终一句话(你可以直接用)

**最简单的设计就是:

Intent 只描述“要转什么、给谁、在什么条件下”;

Flux 只是执行这些 Intent 的 gas;

Power 是谁有资格长期玩这套游戏;

D 是守住结构不被破坏的护栏。

MoveVM 在链下做撮合和结构治理,

EVM 只负责动真金白银。**