(pt. 3) ECIP-1049: Mining Your Internet Connection. Why Ethereum Classic should Adopt SHA3.
Here is a question: Imagine you have three Ethereum miners, and a group of users broadcasting transactions.
Miner A can do 400 megahashs a second (MH/S) and has a latency of .1 seconds to the the users, Miner B can do 700 MH/S and has a latency of 3 seconds, and Miner C that can produce 1,100 MH/S and has a latency of 9 seconds.
Which farm will most likely mine the transactions first? (answer at bottom)
The most important part to understanding cryptocurrency mining is that every hash operation is just as likely to be the correct answer to a block as any other. Don’t think of mining as building a complex structure, but rather trying so many possible solutions that one is bound to be the right one to claim the block reward. Law of large numbers states, the more hashes you can do in a given time, the more likely one will get the reward. Today, you can purchase a bitcoin miner that can do 17 SHA256 terrahashes a second (17 trillion hashes a second) for $500 USD. Performing a many hash operations is very cheap.
The way to view Ethereum mining is as a 15 second race for every block. There are three parts to the race (part 1) The first part is receiving the information about the block. These are the transactions that are broadcasted by users. These go from user’s wallets to a node, and then need to get to a mining pool, who then calculates the block hash and then broadcasts it to actual miners who receive it and can begin work.
Once the mining pool broadcasts the headers that need to be hashed, think of it as a work order, (part 2) individual miners wait to recieve the order to start working. They then try to run as many random hashes as possible to solve the work order. Every millisecond a miner has to wait before they can begin hashing an answer is important, because they are blocked from using their rigs profitably until they get a valid work order. Once one of the miners does find the answer, the race isn’t over yet.
(part 3) The miner then needs to relay this back to the mining pool node, who then broadcasts it to the network. The pool collects the mining reward, and then the network starts the process again, hashing on top of the previous block. We aren’t done yet. If two mining pools on different sides of the world find a block at around the same time, their conflicting (but both correct) blocks start propagating to nearby miners. If another miner build a block on top of one of these forked chains, that mini-forked chain then becomes legitimate, and other miners abandon the smaller chain because it has less accumulated work. This abandoned, but valid, block is called an Uncle block.
If a mining pool node is not well connected to the network in part 3, even if it has more hashpower, it will be producing too many wasted uncle blocks to be profitable.
How does this dynamic relate to decentralization of SHA3 mining on Ethereum Classic? There are two main ways. First of all, many members of the mining community assume that with SHA3, ETC will start becoming like Bitcoin (BTC) which has tremendously centralized mining operations that take advantage of cheap power in remote areas to suck up network profitability.
Because the ETC block time is 15 seconds, not 10 minutes, the ability to complete steps 1 and 3 of the race (receiving the block, and broadcasting the winning block) becomes far more important. This means mining pools in areas physically located near areas of transaction volume will be more profitable even if they have less hash power. This is good for smaller miners, because while they may not have as cheap of power as massive data centers, they can have far better connectivity. This means they get transactions faster, and are less likely to be uncled. When you think of small miners, it’s generally people in higher-population areas near where transactions are actually being produced.
We already see something similar in stock trading, where different firms compete to be as close as physically possible to the exchanges, since the closer they are (collocation) the faster they can play trades and beat their competitors (even if they aren’t as a good of traders)
With a switch to SHA3 from Ethash we can build, simpler, smaller mining devices that can take advantage of good connectivity and cheap power. The mining pools of the future will be those that can access both cheap power AND have very good connectivity with the rest of the network.
My speculation is that it will cause a massive increase in renewable energy demand, because now it means that as a suburban person living 10 Kilometers out of a large city, with solar panels on my roof and a fiber optic internet connection I can monetize excess power and decentralize the network in the process. I will have an advantage over a miner in Siberia, for example, because I can start hashing and propagating blocks faster than he can, even though he has cheaper power than I do.
Other areas where I see potential are offshore data centers that are centrally located between areas of large population (middle of Arctic for example — between Asia, US, Europe). They can take advantage of cool water, and have access to cheap power either through tidal power or large offshore wind installations. These are good for both the earth and the network. Right now, the biggest issue with renewable energy is that there is not enough demand for it. It’s simply more profitable for many use cases to burn coal than use Solar or Wind. This will change once you start needing to build remotely located mining farms far from any centralized coal plant.
Ultimately, the future is bright with SHA3! (answer below picture)
Answer: The answer to the question is Miner B, the reason why is that block time is 15 seconds. So let’s do the math:
Miner A: receives transactions in 0.1 seconds. He has 14.9 seconds to do 400 MH/s — 5960 Megahashes in total done for the block.
Miner B: receives transactions in 3 seconds. She has 12 seconds to do 700 MH/s — 8400 Megahashes in total done for the block.
Miner C: receives transactions in 9 seconds. He has 6 seconds to do 1100 MH/s — 6600 Megahashes in total done for the block.
Because Miner B has both high hashpower, and a low latency connection, she is able to mine more profitably than the other miners. Interestingly Miner A and Miner C, have around the same efficiency per block even though Miner C has almost three times the amount of hash power.
How to mine on Astor SHA3 testnet: astor.host
Astor testnet stats: stats.astor.host