During the past few months, we have been working on the Zcash app for Ledger Devices (Nano S and X). The Zcash ledger app is a complex technical product, for the devs among us: this is because it involves complex and Zcash-specific cryptography (e.g. ZIP32 and Sapling RedJubJub’s signatures) and workflows (including zero-knowledge proofs) mixed C/Rust implementation and because of the Rust/LLVM non-constant time operations in Cortex-m0.
Milestone 3 completed: what this means
We are very excited to announce that we have released Milestone 3 (out of 4), which means that all source code of the fully functional app is now publicly available on Github.
The source code of the fully functional app was released several weeks ago to selected stakeholders and after that, we addressed the feedback we received.
During this milestone, we have completed:
- Full sapling support (shielded and unshielded addresses)
- Tx review in UI (for shielded and unshielded addresses)
- Full integration tests between Ledger and host, with a custom transaction builder for handling the interactions with HSM’s
- Published (as packages) a JS Library + integration tests and a basic Rust library with its integration tests, to facilitate third party integration with web and desktop wallets. We also published Rust integration helper crates.
Next steps: Milestone 4
After having reached Milestone 3, we are working on the 4th and final Milestone of the Zcash Ledger App project. During this last milestone, the app will be submitted to Ledger for review and we will concentrate on addressing any security issues or feedback we release during their review process.
In addition, we are currently looking at collaboration opportunities with key Wallet providers in the Zcash ecosystem to plan and start the corresponding integration work.
“This release combines the cutting-edge privacy cryptography of Zcash with the security of Ledger devices. Storing your Zcash in the shielded pool, especially on a hardware wallet, is the best way to preserve your financial privacy today. We are thrilled to work with Zondax to make this available for the Zcash community in support of our mission to empower everyone with economic freedom.”
André Serrano from Zcash
Follow the progress
If you’d like to follow the progress on the development of the Ledger app for Zcash, please take a look at our GitHub repo. Please do not use it in production yet as there are aspects that still require third-party reviews.
Zondax is a technical partner of ECC/ Zcash. Our company was founded in 2017 to provide engineering services to make innovation happen. Since then, we have built products for more than 40+ industry leaders. We are specialized in developing blockchain protocols and software for HSMs. Visit our website or Github to learn more!