Sorry for the delay in sending a forum posts that elaborate ZCG’s questions about Zemo. First, let me say that I personally love the enthusiasm and the track record you have of completing grants with ZCG. In my personal opinion, the concerns around Zemo is more about correctly evaluating cost, use case timing, and coordination with others. I will outline the specifics points we had questions about below:
I appreciate the good words and the apology.
Quick anecdote: I have been an advisor to Status for at least 4 years. Status is a mobile crypto wallet and messaging platform that uses a decentralized messaging framework for censorship resistant conversations. Status has not seen very much growth/adoption, even when there are loud complaints from various crypto communities for alternatives to Discord and Slack. Although I feel like their team had great ideas and were super early innovators, things didn’t pan out because building, maintaining, and marketing a messaging app is very difficult.
Status’s messaging platform in their app did not require payment, but it seems like Zemo’s would if they were publishing shielded memos to the chain. It is hard for me, personally, to see people replacing Signal and other messengers with E2E messaging with Zemo when it will cost $. Even if the costs are fractions of a penny at first, shifts in ZEC price or explosions in adoption will make the messaging costs rise, especially with heavy use. You mention potentially moving to L2s, but in my opinion L2s are just getting their grounding in other ecosystems like Ethereum and it has taken years for building and adoption.
Thanks for sharing. Status is a great app. I’ve been a user for years.
You mentioned Status has not seen very much growth/adoption. It’s probably important to define what you mean by “very much”. I did some digging into Status’s quarterly reports, and Status seems to be showing impressive growth by my standards. In their Q1 2021 report, they’ve stated they grew by 830,000 users across 190 markets.
It is hard for me, personally, to see people replacing Signal and other messengers with E2E messaging with Zemo when it will cost $
I agree. Free messaging will always win out for casual conversations. With that said, I don’t feel we’re competing on the same use case. Zemo introduces new use cases due the nature of having payments built into each message. Think of Zemo more as a way to monetize your attention vs conducting casual conversations.
For good reason, you or I wouldn’t freely share our private Signal handles or email address on social media. It would result in an enormous amount of people filling our unpaid inboxes. Zemo encourages people to do just that. The whole idea is for people to share their z-addr publicly so that more people can write to them. It’s a paid inbox that people must pay to write to. Each inbound message comes with an incentive. I refer to it as a Web3 inbox.
You mention potentially moving to L2s, but in my opinion L2s are just getting their grounding in other ecosystems like Ethereum and it has taken years for building and adoption.
It’s been exciting to see the recent developments in L2 tech. I estimate that Zemo would need somewhere around ~1M daily active users in order to fill all of L1’s capacity as it exists today. Realistically, that’s not going to happen anytime soon.
You mentioned in the grant you plan to coordinate with other wallet devs and the ECC. Have you connected with anyone from either of those groups yet and what was their feedback? This will be helpful because you also mentioned in the grant that you want your code to be open sourced and for others to build on it.
There have been some very casual Twitter conversations floating out there, but nothing concrete yet. We have this work scheduled for our 1st milestone.
The biggest rough edge to smooth over here is how we’re currently using the ‘reply-to’ approach used across wallet apps, which is not a viable solution. We plan to coordinate on how to improve Zcash memos for messaging and develop a more practical standard each wallet provider can inherit.
ZecWallet is a barebone, minimalist Zcash app for sending payments. How do you plan on repurposing the app? Specifically, would you be making upstream changes to ZecWallet, would users need to download both a ZecWallet App and a Zemo app, and would there be an import function for keys from the ZecWallet app to import to the Zemo app?
Zemo will be coded from the ground up. We plan to use ZecWallet mostly as a reference. In the end, there will be more differences than similarities, and therefore it makes more sense to start from a fresh codebase. With that said, we do expect we can cherry pick a lot of good code from ZecWallet to streamline our process. There’s no need to reinvent everything.
Users won’t need ZecWallet installed in order to use Zemo. Zemo is a full standalone app.
Yes, we’re planning that a seed from other wallets can be imported into Zemo. Zemo underneath the messaging-like UI is still a full wallet app, but with a different presentation layer.
For example, importing a seed with multiple z-addresses into Zemo would break each address into a unique user profile in Zemo. Toggleing through z-addresses on Zemo would switch between different user profiles.
Has your team deployed mobile apps? If yes, please list them.
Yes, many. I’ll reach out and provide a list.
As the potential launch will be in 2nd half of the year, do you plan to support Unified Addresses by default?
I’ve put a lot of consideration into UAs and I’m currently unsure if they’ll be great for messaging purposes. For the record, I could be wrong on this topic. The information regarding UAs is still relatively sparse so I may be misunderstanding how they work.
For messaging purposes, a single Z-addr can be used indefinitely and we can ensure a memo can always be delivered to a Z-addr. However, due to the nature of UAs being associated with T-addr, I’m worried they may need to be recycled after every use and there are cases where memos can’t hop between the T to Z transaction. Again, I may be misunderstanding the nature of UAs here, so please anyone feel free to chime in and correct me if I’m wrong.
Conversation apps are complex and we would like more details of implementation beyond a few paragraphs of intro.
Happy to explain more. I think i’ll try to break this out into a separate response. Or if anyone from the committee has specific questions, feel free to add them below.
Modifying the existing ZecWallet codebase to Messaging first is manageable, what often gets overlooked is the cost of ongoing maintenance. Who is going to keep up to date with the fixes for the underlying codebase? What would those costs look like after the 6 months funding period?
We’re looking to work with a blockchain platform that is committed to investing in messaging as part of their core utility. I’m open to discussion on how best to explore funding option beyond the initial proposal.
For example, Zemo could turn into a non-profit approach that is fully funded by the ecosystem.
Or we can attempt to turn it into a business to attract VC money. I’m personally more interested in the former approach, but open to ideas if anyone has any.
ZecWallet’s future is uncertain as @adityapk00 has taken a step back, how do you plan on maintaining a fork a customized codebase that is partly diverged from the upstream lightwalletd backend service? Who will be responsible to maintain the app in the App Store/Play Store?
Whatever happens to ZecWallet shouldn’t change the course of how Zemo works in any way. We’re fully capable of managing our own codebase. We would however be reliant on lightwalletd.
You mention in the grant “Shielded messaging has risen to become a popular use case in the Zcash community.” What information are you using to back up this statement?
Anecdotally many users in the community have used Zcash for shielded memos / love notes / etc. No real way to bring metrics into how many people are doing it right now, but people have expressed a lot of excitement in exploring this use case more.
I personally share my Z-addr from time to time on Twitter and I get flooded with messages from the community. It’s really a special experience. I’ve also onboarded 100+ people in this way through a simple message and a few cents in Zcash. The reaction is usually positive.
How would you be licensing your software and how does your license interact (if at all) with ZecWallet’s?
MIT license across the board.
What is the rationale for using IPFS for the avatars? Pinning in IPFS is still dependent on a server deciding to pin the avatar and if you plan on holding that data forever it is no better than an AWS server for for the sole purpose of storing pictures. Many NFTs on Ethereum use IPFS for their images and now no longer have access to the images for the NFTs because the startup who made the NFT decided to stop pinning the image.
Fair points. However, IPFS is better than a cloud storage provider in this case because it does at least give the option for additional gateways. It could potentially be a good idea to have the grant committee or ZF to also run a gateway to ensure there is longevity in the avatars.
How many team members will be working on Zemo? The budget seems high for a 2 person team based on some previous grants that have been administered.
We’re a 2 member team.
Can you please reference the previous grants you are referring to? Specifically mobile app grants? I poked around the grants platform earlier and it appears our hourly rate was significantly less than other mobile app grants.
Chris is a blockchain wizard. He’s built backed services for Bitcoin, Bitcoin cash, Filecoin, dabbled in Avalanche, Ethereum and other platforms. He wrote the server component for the decentralized ecommerce network called OpenBazaar, which also was ported to a mobile app and was called Haven. He was lead dev for https://bchd.cash/ and created the Bitcoin cash mobile app https://neutrino.cash/. Even if Zemo doesn’t play out, we would be very lucky to onboard him as a dev into the Zcash community.
I’m a former director of design on crypto applications. I’ve lead design on many mobile applications. I was an early employee at many top-tier venture backed startups, one which was acquired by a fortune 500 company. I started my career as a software engineer and continue to write front-end code mostly in react and react native.
Thank you for the detailed questions. Having more dialog like this with the committee would be super useful so that we can continue to properly explain our proposals.