Every Node runs the blockchain in order to maintain Consensus across the blockchain. This gives extreme levels of fault tolerance, ensures zero downtime, and makes data stored on the blockchain forever unchangeable and censorship-resistant. But all this is wasteful, as each Node repeats a task to reach Consensus burning electricity and time on the way.
This makes computation far slower and more expensive than on a traditional single computer. There are many initiatives that seek to reduce this cost focusing on alternative means of maintaining Consensus, such as Proof-of-Stake.
2-Network speed/cost
Blockchain networks require Nodes to run. But as many of the networks are new, they lack the number of Nodes to facilitate widespread usage. This lack of resource manifests as:
Higher costs — as Nodes seek higher rewards for completing Transactions in a Supply and Demand scenario
Slower transactions — as Nodes prioritise Transactions with higher rewards, backlogs of transactions build up
Over time, successful public blockchain networks will have to incentivise Nodes, whilst creating favourable costs for users, with transactions completed in a relevant timeframe. This balance is key to the economics of each blockchain.
3-The size of the block
Each transaction or “block” added to the chain increases the size of the database. As every node has to maintain a the chain to run, the computing requirements increase with each use. For large public implementations of Blockchain this has one of two affects:
Smaller ledger — Not every Node can carry a full copy of the Blockchain, potentially affecting immutability, consensus etc.
More centralised — There is a high barrier to entry to become a Node, encouraging a larger amount of centralisation in the Network, with bigger players able to take more control.
Neither of these scenarios is desirable, without considering the full implications, as it will likely affect the use cases for blockchain variants.
4-Speculative markets
Many blockchains are run using token/currency models to fund development or manage the economics of Nodes. For example, Ether (ETH) is the currency used to pay for computing power (or Gas) on the Ethereum network. Therefore ETH is a currency for computing power.
Traditional currencies like USD, GBP, EUR (also called Fiat currencies) are generally linked to value of their respective economies e.g. GBP to the UK. These economies are well developed, regulated and stable. ETH is not. However, due to the potentially disruptive nature of Blockchains, people have taken to speculating on the value of the digital economies they create.
As these markets are subject to limited regulations, and are highly speculative they are prone to rapid fluctuation and manipulation, spiking transaction value. This presents particular risks when transacting from Fiat currencies into blockchain currencies. For example 1 ETH may cost ~$200 today, but ~$180 tomorrow, a 10% price fluctuation. Whilst this can create large rewards, it also presents high degrees of uncertainty for projects developed on public blockchain technology.
5-Hard and Soft Forks
Many blockchains and currencies decentralise their decision making. For example Bitcoin allows Nodes to “Signal” support for improvements to the core Software that run the network. This allows the blockchain to avoid centralised decision making, but also presents challenges when communities are divided about the best course.When Nodes change their Software, there is potential for a “Fork” in the Chain. Nodes operating the new Software will not accept the same transactions as Nodes operating the old one. This creates a new blockchain, with the same history as the one it is built on.
Forks create significant uncertainty, as they have the potential to fragment the power of the blockchain network into lots of variants. They are also likely to be necessary, as without the capacity to update the Software, the blockchain is unlikely to be future proof.
6-Immutable Smart contracts
Once the smart contact is added to the blockchain, it becomes immutable, in that it cannot be changed. If there are flaws in the code that may be exploited by hackers, they are there forever. This is not a concern when a smart contract is not being used, but as smart contacts behave like accounts, they can be used to store large amounts of value.
This can create scenarios where hackers can exploit code flaws to send the contents of smart contracts to their own accounts. As the blockchain is immutable, these Transactions are very hard to undo, meaning large amounts of value may be lost forever.
I think, Insufficient qualified staff. But this situation can change from country to country. For example, particularly university education was not ready for this technology in Turkey.
Khulood Obaid provided a nice list of potential weaknesses, but we should all keep in mind that this a technology that is under development and that is far more complex than most people realize. The waste of energy, for example, that people associate with the Blockchain, is mostly true for the proof-of-work consensus mechanism of Bitcoin. Various alternatives exist. Blockchain is a "moving target", and things will change quite a bit in the near future...