I am currently reading about the scalability of Ethereum but I cannot really understand the difference between some terms that occur often.
What is the relation between the terms:
- Layer 1
- Layer 2
- on-chain
- off-chain
- Plama
- Sharding
Just to quote this very good article about Ethereum scalability:
At the moment we have in general two ways which might solve this problem:
We build a blockchain where every node doesn’t have to process every operation. → called Layer 1 solutions (or On-Chain solutions) e.g. Sharding
we squeeze more useful operations out of Ethereum’s existing capacity → called Layer 2 solutions (or Off-Chain solutions) e.g. State Channels, Plasma
Layer 1 solutions typically require a hard fork of the blockchain, on the other hand Layer 2 solutions typically do not require a hard fork, because they can be implemented as smart contracts.
So layer 1 means built-in functionalities while layer 2 means top level protocols.
On-chain operations are made inside the Ethereum network. Off-chain operations are made outside the network, and rely on the blockchain to ground their security.
Ethereum Plasma introduced a novel scaling solution that could enable Ethereum to reach many more transactions per second than currently possible. Like payment channels in the Bitcoin Lightning Network, Plasma is a technique for conducting off-chain transactions while relying on the underlying Ethereum blockchain to ground its security.
Essentially, sharding is a particular method for horizontally partitioning data within a database. More generally, the database is broken into little pieces called “shards”, that when aggregated together form the original database.
I hope this is helpful.