Casper the Friendly Consensus Mechanism
TL;DR: Casper is a proposal for slowly consolidating Proof of Stake into Ethereum. Proof of Stake will eventually replace mining (Proof of Work) altogether, but not before working side-by-side with existing systems to ultimately enhance the potential profitability of today’s growing mining community. This post begins by analyzing consensus as a whole but hopes to ultimately provide a useful breakdown of Proof of Work, Proof of Stake, and Casper from a perspective that is helpful to the entire mining community.
Mining Store’s intention is to provide members of the Ethereum community with valuable insight and explanations surrounding complex concepts central to future Blockchain development. However, no one including Vitalik Buterin himself can truly claim to be an expert on such intricate matters. As such, we encourage the community to direct any amendments, questions, and concerns to firstname.lastname@example.org where we’ll try our best to respond swiftly.
- Proof of Work
- Proof of Stake
- Where is Proof of Stake today?
While browsing different Ethereum-related communities on Reddit, BitcoinTalk, and Twitter, I noticed several recurring questions and concerns from miners:
“How long until Ethereum switches to Proof of Stake?”
“Will Proof of Stake make mining Ethereum obsolete?”
“Given that Proof of Stake is on the horizon, is it still profitable to invest in mining hardware today?”
These questions are without a doubt some of the most common fears and misconceptions being expressed by members of the mining community. It’s understandable that users are asking such questions, as attempting to familiarize oneself with core Ethereum functionality can be very intimidating. Understanding architectural changes being made to Ethereum’s core code requires combing through a massive reserve of technical jargon, heated discussions, and complicated abstract papers. How Ethereum will proceed with implementing a change as significant as Proof of Stake, to ultimately replace the existing Proof of Work standard altogether, can be a lot of information to break down at once. With that said, an excellent place to start is with understanding consensus.
What is consensus?
If you’ve ever familiarized yourself with the core technology behind Ethereum and Bitcoin, you’ve likely heard the term “Blockchain” being thrown around. All you need to know is this:
A Blockchain can be defined merely as a public ledger that keeps immutable records of transactions. Think of this as an append-only excel sheet which everyone holds a copy of and agrees upon it. Blockchains can store financial transactions, election results, shipping records, and just about any other transactional-based data structure.
For most of these potential applications, it is imperative that the ledger remains accurate and immutable. The term “consensus” refers to this ability of a community to collectively agree upon decisions that impact the accuracy and permanence of a given blockchain. As far as decentralized ledgers go, achieving said consensus is an immense accomplishment. With a leaderless collective of nodes, A.K.A a decentralized blockchain, it’s significantly more difficult to assure that everyone agrees at all times. So much so in fact, that the whole of the Ethereum community has yet to achieve consensus on how best to, well… achieve consensus.
Consequently, this brings us to the vast and ever-expanding list of so-called “consensus mechanisms” used by popular blockchains. Consensus mechanisms are architectural decisions and tools designed to prevent falsified transactions from occurring on the network. The general principle is to discourage lying by making it more profitable to tell the truth. I’ll save the full list of consensus mechanisms for another article, but for now, the two mechanisms you’ll want to familiarize yourself with are: “Proof of Work” and “Proof of Stake.”
Proof of Work
This consensus protocol relies on the principle that transactions remain expensive to produce in exorbitant amounts. Appending a hefty reserve of new transactions to the blockchain, which might be done as an attempt to spam or paralyze the network, would cost any potential attackers a substantial sum in transaction-related fees. This is due to the assurance that a certain amount of work must go into every transaction on the blockchain and that said work doesn’t come free of charge.
What makes Proof of Work exceptionally favorable is that despite the massive computational calculations that must initially be performed to verify a transaction, it becomes exponentially simpler to validate transactions the second time around. This is made possible by the underlying qualities and design fundamentals of cryptography itself.
Think of these transaction validations as scientific experiments. Proving an experiment’s thesis the first time around is very difficult in practice. Proving a theory requires exceptional patience and strict adherence to the scientific method, or a set of rules governing the entire process. Once someone has declared to have proven a theory though, the scientific community need not reinvent the wheel to validate it. By simply verifying the scientist’s existing work through a peer-review process, scientists determine if their new thesis is correct.
Proof of Work’s validation through solving “cryptographic puzzles” can be thought of in this manner. This article’s purpose is not to go into excessive detail about how exactly cryptography assures these conditions through mathematics, but if you find the topic of cryptography intriguing, there’s certainly no shortage of highly engaging content to brush up on.
What is also important to understand about Proof of Work in Ethereum is that transparency is essential to the mechanisms’ success. One byproduct of the Ethereum Blockchain’s transparency is that anyone with a full copy of the ledger can examine the collective history of work performed by miners, and verify it for themselves on their hardware. This unrestricted transparency creates a sense of “trustlessness” on the network which is unparalleled. If everyone can see the full history of work done on the blockchain, users need not worry about who is doing the actual work so long as their honesty can be mathematically assured. The result is a fully decentralized consensus mechanism which is surprisingly democratic and enforced by unique transparency.
In addition to transparency and cryptography, Ethereum goes so far as to take several additional precautionary measures when verifying transactions. Transactions are not considered to be fully ‘confirmed’ until several new blocks have been joined on top of them. If a malicious actor were able to spend coins fraudulently, this would give the network time to catch their attack and reverse. Fraudulent transactions that are detected by the extra confirmations will be ignored by the rest of the network as if they never occurred. Making it even more difficult and expensive to attack the network.
This brings us to the largest vulnerability with Proof of Work as a consensus mechanism. With everything previously discussed in place, the only known way that an attacker could ever commit such a large fraud as double spending on the network is to possess a huge portion of computational power. Enough power for one user to mine each block for themselves, and ensure that they win the “cryptographic puzzles” every time.
This attack is known as a ‘51% attack’ due to the need to possess more than half of total network hash-rate (a simple majority of nodes). The honest reality is that no single party could achieve such a share of the total hash-rate. Having such a power would require massive capital investments that would likely outweigh the potential reward for an individual. In fact, attempting such fraud is almost economically infeasible for an individual when factoring the total hardware costs, energy usage, real estate needs, and maintenance demands. Additionally, if one user were to ever control a majority of the power but a minority of public backing, the community could essentially fork the blockchain and switch to a version without that node. The result would be a community that rejects the value of the new currency being created by the malicious and all-powerful node in favor of their collective community.
Consequently, it is better (i.e. more profitable) for miners under Proof of Work to remain honest. Proof of work is the current standard for Ethereum and most other popular blockchains because of this found success. Despite any flaws, it’s needless to say that the system works incredibly well for the difficult task it is assigned. The theory is clear and has served well for cryptocurrencies to date.
Proof of Stake
While worth celebrating, there are still several drawbacks to consider when using Proof of Work as a primary consensus mechanism. The wildly popular standard introduces several key scalability issues. These issues include highly demanding energy / environmental costs, increasing hardware requirements for miners, and exposure to possible centralization through economies of scale. All of these problems must be considered when looking at the future of Proof of Work (PoW), and the future of Proof of stake (PoS).
Proof of Stake is an alternative consensus mechanism that has gained massive community support in recent years. PoS has been able to observe several key problems found in PoW and has factored them into its design. Take for example the following scenario:
In Proof of Work, hash-rate determines how likely a participant is to add the next block of transactions to the blockchain. Seeing as how processing power is cheaper to buy in bulk, this opens the network to potential attack from large-scale parties. Examples include governments, corrupt mining pools, and botnets. It’s possible that, if malicious by nature, the largest mining pools banded together, they could easily control the entire network.
In Proof of Stake, however, the participant’s financial stake determines their likelihood to receive a reward. With PoS the more money that an address holds, known as “staking”, the more likely it is to discover the next block. It is similar to a lottery in that the winner is determined by chance, not by their resources. However, the more money ( which can be thought of like lottery tickets) they have staked, the higher their odds of discovering the block.
An attacker who wants to make a fraudulent transaction under PoS would need over 50% of the coins on the network to create a fraudulent transaction. Buying 50% of the coins on the network would push the price up steeply, and makes such an endeavor incredibly expensive, if not impossible. Whereas with Proof of Work, economies of scale make it much easier to gain a majority hash-rate through bulk purchases and alliances.
So how will Proof of Stake be implemented in Ethereum? Casper is Ethereum’s current Proof of Stake proposal. Casper is not a specific implementation, but rather a family of two major projects under current research by the Ethereum core development team. Essentially, there’s a version of PoS known as Casper FFG (developed by Vitalik Buterin) and Casper CBC (developed by Vlad Zamfir). The differences between the two seem minor until you start diving deep into their collective documentation. Let’s just say that, well, doing such requires a hefty sum of technical knowledge. Ultimately though both implementations have the same goal of moving Ethereum towards proof of stake.
Casper would not be a complete replacement of Proof of Work. In fact, the idea behind Casper is to build a hybrid PoW/PoS consensus mechanism which can be observed and tested before making any permanent changes to the platform. Under the current tested version of Casper, staking only occurs every 50 blocks, and acts as a sort of additional checkpoint for block validation. The result is a system which has all of the benefits of Proof of Work, and all of the benefits of Proof of Stake. Proof of Stake acts as an additional security layer which counteracts the centralization risks of Proof of Work.
As a result, Casper will gradually bring about a more secure Ethereum which benefits both users and miners. As a miner, Casper will ensure that centralization does not pose a risk to generating profits. Additionally, promising users a more stable and secure platform usually serves to inflate currency prices and promotes market confidence. Making the act of mining Ether, and holding onto generating funds more profitable in the long-term.
Where is Proof of Stake at today?
On December 31st, 2017 the Ethereum core development team released their first alpha test-net of Casper to the public. While a huge achievement worth celebrating, it is important to note what the alpha network actually includes:
- Support for Pythereum (one of three major node clients)
- Unoptimized performance at the code’s current stage
- Unfinalized plans for global parameters/settings such as the required base investment to participate in staking Ether
- Staking only occurring once every 50 blocks
- A lack of public testing and data analysis regarding Proof of Stake
There’s evidently a huge amount of work and research to be done before we’ll ever see Casper implemented on the main Ethereum network. Also, Casper does not bring about the end of Proof of Work, but rather the coexistence of two great mechanisms which will further Ethereum’s security and overall public support. While there’s no official timeline for Casper’s roll-out, it’s safe to say that there’s plenty of room for Proof of Work in 2018 and beyond.