I am requesting USD 6,000 for an eight-week independent research audit of streaming redaction for Zcash RPC-shaped messages.
GitHub application: Grant Application - Zcash RPC Streaming Redaction Audit · Issue #497 · ZcashCommunityGrants/zcashcommunitygrants · GitHub
Summary
Financial privacy can be weakened outside the shielded protocol when diagnostic output, assistant middleware or support tooling copies sensitive strings into downstream logs. This project studies a narrow, testable boundary: removing a caller-supplied dictionary of known sensitive literals before downstream release, even when a literal crosses transport-chunk boundaries.
I will build a synthetic benchmark informed by public Zcash RPC documentation and compare naive per-chunk replacement, whole-message buffering and exact streaming redaction. The result will be an MIT-licensed benchmark, reference adapter, reproducible report and integration checklist that privacy-tool developers can run against their own assumptions.
Research question and approach
A filter that removes a sensitive literal from a complete message may miss it when the literal is split across chunks. Buffering everything avoids that particular failure but delays release. Guarantees for decoded text and serialized JSON bytes must also be distinguished.
The audit will use 200 synthetic RPC-shaped JSON messages, a held-out template split and at least five deterministic chunking schemes, including splits inside target strings and escaped sequences. Fixtures will contain fictional identifiers and synthetic secret markers. No real keys, wallets, transaction histories or personal data will be collected.
I will compare:
- Naive per-chunk replacement.
- Whole-message buffering followed by redaction.
- An exact streaming multi-pattern matcher, using my existing TraceMask research as a methodological starting point.
The evaluation will measure exact-literal leakage, mismatch against offline golden outputs, release delay in bytes/code points, peak buffering and throughput. Controls will include overlapping literals, malformed or truncated messages and empty dictionaries. Raw-byte and decoded-text results will be reported separately. Transformed representations outside the declared dictionary contract are outside scope.
Deliverables and intended users
The intended users are privacy-tool developers and maintainers who need executable evidence about logging and redaction boundaries.
- MIT-licensed Python benchmark and reference adapter.
- Versioned synthetic fixtures, golden expected outputs and source/schema notes.
- Pinned execution instructions, seeds, tests and reproducible comparison tables.
- Technical report and integration checklist covering decoding, chunk boundaries, dictionaries, buffering and error handling.
- External technical review note and public milestone updates.
- CONTRIBUTING.md, using the librustzcash style guides as a primary reference for contribution standards.
This is a standalone research audit. No protocol change or modification to an existing Zcash repository is required. If maintainers find the fixtures useful, I can propose test-only contributions under their project policies. An upstream merge is not required for completion.
Budget
| Item | USD | Basis |
|---|---|---|
| Research and implementation | 4,500 | 90 hours at $50/hour: 25 hours fixture/threat-model design, 35 hours implementation/experiments, 30 hours analysis and documentation |
| External technical review | 1,000 | Up to 20 hours at $50/hour, recruited if funded |
| Compute, storage and reproducibility runs | 500 | Isolated runs using existing personal hardware; no new capital equipment |
| Total | 6,000 |
Startup funding: $0. Milestone funding: $2,000 + $2,000 + $2,000 = $6,000. No advance is requested. The dates below assume a March 1, 2027 start and can be adjusted by agreement before funding.
Milestones and acceptance criteria
1. Fixtures and redaction contract: $2,000, March 15, 2027
User story: As a privacy-tool developer, I want explicit fixtures and a redaction contract so that I can identify the assumptions an integration requires.
Deliverables: Versioned 200-message synthetic corpus, source/schema notes, dictionary contract, golden-output generator and evaluation split.
Acceptance: The committee or a nominated developer representative can inspect the fixtures, verify that no real data is present and reproduce the golden outputs.
2. Comparative evaluation: $2,000, April 5, 2027
User story: As a maintainer, I want tests across chunk boundaries so that I can measure leakage and buffering tradeoffs.
Deliverables: Three reference strategies, five chunking schemes, executable tests and preliminary tables.
Acceptance: Independent execution reproduces the outcomes, with raw-byte and decoded-text results clearly separated.
3. Reviewed release: $2,000, April 26, 2027
User story: As an integration developer, I want a reviewed artifact so that I can reuse the tests with a clear understanding of their guarantees.
Deliverables: External review note, final report, MIT release, CONTRIBUTING.md, pinned instructions and integration checklist.
Acceptance: The committee or a nominated representative reproduces the tables and confirms that the documented limitations and review feedback have been addressed. Negative or null findings are valid outcomes.
Risks and safeguards
A synthetic corpus may not represent every workflow. I will publish its taxonomy early, include negative controls and retain whole-message buffering as a transparent baseline. A stratified sample will be reserved for external label and reproducibility review.
The adapter operates on explicitly supplied known literals and has no network or wallet access. Known-literal redaction is not general secret discovery, does not erase upstream exposure and cannot by itself establish that a logging system is safe. Any unexpected sensitive integration finding would be handled responsibly before publication.
About me
I am Shivam Gupta, an independent researcher and applied AI engineer. I will lead benchmark design, implementation, experiments, documentation and community review. The project is solo; the external reviewer will be recruited if funded.
Methodological artifact: GitHub - shi1720/tracemask: Earliest-release literal redaction for streaming AI gateways: proofs, implementation, and reproducible experiments. · GitHub
Background: https://shivamgupta.web.app
I welcome feedback on which RPC message shapes, serialization boundaries and acceptance tests would be most useful to Zcash developers. Thank you for reviewing the proposal.