Proof of Work ASIC Oriented Consensus — Is ASIC Resistance Desirable?

Adi Szeskin
Game of Life
Published in
8 min readNov 29, 2017

--

I’ll start this post with a short introduction of myself, I have been working as Design automation engineer at Intel for about 7 years now supporting and created automated design tools for the analog designs. In other words you can say I have been designing Application Specific Integrated Circuit (ASIC) or System On Chip (SOC) since I started working.

The first time we saw an ASIC in the cryptocurrency world were about 6.5 years ago when Avalon came out with a full ASIC system to mine Bitcoin for the common user. It happend on January 19 2012. It was a game changing event for the Bitcoin mining community. The mining hashrate since then went crazy for Bitcoin mining and got up to few Tera Hashes per second, that is insane!

More than that we are starting to see a new trend of coins which are ASIC oriented coins such as SIA, so I thought it will be a good idea to introduce to you the basic concepts. In this post I would like to answer couple of questions What are the differences between CPU/GPU/FPGA/ASIC mining and finally open up a discussion with the question is ASIC resistance desirable?

What do we know so far? Mining with ASIC is the fastest way you can mine and the most power efficient for the moment, but the development and manufacturing cost couple of millions of dollars. Okay… millions of dollar? Lets see why it might still worth it.

Trending Cryptocurrency Hub Articles:

1. BABB token sale: what you need to know

2. Aethia, Tamagotchi’s coming to Ethereum!

3. Everything we know about Ethergotchi so far!

4. A Crypto that will Pay You

Analogy
For analogy and conclusion CPU works like a small group of very smart people who can quickly do any task given to them. A GPU is a large group of relatively dumb people who aren’t individually very fast or smart, but who can be trained to do repetitive tasks, and collectively can be more productive just due to the sheer number of people. An ASIC is a huge group of dumb people that are trained to do only one repetitive tasks and incapable of doing anything else.

What is ASIC friendly Hash functions?
For the time I wrote this post there are 5 ASIC mining friendly hash functions, SHA-256, Scrypt, X11, Quark and Qubit, in case you are wondering what are those hash functions let me give you a link to a post of a colleague of mine Ronen Tamari. Lets try to understand what is ASIC friendly algorithm. Lets think of a CPU as a City, you can move around the city and get to anywhere you want, but as the city gets bigger its takes longer to get to each place because you suddenly have traffic, building that are not being used at the moment and so on. GPU is a town, still many roads but traffic is not as bad as it is in the city and the size and the cost of building in this town is much cheaper but you still have long roads which are not used and might even have empty buildings. FPGA is a different story, its different buildings and you get to connect the roads between those building. But you can’t change the number of buildings so still some of them might be empty, and the roads between them are not always the shortest path you could find. Now we get to ASIC, in ASIC you get to build your own Town and design it as you like.
Lets say you want to get from A to B and then again and again the fastest way you can do that is actually in ASIC because you get to pick where is A and where is B and also design the Road between them by your self.
So an ASIC friendly Hash algorithm is a function that can be designed to move from A to B with out any interference from it surrounding. When ever you need to interfere with your surrounding it might make you slower. If it slows you enough like lets say that you need to wait in A until someone loads stuff in your car and then in B until someone unpacks stuff from your car. If it takes long enough then actually you don’t spend so much time on the roads but on loading and unloading.

ASIC resistance cryptography algorithms
For the moment there is no such thing as ASIC proof hash algorithms. We now understand that the magic that happen in the cryptocurrency world with ASIC, is actually nothing more than solving the bottleneck of the algorithm using parallel computing and optimizing the hardware by designing our own ASIC.
Resistance using Memory — One of the first attempts to fight the ASIC phenomena was Scrypt, just by adding another bottle-neck Memory once you add this variable to the equation it is actually requires you to add more inputs and outputs in order to parallel it even more which means more physical space on the ASIC. Scrypt was ASIC resistance for couple of months up to 24th of April 2014. Memory is still ASIC resistance but Scrypt amount of memory was insignificant. So actually ASIC resistance memory algorithms is changing the bottleneck from the calculation world to the memory world. Another nice attempt is randomness we shall call it ASIC resistance random-memory algorithms like in ethash, just by adding randomness to the memory which required we force the ASIC to be a general computation ASIC, so those kind of algorithms forces the ASIC to be a faster CPU/GPU. Can we really do that? if so … Why use it only for cryptocurrency ? I just made a faster CPU/GPU.

