Zcash 4x energy use is a good thing


#1

I mentioned computers are using 4x more electricity when running Zcash. It may make GPU's less capable of competing. They are not able to access the external RAM directly, so they are less efficient, having to compute more per hash. The 4x speed of parallel code for GPUs of the future will come with at least 2x more energy cost.

From measurements on the testnet and my electricity use, if there are 50,000 PCs on the network, it will cost $1 per coin in electricity above 24 hour normal-use PC costs if you have a 22 nm process CPU that is meant to be efficient ( less than 3 GHz).

Although the high energy use is against what most people consider a "good" coin, it might be an inherent necessity if POW is inherently needed. The high energy use is key to making mining widely distributed. If the only thing determining the quantity of coin obtainable is the amount of energy purchased, then most people have equal access. Electricity rates can vary a lot compared to oil (e.g. islands & remote villages), but that is a small portion of the world's population. If a government subsidizes cheap electricity by investment or allowing more pollution, then the populace of that region have paid the price that local miners gain. If they optimize code and have cheap electricity, they might get 5x more coin per dollar expense compared to small miners.

If Zcash spreads to the populace who do not have to buy equipment and do not even notice they have higher electrical costs, mining may not be feasible. This is the stated goal. This means a general-purpose CPU needs to be biased for. This means more electricity to stretch its general-purpose skills. Sorts seem very specific, but they bias everything towards a more general purpose Turing machine. The entire basis of a Turing machine is reading and writing, and sorts need it in ways that are hard optimize in a way that reduces the need to read and write.

The RAM of devices is not generally being wasted like CPU time, so it might be better to be be CPU-centric. But part of the path to the general-purpose CPU is high RAM in order to block out non-general purpose GPUs and ASICs.

So it's a coin that promotes generalized computing devices in everyone's hands without taking away too much RAM, rather than wasting money on specific equipment for specific people (miners). This is a 2nd reason a higher electrical expense is not a bad idea: CPU time is being wasted more than RAM space. And note that RAM is not electricity-free. There is a very large initial electrical expense in creating the RAM, as indicated by it's price. This indicates equal use of CPU and RAM may be better as one is an on-going time-based expense of Joules and the other is a one-time capital "space-based" expense of Joules. CPUs require a Joules per bit state change in time, and RAM requires a Joules construction cost per bit storage space in cm^3. Of course RAM has state-change energy cost and CPU has construction cost, but those energy costs are smaller.

All economic schools have said following a basket of commodities is the best currency. Those favoring gold do so only because it is the best single commodity that has the right properties. It also one of the most wasteful ways to use kinetic energy, which is key to its perceived value. A basket would require measurements and "paper" (bits on a computer). The cost of energy (like electricity) is the largest underlying factor in the cost of producing commodities. So currencies based on Joules have been proposed as ideal. Zcash is a Joules-based currency. The Joules-as-value, both kinetic and potential, has a deep connection with computation and life. (see Note at bottom).

There is a 4th "benefit" to a high electrical cost per coin, although all these points are connected. It should not sell for less than the cost to produce it, unless someone has given up on the coin and will accept a loss.

Zcash's goal is to be "democratic" in mining. The result is an ideal cryptocoin. POW should not be "might is right", but "distributed might is right". Otherwise, the ability of miners to lobby the governing coders becomes the wrong kind of might.

This is not to say an energy-intensive coin is best for society. A coin that is given based on how much a person helps society (such as Solar Coin) would be best. But that involves agreement on definition of what is "best" (are solar cells really the best use of your money to be subsidized by giving you a coin?) and then measuring it before the cryptography part can even begin. It is a type of fiat requiring a middle man (or at least a group of oracles that are doing an agreed upon measurement, governed by smart contracts that define the rules for the distribution use of a specific coin). The whole reason fiat replaced gold is because governments are able to print it and distribute it evenly based on achieving goals that are ostensibly best for that society. Coins distributed based on POW that is not connected with the betterment of society are not best unless the government is not acting in the best interest of people and/or anarchy (e.g., hyperinflation) is near.

Note: To be more correct, it is the Joules as measured by Gibb's Free Energy that is essential to life. Schrodinger even updated his "What Is Life?" book to point out that when he said "negative entropy" as being the key to life, he really meant free energy. Gibb's F.E. = U -TS where U is internal energy and TS is temp x entropy. In terms of Zcash, U=RAM+CPU capital one-shot "energy" expense and TS=CPU operating on-going energy expense. The first is energy stored in spacial RAM and CPU structures, and the second is energy spent in time. CPU computations come at an energy cost of TS/eff where eff is the efficiency of the device. This does not include algorithm efficiency. Per N bits that change state irreversibly, the number of Joules expended is T x S / eff (see Landauer's limit relating bits to physical entropy) where S=kb x ln(2) x N. For a given algorithm.


#2

How do you calculate a 4 times higher energy usage? Do you realize that this depends on factors that are now entirely unknown and unpredictable, like the total mining capacity?


#3

I hooked up 4 different desktop machines of different ages and ran Zcash and read my kilo-o-watt meter, maybe 20 times over the course of a day. It never changed more than about 10 Watts. It read 280 Watts. I stopped the processes and it read about 70 watts. Also when booting them all up at the same time, it reads about 75 watts. I think it shows Zcash's implementation of the Equihash methodology is a resounding success. The wattages are the max that the CPUs are rated for. It is a CPU intensive activity, which is what we want. Shifting the cost away from type of equipment to the cost of electricity is the best way to make it widely distributed. If it could be based entirely on electricity, then it would be the most democratic POW (something like $1 electricity = 1 vote). To be precise the POW is literal, but based on the number of miners as you say: work = joules per coin = watts x seconds x number of miners / number of coins

So if Zcash is electricity-intensive, it is not because of the Zcash algorithm, it is because a lot of people will be competing to vote. It is competition that drives up the energy use, not the algorithm.

But it does have relevance in a more absolute sense (due to the algorithm) that potential miners need to know, if they can estimate the number of CPUs on the network: if there are 50,000 CPUs on the network, it is going to cost the average 2013ish CPU [edit] $1.56 per coin based on 50 W CPUs in electricity. With a higher energy cost per hash, there will be fewer miners on the network. There is a real possibility miners will be paying more in electricity than they are able to sell the coins for, especially the people just running their computer at night.

But if it is distributed to more people evenly who are not worried about the electrical cost and already have the equipment cost, then it might actually end up with equal computing power.

So, if it distributes perfectly among everyone, then the energy use is a potential environmental problem (although if solar cells continue their current path it does not necessarily mean a global warming problem) that non of the users will notice. But if medium size mining rules, it just means there will be fewer miners at a given price point, not more electricity use. I do not think it will harm transaction confirmation rates and may improve that by taking out the big miners trying to game the difficulty algorithm.

In short, I think basing it on electricity cost like this is ideal. It's not necessarily any waste or environmental problem. It's a more pure POW where the Joules of the work per coin = (some constant) x (# CPUs on network) x (energy per hash). But this is limited by the number of miners on the network which is limited by the perceived selling price of the coin, not the energy per hash (not the algorithm). Conversely, the price of the coin will have a minimal equal to the cost of long-term miners.

If I had GPU software for Zcash, I would not use it because of the electricity expense.


#4

Moral of the story: Always strap the helmet onto the baby before dropping it, otherwise it'll be wearing that helmet for the rest of its life.