Technical Challenges
Legal Maturity: Blockchain smart contracts are self-executing and governed by codified Business logic or Regulatory requirements; but they not legally binding yet. A legal framework has yet to be established around Blockchain networks.
Code vulnerabilities: Smart contract logics are self executing and once executed can’t be reversed. An error in code logic can potentially be exploited without any legal recourse for the affected parties.
Centralization Risk: A Blockchain ledger takes up space and keeps growing. As the gigabyte space increases, it will become increasingly difficult for small time participants to function as full nodes. Only a few powerful groups will have the necessary computing clout to act as a full node. [This is happening already with Bitcoin]
As the complexity of Proof-of-work algorithm increases, it becomes increasingly difficult for individual miners to mine a block. Miners can form a cartel (pool) to mine blocks and distribute the received incentives among themselves in proportion to their compute power. Large enterprises with more resources at their disposal can act in the same fashion and hijack the system.
Consensus algorithms (such as first generation Proof-of-Work used in Bitcoin) may be easier to crack using application-specific-Integrated-Circuits (ASICs). Large enterprises or a cartel of miners, with access to such dedicated hardware can again drive out individual miners with limited resources.
These are threats to the true decentralization of a Blockchain network, as a handful of individuals with access to more compute capabilities will get to rule the network.