Blockchains aim to create a more transparent and effective redistribution of resources, among all network participants.
Although there are some clear advantages over closed and federated systems, open and permissionless protocols do have their issues, too.
For instance, key argument from CS, or computer science, is that one cannot scale a system without losing security, privacy (decentralisation), or both.
The CS trilemma shows how complicated it is to properly distribute a system among independent peers, who can join and leave the network as they please.
Communication between nodes, or network latency, could become impossibly clogged, or slow, as nodes can choose to randomly disconnect at any point without consequences.
In addition, network bandwidth plays a key role on the overall system performance, which can be a significant problem for many cryptocurrencies, as most people in the world don’t have enough resources to buy large amounts of data.
An example used in the communications industry is the “last mile” problem. The last mile is typically the speed bottleneck in communication networks; its bandwidth effectively limits the bandwidth of data that can be delivered to the customer.
This is because retail telecommunication networks have the topology of “trees”, with relatively few high capacity “trunk” communication channels branching out to feed many final mile “leaves”. The final mile links, being the most dense and expensive part of the system, as well are the most difficult to upgrade to new technology.
Hence, the lack of scalability around blockchain technology.
Solutions to the scalability problem?
We can see the real problem is not with storage or CPU processing, as many claim, but rather with network latency and bandwidth. If nodes take too long to communicate data between themselves, we risk of making the network asynchronous, destroying the value of timestamped transactions.
Many developers and educators have tirelessly worked towards deploying new technologies within and around blockchains, which help reduce bottlenecks with the network’s latency and bandwidth.
A sidechain is a separate blockchain that is attached to its parent blockchain using a two-way peg. The two-way peg enables interchangeability of assets at a predetermined rate between the parent blockchain and the sidechain. The original blockchain is usually referred to as the ‘main chain’ and all additional blockchains are referred to as ‘sidechains’.
A user on the parent chain first has to send their coins to an output address, where the coins become locked so the user is unable to spend them elsewhere. Once the transaction has been completed, a confirmation is communicated across the chains followed by a waiting period for extra security. After the waiting period, the equivalent number of coins is released on the sidechain, allowing the user to access and spend them there. The reverse happens when moving back from a sidechain to the main chain.
Sidechains may require extra communication between chains, however, it also promotes a higher level of interoperability between blockchains, a key dimension of network scaling.
Thanks to the useful comments from the Ardor community, I noticed I made the basic mistake of confusing Sidechains and childchains, which are inherently different. While the first refers to blockchains which are interoperable and connected to a third-party blockchain (like Loom and POA are connected to Ethereum), the later refers to a technology that allows for certain transactions to be forged in a subset chain, within the main parent blockchain (like Ardor). Transactions validated in a childchain are processed and secured by the parent chain forgers.
In essence, childchains help with cross-communication between chains, as all information is kept within the same system; childchains do seem to increase security as there are fewer steps for information to reach the mainchain (parentchain). Nevertheless, if information is stored in the same blockchain, how can such a system improve scalability, when compared to partitioned systems like the upcoming Beaconchain, which will bring PoS to Ethereum? That’s a question I’m still looking to answer in the future, after doing the proper research.
This innovation allows for off-chain state channels to be opened, peer-to-peer, in essence allowing for users to transact without paying fees.
The idea is that you can commit some bitcoin to open a channel with another node, which allows you to transact with said node until the channel is closed, and the balance is distributed between participants.
The Lightning Network, for example, which was successfully launched thanks to Lightning Labs already has more than 2,000 active nodes and about 15,000 channels.
Sharding is a technique that separates a single blockchain, into multiple smaller blockchains (or shards). Each shard runs independently and processes each own transactions. Improvements are being tested, such as cross-sharding, which allows shards to communicate between themselves. Some of the key benefits of sharding are the reduction of the overall blockchain size and the possibility for a quadratic network performance enhancement.
There are multiple versions of sharding currently being implemented, being the most widely known Near protocol, Polkadot and Ethereum’s Beacon chain. At the moment of writing, there are two major versions of sharding being used:
- Partitioned sharding, where shards do not communicate with each other directly through a central relay;
- State sharding, where shards communicate with each other through a state, or central, relay;
Alternative consensus mechanics
By implementing consensus mechanics that differ from PoW, where miners need to verify the entire blockchain state by committing work through computer power and energy spending, blockchains could potentially become more scalable.
Some of the proposed solutions are represented by either a less decentralised or less secure consensus mechanics. This is, by lowering the overall network security or user privacy, it’s possible to increase scalability.
Such mechanics are associated to PoS, or proof-of-stake, or federated systems, like FBA.
How to scale Bitcoin?
I think the best solution are off-chain payments channels, as they allow the main Bitcoin blockchain to exist with maximum security, while at the same time, users can enjoy faster payments with lower fees.
By creating an extra layer on top of the Bitcoin blockchain, we can guarantee the main chain remains secure and with a decentralised governance model, while the new top layer can be more prone to centralisation.
P2P payment channels seem to bring the best of both worlds, as they allow for faster transactions while giving users privacy over their keys.