feat(trust): random re-execution audits of worker fragments (VRF-capable)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- python
- Domain
- backend, distributed-systems
Research direction
Start by reading marketplace_service.py for reputation and runtime/executor.py for fallback workers, then inspect the provenance work in issue #4. Define the audit and randomness interfaces, configurable rates and tolerances, and an integration test with a faulty worker. Done means mismatches are detected, audits are recorded in job provenance, and audit costs never double-charge the owner.
Written by the indexing model from the issue text.
Description
Summary
Randomly pick completed fragments and re-run them on a second worker to detect cheating or faulty nodes, with a pluggable randomness source that can be Chainlink VRF.
Motivation
Workers are paid for results the coordinator cannot cheaply verify. Unpredictable audits make cheating unprofitable and feed reputation.
Current state in this repo
- Workers report observed fidelity; reputation exists in
marketplace_service.py; the runtime already supports fallback nodes (runtime/executor.py).
Proposal
- Audit service: select a fraction of fragments by a randomness source and re-execute on a different eligible worker.
- Compare results within a tolerance suited to the fragment type; mismatches flag both workers for review and adjust reputation or holds.
- Randomness interface with a local CSPRNG default and a Chainlink VRF implementation as an option (the audit logic must work with no chain at all).
- Record audits in the job's provenance (#4).
Acceptance criteria
- Audit rate and tolerance are configurable.
- A deliberately faulty test worker is detected in an integration test.
- Audits never double-charge the job owner (cost is platform-borne or budgeted explicitly).
Out of scope
- Slashing stakes (no staking exists yet).
Dependencies
- #4
Testing plan
- Fault-injection test with a simulated bad worker.
Verify before implementing
- VRF availability on the chosen testnet if the on-chain option is built.
Part of ##1. Ground rules for all issues in this roadmap are listed there (testnet-first, no secrets in the repo, chain logic behind the registry, tests and docs with every PR).
- Dominant language
- Python
- Stars
- 2
- Forks
- 4
- Avg merge
- 5h 19m
- Merged PRs (30d)
- 11
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
QMeshPy/distributed-quantum#53 ·
Maintainers usually reply within 1 day
-
chain-integration enhancement payments research-spike tier-2
Difficulty 4/5 3-5 days Newbie friendliness 55/100
QMeshPy/distributed-quantum#78 ·
Maintainers usually reply within 1 day
-
chain-integration enhancement payments research-spike tier-2
Difficulty 3/5 1-2 days Newbie friendliness 66/100
QMeshPy/distributed-quantum#77 ·
Maintainers usually reply within 1 day
-
chain-integration enhancement payments tier-2
Difficulty 5/5 Over a week Newbie friendliness 35/100
QMeshPy/distributed-quantum#76 ·
Maintainers usually reply within 1 day
-
documentation good first issue kubo storage tier-1
Difficulty 2/5 1-3 hours Newbie friendliness 42/100
QMeshPy/distributed-quantum#75 ·
Maintainers usually reply within 1 day
All issues in QMeshPy/distributed-quantum
Similar issues
-
Python Volcengine provider returns failures instead of raising themPossibly taken @Ricardo-M-L claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
agent-infra/sandbox#248 ·
-
Textractor leaves empty temporary files when remote retrieval failsPossibly taken @HuaTNA claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
test(bm_generation): pin the learning parameters and CPU sync shortcutPossibly taken @iloveeyjafjalla claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
qboson/kaiwu-pytorch-plugin#1341 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
elder-plinius/V3R1T4S#625 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
foxglove/mcap#1907 · 1 comment ·
Maintainers usually reply within 1 day