Introduction: Monitoring a Crypto Mining Farm with IoT Concepts


Introduction

Over the next few weeks, I’ll be publishing a series of articles on Blockchain, crypto mining, economics and IoT concepts for analytics, debugging, performance optimization, and ongoing operations.

Here is a proposal of the posts I plan to cover with links to the posts I’ve already released. I’ll be revisiting this post to link new posts as they’re released:

All posts will also be accessible via the tag #crypto-farm-series

Brief Blockchain Primer

Blockchain technology has had some amazing and compelling innovations since late 2008 with Satoshi Nakamoto’s (pseudonym) first introduction of the Bitcoin blockchain concept. The idea of taking a hash of data plus the previous hash of previous data to create a chain is a powerful, yet simple concept. Introduce mechanisms like distributed, peer-to-peer networking, a necessarily compute-intensive proof-of-work concept for network security and validity and a unit of value (cryptonote/coin) and now you have what Bitcoin first embodied: an open, decentralized, immutable ledger of value-based transactions.

Now, this post isn’t about Bitcoin the protocol or BTC the currency built on top of it, but rather the process of mining or performing the work part of proof-of-work. All currently mainstream, fully distributed blockchains have some proof-of-work algorithm that is often referred to (in a metaphoric sense) as mining that enforces a consensus model. Similar to mining for precious metals, the technical mining process is performing some kind of compute work that, because of mathematical principals, results in mostly futile output (like ore) and occasional successful solutions (like gold). These successful solutions serve as proofs or points of validation that the data in the block can be accepted as valid and can easily be revalidated. The hash of this data is then included as part of the next block in the blockchain. The protocols that govern a blockchain also assign a value for performing the work to generate these blocks in the form of cryptocurrency awards and any included transaction fees (or additional gas for Ethereum). The coins that makeup the rewards are finite and the distribution controlled by a truly democratic decentralized algorithm. These coins (also called tokens) are also required to perform transactions to be validated and included in the blockchain or to process dApps (distributed applications) on the Ethereum network (through paying for gas). The requirement of these units to transact as well as their finite nature help enforce their value. Because this work is necessarily hard, being efficient at it is very important and directly related to the economics of mining operations.

Ethereum is an alternative blockchain that enhances the original bitcoin design by introducing some compelling new implementations like distributed computing of applications as opposed to just computing value-based transactions or contracts. Ethereum’s unit of value is a cryptocurrency called Ether, or ETH. One of the many blockchain challenges Ethereum attempts to address is better democratization or consumerization of mining hardware. Conversely, the hashing algorithms used in performing the mining work for bitcoin allowed mining to start on CPUs where it then quickly migrated to GPUs, then FPGAs (field programmable gate arrays) and soon after custom ASICs (application specific integrated circuit). The reason for this migration was an ongoing attempt to increase the number of hashes that can be calculated per second (hashrate) thereby increasing the likelihood of computing a successful block challenge before anyone else in the network to get the full reward. The nature of racing towards a reward is fundamental to the distributed, immutable nature of bitcoin. The higher the overall network hashrate the harder a network takeover would be. It’s a sort of computing free-market capitalism. Therefore, everyone has an equal incentive to optimize mining hardware (and, equal incentive to create malicious forks). This is one of the criticisms of Bitcoin: that it moved from non-specialized consumer hardware to specialized hardware too quickly thereby centralizing the mining efforts to the few technical enough or wealthy enough to build, purchase or operate the hardware and likewise potentially compromising the networks overall compute-enforced validity.

Why is overly-specialized hardware a problem? The same reason monopolies are a problem. If the hashing algorithms can be optimized by introducing specialized hardware that requires intensive capital and expertise to build the barrier to entry is too high; it becomes centralized and de-democratized. So, it’s important to make the work achievable by non-specialized hardware to democratize the mining process and ensure as even a distribution as possible for maintaining network consistency and validity.

As an aside, Ethereum also helps address the malicious fork issue by rewarding solutions that are correct, but not fully accepted (and therefore would be the first block in a fork in the chain); these blocks are also referred to as uncles.

Blockchain Mining Farm

I’m going to spend the next few posts discussing the building and scale out successes and challenges of a blockchain mining farm specifically for GPU-effective mining chains like Ethereum, Monero, Zcash and others. What I hope you’ll discover through this series of posts is how incredibly powerful treating a mining farm like any other IoT or cloud network can be in optimizing the economics of mining operations.

Proposed List of Posts

Here is a proposed list of topics I plan to cover over the next few weeks:

David Sulpy

I am a computer scientist that loves to learn. I grew up building hardware and software for fun and I've since turned it into a lifestyle. I am passionate about evolving my understanding of security, software development, scalable architecture, automation, and brain science. I have an undergraduate degree in computer science and a graduate degree in information security.

Nashville, TN https://bitform.at/