Cryptocurrencies, as technological and innovative as they are, have not been free from programming errors that have caused very significant damage to the public that had invested in the tokens or deposited money on exchanges and wallets.
Unfortunately, no technology is without risks and the choice of technical tools to rely on must always be made with the utmost care.
Let’s make a brief summary of the most serious programming errors in the blockchain world and their consequences:
Ethereum and the Parity Wallet chaos.
Imagine being an amateur developer and discovering a bug in a wallet, in this case, the Parity Multisig, with over 580 users for a current ETH value of about 300 million dollars.
You discover that they have forgotten to indicate the owner of the Library Wallet, namely the code of the wallet.
What would you do? If you were dishonest you would take control of the wallets and go and buy a Lamborghini.
Instead the developer Devops199, after taking control of the library, had the wonderful idea to delete it, and then he asked: “Is this a serious issue?”. No, you just burned 300 million dollars.
The 92 million bitcoins.
On August 8th, 2010 the developer Jeff Garzik, while analysing Bitcoin’s blocks, realised that there was a problem: the total number of BTCs resulting from the blocks was 92 million, not 21, as expected by Satoshi Nakamoto.
The error was so serious that the community decided to rewrite the blocks that contained the error even if this meant deleting the transactions contained in the blocks. This incident was defined by the developer Wladimir van der Laan as the worst in the history of Bitcoin.
The Rex incident.
The Rex platform, launched in 2017 wants to bring the advantages of the blockchain to the real estate sector, through a decentralized system for the management of real estate listings.
A good idea, except that the 2017 ICO was characterized by numerous errors, including one that caused investors to lose $1.3 million in tokens for an error in a line of code within a smart contract. Fortunately, Rex’s managers had already raised $13 million with venture capitalists, so they were able to repay the losses.
The idea of DAO, Decentralized Autonomous Organization, seemed the most brilliant for Ethereum because it presented itself as a kind of venture capital driven by smart contracts.
Whoever deposited 1 ETH got 100 DAOs in the largest token launch seen to date. All good, too bad there was an error in the code related to the token that allowed multiple withdrawals of ETHs before the balance of ETHs in DAOs was updated. The problem was not the blockchain of Ethereum, but a bad programming of the smart contracts of DAO: At a certain point the hacker who discovered the bug stopped withdrawing even if, in theory, he could have drained the DAO.
Like all software, Bitcoin needs periodic upgrades to allow it to work properly. If something goes wrong with upgrades then you may be close to catastrophe. In 2013, Bitcoin was updated from version 0.7 to 0.8 with an increase in the size of the blocks. The problems started after the update: in fact the new version was incompatible with the previous one and therefore an involuntary hard fork was made. Users realized the problem and warned the developers, but the only solution was to go back to version 0.7.
Binance suspends trading.
A programming error can be devastating for an exchange. In February 2018, Binance suspended trades for two days due to a programming error.
The problem was to be solved in just one day, but the closure was extended due to unforeseen problems. A hard blow to the exchange’s reliability.