Fuzz deferred precompiles and bound hash/MSM evaluation cost
- 主要语言
- Rust
- 星标
- 772
- 派生
- 352
- 平均合并
- 1 天 7 小时
- 30 天内合并 PR
- 84
描述
PR #3222 introduces the `miden-precompiles` registry and deferred-state element budgeting. The current budget primarily reflects stored DAG size, while evaluation cost can vary significantly with hash chunk count and MSM pair count.
- Add property and fuzz tests for math and hash precompiles, deferred-wire rehydration, malformed payloads, and boundary sizes.
- Add adversarial proof-wire tests covering malformed entries, valid-but-different deferred roots, and the distinction between deferred-integrity rejection and STARK public-input mismatch.
- Investigate fixed per-tag limits, compute-weighted budgeting alongside `max_deferred_elements`, or both for hash and MSM evaluation.
- Enforce limits consistently during execution and verifier rehydration, before expensive allocation or evaluation.
- Enforce the deferred-wire budget before decoder preallocation, traversal, hashing, or payload cloning, including proofs supplied as an already constructed in-memory `ExecutionProof` rather than only serialized bytes.
### Review context
Follow-up from Robin’s review of #3222:
- Full end-to-end proof generation for deferred precompiles: https://github.com/0xMiden/miden-vm/pull/3222#discussion_r3585116584
- Recursive verification with a non-default deferred root and deferred-wire tampering tests: https://github.com/0xMiden/miden-vm/pull/3222#discussion_r3585141453
- Early verifier resource limits for untrusted deferred wires: https://github.com/0xMiden/miden-vm/pull/3222#discussion_r3585170983
贡献指南
调研方向
Review PR #3222 to understand the `miden-precompiles` registry and deferred-state element budgeting. The work involves adding property and fuzz tests in the test suite, likely in a `tests/` directory. Focus on the `miden-precompiles` module and the deferred wire handling logic. The goal is to create adversarial tests for malformed payloads and enforce evaluation cost limits during execution and verification.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- rust
- 领域
- cryptography, testing
- Issue 类型
- 功能
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100