Do you agree with ECC's decision to not prioritize having a large number of active validators in choice of PoS consensus algorithm?

We prefer not to prioritize having a large number of block selectors based on the belief that delegatable stake supports free competition sufficiently. We also believe finalizing protocols tend to have lower limits on the number of block selectors supported, and our preference for finality supersedes the desire for a large number of block selectors.

I think it is dangerous for a privacy-protecting blockchain like Zcash to not prioritize having a large validator count. If there is any blockchain which needs the censorship resistance a large validator set provides, it is a privacy-protecting one. Many countries are going to ban crypto all together, and even in countries which are not likely to ban crypto all together, privacy technologies are still likely to eventually be banned. Just look at Tornado Cash.

Sure, if all we had to worry about was validators censoring transactions of their own individual free will, competition introduced by delegatable stake might be enough to prevent censorship. But if Zcash gets banned we are going to need a ton of validators so the whole network doesn’t get taken down. Governments are going to perform multinational raids to shut down Zcash nodes, just like we see them shut down dark net marketplaces.

The good news is that we do not need to compromise on finality to achieve a high validator count. The algorithms used in Avalanche supports thousands of simultaneously active validators, while still finalizing in under 2 seconds.

The bad news is that by judging by the frequent mentions of Cosmos and the hiring of Zaki Manian, the ECC is leaning towards choosing the Tendermint consensus algorithm instead of Avalanche or Snowman. Tendermint only supports around 150 validators before performance suffers. 150 validators are not enough to withstand the power of governments in my opinion. I honestly think that unless Zcash achieves a very large validator count, there is a big chance that it will die.

7 Likes

High number of validators in itself doesn’t guarantee stake decentralization. Just look at what happens in Ethereum where a few validator “groups” control the majority of staked Ethereum. In PoS, delegation will happen regardless of delegation being supported natively by the chain or not. Also, while user experience might suffer, emergency chain halt and off-chain coordination to get rid of compromised validator’s power is possible.

To be clear I think “Ethereum” and “Cosmos” are both good example of PoS in the wild.

4 Likes

I agree that stake concentration is also a problem that needs to be tackled, but even without stake decentralization, a high number of validators is important for a chain like Zcash because in the event of a chain halt and needing to fork out compromised validators, we need alternative validator nodes as soon as possible. If the ECC goes with the Tendermint algorithm very few people outside of the ~150 active validators will be running good validator nodes because they won’t be getting any rewards, and thus our alternatives will be limited.

2 Likes

Thank you for this discussion.

I do not know how many validators will be offered, but I also do not know of cases where validators have motivation for a bad game. Even if we assume that it will be all the people of the large Zcash family ( as like such as Ethereum validators in their family), there is no malicious motivation and therefore the network works steadily. No matter what anyone assumes in theory, validators are never motivated to devalue their assets. Today, about 2 hundred people, including me, keep Zcash nodes open without any financial motivation. Just because we are Zcash hodlers and I am motivated in a decentralized network.

2 Likes

I agree, I am not that worried about malicious node operators. I am worried about the government shutting down zcash nodes. That is the reason we need many zcash nodes, so it is impossible for the government to shut them all down. The algorithm they use in Cosmos is limited to around 150 validators, while Avalanche is limited to many thousands.

1 Like

It seems to me that your concern could be allayed if the nodes that existed were distributed across multiple legacy-regimes?

Can you explain what that means?

Well… if all the nodes are in one Legacy Regime… like… The US, or China, or Russia… then that’s terrifying… but if they’re distributed across regimes?

That is an important factor that certainly helps, but is not enough in my opinion. China and Russia has already banned or heavily restricted crypto, so they and their sphere of influence are certainly no safe-havens for crypto we can rely on. Spreading across multiple political jurisdictions will certainly raise the cost of shutting down Zcash, but as we see with darknet marketplaces, it is certainly possible for the governments to coordinate to shut them down. And with such widespread animosity towards crypto by governments I think such coordination is not only possible, but likely.

But you raise an interesting question, is it feasible to encourage geographical diversity in the Zcash protocol? Can we for example increase staking rewards to validators located in underrepresented countries/regions? Yes you could just use a VPN to bypass this, but if validators use VPNs that is something in itself that would increase the resiliency of the Zcash network. Especially if we blacklist all well-known VPNs.

1 Like

I don’t think a globally coordinated government action is likely for any reason. Maybe if there was an asteroid that was destined to destroy the planet… but apart from that… I don’t think it’s plausible.

Globally coordinated government action is already happening with regards to dark-net marketplaces.

Here is an article which details how Russia, USA and Germany all cracked down on the same darknet marketplace this year. This was after the invasion of Ukraine.

1 Like

Arbitrarily (by both time and geography) attempting to skew validator distribution into geopolitically preferred areas seems like a fool’s errand to me.

