This issue is a great example of the kind of problem I spoke about in my post on Decentralization and Alignment. We’ve been aiming for this ideal of decentralization, but we’ve been heading towards a kind of decentralization that misaligns us, creates inefficiencies, and stalls progress.
In that post, my first point was that our decentralization gives us multiple single points of failure. Here, that’s ZF forbidding ZCG to enter into this contract, and also ECC refusing to support the code due to a lack of funding (after it’s been divided in support of “decentralization”). My second point was that we’re misaligned. Is a hardware wallet a crucial part of our adoption strategy? If it is, ZF and ECC should be prioritizing it, and if it isn’t, those organizations own the burden of explaining why they think whatever is on their roadmap will be a greater benefit. My third point referenced Rogaway’s “The Moral Character of Cryptograhpic Work”; getting this app deployed is an excellent example of what he calls “boring cryptography”—making stuff useful to real people, not just doing flashy things for show.
Regardless of the outcome of the next dev fund vote, ECC and ZF are responsible for Zcash’s success now. If there are good arguments that this project is safe to defer, or that those organizations have better things on their roadmaps, then I’ll agree with their decisions. But if there aren’t, we need to seriously reconsider who we’re funding and instead find organizations who will prioritize needed features or at least publicly explain why and how they think their roadmaps will lead to success.
I’ve audited this thing, it’s really not that hard to maintain once it’s in a stable state. At worst, get another audit from NCC, do internal reviews, and then the code won’t have to change until you want to get clever and make further performance improvements or you break it in a future network upgrade.
Edit (after I’ve slept on it): The language I used above strongly suggests I’m blaming ECC or ZF for this outcome. That’s not what I mean, I think both orgs are making their own best decision from their point of view given their funding and capabilities. More justification would help, and it’s a huge red flag to me that we’re unable to coordinate as a community to get such an important feature shipped in a timely manner and we need to consider how to fix that.
You’re right. And I’ll keep banging the fee drum. the only way to fully decentralize development is to somehow enable a split fee structure so that developers don’t need to beg or create these polls to get funding.
maybe i’ve been thinking about it all wrong. do we even need permission to charge fees? The fee processing doesn’t even need to touch the blockchain does it? when a customer says “transfer 1000 zec”, couldn’t the software developer just charge a 1.00 fee that just goes straight to the developer wallet? so it sits on top of the zcash network fee on the front end. they key is to bundle it so it’s not confusing to customers.
if we can figure this out, there is probably many use cases like ledger where we just take it over and charge the fees. Like I said in prior post, ethereum charged $1.5 to move a 30 cent token. I’m pretty sure people would pay a fee to have a Z address for ledger. and these fees could pay the developers outside of the block rewards and the development and ongoing support would be accretive to the Zcash ecosystem.
Yes, that’s possible. There are some minor privacy problems (transactions that do this will have more output notes than “regular” transactions and might be distinguishable), but I like the fund-by-fees model: funding becomes proportional to how much users are willing to pay to use Zcash, i.e. how much using Zcash is worth to those users, rather proportional to what speculative investors think the token will be worth in the future. I think if we followed this model, all organizations receiving funding this way would be much more incentivized to make Zcash useful for real people. I’d be happy to pay a 1-2% fee on all my Zcash transactions to support development.
im not a developer. but i would be interested in teaming up with you (if you are one) or someone who knows development to take over ledger, trezor, and similar edge use cases if we can build in a fee structure without permission.
Let’s go to Trezor. We will waste more time to follow Ledger requirements then to functionalize the code for another hardware wallet. Of course first we need to contact them to avoid bad surprises.
Yes, this is possible protocol-wise. I’m not sure whether Ledger would allow such transactions that convey an implicit fee. That’s something @aquietinvestor or other people in contact with Ledger reps can ask them.
@hanh submitted the code months ago. When did the foundation contacted ledger? 2 months ago? Maybe the priorities are elsewhere. I will keep the 95% of my zcash on a t address with keys handled by trezor. Many other people will do like that? We would have 5/6 more millions zcash in a shielded pool if we had this damn wallet integration
Its quite possible the leadership believes Ledger is for storage and they believe Zcash is for spending. So therefore, ledger is not a priority. ZEC is private digital gold. Its meant to be saved. So for most of the ZEC is gold community, Ledger is critically important as opposed to ZEC is cash community storage is not all that important. To me, spending ZEC is like spending your stocks or bonds to fund daily expenses.
assume legal risk in the event the app does something intentionally malicious
provide basic user level support
continue maintenance (bug patches, security updates, etc) of release version
create pr’s for hanh from help desk tickets when needed
if not, can someone provide the requirements an organization be signing on for?
If we can clarify the ask a little Chippr robotics would be happy to put together a proposal.
Zcash developer ecosystem is pretty advanced compared to most blockchains. Grant projects have security reviews, testing, documentation, and a dedicated communuty wallet guru. I’m supportive of independent developers applying for grants and building cool things. Ops tasks are boring for bleeding edge tech and a waste of time/money for a full time zk dev. If a front door/ L1 help desk could provide user support for several zcg grant funded projects, get legal funding from zcg when needed, maintain a ‘prod’ repo & build pipeline, and provide a buffer of support in the event of a dev leaving; I think it would encourage more devs to build here.
Yes, we are open to the idea of offering a bounty. However, the organization that takes over this project must be one Ledger finds acceptable, or one the Zcash Foundation is okay sponsoring. We are taking proactive steps on our end by reaching out to two potential organizations to inquire about their willingness to assist, and we are also engaging with Zondax.
Regarding pricing, we would prefer to initiate a discussion about the project first. The price will be determined by various factors, such as the feasibility of adopting Hanh’s codebase and other project-specific considerations.
Based on my conversation with a friend who is an exec at Ledger, they see this as a priority due to all the requests they’ve received from their customers. I suspect that the bar isn’t too high for acceptability.
It’s my understanding that the Zondax code isn’t ready and/or much slower than Hahn’s. Is that true or is my information stale?
Can you introduce me to this person? We need to better understand the precise requirements.
ZCG has no prior relationship with Zondax, other than speaking with them once and rejecting their grant proposal earlier this year. @Dodger can better answer this question.
I don’t think it’s working like this - sounds more like a “we’ll know it we see it…” situation. Not that helpful, but if there is an credible org, I suggest we hurry up and surface them.
That’s another question that @Dodger would need to answer. My understanding of Ledger’s requirements is that they would want the ZF to “sponsor” an organization (i.e. submit the application, be the point of contact, etc.).
What I understood from our meeting with Ledger representative is that they want a legal entity that can adequately represent Zcash and with whom they can communicate in case of issues.
For example:
the ZF: Ledger has been in contact with the ZF for several years
the ECC
and maybe other legal entities but they probably would need the blessing of the ZF.
I think Ledger is OK with
an individual dev if the ZF acts as the point of contact
or a company if the ZF acts as the point of contact
Just to clarify, I don’t think Ledger requires that the ZF sponsors an organization.