(IJCH) An Insultingly Brief Discussion about Why the GHOST Protocol was Created (or How to make use of the Proof of Work Outcasts)
(Part I of the "Improving Proof of Work WITHOUT Off-Chain Solutions" Trilogy: GHOST)
IJCH - Inside JaiChai's Head (meaning: My warped, personal opinions and musings)
From the Author:
I am JaiChai.
And if I haven't had the pleasure of meeting you before, I'm delighted to make your acquaintance now.
The main goal of this article is to explain as simply as possible the "So what? Who Cares? And Then?" of the GHOST protocol.
I will NOT get into the deep, technical details of the protocol. That's what its Academic Paper is for.
Rather, I will give you the raison d' etre for GHOST; that is, the reason why it was created (i.e., the problem or condition to be solved) and what benefits the PoW blockchain can get from using it.
Revolutionary - During Its Time
The Original, Old Guy Consensus Mechanism is the good ole' Proof-of-Work (PoW).
It's used in Bitcoin, Ethereum (until final Casper implementation), Litecoin, Dogecoin, and the bulk of the rest of the cryptocurrencies in the space.
Because we know it works - a big plus among the many other consensus algorithms that haven't been fully battle-tested or released in the wild.
"But Alas, Poor PoW, I knew him well."
At this stage, it’s still revered as the groundbreaking "Grandfather" protocol. But most will agree, PoW is too slow to meet current and future needs.
Additionally, PoW's HUGE carbon footprint doesn't sit well with a lot of people. It requires massive mining operations that result in a form of centralization.
The power consumption of PoW rivals most third world countries. That's one reason why Ethereum is migrating away from PoW towards Proof of Stake (PoS). PoS is much more energy efficient and economically beneficial.
But in spite of its drawbacks, many users recommend and even current creators stubbornly cling to PoW.
Why do people have this love/hate relationship with PoW?
It works predictably. It works securely. It can be a modified PoW clone (a cut-n-paste, copycat PoW protocol) and still work fine.
IT JUST PLAIN WORKS. Period.
And with the longest track record of any protocol for successful, real world operations, it has a huge base of loyal advocates and technical pundits (including Cardano's Charles Hoskinson).
Shhhh...Don't tell anyone about the Stale and Orphan Blocks!
There is much confusion over the terms "stale" and "orphan" blocks.
To add to the confusion is this widely accepted over-simplification:
"Orphans" are not in the chain because they have no parents in the chain, "stales" are not in the chain because they have no children in the chain.
But wait a minute!
In reality, orphaned blocks do have parents - the previous blocks in the chain.
And stale blocks have no children simply because the chain they are on is "stale" (shorter, old - no longer rewarded).
Ok. Don't worry. Just allow me to explain.
Yes, orphan blocks have parents - but their parent's hash field points to an unknown block (as in the case of a local node not processing it).
This means that the orphan can’t be validated because its ancestry record is not complete.
In contrast, stale blocks have legit parents, but are not included on the current best block chain, likely because another chain was extended first.
Therefore, since they reside on a chain that won't be rewarded, stale blocks do not have offspring.
Stated differently, stale blocks were mined successfully, but happened to have the bad luck of being at the wrong place at the wrong time.
Regardless if it's Stale or Orphan, that block is barred from entry into "Sovereign Territory" ("The Longest Blockchain Holy Land") and must wander about aimlessly in "Mem Pool Land" with the other outcasts - again.
And The Quest to become a recognized citizen of the Empire (an accepted block of the Bona Fide, Longest Blockchain) starts from square one - again.
This represents a tremendous waste of time, energy, and potential resources for the blockchain.
Given the fact that many people are already disturbed by the computer resources and electricity required for the PoW protocol, can you imagine how irate they would be if they knew the fate of stale and orphan blocks?
And how do you think they'd feel when they learned that every day, over 1% of blocks produced in the PoW protocol is a stale or an orphan block?
The GHOST Protocol - Saving Resources and Improving the Blockchain with PoW Outcasts
Created by Yonatan Sompolinsky (PhD candidate ) and Dr. Aviv Zohar, both of the Hebrew University of Jerusalem, GHOST is a protocol modification that implements a chain selection rule; making use of blocks that are off the main chain to obtain a more secure and scalable system.
It is not a Layer 2, Off-Chain solution (e.g., Lightning and Raiden Networks), meaning that it does its magic without creating semi-autonomous Off-Chain communities (branches off the main chain).
This pleases critics of Off-Chain Solutions who argue that it may be easier for a user to become an oligarch (powerful, centralized player) in a smaller place where the only requirement is to broadcast the beginning and end of transactions to the main chain - in essence, invisible the majority of the time.
Consequently, they could be a big pain in the ass if they should decide to go rogue.
As promised, I am not going to go full geek-techy on you.
So, if so inclined, you can learn the technical details of how GHOST achieves improved security, scalability, and speed, by reading this paper by Yonatan Sompolinsky and Dr. Aviv Zohar:
In a Nutshell, GHOST is a Block/DAG
Using GHOST, the blockchain drastically speeds up (handling up to 1 block per second) WITHOUT compromising the consensus authenticity and security.
Ethereum implements a simplified version of GHOST; digging down to seven levels of "Uncle Blocks" only.
What is an "Uncle Block"?
An "Uncle Block" is Ethereum's version of an orphan block, but with a slight variation.
Uncle blocks are still mined, valid blocks, but for some reason were rejected (akin to stale blocks). Unlike traditional orphan blocks, Ethereum miners are still rewarded for mining an uncle block.
And why does Ethereum limit GHOST to only seven generations of uncle blocks?
Because going any further would incur transaction-slowing, complications due to the large computational burden of validating uncle blocks.
Also, using GHOST within an unlimited uncle block rewarding environment makes the thought of mining on a forked, malicious attacker chain just a little bit too tempting.
The GHOST protocol was created to address the stale and orphan block "Big Waste" issues by utilizing the weight of those blocks to strengthen its blockchain.
It also illustrated that pure, mono-style protocols may not be the answer to what currently ails the space and that hybrids like the BlockDAG are exciting fields of promise.
In order to ensure you have a balanced perspective, I must provide you with these caveats about the GHOST Protocol.
And I also must stress that there is no perfect protocol for every use-case and environment.
There is always a trade-off between security, performance, and scalability.
In fact, for every proponent of a certain protocol, there is one or more that will find a reason (legit or otherwise) NOT to advocate or use it.
So, here goes...
In the spirit of full disclosure, the creators of GHOST acknowledge the following:
GHOST operates on the assumption of rational actors (game theory) and admit that a serious, suicidal, and malicious player with the Hash power to commandeer the platform will defeat GHOST implemented blockchains (just like any other blockchain protocol).
The benefits of GHOST are commensurate to the ability of utilizing an X number of stale and uncle blocks.
By their nature, unless created by a malicious attacker, orphan blocks are almost always "twin blocks"; that is, they were born/found/created at the same time.
To GHOST, these blocks are difficult to deal with because they look like "a tie in a race or a draw in a fist fight" - no real winner or loser.
Consequently, the situation produces a circular kind of logic which takes longer than usual to solve. In other words, with too many orphans to deal with, a blockchain without GHOST may actually perform faster.
Lastly, like the majority blockchain protocols, the speed and scalability is a function of the protocol, not the capacity of the network (bandwidth).
Nevertheless, the GHOST Protocol was an important step in the evolution of On-Chain Scalability and Security Solutions.
Thanks for stopping by.
About the Author
Believing that school was too boring, he dropped out of High School early; only to earn an AA, BS and MBA in less than 4 years much later in life – while working full-time as a Navy/Marine Corps Medic.
In spite of a fear of heights and deep water, he performed high altitude, free-fall parachute jumps and hazardous diving ops in deep, open ocean water.
After 24 years of active duty, he retired in Asia.
Since then, he's been a full-time, single papa and actively pursuing his varied passions (Writing, Disruptive Technology, Computer Science and Cryptocurrency - plus more hobbies too boring or bizarre for most folk).
He lives on an island paradise with his teenage daughter, longtime girlfriend and three dogs.