ZIP proposal: Proof of stake

Advocate: me

Summary/abstract/main characteristics of this proposal:

Zcash launched using proof of work. This meant that as well as removing the risk of proof of stake being in some way faulty, the developers could focus on snark development rather than proof of stake development. Now the situation is a little different, as proof of stake is a little more mature and shielded transactions in zcash have come leaps and bounds! This means that we should be able to switch from proof of work to proof of stake without diverting developers too heavily away from other protocol-improving work :smiley: So I’d like to know if people generally agree, and if so, when can we do this!

1 - Header

ZIP: unassigned.
Title: Proof of stake
Advocate: me
ZIP Status: Draft
**Community Status: Request for comments **
Category: Process
Created: 2019-08-31
License: public domain

2 - Terminology

To understand this ZIP it is critical that people understand the right terminology so their requirements can be quickly checked.

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL”

Have special meaning and people should familiarise themselves with it. - RFC 2119: Key words for use in RFCs to Indicate Requirement Levels

3 - Out of Scope for this proposal

4 - Abstract

Zcash should replace proof of work with proof of stake.

5 - Motivation

This is motivated by not wanting to have “destroying the planet” as one of zcash’s most prominent achievements.

6 - Requirements

  • Proof of work is replaced by proof of stake.

7 - Specification

The community comes to consensus on answers to the following:

  • What properties do we want from the proof of stake protocol? BFT? or not?
  • Which are the best PoS protocols that satisfy these properties?
  • Who gets to have the loudest/definitive say in all of this?
  • When will this be implemented?
  • Who will implement it?
  • Will there be a transition period?
  • When this will go live?

Issues & Further Discussion

Raised objections and issues so far:

Changelog:

  • 2019-08-31 initial post
10 Likes

Hi Rebekah! Since this proposal doesn’t address development funding, I don’t plan to add it to this list — is that okay / does that make sense?

1 Like

Are there any production PoS networks that you would want to model Zcash off of? I think it would be prudent and wait and see how Ethereum’s imminent PoS launch goes, as this would give us a greater idea of how PoS looks in the wild.

2 Likes

Good idea… As long as nobody (hacker) empties a tons of Zcash from somewhere and sits on them hijacking the network…

2 Likes

Pos is good. Make zcash great again!

4 Likes

POW mining doesn’t harm the planet. It’s one of the most efficient uses for stranded energy and fuels development of renewable energy. So, this really isn’t the right reason for this change.

POS chains have more favorable performance characteristics, which could be interesting. But currently POW is more secure. Furthermore, ZEC “owns” equihash, kinda the same way that BTC “owns” sha256…

This is in fact very, very valuable (“owning” dominant hash rate on a particular algorithm.). It means that miners invest straight into the network.

