ICR · 意愿直接誓约化

RIB的抽象简化设计

怎么修ICR · ICR战略

好,我把这条链路补完整,把你那句:

“输入就是 Intent 消息 → worker 分配任务 → 三步验证之后 → 执行链上交易”

做成一个可以直接实现的标准流程。

③ 三步验证:V1 / V2 / V3 完整定义

🔹 V1:合法性 & 授权验证(Intent Level)

在哪里做:

H0 入口 + Worker

检查什么:

  1. 签名合法
    • signature 是否对应 from 地址
  2. 格式合法
    • action / payload / constraints 是否符合预定义 schema
  3. 权限合法
    • 该地址是否有权限发这种 action(比如:只能操作自己金库的资金)
  4. 风控基础规则
    • 如:单次转账不能超出用户某个额度上限

通过 ⇒ 标记: V1_OK

→ 交给 Worker 做分配

🔹 V2:模拟执行 & 风险检查(Simulation Level)

在哪里做:

I3 执行层里的某个 SimExecutor(也可以看作专门的 “风控 Agent”)

Worker 做的事情:

1. Worker 收到 V1_OK 的 IntentMsg

2. 挑选一个 / 多个 SimExecutor(I3 里的执行者)

3. 调用:simulate(intent) → 返回 SimResult

SimResult 包含:

SimResult {

success // 模拟是否能成功

gas_estimate // 预估 gas

balance_delta // 资产变化情况

risk_flags // 触发了哪些风险规则

}

在 V2 阶段检查:

  1. 是否会 Revert / Fail
  2. 是否超出 constraints 里用户自己设置的风控边界
    • 比如:最差滑点、最大可亏损额、最大手续费
  3. 是否触发系统级黑名单 / 风险标记(可选)

通过 ⇒ 标记: V2_OK

→ 生成一条 PreTxPlan:

PreTxPlan {

intent_id

to_contract

calldata

max_gas

expected_effect // 摘要:会发生什么

}

🔹 V3:因果 / 策略 / 多方确认(Causality / Policy Level)

在哪里做:

C1 因果层 + 某些 I3 的策略/风控 Agent

V3 的作用:

“确认这笔交易在更大时间轴和策略上下文里是合理的,而不是单笔没问题。”

可以包含三种子检查(根据场景选):

  1. 因果一致性(Causality Check)
    • 这条 Intent 是否是某个长期策略链的一部分?
    • 之前是否已经执行过同 ID 的交易(防重放)?
    • 当前状态是否仍然满足最初意图条件?
  2. 策略 / Policy 对齐
    • 例如:
      • 该 Vault 的策略是 “最大回撤 < 10%”,当前加这笔会不会破表?
      • 用户设定自己是 “保守模式”,这笔是不是超频?
  3. 多方共识(可选)
    • 某些高风险操作可以要求:
      • 多签地址签名
      • 多个“风控 Agent”投票
      • 某种信用分 / Bond 等级才允许

通过 ⇒ 标记: V3_OK

→ 最终进入 “可执行状态”。

如果 V3 不通过,就把原因写成一个 RejectionEvent 回 H0,然后整个 Intent 结束,不触发链上交易。

④ V1/V2/V3 都通过 → I3 触发链上交易

当 Intent = V1_OK + V2_OK + V3_OK 时:

  1. Worker 选择真正的 OnchainExecutor(某个 I3 Agent)
  2. 调用 execute(intent, pre_tx_plan)
  3. 生成链上交易:

tx_hash = OnchainExecutor.execute(pre_tx_plan)

  1. 等待链确认(或异步监听)
  2. 把链上 tx_receipt 转换成一个 ExecutionEvent,发回 H0 + C1 + S2:

ExecutionEvent {

intent_id

tx_hash

status // success / failed

gas_used

final_state // 重要状态变化摘要

}

⑤ C1 / S2 在这条链上的作用(跟三步验证怎么咬合)

我们把刚才的流程,嵌回你的 H0–C1–S2–I3:

  1. H0:输入 Intent 消息
    • 用户 / Agent 把 IntentMsg 发给 H0
    • H0 记录 + 广播给 Worker
  2. V1:合法性验证
    • 可以在 H0 + Worker 侧做
    • 如果签名 / schema / 权限不过,直接拒绝,不进 C1 / S2
  3. V2:模拟验证(I3 内部)
    • Worker 分配给 SimExecutor(I3 的一类 Agent)
    • 得到 SimResult
    • 通过 → 打上 V2_OK 标记,写一条 PreTxPlanEvent 到 H0(C1 将看到它)
  4. V3:因果 / Policy 验证(C1 主导)
    • C1 看到 Intent + PreTxPlan + 历史 ExecutionEvent 组成的因果链
    • 计算:
      • 这笔是不是重复 / 改写版
      • 会不会破坏策略 / 风控
    • 通过 → C1 生成 ApprovalEvent(V3_OK),发给 Worker & S2 预登记
  5. I3 触发链上交易
    • Worker 收到 V3_OK
    • 调用 OnchainExecutor 去执行
    • 得到 tx_hash
  6. 链上成功 → C1 记因果,S2 记账
    • 链上回执 → H0 → C1、S2
    • C1 更新:
      • 这条 Intent → 确认成为真实世界的 “已生效事件”
    • S2 更新:
      • Credit / Bond / Flux / 余额变动
      • 记录谁贡献了这笔成功(可用 PoCW 算)

⑥ 用一句话把整个流程压缩出来(可以直接写到白皮书)

所有外部行为先变成 Intent 消息 → Worker 派发给合适的执行者 → 经过 “V1 合法性、V2 模拟风险、V3 因果策略” 三重验证 → 只有被完整证明是“合理且安全的意图”,才会由 I3 生成链上交易,并最终由 S2 写入信用与资产状态。

换成你爱用的 4 步:

说 → 分配 → 验证 → 上链

H0 → Worker → V1/V2/V3(C1+I3) → S2

如果你接下来想要,我可以直接给你一个:

你可以直接丢给工程师做 PoC。