The most practical solution to what you perceive as a future threat to Zcash network health ought to be mitigated against as the ECC/ZCG/ZF engineering teams provide products with world class UI and usability for validator deployment-maintenance. A large and robust distribution of validators around the globe should be a result yielded by the ongoing work of the Zcash teams, but I don’t think it should be a specifically targeted objective.

1 Like

What are the specific reasons you think so? If we adjust validator rewards based on IP adresses in a way that incentivizes geopolitical diversity then from my point of view we are incentivizing validators to do one of two things.

  1. They actually setup validator hardware in these underrepresented areas.
  2. Use VPNs to get IP addresses in preferred regions.

Number one will make it more difficult to shut down Zcash by requiring more global coordination between countries that aren’t necessarily friendly towards each other. Number two will make it more difficult to shut down Zcash by hiding true validator IPs. Ideally you would want geographically diverse validators who validate over Tor, but I don’t know how to enforce/incentivize using Tor.

Sure, making validator software easy to use will help, but there are other hardware and human costs which will make spinning up a new node not something likely to be done at moment’s notice, and at the end of the day Tendermint is restricted to 150 active validators. How many people will you have ready to go in reserve with the necessary hardware, knowledge, and will to step in when a good chunk of those 150 validators get shut down at the same time by a long planned multinational governmental raid? My guess is that since no validator outside those 150 will get rewards that number will be very low, and thus it will take some time to get new validator nodes up and running, and during that time Zcash might be very vulnerable or even down.

only 34% of nodes need to be in conflict for a chain-halt to happen under Tendermint; meaning even if just 50 of a theoretical 150 nodes will be operated in US (including “5 eyes” partners such as UK, Australia, Canada, New Zealand) then zcash could be halted on a whim.
Also, the nature of DPoS makes it inherently political. Reputation play a role, and doxxed centralized providers will very likely be favoured over an anon renegade. → node operators are incentivised to enlargen their attack surface for DPoS influence.

There are huge strides being made in the Ethereum corner regarding DVT (distributed validator technology) please let’s not overlook pregress being made elsewhere in favour of a convenient Tendermint package; I for one will not be running a node under Tendermind, but I would self-validate like I’ve been doing for the past 2 years on Ethereum.

in case anyone sees IBC as the killer app of tendermint, IBC compatibility can also be achieved without Tendermind, only real pre-requisite is finality

4 Likes

Avalanche consensus & Cardano’s Ouroboros consensus mechanism works with 2000+ active validators, yes there are groups running multiple validators but the cost to run one staking operation is not out of reach of a hobbyist.

Does Zcash plan to reach hobbyists to run the validators or experienced stake pool node operators in the likes of Algorand and other Tendermint protocols that work better with a smaller group of validators? Are we assuming the current 150-200 Zcash node operator pool to be the Staking pool number of validators or are we open to massive interest in running Zcash staking (1000+ nodes) with new participants needing to accumulate ZEC for pool stake?

What is the transaction finality time we are targeting? What level of on chain computation do we expect with ZSAs? How much stake is necessary to set up a validator and how much ZEC can be delegated to each validator before its reward curve reduces? Do we plan to have reward curves for validators? Do we want slashing of validator coin? Ethereum staking is centralized and already limited by OFAC ruleset at validation level. These are some of the core questions I’d want to discuss and answer.

3 Likes

A deployment option I’ve never heard from the ZEC community is launching on Eigenlayer

  • testnet in the next few months
  • a16z explanation video here
  • Bankless Interview here

tl;dr, through Eigenlayer, Ethereum stakers can op-into validating transactions for additional chains, i.e. merge-mining but aligned incentives.

An issue I’m seeing is that ZEC privacy makes it horribly difficult to implement with such systems, but maybe my intuition is wrong.

And yes there’s this meme that “everybody talks about how nobody talks about Eigenlayer”, but I’ve legitimately never seen it in a ZEC PoS discussion.

2 Likes

@nathan-at-least Hello, Nate! Look at this.

4 Likes

This thread’s engagement level, the ECC Agoric investment, and their Tendermint Advisor, together with a vision for convenient interoperability (which can also be achieved with a more decentralised validator set) all make me think that devs are currently not too worried about the small validator set.

Also they don’t seem to be looking to engage in public discourse regarding the matter.
It might be too early of dialogue to have before they feel comfortable with their gathered expertise on the matter. If I remember correctly from zcon3; “nothing is set in stone, and we’re still in the exploration phase regarding different consensus tradeoff” - Nate

Nonetheless I very much would favour an open dialogue addressing community concerns regarding the matter before we enter into a R&D sunken cost fallacy.

3 Likes

I am sure that they take into account all aspects, including not only technical, but also regulatory. Let’s wait:

“In 2023, we’ll also make a formal recommendation to move Zcash from proof of work to proof of stake. This is ultimately a Zcash community decision, but we believe the benefits far outweigh the risks, and we are looking forward to the discussion.”

Source

3 Likes

How would Eigenlayer be integrated with Zcash? Would it be possible to stake both ETH and ZEC, or would using Eigenlayer mean that you can’t stake ZEC?