There’s a multitude of factors but the ones I think are most important are:
1. Zcash’s core functionality hasn’t evolved significantly since its launch.
Fundamentally, the functionality of Zcash today is little different from the Zcash of late 2016. There are two important differences: you can send shielded transactions from a mobile wallet (thanks to the Sapling upgrade) and you can have greater confidence in the security of its crypto underpinnings (thanks to the Sapling and Orchard upgrades).
However, the core function of Zcash (receiving, storing and sending ZEC) is the same today as it was when it was launched.
Fortunately, that’s set to change with the deployment of ZSAs (which will turn Zcash into a platform for issuing and transacting digital assets, and () atomic swaps (which will turn Zcash into a trustless settlement platform for DEXs).
2. Zcash isn’t an attractive platform for building “Web3” apps and businesses on.
Zcash isn’t smart (i.e. programmable). With the exception of the shielded memo field, it has no features that can be used to build the sort of apps and businesses we see getting deployed on smart contract platforms like Ethereum.
ZF did a great job fostering the early Zcash ecosystem. It was the original source of grant funding for projects like Zecwallet, Nighthawk, and Zbay, and it gave the community a voice in Zcash governance by creating ZCAP, and appointing ZF’s board based on ZCAP polls.
With the benefit of hindsight, I wish ZF had built a core development capability, and started work on Zebra earlier. I think everyone underestimated (a) how much technical debt there is in zcashd, and (b) how big a job it is to build a new node implementation from scratch, especially with NU5 moving the goalposts!
See this section of my opening address at Zcon3.
We’re building Zebra to provide a solid foundation for the future development and evolution of Zcash.
To quote Sean Bowe from ECC:
FROST fills a critical gap in shielded Zcash’s functionality, and its adoption will remove an important obstacle to broader adoption of and support for shielded ZEC. It will also help with interoperability.
We’ve commissioned a SoK-style paper on privacy-preserving programmability from a team including @therealyingtong and @LeCryptoMath that will be presented at Zcon4 and will inform discussion and planning towards adding programmability to Zcash.
We’ll continue to support the community and ecosystem by maintaining these forums, running Zcon, supporting Zcash Community Grants, and making Minor Grants to build a pipeline of developers and teams who can contribute to Zcash.
Most importantly, we’ll keep listening to the community. We’ll continue to solicit community input when appointing board members, to ensure that ZF is governed by a group of people who have the Zcash community’s best interests at heart.