Originally published on HackMD.
Highlights
-
Arti compiles to WASM. By February 2,
arti-clientcompiled to WebAssembly for the first time — a major milestone. The team pivoted fully to making the real Arti client work in the browser (over maintaining a separate implementation). TLS was replaced withrustls-rustcrypto(pure Rust, no C dependencies), and the standard JavaScript API improvements shipped. -
Sharded PIR design draft complete. Finished the draft for the PIR system design — covering multi-engine architecture, four data slices, sidecar updates, and privacy composition guarantees. Shared with external researchers for feedback.
-
PIR grant approved (VIA scheme). Approved a PAP micro-grant for Turan to produce a Pythonic reference specification for the VIA PIR scheme, prioritizing cryptographic correctness, clean abstractions, and portable tests.
-
PIR for Tor bootstrap proposed. Andrew proposed using PIR to privately retrieve only the Tor relay descriptors needed at startup — eliminating the need to download the full directory. The Tor Project expressed interest in revisiting PIR for this purpose.
-
Ethereum-sandboxed mixnet explored. Began exploring an Ethereum-specific anonymized routing network where exit nodes drop non-Ethereum RPC traffic, potentially encouraging more people to run nodes by guaranteeing traffic type.
Progress by Workstream
PIR for Ethereum State
- Sharded PIR system design drafted with taxonomy of schemes by client/server statefulness
- Four Ethereum data slices defined: hot mutable state (~2 GB), state with proofs (~100–300 GB), immutable logs/receipts (hundreds of GB), archival (4–20 TB)
- VIA scheme implementation started via PAP grant; Turan identified VIA as most promising for the initial slices
- Benchmarking continuing — ranking schemes by speed with focus on the top 5 most promising candidates
- Convergence on ReSPIRe family for minimizing preprocessing costs
- Explored FHE-based PIR collaboration for GPU-accelerated approaches with external teams
TorJS / Embedded Arti
arti-clientcompiles to WASM (Feb 2) — end-to-end functionality achieved (Feb 10)- TLS pivot: replaced custom
subtle-tlswithrustls-rustcrypto(-8,434 / +307 lines) - Standard JavaScript response objects with streaming support added
- PIR for Tor bootstrap idea prototyped — could complement fast-bootstrap for private relay selection
- Upstream merge strategy: break work into multiple smaller PRs for Tor Project review
- Project name consolidated under TorJS (replacing separate Arti/webtor-rs naming)
Verifiable UBT
- Mainnet conversion sync running but hit issues with ephemeral diff layers disappearing after ~3M blocks
- Switched from PathDB diffs to queue-based approach for more reliable block-by-block conversion
- Implemented most RPCs; created a simple UI for testing UBT vs MPT Merkle roots
- Resolved memory issues by capping max batch size during conversion
- Guillaume (Geth team) working on offline full-database conversion approach — perfectly parallelizable
Looking Ahead to March
- Finish benchmarking PIR schemes — focus on GPU acceleration
- Complete the VIA scheme reference specification
- Finish testing and auditing of the Arti WASM client in collaboration with the Tor Project
- Address UBT sync performance — explore Ethrex as alternative client for diversity