Alexander Davydov, DAO.Casino Solidity Lead Developer, about the upcoming update of Solidity and the changes awaiting smart contract developers:
“The main changes in Solidity will involve security. In the developers community there has been a longstanding tendency to apply ever more stringent requirements to the code, which in turn – they have hoped -- would help alleviate some of the areas of vulnerability in smart contracts made by inexperienced programmers. The second important issue for the language development team has to do with optimization Any Solidity developer encounters the need to reduce the consumption of “gas” at some point, and after the announced modifications have been implemented, the work of EVM will become more efficient.”
Solidity will soon abandon language constructions now generally regarded as ‘tortured’’ if not altogether obsolete, and the syntax will become plainer, more basic, and thus more accessible (indeed in some cases simply more comprehensible). However, most of these modifications will not affect those developers who have followed the language support team’s recommendations from the beginning. As a rule, programmers working at companies which maintain rigorous standards with respect to the product always follow the community’s recommendations and stay alert and ready for change: DAO.Casino is actually one of them. We always update our inventions before the latest version of Solidity appears on the horizon, even if some of the changes are not prescriptive in nature.
As an example, I’m going to fill you in about a vulnerable area that will be history immediately after the update. In the smart contracts we find construction functions that are stipulated by the contract, and in most cases the contract owner remembered to specify them when the contract was given a new title. This means that the constructor’s name was the same as the contract name. However, if the developer renamed the contract and forgot to accurately modify the function, then anyone could take advantage of the error and, in effect, become the owner ! Potential disaster for the developer! So, as we can see, the security problems in Solidity have not usually developed as result of defects of language but more often because of the inattentiveness of the developers themselves.
Alongside the Constantinople hard-fork, which has been planned for autumn, the developers of Solidity will explore and develop the possibility of Bit Shift. At present this is realized by indirect, less efficient means, but after the update the operation will be carried out on the EVM level. Bit Shifts will make it possible to realize numerous logical operations in a more cost effective way, which will result in Ethereum's virtual machine working faster and faster.
Acceleration of the work of some solutions using smart contracts will be influenced by the CREATE2 function. The principal negative has been that up until now it was necessary to deploy smart contracts among those areas where smart contracts had always been utilized even if there was no dispute to justify the trouble taken. An additional downside was that it required quite a number of resources. With CREATE2, this perceived necessity will cease to exist because the developers will simply be able to specify the contract address without actually deploying it, and this address will not change.
Now more about efficiency and cost reduction. The imminent changes will introduce new calculations for storage operations, which will reduce gas consumption. The developers will be able to validate the code of a third-party contract with only a small (or ‘cheap’, if you will) outlay. For example, let’s assume that we need some function demanded by a certain contract with a certain code. It used to burn a great deal of gas, since it was necessary to shift the codes from one contract to the other, and then compare them. Now it will be possible just to weigh up hashes of those codes, which is much easier and faster.
We at DAO.Casino keep an eye on the development of Solidity, and constantly make our products more secure and faster, following the community’s recommendations. Now we are exploring how to use the impending modifications of the language to a fuller extent.