Achieving Consensus with CPU-Optimized Proof of Work
Guest post by Ian P. Johnson — Technical Contributor
In this post I will take a deeper dive into the consensus mechanism powering the Resistance blockchain and its product offerings. Projects often claim they are decentralized when in fact they operate with a core group of miners and validators. But before we get into why Resistance is different, let’s define what consensus means.
“A consensus mechanism is a fault-tolerant mechanism that is used in computer and blockchain systems to achieve the necessary agreement on a single data value or a single state of the network among distributed processes or multi-agent systems. It is useful in record-keeping, among other things.” — Investopedia.com
Consensus is required to keep track of asset transfers and account balances. When consensus is lost in a decentralized system, the records are no longer accurate and cannot be trusted.
In the case of Resistance, block rewards and transaction fees are split between project development, CPU-optimized Proof of Work (PoW), masternodes, and Proof of Research (PoR) for whitelisted scientific projects.
For every block that is mined on the Resistance chain, RES tokens will be rewarded. 30 percent of the block reward will go to PoW miners using a CPU optimized algorithm, yespower, created by one of the platform’s core developers.
Yespower tends to prefer CPU mining by utilizing significant amounts of memory to perform its calculations. This amount of memory has been designed to fit well into a typical CPU L2 cache. L2 cache tends to be prohibitively expensive to implement on ASIC, FPGA or GPU so although such hardware might be developed it would probably have limited advantages over a CPU. The algorithm can be parameterized to adjust to the characteristics of a range of CPU and this feature may be used in the future to adjust for more efficient implementations on scaled hardware.
Furthermore, PoW mining secures the blockchain by calculating hashes (a secure signature that shows that information has not been tampered with) which makes it extremely difficult to change any secured information in retrospect. It is similar to other blockchains like Bitcoin, with the key difference that a significant effort has been made to optimize the algorithm to work more effectively with CPU mining rather than other implementations.
The justification behind preferring CPU mining is to decentralize the mining effort; such that most of the mining power is not centered on fewer, more powerful mining participants. On other chains it has been seen that specialized hardware can be developed to be more efficient and offer higher performance, usually in the form of ASICSs, FPGAs, or GPUs. These tend to be more expensive to purchase and operate. They also tend to be used by larger participants who can take advantage of economies of scale.
When mining leans towards centralization, the risk of unfair consensus starts to emerge, often leading to various problems such as the infamous 51% attack (where a miner with sufficient mining power can elect to “rewrite” the blockchain ledger in retrospect, changing the record of asset transfer and ownership). By opting for a larger number of smaller participants, CPU mining reduces the possibility of consensus attacks. In addition, CPU’s are almost universally available on every desktop and laptop computer, and software can be provided to make contributing to securing the blockchain both easy and convenient. In fact, the ResDEX desktop application has a very simple to use switch that initiates CPU mining on one or more of the user’s CPU cores. In the process, he is able to earn rewards (in the form of RES tokens) that reflect the amount of CPU he is able to contribute whilst more widely distributing the total mining effort across a larger number of participants. This both increases the total amount of effort and improves consensus by making it more difficult to perform a consensus attack.
Other CPU mining projects
A number of other projects have attempted to capitalize on CPU optimized mining, usually to achieve the same aims of reducing centralization. I will highlight a few here that are more commonly recognized. Please note that my selection is not a direct indication of quality or status, but instead, the projects I have been most exposed to.
Many CPU mining coins are based on CryptoNight technology which was originally developed by the team at CryptoNote. Since CryptoNight-based coins use an egalitarian Proof Of Work consensus, they utilize built-in CPU instructions and memory characteristics which are more difficult to implement economically in special purpose hardware. Thus, they are perfectly suitable for ordinary PCs.
Below is a short selection of privacy coins offering additional utility.
Every transaction on Monero obfuscates sending and receiving addresses as well as transacted amounts. This type of “always on” privacy means that every Monero user’s activity enhances the privacy of all other users. Monero relies on PoW mining to achieve distributed consensus. The algorithm (CryptoNight) was created to prefer CPU mining but it has been under assault by GPU and ASIC implementations throughout its lifetime and must continually adjust to mitigate such attacks
A private, decentralized cryptocurrency that uses Ring signatures to mix different outputs of similar value into one transaction, making it nearly impossible to deduce where the money came from. Bytecoin preceded Monero and shares its use of a modified CryptoNight algorithm.
NERVA is an untraceable and secure cryptocurrency aiming to be GPU and ASIC resistant via the new CryptoNight Adaptive POW algorithm. NERVA offers true privacy and fungibility, is totally untraceable and unlinkable, with users and transfer amounts hidden from the public.
By democratizing mining, Resistance invites ordinary users to participate in improving the security of the Resistance blockchain. The mechanism is extremely easy to use, rewards its contributors, and is poised to attract many users once ResDEX goes live.
More detailed discussion on Resistance and PoW mining can be found on the official Resistance Discord here: https://discord.gg/7weECSh
The latest news, such as the anticipation over mainnet launch and the Resistance IEO can be found in their official Telegram channel at https://t.me/resistanceplatform
Background vector created by freepik — www.freepik.com
Website: https://resistance.io (U.S. visitors restricted)
ResPool Mining: https://respool.io