Problem
Non-deterministic arguments (such as use_cache) in attestation actions can break attestation reproducibility across validators. This is a critical issue that must be resolved before attestations are released to production.
Context
The current TODO in the code states:
TODO: some arguments are not deterministic, such as use_cache
we should aim at filtering these out before we release attestations.
One idea is to also store a force_args in the whitelisted actions. Then this should help us force some args per action
Proposed Solution
- Add a
force_args JSONB column to the attestation_actions table
- Merge forced args with user-provided args before dispatch (with force_args taking precedence)
- Document which args are overridden per action
Impact
Without this fix, attestations may produce different results across validators, breaking consensus and rendering the attestation system unreliable.
Requested by: @outerlook
Problem
Non-deterministic arguments (such as
use_cache) in attestation actions can break attestation reproducibility across validators. This is a critical issue that must be resolved before attestations are released to production.Context
internal/migrations/024-attestation-actions.sql(lines 51-56)The current TODO in the code states:
Proposed Solution
force_args JSONBcolumn to theattestation_actionstableImpact
Without this fix, attestations may produce different results across validators, breaking consensus and rendering the attestation system unreliable.
Requested by: @outerlook