Среди преимуществ цифровой валюты Эфириум, о которых так часто говорят разработчики платформы, больше всего внимание акцентируется на смарт-контрактах блокчейна, особенно на их уникальной функции «вечной жизни». По словам программистов, умные контракты могут функционировать до тех пор, пока существует система.
Однако, условно «вечное существование» некоторых контрактов может быть нарушено по желанию владельца цифрового договора. Хороший пример – недавний хард-форк системы Эфириума, с помощью которого инвесторам удалось вернуть деньги, выведенные одним из американских хакеров, использовавшим уязвимость в исходном коде. По сути, они изменили условия функционирования технологии smart-contracts, что в следствии привело к раздвоению системы Эфириума на две независимых криптовалюты.
Возникает закономерный вопрос: так, смарт-контракты могут работать вечно? Или все-таки условия договора можно нарушить, пусть даже коллективным голосованием инвесторов? Подобные вопросы волнуют многих пользователей, решивших работать с Эфиром (Ether).
После инцидента с площадкой DAO, когда пользователю удалось вывести солидное количество цифровых монет Эфира, многие программисты решили более серьезно исследовать исходный код технологии умных контрактов.
Выяснилось, что программная платформа Эфириума далека от идеала, более того, в исходном коде есть масса ошибок и потенциальных уязвимостей, которыми, рано или поздно, воспользуются хакеры.
Один из значимых крипто-программистов Дэн Майер рассказал, что рассмотренные коды некоторых смарт-контрактов изобилуют явными программными ошибками. «Я могу описать кодировку smart-contracts, как ужасную. Мало того, что условия контрактов могут изменяться большинством голосов вкладчиков, так еще и сам код заведомо уязвимый. Любой хакер, имеющий средние навыки в программировании, сможет воспользоваться сразу несколькими уязвимостями» – добавил Майер.
Также Дэн Майер привел статистику по количеству ошибок, обнаруженных в разных командных строках. Для IT-индустрии нормальным показателем считается 20—45 багов на тысячу строк кода. Если говорить о компании Microsoft, то в среднем на ту же тысячу строк кода встречается всего одна ошибка, а то и меньше. Лучший результат принадлежит космическому агентству NASA – на 500 тысяч строк не допускается ни одной ошибки.
После проверки исходного кода смарт-контрактов, оказалось, что на одну тысячу строк кода приходится около ста ошибок, что является недопустимым показателем для любого программного продукта, не говоря уже о частной финансовой системе.
Какие ошибки нашли программисты в коде Эфириума:
• Баги в кодировке системы безопасности платформы, что может привести к потере контроля над цифровыми кошельками и беспрепятственному выводу Эфира.
• Некоторые фрагменты кодировки не выполняют никаких функций, они лишние.
• Ошибки в системе распределения цифровых монет Эфира. Со стороны это выглядит, как обычное и необъяснимое исчезновения небольшого количества криптомонет.
Раньше считалось, что больше всего ошибок в системе связано именно с необъяснимой пропажей Эфира. Однако после исследования пришло четкое понимание того, что система небезопасна. Исходя из этого, можно задать хороший вопрос разработчикам платформы: стоит ли доверять смарт-контрактам? На какие условия соглашаются стороны сделки, подписывая заведомо неполноценный «умный» контракт?
Как же относиться пользователям и потенциальным инвесторам к цифровой валюте Эфириум? Стоит ли рассматривать ее, как перспективную инвестиционную площадку, способную преумножать вложения? Чтобы ответить на эти вопросы, рассмотрим две явных ошибки системы, которые могут стать фатальными.
Инвестиции в Эфириум предполагают вложения в процесс майнинга, то есть добычи цифровых монет. Тут есть два варианта: либо пользователь покупает специальное техническое устройство для добычи криптовалюты (miner), либо инвестирует в добычу других пулов, беря в аренду мощности для генерации Эфира.
В ходе майнинга система определяет, кому достанется вознаграждение за найденный блок в блокчейн, используя случайное число, заданное сетью до того, как майнеры начали добывать информационный блок. Майнеры, в свою очередь, подбирают загаданное системой случайное неизвестно число, используя для этого сложнейшие математические алгоритмы, и те, кто найдет число первым, получает награду за генерацию блока.
Каждый блок в системе Эфириума генерируется с периодичностью в 45 секунд. Так вот, опытному хакеру не составит большого труда за 45 секунд узнать, кто и какое число узнал, и опередить его, чтобы получить вознаграждение. И это возможно из-за многочисленных ошибок в коде.
Вторая явная ошибка заключается в коде безопасности системы. Несмотря на то, что разработчики заявляют о высокой степени защиты, хакерам до сих пор удается выводить чужие средства. Некоторые программисты полагают, что инцидент с DAO может оказаться только началом, если код не будет существенно усовершенствован, причем в ближайшее время.