Adding a runtime-attestation perspective, but mostly to help organize the composition pattern emerging in the last few posts.
My read is that these proposals are not really competing. They are answering different questions in the same trust path:
- identity / BYO-NFT adapter bindings: who or what is the durable handle?
- RAMS mandates / ERC-8118-style authorization: on whose authority, and under what scope?
- trustScope / inputSources: what entered the reasoning boundary, and how far can trust propagate?
- PreparedTransaction: what crosses the agent → wallet boundary before value moves?
- ERC-8263 / OCP-style commitments: what was anchored, and how can it be independently checked?
- scoring / staking / escrow: what happened over time, and how should future users interpret it?
- ERC-8004 Validation Registry: what evidence says the action should be trusted?
That separation feels right.
My inputs from recent stints @ yc, a16z, working with bigcos, startups, living through sgx, cloud hype cycles =>
For any agent action that can affect delegation, reputation, payment, wallet signing, or user trust, a verifier should eventually be able to answer:
who is the stable handle?
on whose authority?
under what scope?
what runtime/code acted?
what evidence proves it?
who verified it?
what consequence followed?
Most layers should only answer one or two of those questions. That is fine. The danger is when one layer silently pretends to answer more than it does.
== macs conjecture ==
Identity should not become authority.
Reputation should not become permission.
A transaction envelope should not imply the upstream runtime was honest.
A manifest hash should not be treated as proof of what actually executed.
A mandate should say who granted what authority, but not by itself prove which runtime exercised it.
The missing binding I care about is:
principal × agentId × code/runtime measurement × authorization scope × evidence
not just:
principal × agentId × authorization scope
and not:
agentId × reputation history.
The thing a user wants to authorize is not “Agent Alice” in the abstract. It is closer to:
this principal authorized this measured runtime to perform this bounded action.
That is where I think the ERC-8004 Validation Registry can be especially useful. Not as another catch-all layer, but as the evidence layer that lets the rest of the stack avoid overloading identity or reputation.
Concretely, I would like to see a recommended measured-runtime validation profile that composes with the work above.
Something like:
validationSubject = H(
principal,
agentId,
codeMeasurement,
policyHash,
delegationRef,
chainId,
nonce
)
where delegationRef could point to a RAMS mandate, ERC-8118-style authorization, wallet permission, or application-specific EIP-712 object.
The evidence bundle could then live behind responseURI, with responseHash committing to it and tag identifying the validation family, for example:
measured-runtime-v1
tee-runtime-v1
repro-build-v1
zk-runtime-v1
The registry does not need to bless one proof system forever. TEE attestation, reproducible builds, zk/FHE proofs, signed runtime receipts, and future validation methods can all be different evidence families while sharing the same subject shape.
The important part is that validators and counterparties can distinguish:
`this agent identity exists`
from:
`this principal authorized this scope`
from
this measured runtime exercised that authority
from:
this reputation score says it historically behaved well.
Those should stay separate.
A useful test vector for the whole stack might be:
A principal authorizes an agent to perform a bounded task. The agent reads on-chain data, calls another agent, prepares a transaction, and a wallet signs only after review. Later, someone wants to know whether the reputation write, payment proof, or validation result should be trusted.
A verifier should be able to reconstruct:
- stable identity
- principal
- authorization scope
- input boundary
- runtime / code measurement
- wallet review boundary
- commitment
- validation evidence
- consequence
If the proposals preserve that chain, they compose.
If any layer replaces runtime evidence with identity, or replaces authority with reputation, the chain breaks.
The urgency here is mobile =>
The default AI stack is moving toward small models on device, heavier private/confidential compute behind them, and vendor-managed runtimes deciding which path gets the fast lane. If Ethereum waits until that stack is settled, user-sovereign agents become a permissioned integration problem: bless the vendor delegate, run on the slow path, or ask users to trust a black box.
The Ethereum answer should be the opposite:
identity for discovery
delegation for authority
transaction envelopes for review
validation for evidence
commitments for anchoring
reputation for interpretation
and, when the action matters:
code/runtime measurement as a first-class subject.
That is the part I think ERC-8004’s Validation Registry can own without bloating the base spec.
Implementation notes / test vectors from my git:
- Proof-before-privilege for agentic software: attested build → attested runtime, with receipts before secrets, tokens, deploy rights, or customer data are released.
- universal quote envelope (tdx, nitro , sev-snp) http-a, RATS, sd-jwt
- Prover/solver network for CI-fixing agents,
- using an EIP-8004-style registry plus validation and settlement
greets to phala, automata, flashbots, nethermind, and the people who showed me wtf was up
mac @ berlin
