Musings on Blockchain Scalability Solutions, Consensus Mechanisms, and Code Robustness — Part 1
This is Part One of a Three part series in which I cover the main fundamental roadblocks for blockchain technology and cryptocurrencies — namely scalability, implementing asynchronous Byzantine Fault Tolerant consensus mechanisms, and code robustness to hacks.
Blockchain technology is inherently difficult to scale — as the network grows, solving for latency and accommodating for more users and transactions runs directly counter to network security.
Let’s take a look at the proposed scaling solutions:
Lightning Network (https://lightning.network/)— uses off-chain hashed time-locked contracts to conduct atomic swaps within “channels”, which essentially provide for instantaneous, fee-less, transactions across currencies (i.e. swapping BTC for LTC and vice versa). The swaps are “atomic” meaning all the conditions necessary for the swap must be met, otherwise the transaction is automatically canceled. Ultimate settlement takes place on the primary Bitcoin blockchain.
A Lightning Network testnet is currently out, with no future date set for mainstream (read crypto users) adoption. In the middle of November, the first atomic swap was conducted between LTC and BTC (see https://blog.lightning.engineering/announcement/2017/11/16/ln-swap.html). Besides providing for the ability to swap various cryptocurrencies, the Lightning Network could also work as a decentralized exchange.
Potential Issues — to what extent will LN effectively scale the Bitcoin network — it undoubtedly will help in lowering the barriers in transacting/trading amongst cryptocurrencies, but how will it directly impact bitcoin’s scaling issues (i.e. 10x-100x)? Also, when will it be decidedly mainstream?
Raiden Network(https://raiden.network/faq.htm)—the “Ethereum Lightning Network” utilizes a similar technique to Lightning Network’s time-locked hashed contracts, save for providing flexibility to all ERC20 tokens as opposed to only BTC. Raiden provides a framework for scaling ETH payments, as opposed to smart-contract scaling (which is Plasma, below).
The Raiden Network held a fund-raise and will incorporate a native token, and there has not been any updates since the conclusion of their token sale on the 1st of November. Currently a simplified version has been released on github (https://github.com/raiden-network/microraiden). Meanwhile its token has surged in value since its inception (from ~$1 to $5.20 currently).
Potential Issues — the issuance of a Raiden token is irksome and rather superfluous, and also, no definitive timeline has been put forth. Additionally, by how much transactions per second would Raiden help the Ethereum protocol scale has not been explicitly stated.
Sharding — Ethereum solution to scalability that consists of taking a large block of data and breaking it into “shards” all on-chain (rather than off-chain — see https://github.com/ethereum/wiki/wiki/Sharding-FAQ). Led by arguably the smartest person within crypto V. Buterin; development timeline is approximately 3–5 years (tentatively set for 2020).
Plasma (http://plasma.io/) — similar to Sharding concept, developed by Buterin and Joseph Poon; to be utilized on the Ethereum blockchain. No timeline set. Plasma focuses on smart-contract scalability.
Iota (http://www.tangleblog.com/what-is-iota-what-is-the-tangle/)— utilizes a non-blockchain solution called a Direct Acyclic Graph (DAG) otherwise known as the “Tangle.” Iota boasts fee-less, instantaneous transactions and is primarily geared for machine-to-machine payments. It is also quantum computing resistant, which is a huge concern for blockchain security.
The Iota protocol has come under a lot of flack from the crypto community since it utilizes its own proprietary hash function (i.e. “Curl”)which has shown to be rather insecure when tested, although it has presumably been fixed. In addition, its consensus mechanism arguably does not provide adequate network security as long as its user base is below a specific threshold (hence its need for a central processor of all Iota transactions — the “Coordinator.”).
Potential Issues — Iota is arguably the most advanced in terms of crypto scalability solutions, yet the security of its network remains a glaring question mark. Will the network be able to run securely sans its “Coordinator?”
Which solution will ultimately succeed will be based on the execution of the respective core developer teams, as well the robustness of their respective consensus protocols and underlying code (to be covered in Parts 2 and 3).