На даний момент у мережі Ethereum опубліковано більш ніж 1700 децентралізованих програм (DApps), і їх кількість не перестає збільшуватися. І хоча всі Dapps покладаються на смарт контракти, надійність самих смарт контрактів стоїть під питанням – кіберзлочинці заробили вже понад...
мільярд доларів на їхніх зломах.
Для того, щоб створити життєздатний смарт контракт, програмісту потрібно вивчити зовсім нову мову програмування Solidity, найменша помилка при написанні смарт контракту на Solidity може призвести до катастрофічних наслідків - витоку інформації та/або високої вартості транзакції. Нещодавно виявлений баг у смарт контрактах Parity призвів до того, що компанія втратила понад півмільйона ефіру (ETH) вартістю понад $169 мільйонів. Чи варто звинувачувати Solidity? Смарт контракти, написані на Solidity мають проблеми безпеки, особливо проблему цілісного переповнення. Хакери без особливих труднощів знаходять недоліки в контрактах і крадуть мільйони доларів. Багато з цих зламів сталися через помилки, зроблені програмістами при написанні коду на Solidity.
Наприклад, Beauty Chain (BEC) була дуже відомою криптовалютою в Китаї, в перший день продажів на біржі OKeX її ціна зросла на 4000%. З максимальної ринкової вартості $70 мільярдів компанія в один момент опустилася до $2 мільярдів, коли ціна її токенів стала дорівнює нулю. Це сталося через багу в смарт контракті ECR20. У випадку BEC розробник додав до контракту метод під назвою batchTransfer(). Цей метод був призначений для полегшення передачі токена відразу декільком особам. Проте розробник зробив критичну помилку в наступному рядку коду:
uint256 amount = uint256(cnt) * _value;
Вирішення проблеми перед смарт-контрактами, написаними на Solidity, було створено мову під назвою "Lity". Ця мова використовується для розробки смарт контрактів та децентралізованих програм на блокчейні CyberMiles. Lity складається з мови, компілятора і роботи віртуальної машини, що динамічно розширюється. Це означає, що всі існуючі програми на Solidity тепер можуть працювати без змін на віртуальній машині CyberMiles (CVM).
Мова Lity більш гнучкий, надійніший і безпечніший, ніж Solidity. Наприклад, Lity підтримує функції нової мови, які можна додати за допомогою технології over-the-air. Наприклад, алгоритми публічних/приватних ключів на мережі Ethereum дуже довгі та дорогі. Мережа просто не може підтримувати багато видів програм... За допомогою однієї з нових функцій, відомої як “libENI” час, необхідне здійснення цих операцій може бути скорочено до пари мілісекунд (у 10000 разів швидше, ніж зараз). Ці операції також коштуватимуть значно дешевше.
Поліпшення обчислювальної здатності Lity має величезний потенціал для застосування в обміні криптоактивами між блокчейнами, а також для включення офф-чейн даних у блокчейн транзакції.
Зрештою компілятор Lity перевіряє коди в контрактах ERC 20 та ERC 721 на всі відомі баги та помилки. А віртуальна машина автоматично запобігає проблемам на кшталт цілісного переповнення чи анулювання власника контракту.
Майбутнє смарт контрактів
На жаль, Solidity став цапом-відбувайлом для всіх проблем, знайдених у сучасних смарт контрактах. Для того, щоб у майбутньому забезпечити надійну роботу подібних контактів, були створені нові мови програмування на кшталт Lity.
Відомо також, що фонд Ethereum і сам шукає шляхів для вирішення цих проблем. Його голова працює над використанням “Casper” - механізму, за допомогою якого Ethereum поступово перейде на консенсус PoS. Керівництво фонду вважає ці зміни необхідними для вирішення багатьох проблем, пов'язаних з PoW. Фонд CyberMiles, однак, уже повідомив про те, що він знайшов вирішення проблеми – робоча модель DPoS.
Ці модифікації, безсумнівно, матимуть низку застосувань для мережі Ethereum та для одного з найважливіших її компонентів - смарт контракту.
За матеріалами hackernoon.com
Читайте також
Аналіз криптовалютних пар BTC/USD, ETH/USD, XRP/USD на 07.08.2018
Ринок поки що погано протистоїть ведмежій тенденції цін. Пара XRP/USD оновила річний мінімум, що може бути ознакою відновлення глобального даун-тренду всього ринку
Набридли CryptoKitties? Колекціонуйте криптоїжків
Hedgie (Їжачки), так називається гра, яка щойно запустила свою передпродажну версію. Тепер любителі можуть грати в Hedgie – нову гру для криптоколекціонерів на основі Ethereum.
