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 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”
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.
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)
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
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.
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.
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.)
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.
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.
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.