Conclusion: while I like POS for dapps, I don’t think it’s appropriate for money, and while I’d listen to contrary arguments, for me, it would be a very tough sell. Mining provides such an excellent basis for “moneyness” when compared to POS. (Consider the concept of "mined BTC/ZEC floor price)

11 Likes

While I agree that at this very moment POW is more secure (especially in our case as a dominant equihash user) and battle tested (although it lost the war), I’m personally a huge proponent of POS (in the near future).

In POW, miners usually dump the coin they are mining to get maximum profits. They do not have any incentive to hold the coin. They just care about maximizing profits (totally understandable). As soon as they mine ZEC, they sell it for BTC (usually) or whatever coin happens to give maximum returns at the time. In the end, while they do provide security in the short term, they hurt ZEC in the long term.

In POS, minters have absolute incentive to hold the coin and not sell. This is a fundamental shift in thinking and incentive. Sure, POS is not yet proven itself and can also be gamed in other areas. Ethereum 2.0 will be the main beta tester of POS and will give us very good points on the pros and cons.

I’m not a miner and don’t have any aspirations of being a staker either. All I’m saying is that we should keep an open mind on this, and look at the pros and cons of each side. While I’m a huge POS proponent, I’m also cautious and patient. POW has disappointed us on multiple levels and I’m convinced it has no future.

I know there are many people who probably disagree with me, and that’s perfectly fine :slight_smile:

9 Likes

https://forum.zcashcommunity.com/t/zooko-talking-about-pos-pos-vs-pow-discussion/ :man_shrugging:

3 Likes

I have not seen much discussion (or any rebuttals) of this. It’s obviously a PR piece, but does the math check out?

2 Likes

Strongly against. Justified his opinion in the article. It’s in russian, please use an translator. My english is poor. Отличия POW и POS алгоритмов с точки зрения денежной функции. | by RuZcash | Medium

There is nothing wrong with miners dropping a coin. They thereby spread Zcash. And this does not prevent Bitcoin from steadily increasing hashrate, mining complexity and value. It is much worse when the coins are held in a limited circle of people and will not receive the necessary distribution. Please read my article on this subject - Отличия POW и POS алгоритмов с точки зрения денежной функции. | by RuZcash | Medium It’s in russian, please use an translator. My english is poor.

6 Likes

Yes!

Coins based on POW algorithms are able to have an independent value based on capital and operating costs incurred during mining - which makes them most similar to commodity means of payment with security in the form of intrinsic value, the same as precious metals. This allows them to be more resistant to inflationary processes and gives them the potential to take their rightful place in the line of protective investment instruments.

POS-coins are more similar to modern money, which do not have intrinsic value and whose value is determined by the market based on liquidity parameters and economic indicators of issuing countries. However, in the absence of use, they do not motivate market participants to use coins as a means of payment or exchange, and the internal economy of the algorithm encourages users to accumulate and keep coins on their balance sheets, preventing their distribution to other investors.

At the same time, it should be noted that POS as a whole is an excellent proof mechanism and is ideal for block validation in platform blockchains, where the main function of the underlying asset is to reduce the cost of the method of transporting tokens inside the platform. Such blockchains are also ways to carry out corporate tasks where the value of assets does not matter, and the main function of tokens is to account for something with guaranteed reliability.

2 Likes

If I recall correctly, PoS might be needed as part of L1 scaling - too early to know for sure as its still a research topic.

2 Likes

just want to add, that it would be better to sort out one global issue with zcash after another. if all the crucial but heterogenous questions/issues will be mixed and articulated simultaniuously during this zip period… this will probably end in dire straits. and obviously its not that goal we’re currently looking for. maybe except some permabears.)

2 Likes

I like proof-of-work because the economics are straightforward and the model is battle-tested. I don’t think proof-of-stake has been around long enough that we should jump on it — maybe another couple of years.

6 Likes

We can refer to the POS model of Algorand, Avalanche, Perlin, Dfinity, Harmony.

How do you stake a shielded balance?
Did I miss some key bit of the specification or you just say ‘PoS’ and expect us to design it for you?

2 Likes

here are two options:

4 Likes

Speaking only for myself, I really like the idea of switching to PoS for exactly the reasons listed above in the draft ZIP, but I’m not sure it makes sense to decide to “switch to PoS” (in general) vs deciding to “switch to [concrete PoS-for-Zcash design]”. I think that developing a concrete PoS-for-Zcash design would be a great thing to do, but it’s a lot of work and I think it would be better to do that design work before trying to build consensus around switching off of PoW.

6 Likes

Thanks for adding substance to this conversation.

Not sure how substantial the work from the Danish team is and whether they produced a working implementation, but indeed the Cardano Ouroboros is a well known quantity.
However, their implementation is in Haskell and Coda’s in Ocaml, so crafting an implementation for Zcash is a hugely non-trivial programming project.

Would love to hear from @daira exactly how compatible the constructions in either flavor of Ouroboros are with Sapling

P.S. This demonstrates why ALL the dev fees should go to Zooko to support one-of-a-kind work of world-class scientists like @daira. The generic promotional crud can be outsourced to Horizen folks, who’ll do a better job cheaper.

1 Like