Just like any other application platform, nothing on the face of the earth can be perfect. The Blockchain technology isn’t. Bitcoin, which has been leapfrogging in the digital currency space for some time runs on the Blockchain platform.
There are three concerns; security risks of running untrusted code, the scalability bottlenecks of decentralized blockchain networks, and the general level of resilience inherent in the application platform.
A US based Blockchain Technology Enthusiast, Alid Castano, is concerned about the three issues mentioned earlier. These issues are discussed below.
Untrusted Code
The ultimate goal of blockchains is to allow the exchange of valuable, scarce data — i.e. digital property — without the need for a third party to oversee each transaction.
This only works, however, if you can effectively prevent malicious parties or accidental bugs from tampering the system. And the main way this vulnerability is exploited is via untrusted, third-party code.
There are two main factors that determine the risk of running untrusted code: first, the completeness of the scripting language, second, the location where the code is executed.
Only after being safely executed is the resulting transaction data stored in the underlying blockchain.
Scaling Decentralized Blockchain Networks
Blockchain protocols have a challenging limitation: every fully participating member in the network must process every transaction. Due to this, as the blockchain grows, it becomes more expensive, both in terms of time and money, to handle more transactions. So if you want your transactions to remain fast and cheap, the scalability of the platform has to be a top concern.
There are two main ways to think about the blockchain scalability: on-chain scalability (inside of the blockchain) and off-chain scalability (outside of the blockchain).
In a traditional, centralized database system, this difference would be trivial — as transactions increase, you can just invest in more servers for more computing power.
But in a decentralized blockchain, you have little control over the computing power of fully-participating peers in the network, yet you still need to ensure a diverse majority of them can process each block to prevent the centralization of power.
The seemingly unavoidable trade-off of low transaction throughh a high degree of centralization is what makes on-chain scalability difficult for blockchain systems.
The safe bet is to circumvent the problem by making minimal use of the blockchain. This is the path Blockstack (Blockchain competitor) takes–the only data stored inside its underlying blockchain are critical data bindings.
This provides a shared source of truth, i.e. to verify who owns what, while allowing all other computation and storage to be handled by already proven internet infrastructure.
The Resilience of the Application Platform
Since the outcome of any single cryptocurrency is still largely uncertain, you ideally want to pick the application platform that will be the most resilient to any blockchain failure.
For example, if a hard-fork or 51% attack is performed on the platform’s underlying blockchain — how quickly will it be able to recover, if at all?
This is especially alarming because blockchain designs are intrinsically irreversible. If a hacker discovers a flaw in a deployed smart contract, they are free to attack it as long as they can.
Past attacks have demonstrated how limited defenses are: perform a community-splitting fork to freeze the funds (as done in the DAO attack) or, if the theft can’t be reversed, hack the remaining vulnerable contracts before the attacker does (as done in the $31M Parity multisig wallet hack).
And, since protocol changes require the majority agreement of all miners, any fixes post-attack happen slowly and end up being disruptive to the ecosystem.

Thanks for Contributing!