TL;DR: We MUST allocate control of critical resources like
zecwallet publication keys to more than one holder.
I claim that zecwallet is, in many ways, the flagship application for zcash.
Here are some unchecked assertions about zecwallet:
- In the course of developing it @adityapk00 contributed to librustzcash which is used in much wider contexts.
- It is prominent on the ECC website
- It is the most widely used/adopted zcash “client”.
- It was/is the most successful User-facing project ever funded by the @ZcashGrants and If I Recall Correctly was previously funded by the Zcash Foundation.
- It was the first 3d party wallet to support shielded addresses.
- It is the only interface that many Users have to the zcash system.
- as @dontbeevil said here losing the active involvement of @adityapk00 would be a serious challenge for our community
This thread is me loudly opining that that challenge has arrived, and that we need a pro-active immediate community solution.
I’ve noticed evidence for this in two places.
1. In the ECC:
I won’t speculate on why @joshs or @zooko decided that an official wallet is necessary. I am not asserting that a robust DAO-structured community based zecwallet would necessarily remove the need for the ECC to have it’s own wallet. I don’t have insight into their thinking.
What I am asserting is that this move will consume significant ECC resources, and centralize essential components of our ecosystem into a U.S. based corporation.
We MUST have a separate robust entity that reliably provides a wallet solution, whether or not the ECC provides their own official wallet.
The core issue is that there’s a single point of failure.
I believe some sort of DAO that includes the Users of the technology is the best solution.
This DAO needs to have control of authority to publish code (e.g. to github, or better, independent entities) and binaries.
I will set aside (for the moment) the question of always available infrastructure.
(1) How can we start the process of obtaining publication authority to the relevant app-stores?
(3) How can we ensure that such authority is distributed such that it’s always available?
I believe that once we have a solution for this specific instance of this problem, we’ll have discovered at least some of the patterns necessary to support other 3rd party ZAPPS, that suffer from Single Points Of Failure. (
unstoppable) etc. (I’m unclear about the infrastructure supporting
unstoppable but perhaps it’s not in this category.)