In a recent article on Medium, Blockchain engineer Preethi Kasireddy describes the key challenges that Blockchain has to overcome to become practical for mainstream use.

According to Kasireddy, the main technical barriers are:

Limited scalability due to the requirement of the protocol that every node in the network processes every transaction. This is the result of Blockchain using a decentralized consensus mechanism to ensure desirable properties such as its security guarantees, political neutrality, censorship resistance, etc. Kasireddy, leveraging previous work of hers, describes a few proposals to improve scalability that are being currently explored. Those include moving a number of interactions or slow computations off of the blockchain (off-chain payment channels and off-chain computations); separating the overall status of the blockchain into different “sherds”, each of which stores just a part of the state and can alter it in parallel to other sherds; using directed acyclic graphs to control the propagation of interactions through the blockchain nodes.

Limited privacy is a consequence of recording all transactions in a public ledger, which makes traceablity possible. Kasireddy lists a number of possible solutions, including the use of cryptography to protect blockchain addresses; aggregating transactions in private pools (mixers); using group signatures to encrypt all transactions; using zero-knowledge proofs; and more.

Lack of formal contract verification , related to the traditional hardness of building formal proofs that are themselves bug-free, i.e., correct. There are not many proposals to solve this, says Kasireddy, who points at the work done by Yoichi Hirai for Ethereum.

Storage constraints are once again the effect of blockchain data replication and immutability. Solutions to this problem are all based on the idea that only a subset of blockchain nodes store the state of the system and include the Swarm peer-to-peer file sharing protocol; the distributed storage solution Storj; the decentralized content sharing platform Decent; IPFS, and more.

Unsustainable consensus mechanisms due to known issues with proof-of-work schemes that also affect blockchain and come down to the risk of centralizing verification. In particular, the existence of specialized hardware able to execute the verification step very efficiently as well as the use of mining pools all reduce the decentralization properties of the algorithm. One of the solutions outlined by Kasireddy is moving to a “proof-of-stake” consensus as a replacement of mining for counting the weight of each node in the consensus.

All of the above represents challenges for Blockchain’s success and at the same time attests to the vitality of the community of researchers and developers who are working on them. There is much more detail in Kasireddy’s article that we can review here, so do not miss reading it. Additional topics she covers include governance, tooling, and the general threat of quantum computing to cryptography-based systems.