The current article you are reading is Part 4.
Please see below for other articles contained in this series of Blockchain Basics.
- Blockchain Basics: The Blockchain Trilemma (Part 4)
- Blockchain Basics: Consensus Algorithm (Part 3)
- Blockchain Basics: Cryptocurrency and Blockchain Technology (Part 2)
- Blockchain Basics: Different Types of Networks (Part 1)
The Blockchain Trilemma
Although a technological paradigm shift towards embracing more decentralized networks for real-world everyday use is gaining traction, it would be far-fetched to assume that these systems are flawless in design.
For example, when it comes to blockchain, there are 3 key parameters that must be optimized as much as possible in order for a network to reach its maximum potential.
Now, in a perfect scenario, we would be able to have the best of all worlds, but as is usually the case in real life, in order to achieve strong performance gains in one area, we have to sacrifice from somewhere else.
You can simply look at your own day-to-day activities and realize how difficult it can be to maximize the Trilemma of Life:
Although the following is very much a sweeping generalization of things, for so many people around the world, it holds true that:
- When you’re a student, you have time + energy, but very little money.
- When you’re a working adult, you have energy + money, but very little time.
- When you’re retired, you have time + money, but very little energy.
Everything is relative, and of course there’s always exceptions to the rule, but you get the underlying idea — At any given moment in your life, you can probably only maximize 2 out of 3 key components, but trying to obtain all 3 (a type of “holy trinity”) is far from being an easy task.
The same holds true when trying to construct a blockchain network that is able to provide cutting edge performance across all 3 phases of: decentralization, security, and scalability.
At the heart of blockchain technology is the promise of decentralization, which, in theory, should give us the ability to construct trustless systems.
As covered in Part 1–3 of our past Blockchain Basics articles, the successful implementation of trustless systems into human society, using real-world data, would profoundly reshape and change the way in which we do things.
For example, through the use of smart contracts + decentralized networks, it’s now possible for people (i.e., buyer and seller) to conduct a real estate transaction without the need for any intermediaries (such as an escrow company).
The implementation of blockchain technology would not only save on costs, but it would make the entire process of buying and selling a home infinitely faster than through traditional means (which can take 1–2 months to complete, if not longer).
M-Voting: Allow citizens to vote on policies they want enacted in Seoul or services they want provided by Seoul. Moreover, this process will be open and transparent on the blockchain.
Openness and transparency are definitely some of the main selling points for switching to blockchain technology.
With all that said, although more decentralization is usually desired on a blockchain network (e.g., to prevent 51% attacks, make it harder/impossible for cartels to form, ensure fairness, etc.), that’s not always the case, particularly if we’re talking about trying to make drastic modifications/edits on the fly.
As it turns out, by nature of being decentralized (i.e., having numerous nodes spread out across the globe), getting everyone together on the same page at the same time is a lot easier said than done.
For instance, on the Bitcoin (BTC) network:
The rate of Bitcoin development is painfully slow.
Soft fork upgrades like SegWit, which increases the number of transactions the Bitcoin network can handle, only recently achieved 50 percent uptake. This is for a popular initiative activated in August 2017.
Ditto for the Ethereum (ETH) network, which has been planning to transition from Proof-of-Work (PoW) consensus algorithm to Proof-of-Stake (PoS) for several years now.
Although the pace of Ethereum development is comparatively faster, the speed is still glacial compared to the conventional software world.
Though, these timeframes are expected given the necessary level of coordination and the economic stakes involved.
As a result, critical upgrades like ETH 2.0 have been on the horizon for over two years.
As such, there are certain blockchain projects out there, such as NEO (NEO), who have argued that more centralization during the early days of development is actually preferred.
In contrast, NEO’s greater level of centralization has allowed it to implement major blockchain upgrades relatively quickly. The control the founders have over funding, development, and the network’s layout is an advantage, and a risk.
Because blockchain technology is still very much in its infancy stage, there is often times a trade-off that needs to be made.
For public blockchain projects, obviously more decentralization should always be the end goal, but as shown in the examples above, it’s not ideal for trying to implement dramatic upgrades to a network in a timely fashion.
Likely, through continuous trial and error, the blockchain industry on the whole will eventually figure out what the ideal amount of decentralization is for a given project at its particular stage of development.
Perhaps, there is a happy compromise somewhere in the middle? For example, the ICON network was fully decentralized in October 2019 (after first launching in late 2017), and is now currently governed by 22 Main P-REPs (Public Representatives), with 122 total P-REPs currently registered (Main P-REPs, Sub P-REPs, Candidates).
In comparison to NEO, the ICON network is certainly much more decentralized at this juncture, and like the former, the latter is also still aggressively pushing the envelope on developing new technologies and innovations to improve the current protocol.
As will be discussed in a later section of this article, the key performance parameter of scalability is something that all blockchain projects are now aggressively working on to make a lot better.
As great as the idea of decentralization is, it would be altogether worthless if it was sitting on top of a blockchain network that lacked robust security.
It’s difficult enough trying to establish trust with known entities in your life, can you even begin to imagine attempting to conduct serious business with some random stranger located halfway around the world (e.g., buying/selling real estate, peer-to-peer lending, etc.)?
Moreover, even if you somehow knew that you could trust the other party implicitly, what about the blockchain network itself?
It would be too naive to assume that malicious actors (hackers) weren’t working day and night (24/7) trying to break/steal/scam/harm/infect/etc. anyone and everyone on the network.
For example, the concept of “Decentralized Finance” (DeFi) has become a key buzzword that’s garnered a lot of attention and hype over the past few years in the blockchain space, with many proponents confident it will become a major driver for future industry growth.
However, as the most recent exploit shown below illustrates, the DeFi space still has a lot of work to do in regards to beefing up security and eliminating hacks.
More details below:
DForce, a Chinese decentralized finance protocol, today lost $25 million worth of its customers’ cryptocurrency due to a well-known exploit of an Ethereum token.
The hack is linked to a well-known Ethereum exploit that was yesterday used to drain more than $300,000 from decentralized exchange Uniswap. Uniswap smart contracts containing imBTC — an Ethereum-based, tokenized version of Bitcoin that’s run by TokenIon — were drained. Lendf.Me integrated imBTC in January.
The Uniswap attack took advantage of a known vulnerability that concerns the ERC777 token standard. Due to the way Uniswap smart contracts are set up, a hacker could continually withdraw ERC777 funds from Uniswap before the balance updated, gradually draining the contracts of imBTC. The dForce hack, though entirely separate from the Uniswap hack, is suspected to use the same exploit.
And for those who have been around the blockchain game for awhile, you’ve probably heard by now the Decentralized Autonomous Organization (DAO) hack, back in 2016, which caused the Ethereum network to have to initiate a hard fork.
The details are as follows:
On the 18th of June, members of the Ethereum community noticed that funds were being drained from The DAO and the overall ETH balance of the smart contract was going down.
A total of 3.6m Ether (worth around $70M at the time) was drained by the hacker in the first few hours. The attack was possible because of an exploit found in the splitting function.
The attacker/s withdrew Ether from The DAO smart contract multiple times using the same DAO Tokens. This was possible due to what is known as a recursive call exploit.
Now, at this stage of the game, it doesn’t really matter so much whether any hack + exploit comes from a software bug (i.e., “bad” code) on the network itself, or from an application (e.g., DApp, Decentralized Exchange, etc.) built on top of the network, either way, the end result is yet another red alert signal that critics of blockchain can use to argue against its adoption.
No doubt, having funds stolen (i.e., tokens drained from a crypto wallet) is one sure-fire way to dissuade users from fully embracing blockchain technology.
An additional data point from earlier this year:
The IOTA Foundation has shut down its network and requests users to close their Trinity wallets after a supposed hack. On Twitter the foundation told its working with law enforcement to investigate a coordinated attack in which an undisclosed amount of funds has been stolen.
The foundation reported that there are around ten victims, all of which have recently used the Trinity wallet. The latest update by the IOTA Foundation suggests that a flaw in an older version of the Trinity wallet is the cause of the hack.
Internal research suggests that the hackers have been able to steal seeds, which are basically the private keys to a wallet. Several of the hacked wallet owners have already been contacted. The Trinity wallet is a new addition to the IOTA network, as it was introduced last summer.
Quite frankly, in order for mainstream adoption of blockchain technology to gain full support from the masses, these type of security issues outlined above (and many others) must be eliminated as much as possible.
As it pertains to The Blockchain Trilemma, the best projects out there fully realize that significant performance gains made in the key areas of decentralization and scalability can never come at the expense of greatly reduced security (which is difficult enough trying to get right even when you’re NOT trying to “sacrifice” it for something else!); over the long run, that’s a sure-fire path to ruin.
Ultimately, at the end of the day, if a blockchain network and its DApps/protocols/etc. aren’t absolutely reliable + secure, nothing else matters.
Finally, let’s talk about the topic of scalability, which over the last few years has generated a ton of discussion + hype from the crypto community.
To understand why scalability is so important for mass adoption of blockchain technology, one doesn’t need to look further than to the following chart to quickly understand why:
As shown above, when it comes to speed (i.e., transactions per second; TPS), current industry-leading payment processing solutions such as Visa, well, sad to say, they unfortunately leave even the most prominent blockchain networks (e.g., Bitcoin, Ethereum, Litecoin, Ripple, etc.) in the dust.
In other words, very high-volume transactions aren’t really within the realm of possibility for most (if not all) blockchain networks, currently.
For example, Bitcoin is both decentralized and very secure, but as a consequence of The Blockchain Trilemma, with speeds of ~7 TPS for sending/receiving BTC tokens, that’s about as slow as it gets for a blockchain network.
To complicate matters even further, a lot of the times, blockchain projects will publicize and brag about their “blazing fast” performance, which hasn’t yet been achieved in reality (only on paper).
Certainly, bumping up TPS radically on a decentralized blockchain network is no easy task (don’t forget, we’re dealing with independent nodes scattered across the globe). But that’s the price we pay for decentralization — There are no free lunches!
Be that as it may, in any case, it’s apparent that the speed of transactions on various decentralized blockchain networks will need to rapidly improve in order for this new technology to even keep pace (never mind supplant) the existing centralized solutions, such as Visa and Mastercard.
Bitcoin, for example, has turned to a Layer 2 solution (a secondary framework or protocol that is built on top of an existing blockchain system) called the Lightning Network.
Or more specifically:
To put it simply, the idea behind the Bitcoin Lightning Network might’ve sounded something like this: we really don’t need to keep a record of every single transaction on the blockchain.
Instead, the Lightning Network adds another layer to Bitcoin’s blockchain and enables users to create payment channels between any two parties on that extra layer.
These channels can exist for as long as required, and because they’re set up between two people, transactions will be almost instant and the fees will be extremely low or even non-existent.
The actual distribution of funds happens when the channel gets closed.
And although the Lightning Network has thus far been able to meaningfully increase TPS and reduce costs significantly for Bitcoin users, it’s by no means a perfect scaling solution, as there have been a number of concerns raised in recent memory.
As well as the following:
Again, we are dealing with The Blockchain Trilemma here; everyone wants faster blockchain networks yesterday, but we need to remember that they should never come at the expense of security, and to a lesser extent, decentralization.
In regards to future scaling solutions and developments for boosting TPS, there seems to always be something new in the pipeline.
Moving on from Bitcoin, we can see that developers working on the #2 blockchain project in the world, Ethereum, have also been busy trying to solve the TPS challenge.
Concepts such as Sharding and Plasma have become sort of buzz words that you might have heard about in recent years.
With headlines such as 1 million transactions per second, it’s kind of tough to ignore, right?
What is sharding?
“Sharding” draws from a traditional scaling technique called “database sharding,” which effectively breaks a database into pieces and puts each part on a different server.
The goal of sharding is to move away from requiring “full” nodes — those which store the full state of the network and every transaction that occurs.
Instead, each node stores a subset of this data and only verifies those transactions. If a node needs to know about transactions or blocks that it doesn’t store, then it finds another node with the information it needs.
Sharding refers to splitting the entire Ethereum network into multiple portions called ‘shards’. Each shard would contain its own independent state, meaning a unique set of account balances and smart contracts.
As for Plasma:
The main idea of the Ethereum Plasma is to establish a framework of secondary chains that will communicate and interact as sparingly as possible with the main chain (in this case, the Ethereum blockchain).
Such a framework is being designed to operate as a blockchain tree, which is hierarchically arranged in a way that numerous smaller chains can be created on top of the main one.
These smaller chains are also referred to as Plasma chains or child chains. Note that sidechains and Plasma chains are similar, but not the same thing.
See here for the key differences between Sharding and Plasma.
Worth emphasizing is that the scalability problem is by no means an easy one to solve, and therefore, certain ideas and concepts that seem the most promising today can easily be displaced by new (better) ones tomorrow.
In the case of Plasma, the jury is still out, but surely headlines such as the following aren’t going to inspire confidence that this particular scaling solution will ultimately work out for Ethereum:
For Ethereum, is it now time for Optimistic Rollup to save the day?
In summary, no decentralized blockchain network has yet really figured out a way to effectively solve the scalability problem yet.
Without question, The Blockchain Trilemma makes it exceptionally difficult to turbocharge TPS without severely compromising decentralization and/or security along the way.
In fact, as the follow image will show, certain blockchain projects will therefore elect to “sacrifice” on one (or two) areas so that they can better focus (optimize) on another.
The key takeaway is to realize that there currently doesn’t exist a “perfect” blockchain project out there that is able to offer best-in-class performance across all 3 key parameters of: decentralization, security, and scalability.
The Blockchain Trilemma means that something’s gotta give, and realistically speaking, we’ll have to choose and settle for 2/3.
For now, anyway.
Perhaps someday in the future, we’ll all be able to:
Until then, let’s keep learning + working + improving!
Thanks for reading. Salamat po.
If you enjoy our content and feel like we are doing a good job in helping to grow the ICON Project and ICON community, please consider supporting us by voting for ICON Pinas.
Every last vote counts and can help so much!
You can learn more about ICON Pinas by following us here:
Disclaimer: Cryptocurrencies are EXTREMELY volatile! These assets are also very speculative in nature, and no one should ever buy any without first conducting their own thorough research + due diligence. Never put any more capital at risk than you can comfortably afford to lose all of!
As ALWAYS, proceed most carefully, and if you have any questions, please consult a professional financial advisor.