This is one of the most difficult problems facing the blockchain industry. It's known as the blockchain trilemma, introduced by ya boi Vitalik that proposes that there are three core pillars to blockchain which are decentralization, security and scalability. However the issue comes when trying to find a balance between all three, so trade-offs are made which leads to one of the three pillars being abandoned and just sticking to two.
There are some solutions being worked on, such as:
This is focusing on the main blockchain which is the base consensus layer where all transactions are settled, L1 chains include the likes of Ethereum, Bitcoin, Zcash, ect.
In Ethereum’s case, the network is so large and can only process so many transactions that it can incur huge delays, so this is where sharding comes in. The idea is that the network would be split into smaller chunks/shards which each handle a portion of the transactions (taking a divide & conquer approach), this way the network can start to scale without compromising security & decentralisation.
A really simplistic analogy would be a car:
This is a type consensus mechanism used by blockchains to come to a shared & decentralised decision or distributed consensus. It’s a move away from the consensus mechanism called Proof of Work (POW) where miners expend energy to prove that a certain calculation is true, therefore being called proof of work, as they had to prove they did the work.
Proof of stake on the other hand, has a few differences, the validators (POS miners) will stake some of their Etherereum in a smart contract, the validator then has to check all the transactions and act honestly, any bad actors who try to game the system will be punished by having their stake slashed so validators are incentivised to be honest.
A simple way I like to see it is a race, imagining that with POW it’s a competition of the top 100 runners where you only get one winner which makes sense as they used most energy to win, but that means that the energy expended by the other 99 goes to waste, so in terms of energy & time it’s not the most efficient. On the other hand, POS, using the same analogy, not all 100 runners would race, instead 1 would be randomly picked and once they have completed the race, another random runner would be chosen.
The main benefits are:
There are plenty more pros/cons, but for the sake of simplicity and the fact that I’m not that intelligent, I’ll leave it here.
Basically these are extra layers built ontop of L1’s, which have some of the work outsourced to them to be done faster & cheaper.
There are several different L2 solutions, each with it’s own purpose, specific application and of course pros/cons.
Why do we need L2’s … Simply to help with transactions and compete with traditional financial systems which have years of sophistication. Currently, the Ethereum network can handle around 15 transactions per second vs. some of these L2’s which can handle from 2000+ transactions per second, a massive improvement. To put that into context, visa can handle around 50k transactions per second, so it’s fair to say that to compete there needs to be a significant improvement.
Even with the L1 improvements of sharding & POS which will increase the number of tx’s the network can handle, L2’s will still be needed to continue to optimise, especially if we’re being optimistic to think that in the future with mass adoption the Ethereum network will have millions of transactions in the future…
If so much work is needed, why not start over … So yeah, a lot of work is needed, and since these challenges are incredably complex, they are very attractive for ambitious builders and engineers/architects thrive from working on challenging problems.
These are complimentary blockchains that take the stress and workload from larger networks in order to help process transactions and increase scalability. Usually focusing on large batch transactions. As the name implies these are separate from the original blockchain and these sidechains record their own transactions & any security breaches do not affect the mainchain.
For example, Ethereum focuses on decentralisation & security but can be slow when it comes to scalability which is where Polygon can come in and help which is a sidechain that focuses on scalability and security.
A really simplistic analogy would be a highway:
Another example is Bitcoin, which is great for transactions however it doesn’t have the capability for smart contracts. So using a sidechain called Rootstock, it allows users of BTC to use smart contracts on the sidechain which is representative of the BTC network.
State channels are similar to sidechains in the way that transactions are done outside of the L1 chain. However, State channels create a replicate network that executes transactions together very quickly, saving time & cost.
An example of this would be the Lightning network on the Bitcoin network.
A really simplistic analogy would be a bar:
As the name implies, they allow a bunch of transactions to be rolled up into a single transaction and then push that completed work back into the main blockchain.
Zk Rollups: The Zk stands for zero-knowledge, they are outsourcing the validation of the list of transactions using validity proof, then they submit the proof of the work they have done to the L1, so again it’s checking a bunch of transactions altogether. This rollup is really efficient, fast and could zk rollups can hit a scale that’s similar to visa transactions which would be incredibly impressive.
Optimistic Rollups: These assume that transactions are good & valid by default, instead of using validity proof, they use a mechanism called fraud-proof which is public and therefore fact checable. If one of the optimistic rollup transactions is proven to be incorrect the transaction is reversed and then whoever validated the block is slashed, meaning punishment for stakers/validators in the form of removing some ETH from those who were involved in wrongful or fraudulent activity. Also, optimistic rollups can interact with smart contracts.
These are a blockchain within another blockchain… So it has a parent/child relationship, with ETH being the parent & nested blockchain being the child.
If you initiate a transaction on the Ethereum network, the transaction hash would be created on both blockchains, the parent would delegate the work to the child, once the work is done, the child would return the completed work back to the parent - These transactions happen with the advantages of being much quicker & cheaper. An example is the OMG Network
Greater adoption would allow more great minds to come together, experiment and through trial & error find solutions which in turn would allow for wider spread use of blockchain technology.
Also, these are the three pillars, let’s try not to leave any behind…