I’m speaking for myself and I have not discussed this with anyone else at ECC. I might be missing a lot of things. This is just a humble dev feeling for its’ users’ concerns on a Sunday morning/noon.
Dear @LaymanFrankz, thank you for your detailed feedback.
I being part of the Wallet Team at ECC had the same (frustrating) experience these last few days. Even expert users can’t escape the friction and we are aware of it. I’m not saying this to excuse myself or any other developer, just to paint the situation and to make your sentiment mine for a bit, if you let me.
The Wallet and the Core team are working hard to bring a “world class” user experience to ZEC. Zcash is currently the most advanced Anonymity Enhancing Cryptocurrency there is. We just deployed 5.0.0 which will make trusted setups for ZK-proofs a thing of the past. That alone makes Zcash a Humankind knowledge advancing project which is something that only a few projects (like Bitcoin or Ethereum) can be proud of. But those title and honors that Zcash has don’t come without their drawbacks.
Blockchain technology is hard. Privacy is hard. Combining both is a path full of hurdles that public ledger coins or Surveillance Enhancing Coins, as I like to call them, can avoid by technically cutting corners by ditching privacy completely and also reaching the centralization shortcut when needed.
Other blockchain tech stacks don’t need to decrypt the blockchain locally and neither care about keeping themselves decentralized. So they achieve “better UX” by delegating the hard work to public or (even worse) corporate controlled servers that process users’ information for them and spoon feed the wallets with the transactions of interest at the expense of every bit of privacy that could remain left for users.
Your Foxy ERC-20 compliant or the Phantasmagoric non-fungible token driven browser wallets, don’t need to carry the burden of protecting your privacy, decrypting your own blocks and cypher text memos of interest, and therefore, they can focus on winning “the beauty contest” and they do it with great honors giving us many good lessons and we celebrate them existing. They are great products for transacting in the open. Or as Ian Miers would say, “being twitter for your bank account”.
Zcash Shielded Wallets are zealots of your privacy. They are stubborn and won’t budge. They will never hand over your viewing keys to trusted servers nor compromise your blockchain anonymity by relying on simpler concealing mechanism to make the technological challenge less difficult.
That being said, what are we doing to improve?
Please consider that I’m a “library mouse” kind of developer, I’m not 100% up to speed on every campaign and Zcash initiative. I’m going to talk about what we have in our engineering backlog. There are much greater minds in the Zcash ecosystem that will surely paint a better short-mid-long term horizon than your fellow iOS developer here.
1. What does HALO 2 mean for wallets?
If you struggled with your math courses like I did when in college, what you will appreciate is that no more trusted setup means than Orchard Only wallets won’t need to download sapling parameters. That’s ~50MB less of downloads per user. Also circuit changes become much less expensive and the great minds of this world, that fortunately happen to work on Zcash, won’t have to be constraint by having to make “ceremonies” anymore, only they know what great things will come out from their incredible brains, hearts and souls. I don’t doubt there’s a lot to come that was until yesterday inimaginable.
-
Unified Addresses:
this is an All-new decentralized paradigm of handling wallet addresses. They were born as a “crazy utopia” question by combining “Google Design Sprint” methodology and John Lennon’s Imagine philosophy: “Imagine there’s no Addresses” ta-da-da-tan . It was one of those moments were everyone remembers where they were when it happened.
New shielded pools, and other unthinkable things will arise from our ecosystem being free from the trusted setup corset. Unified Addresses are meant to make those things invisible to the users. Because our technological heroic achievements are uninteresting to end-users. They have enough problems on their daily lives to care about us, software engineers and scientists. We build Zcash for them, not for ourselves.
3. Shielded by Default
ECC Reference Wallet, Nighthawk, ZecWallet and Zwallet all have their version of what we call “Autoshiedling” which is making transparent funds shielded in a consensual but automatic way. Notice that I didn’t mention Edge or Unstoppable. That’s because this is done at a wallet level. The wallet team is going to introduce “shielded by default” which will bring “autoshielding” to every wallet using the Zcash mobile SDKs. Wallet Developers will have that tool at their disposal the moment they drop in the SDK on their projects.
4. Improving sync times
Yesterday, I drained the battery of my iPhone in just two hours by syncing my long-lived development wallet to test the problems we’ve seen the last few days, and it was not even done!. We are aware of it and don’t deny it’s a great problem, but it’s not the only thing we have on our plate. Our leadership decided that a more advanced, more scalable, more private, more secure Zcash is better that a Zcash that it’s only faster. This boils down to us aiming to HALO2, Orchard and Unified Addresses.
I respect and accompanied that decision even at the expense of my own personal developer experience. If there’s someone that has bored to death by looking at progress bars, be sure that it is the wallet team.
I must admit that all of the Zcash wallet developers have failed to collaborate with each other and bringing better sync times to everyone. We have Blaze Sync, and Warp Sync. None of those were contributed back to the Zcash Rust Crates. I’m not blaming anyone. It just didn’t happen. we all failed our users. Blaze and Warp sync are both incredible breakthroughs. They prove that there’s a better world out there, that a faster Zcash is possible.
Again. this discussion on collaboration dynamics has been roaming for a while in the forums. My personal opinion is that We ALL need to bring back the positive feedback loop to the Zcash Ecosystem. We won’t be the project humanity needs if we don’t achieve this.
5. WHEN DECENT UX
I hope the answer is SOON. We are starting to work on “library support” for NU5. That is bringing the mobile SDKs to NU5 without any other change. This is part of being gradual and friendly with our partners by avoiding a Big Bang kind of software release.
The wallet and core teams are working together to enhance the engine of our applications which is. librustzcash and then connecting that to the native programming environments on Android and iOS which is not an easy thing and also a sort of unexplored territory. It’s not the most frequent thing to do for mobile devs.
It’s not a coincidence that Hanh from Zwallet and Aditya from ZecWallet are brilliant software professionals and have achieved their own great Syncing algorithms for their own wallets. We at ECC are aiming to bring that for EVERY wallet that adopts shielded Zcash. So it’s going to take a bit. Fortunately we are standing on the shoulders of giants like these two engineers, so we have been proven that our vanilla sync can be improved by several orders of magnitude in a tailor-made software stack like ZecWallet and Zwallet. Now we have the challenge to make that possible on EVERY software stack.
Also we are developing new Wallets. That “not even in alpha yet” code can be found at the secant-android-wallet and secant-ios-wallet repos on Zcash’s github. Our UX Research team is condensing now years of experimenting with different user dynamics into brand new wallets that make the complicated parts of Zcash simpler. We are building these in the open from day one. You can see the whole process in the commit history.
Well. this ended up being longer than I thought. I guess that’s why I try to keep myself off forums.
Sorry for the wall of text.
I hope we can all see, meet and celebrate each other at Zcon3. I’ll be the guy with the Mate.
Loud and huge Latin-American-style hugs to everyone,
Pacu.