What are the benefits of ASIC mining?

  1. Energy efficient — Once we finished design an ASIC to mine our coin we usually have the most efficient way we can mine with PoW. The entire chip is made to do one thing, which means that the entire power the chip requires is being used for that purpose only. Unlike General purpose devices which some of it power is being wasted on “unnecessary jobs” in the mining aspect. Like, why would i need an HDMI port or DVI port on my mining equipment?
  2. Faster — ASIC algorithm is one of fastest way to mine because of paralleling. If i need to move from A-B and i pay for energy I wouldn’t pick the fastest guy I will actually pick the shortest route. Over time it will be more efficient.
  3. Decentralized — ASIC Hardware is very expensive and useless for anything else, so as long as it still works It will defiantly be kept connected to the network.
  4. Secured — One of the scariest attack in the cryptocurrency world is 51% attacks. If you have invested in ASIC so much that you can actually perform a 51% on ASIC, there is not way you will use that Hardware for those attacks because you spend so much and there is no way for you to return your money because people will stop believing in this coin once you perform those attacks. You cannot say the same thing in GPU mining since GPU are being used for other thing such as research (Deep learning) think of all the GPU that Amazon, Google, Intel, Microsoft and so on…. How many GPU does they have that are being used for research? what happens if they decide to attack one of the cryptocurrencies?
  5. Hash rate usually is steady/increases if the coin is successful. In GPU mining, if the coin drops so does the mining hash rate, lets take a look at the ETC hash rate graphs over time for an example once its not profitable to mine it compared to other coins people will just stop mining it and move on to more profitable coin. Those kind of acts can make people start of thinking 51% attacks on low network hashrate coins. In the following 5 graphs we can see exactly this point, Bitcoin and Litecoin are steady and
Bitcoin Network Hash rate graphs over the years no
Litecoin Network Hash rate over the years
ETC-ETH price chart we can see a drop in ETC compared to ETH
ETC hashrate we can see a drop around 17/7
ETC hashrate we can see a rise around 17/7

What are the drawbacks of ASIC mining?

  1. Centralized — The design and manufacturing of ASIC is expensive. So instead of decentralizing. The companies that makes/manufacturing the ASIC are being centralized . Take for an example Bitmain, for the moment they control the Bitcoin ASIC market if they stop manufacturing those ASIC we wont be able to buy them.
  2. Bound to a specific coin/cryptography algorithms — If the cryptography algorithm you have on your ASIC losses his value you can’t use it for something else.
  3. Most people wont be able to afford an ASIC miner which is not the case for GPU mining. Almost CPU for the moment have at least 1 GPU which can be used for mining.
  4. ASIC miners will continue on mining the same coin. Why would they move coin to a less profitable coin?
  5. Unsecured, 51% attacks could happen by ASIC companies. Lets take Bitmain for an example. If they decide to take all the ASIC they created and keep it to them self instead of shipping it around the world. They are capable of creating a 51% attacks pretty easily.

Additional Materials and references
https://blog.sia.tech/choosing-asics-for-sia-b318505b5b51
https://download.wpsoftware.net/bitcoin/asic-faq.pdf
https://community.keysight.com/community/keysight-blogs/oscilloscopes/blog/2017/05/15/creating-an-asic-our-quest-to-make-the-best-cheap-oscilloscope
https://en.bitcoin.it/wiki/Why_a_GPU_mines_faster_than_a_CPU#Why_are_AMD_GPUs_faster_than_Nvidia_GPUs.3F
https://www.quora.com/What-is-the-difference-between-analog-VLSI-and-digital-VLSI
http://venividiwiki.ee.virginia.edu/mediawiki/index.php/Specialized_SHA-256_Accelerator

--

--