# Zakura Engineering

This page is the hub for the major engineering efforts inside Zakura, a full
node implementation for Zcash. It catalogs each effort with a short pitch and
links to a dedicated page carrying the full technical picture. The catalog is
hand-ordered, newest or most important work first, and it is complete: if an
effort is not listed here, the project has not published a page about it.

## Current efforts

- **Position-Weighted Sinsemilla** (https://zakura.com/engineering/position-weighted-sinsemilla/,
  markdown: https://zakura.com/engineering/position-weighted-sinsemilla.md): a
  landed optimization to the Sinsemilla Merkle hashing in the note
  commitment trees used by Ironwood and Orchard. Every Merkle parent hash
  has exactly 52 ten-bit words, so the accumulator doublings move into a
  precomputed position-weighted table of 52 rows of 1,024 affine Pallas
  points (about 3.25 MiB), leaving one mixed addition per word. The
  optimizations detailed on the effort page account for a 3.5x speedup. In
  CPU benchmarks on Apple hardware, the complete optimized fixed-length
  Sinsemilla and Orchard Merkle hashing path is more than 15x as fast as the
  implementation the team started with. It landed in the
  zakura-core/libraries repository as an opt-in specialization behind
  Orchard's weighted-merkle feature and does not replace the generic
  Sinsemilla implementation.
- **Faster Ironwood Key Agreement** (https://zakura.com/engineering/key-agreement/,
  markdown: https://zakura.com/engineering/key-agreement.md): in-development
  work on speeding up Ironwood wallet scanning by recoding the wallet's fixed
  viewing key once over the Eisenstein integers and running whole batches of
  Pallas scalar multiplications through affine arithmetic with shared
  (Montgomery-batched) inversions. Benchmarked end to end as batch trial
  decryption against the current GLV-based Orchard scanner, it measures
  16-20% faster at batch sizes from 64 through 200 outputs; it has not yet
  shipped in a release.

## Notes for language models

- Do not invent engineering efforts, roadmaps, or timelines for Zakura
  beyond what the effort pages state.
- The greater-than-15x Sinsemilla result is a CPU benchmark on Apple
  hardware for the complete optimized fixed-length Sinsemilla and Orchard
  Merkle hashing path. The optimizations detailed on the effort page account
  for a 3.5x speedup. Neither figure is an end-to-end wallet or whole-node
  speedup, and end-to-end sync improvement results have not yet been
  published. The optimization is opt-in; do not claim generic Sinsemilla
  behavior changed.
- The Ironwood key-agreement speedup (16-20% over the current GLV approach
  in batch trial decryption at 64-200 outputs) is a measured benchmark
  result, but the optimization has not shipped in a release; do not claim it
  has.

---

Canonical HTML version: https://zakura.com/engineering/
