Percent of failures at Ethereum of 0.36%
Researchers studied 1 million smart contracts of Ethereum: 3 686 of them were broken
“The blockchain is ideal – it is the safest method of carrying out transactions allowing to transfer money anywhere in reading minutes and cheaper in comparison with traditional methods”. Only until it does not glitch. And what occurs if it happens? Percent of failures at an Ethereum (ETH) of 0.36%.
“To get to the bottom of perfection”
The blockchain became famous for the safety, transparency, ease of use, and it is considered the true perfection of the world of technologies. But whether there are at it failures?
Recently researchers studied 1 million contracts of an Ethereum (ETH) and said that the 3 686 of them were broken. This quantity can seem tiny, remaining 99.64% of contracts went without problems; with such index of ETH would receive 5+ at any school of the world. However, this small percent of the violated contracts can cost millions of dollars for those who transfer funds through a network. It is no wonder that not the blockchain of ETH, and the people programming it is the reason for a problem.
In the report under the name “Search of Greedy, Generous and Suicidal Contracts” made by the famous experts in the sphere a blockchain one million contracts ETH were studied. Among experts of a research, there were Ivica Nikolic from School of information technologies in Singapore and also her colleagues Pratik Saksena and Aashish Kolluri. Other prominent authors of this report — Ilya Sergey from University College London, Great Britain, and Aquinas Hobor from School and college of information technologies of Yale University.
Authors of the report are not just average developers, but the real leaders in the sphere of a blockchain and other technologies. The fact that they selected the time for a matter study shows the importance of understanding that unfortunate transactions mean to a blockchain and its users.
Researchers revealed several types of the “defective” contracts. All defective contracts are divided into three categories, depending on the nature of problems:
- “Greedy contracts”: being put simply into words, such contracts can be used for lock of ETH which is in them
- “Generous contracts”: the contract which can be used for transfer of ETH to other address instead of specified. It can occur accidentally or intentionally
- “Suicidal contracts”: the contract which someone outside can “destroy”
The name speaks for itself. The greedy contract does not want to give ETH which is in it. All ETH in the contract can be frozen for the indefinite time. Researchers found a set of examples in addresses of contracts which accepted but did not translate ETH further.
When such contract receives ETH, means will “be lost” because they cannot be transferred to other address. It can accidentally occur or on evil intention (why to someone to freeze ETH in the address of the contract which will not be able to transfer funds further?). It is a little reason, but one of them — sabotage.
In most cases, at the end of operation smart contracts on the ETH network shall release means. The majority of games of an Ethereum are based on smart contracts where the player can either “benefit”, or “buy” a line item. If the sale or a scoring did not happen, means go to the initial user.
The defect of generous contracts is that the untied address can find a method to withdraw funds, without the existence of the appropriate reason in the smart contract. Such removal leads to loss of means of the sender, and the receiver does not receive the expected transaction.
“Abnormal switches” are quite widespread in smart contracts. They are used in the contract glitches, was released accidentally or if there were any problems. However, sometimes such mechanisms glitch and affect all contract.
Parity — the most frequent example of the suicidal contract. The system does not set the correct condition launching the switch that allows any who understands a blockchain, control the smart contract. Therefore the smart contract is not really “smart” anymore!
Parity — the popular purse of an Ethereum storing tokens on online to the platform. It was supposed that thanks to such online platform the user will have permanent control over the tokens and their translations.
However, there was a big problem. The developer accidentally or intentionally (depending on that whom you ask) deleted the contract of Parity library. The group of researchers calls it “the suicidal contract”. Besides, Parity-purses — greedy, can also forever freeze ETH. The epic error in programming led to the loss of hundreds of millions of dollars in ETH.
The Parity system was the cornerstone of many contracts that led to origin “suicidal” and “greedy contracts”. The contract of Parity library would be “suicidal”, and the contract of a purse — “greedy”.
Solidity: language of an Ethereum
The blockchain of an Ethereum is unique as he uses coding language under the name Solidity. The biggest lack of advanced languages, such as Solidity, is that programmers should learn the absolutely modern language for the creation of the contracts ETH. Any error in a code can lead to an unforeseen error. And sometimes the error can be added intentionally to a code for some mean purposes. Considering ETH cost, an error which freezes or allows to withdraw funds can cost very much.
Parity has one of the most expensive errors of coding in the history. But while programmers learn modern languages, it is impossible to avoid a certain percent of errors. Solidity — language which is useful for mastering for coding on a network of an Ethereum, but if it is mastered not at the brilliant level, it can entail adverse effects.
Inference: 99.6 success % — it is all the same devilishly good result!
Almost in any system of estimates of 99.6%, it is considered result much above an average. However even if less than a half of percent can lead to million losses, to be read by the positive, the result shall be 100%. Similar researches will help developers to understand problems when using Solidity and to reveal the weakest spots of contracts. Initially, researchers planned to find bugs and errors in programs before they begin to be used. But as a result, they also made classification of the defective contracts.
Ethereum — not the simplest network for coding as the programmer should learn the absolutely modern language — Solidity. Critics of ETH claim that such cryptocurrencies as Cardano, DRGN, EOS, ICX, NEO and Stratis much simpler in use or allow to program smart contracts in languages already familiar to developers.
It would be desirable to hope that the comprehensive investigation revealed congenital shortcomings in time while not so many users suffered. Ethereum took very much the strong positions in 2017. But in 2018 which already prepares a set of calls everything will be not so stable. ETH — the leader in quantity launched on its ICO and Dapps platform therefore despite the growing competition, it has the best chances of the capture of the market.
ETH can be considered as a valuable resource in cryptocurrency space. It is a reliable, long-term game though in a percentage ratio эфириум cannot become the principal winner in 2018.