Hey Jason, thanks for posing these questions! FYI, I regard them as perfectly valid, reasonable questions.
A couple of them relate to grants made before I joined the Foundation, so I wanted to avail myself of the facts before I responded, which is why it’s taken a few days.
The grant was to fund the development of a proof of concept (PoC) of Bolt on Zcash. The PoC was duly completed, and the code can be found here: GitHub - ZcashFoundation/libbolt: Rust implementation of libbolt
Note that, as I understand it, turning this PoC into a mainnet-deployed solution would have required fixing transaction malleability (scheduled to happen in NU5), and the addition of Bitcoin-style opcodes to the Zcash scripting language. The opcodes approach has since been dropped in favour of using TZEs, and we don’t yet have any firm timelines for TZEs.
As has been mentioned, the Bolt team went on to raise funding, and have recently been working on adding zkchannels to Tezos (which implemented a version of Sapling).
I know that Ayo is still very much interested in seeing Bolt implemented on Zcash but no progress can be made until we have a firmer timeline for the implementation of TZEs (or a similar mechanism).
Development is ongoing on the Zebra node implementation. The code can be found here GitHub - ZcashFoundation/zebra: Zcash - Financial Privacy in Rust 🦓
While zcashd was built using a fork of Bitcoin, Zebra is a “from scratch” implementation in Rust. This necessitates re-implementing all of the Bitcoin functionality that the ECC team got for free (or, at least, relatively cheaply). Building a new Bitcoin node is not a trivial task, and it’s further complicated by the fact that there’s no formal Bitcoin spec that we can refer to (the Zcash spec only details the Zcash-specific changes that were made). We’re also working towards a moving target - the NU5 timeline is extremely aggressive, and wasn’t designed with a second node implementation in mind, so it’s been a challenge to incorporate that work into our roadmap.
It’s also worth nothing that, for a long time, the team working on Zebra was relatively small. We’ve recently hired more engineers, bringing the team up to a total of six engineers, and we’re also going to be opening up a DevOps engineer position in the near future.
In terms of demonstrable progress, we are working towards a late October timeframe for having a (beta-quality) version of Zebra that can passively participate on the Zcash network (i.e. verify the blockchain, relay blocks and transactions, and maintain a mempool but no mining or wallet functionality). After that, we plan to start work on making it possible for people to use Zebra to manage their ZEC.
To answer the question posed in the final sentence: Yes.
The Zcash Foundation’s mission is “to be a public charity dedicated to building Internet payment and privacy infrastructure for the public good, primarily serving the users of the Zcash protocol and blockchain.”
Zcash is part of a broader ecosystem of organisations and projects that research and develop privacy-preserving technologies, and indirect benefits often accrue to Zcash and its users from those organisations’ and projects’ research. So, while the Foundation’s primary focus is serving Zcash users, it’s full scope is far broader, and the grant to the Open Privacy Research Society falls under that broader remit.
I strongly believe that the Zcash Foundation can be more effective - and, specifically, serve Zcash users better - if it collaborates with that broader ecosystem. Many of the skillsets and expertise in this space are highly specialised, and we can’t hope to possess them all within the Foundation. Working with and supporting other teams is a great way of furthering the Foundation’s goals while keeping the organisation’s administrative overheads low. I wish I had more time to devote to building and strengthening relationships and alliances with other organisations and projects that share our goals and align with our mission. We’re hiring a Communications & Ecosystem Relations Manager, and part of their role will be to help with that.
Once again, thanks for the questions!