与目标 id 的关系
- 目标 id 记录在
docs/decisions.md中,并由docs/rfcs/0002-target-implementation-design.md汇总。 - 此注册表拥有能力 id,而非目标生命周期阶段。
- 文档不得为相同的语义发明替代 id。
与 Contract Intent 和 Target Extension 的关系
capability id 是 target selection 之后使用的下层协议,不是默认面向用户的 SDK。portable contract 通常应调用链中立的 Contract Intent API。所选 target adapter 会把这些 intent 解析为 capability plan,然后在降级前检查本注册表。 Target Extension SDK 可以暴露 Solana PDA/CPI/runtime allocator 配置、Move resource 或 UTXO covenant primitive 等目标特定操作。这些 extension 仍通过 capability id 和 target metadata 路由,使诊断、制品元数据和跨 target 支持检查保持统一。核心能力
Solana 列反映规范的solana-sbpf-asm路线(D-026):直接生成 sBPF assembly。Solana 使用crosscall.cpi(不是crosscall.invoke)和storage.pda,这些按 D-027 保持为 Solana 特定能力。
Id 命名规则
- 格式:
<domain>.<operation>或<domain>.<variant>(小写,点分隔)。 - 领域:
storage,caller,value,events,crosscall,env,control,data,crypto,assertions,account,runtime,zk。 - 制品元数据列出了构建所使用的 id(参见 RFC 0002 制品 schema)。
- 诊断信息在拒绝时必须引用能力 id 和目标 id。
尚未注册的候选能力
这些候选项仅用于目标研究。在目标 profile 和 lowering 规则被接受前,不要将它们加入ProofForge.Target.Capability。
Kaspa Toccata
参见 Kaspa Toccata 目标。zk.circuit 仍保留给主制品是电路或电路导向源包的目标。Toccata 可以使用证明,但它的
base target 是 Kaspa covenant package。
Stellar Soroban
参见 Stellar Soroban 目标。 大部分 Soroban 行为可以先从现有 Wasm-host 能力集开始,但若干目标语义还没有被当前 registry 覆盖。Internet Computer
参见 Internet Computer 目标。 ICP canister 与 Wasm-host 家族有重叠,但在添加 target profile 前,需要显式表达若干 canister 语义。Algorand AVM
参见 Algorand AVM 目标。 Algorand 与通用合约能力有部分重叠,但 AVM programs、storage classes、transaction groups 和 explicit resource references 在添加 target profile 前需要显式表达。Cardano Plutus/Aiken
参见 Cardano Plutus/Aiken 目标。 Cardano 与 UTXO covenant 目标有重叠,但 eUTXO validator roles、datum、redeemer、script context、execution units 和 Plutus blueprint metadata 在添加 target profile 前需要显式表达。Tezos Michelson/LIGO
参见 Tezos Michelson/LIGO 目标。 Tezos 与通用 contract storage 和 entrypoints 有部分重叠,但 Michelson typed data、operation-list effects、views、events、tickets 和 gas/storage-burn 语义需要在添加 target profile 前显式表达。Starknet Cairo
参见 Starknet Cairo 目标。 Starknet 与 contract storage、events 和 calls 有部分重叠,但 Cairo/Sierra/CASM artifacts、class hashes、account abstraction、syscalls 和 L1/L2 messaging 在添加 target profile 前需要显式表达。Aleo Leo
参见 Aleo Leo 目标 和 docs/zh/superpowers/specs/2026-07-01-aleo-leo-design.zh.md。 Aleo 与 source-generation 和 ZK 目标有重叠,但它的 contract model 有明确的 proof/finalization split。private execution 生成 transitions 和 proofs;public finalization 在链上更新 mappings 或 storage。Records、program ids、imports、 Aleo Instructions、Aleo VM bytecode、ABI、prover/verifier artifacts、fees 和 devnet validation 在添加 target profile 前需要显式表达。规范能力(Road 1 spike)
以下能力已被第一个aleo-leo spike 接受,并在设计规格中文档化。在 spike 成功前,
它们不会被加入 ProofForge.Target.Capability。
研究候选能力(未来 spike)
以下能力仍作为候选,直到 private records、transitions、proofs、imports、deployment 或 devnet validation 被纳入范围。
现有
zk.circuit capability 不足以描述 Aleo。它可以描述 proof surface 的一部分,
但 Aleo 还需要 program、transaction、state-record、finalization 和 artifact
能力。
TON TVM
参见 TON TVM 目标。 TON 与通用合约能力有部分重叠,但 TVM cells、messages 和 actions 在添加 target profile 前需要显式表达。Bitcoin Script/Miniscript
参见 Bitcoin Script/Miniscript 目标。 Bitcoin 与 UTXO script targets 有重叠,但 base-layer Script 更适合建模为 spending policy,而不是 general contract execution。Miniscript、descriptors、Taproot/Tapscript、PSBT flows、standardness 和 weight/fee checks 在添加 target profile 前需要显式表达。
Bitcoin 应在语义匹配时复用已有 UTXO candidate ids,包括
storage.utxo、script.p2sh、script.unlocker、timelock.locktime、signature.checksig 和 tx.builder。
Zcash Shielded
参见 Zcash Shielded 目标。 Zcash 与 Bitcoin-derived UTXO flows 有重叠,但它的 shielded pools 不是普通 Bitcoin Script,也不是 generic ZK circuit target。Sapling/Orchard notes、 nullifiers、commitment tree anchors、value-balance constraints、viewing-key disclosure 和 protocol-defined proofs 在添加 target profile 前需要显式表达。
Zcash 在 transparent flows 中应在语义匹配时复用已有 UTXO candidate ids,包括
storage.utxo、tx.builder、signature.checksig 和 fee.weight。现有
zk.circuit capability 不是普通 Zcash shielded transfer 的第一抽象;它只适合
未来在 Zcash 共识证明系统之外做辅助 proof-program work。
Bitcoin Cash CashScript
参见 Bitcoin Cash CashScript 目标。 BCH/CashScript 与 UTXO covenant 目标有重叠,但 CashVM、transaction introspection、CashTokens 和 transaction-builder 语义在添加 target profile 前需要显式表达。EVM 映射 (基准)
目前通过
ProofForge.Evm / Lean.Evm 实现 —— 参见 targets/evm.md。
Phase 1 验收标准
- 此表中的每个 id 至少出现在一个目标的
TargetProfile.capabilities中。 - EVM Counter 构建在制品元数据中列出
storage.scalar(以及其他使用的 id)。 - 在 EVM 上尝试
storage.pda会失败并显示capability unsupported诊断信息。 - 当 RFC 0002 语义矩阵发生变化时,注册表保持同步。