Both Zcash and Monero are dealing with their respective growing pains this week. 👶
Their challenges are completely opposite, but true to their inherent character: Zcash from being too "corporate," Monero from being too "immature."
MONERO - BLOCK SIZE LIMIT?!
Devs are proposing adding a block size limit after experiencing some issues on testnet, where 100mb blocks essentially crashed the whole network.
Monero has had an adaptive block size since its inception, which automatically grows with usage, though it's weighted to prevent too rapid growths in the block size in case of spam attacks etc.
There's a ton of technical nuance, but basically, devs are proposing to (kind of) create a (temporary) hard cap on the block size of 90mb.
Some community members, especially
@nikzh, are upset at this, saying it starts down the path towards small blocks which hijacked Bitcoin's potential as uncensorable money for the world.
The real problem: Mass scale or everyone runs their own node?
The unsaid issue at the root of this contention is: what's more important to Monero, that everyone in the planet can use it eventually? Or that every user can run a node on consumer-grade hardware?
Monero seems to be a big-block crypto (because of the technically unlimited block size), but has made deliberate design choices against scale and security to favor small actors running infra.
The biggest of these is probably RandomX, which allows users to mine it without professional mining equipment, but has made the network easier to attack, as we saw during the Qubic attack situation.
The Monero community needs to decide which is more important: "the little guy" running infra, or everyone using the blockchain.
Proposed solution: Modified block size algo
As a compromise to prevent the network crashing in edge cases while not technically limiting the block size, I'd propose something like this:
Above 90mb, the network would need to sustain high volume for several months before the block size would start creeping up again. So, for example, you'd need essentially full 90mb blocks for three months before the block size would grow beyond that.
That way, the limit can be increased into the "danger zone," but in case of an attack enough time is left for miners to coordinate to start rejecting larger block sizes which could nuke the network. And gives devs enough time to fix underlying issues.
ZCASH - SUING OVER THE TRADEMARK?!
This week the Zcash Foundation threatened to sue Zcash Strategy (a new Zcash Digital Asset Treasury, or DAT, company) over using Zcash branding to promore their product.
This received widespread criticism from both inside and outside of the Zcash community, particularly from
@vinibarbosabr, criticizing the chilling effect that a single centralized entity could have by determining which projects could or couldn't be called "Zcash" without getting sued.
In fairness, the Zcash trademark was jointly held by Electric Coin Company and the Foundation, but ECC relinquished control over it previously, and CEO Josh Swihart encouraged the foundation to do the same.
So this problem is not emblematic of all of Zcash, or its code/protocol, but rather one major entity in its ecosystem.
The real problem: Centralized vestiges
Zcash started as a fully permissionless protocol, but managed by a central team (ECC), with 20% of the block reward going to a predefined group of people, and at one point had certain licensing restrictions on use of its otherwise open-source code (the Bootstrap Open Source License, or BOSL).
Over the years Zcash has progressively decentralized: the dev fund now goes to a few different orgs, including a lock box where orgs must request funding. The BOSL was removed. Zcash's founder now runs a completely separate org, Shielded Labs. Community voting, including coin holder voting, has been implemented. And many others that I'm sure I'm forgetting.
The trademark is probably the most obvious and aesthetically annoying vestige of the more centralized era.
All cryptocurrencies start out pretty centralized and gradually decentralize over time, but Zcash was a little more structured than many others.
Proposed solution: Relinquish, or decentralize
To fix this, either the Zcash Foundation could relinquish control over the trademark entirely, or implement a multi-step, more decentralized process for enforcement:
1) Clearly and publicly define a process of preventative measures to engage in before even considering legal enforcement of the trademark, which should be considered a last resort
2) Clearly and publicly define the exact terms and conditions under which it may be enforced
3) Share control over decisionmaking on enforcement with several other organizations selected through community coinholder voting, or subject enforcement decisions directly to coinholder voting itself
4) Publicly publish rationale, votes, and preventative steps taken prior to engaging in any enforcement action
The growing pains faced by Zcash and Monero this week are getting a bit ugly, but I think we have a clear and easy path to dealing with them. I believe both projects will figure out an ideal way forward and be stronger for it.