Журнал "Information Security/ Информационная безопасность" #4, 2022
Смарт-контракты позво- ляют создавать протоколы коммуникации, не требую- щие априорного доверия между сторонами. Одна из причин, провоци- рующих уязвимости, заклю- чается в сложности проекти- рования, разработки и тестирования смарт-конт- рактов. См а р т - к о н т р а к т ы имеют обширную область применения не только в финансовом секторе, но и в иных отраслях экономики, и мировой тренд на цифровизацию является одним из основополагающих драйверов развития этого инстру- мента 2 . Смарт-контракты позволяют создавать протоколы коммуни- кации, не требующие априорного доверия между сторонами. Участники процесса могут быть уверены, что контракт будет выполнен только при соблюдении всех условий, в нем предусмот- ренных. Кроме того, использо- вание смарт-контрактов избав- ляет от необходимости в посред- никах, значительно снижая рас- ходы на проведение операций. Каждый блокчейн может использовать собственный спо- соб реализации смарт-контрак- тов. Например, в сети Ethereum для написания смарт-контрак- тов используется язык Solidity. С точки зрения разработчика, Solidity легко читается практи- чески любым программистом и на первых шагах обманчиво кажется простым. Кроме кода, смарт-контракты содержат два публичных ключа, один из которых предоставлен создателем контракта, а другой является цифровым идентифи- катором, уникальным для каж- дого смарт-контракта. Неизменность смарт-контрактов Поскольку смарт-контракты работают в рамках неизменяе- мой децентрализованной блок- чейн-сети, их результаты нельзя подделать ради неправомерно- го извлечения выгоды. Но неизменность является не толь- ко достоинством, но и недо- статком. Например, в 2016 г. хакеры взломали децентрали- зованную автономную органи- зацию The DAO и украли эфиры (валюта сети Ethereum) на мил- лионы долларов, воспользовав- шись уязвимостями в коде смарт-контракта. Поскольку смарт-контракт The DAO был неизменным, разработчики не смогли исправить код. В результате сеть Ethereum приняла решение откатить ситуацию до момента взлома, вернуть средства законным вла- дельцам, и этот форк является частью текущего блокчейна Ethereum. В то время как ори- гинальная цепочка, получившая название Ethereum Classic, никак не отреагировала на взлом, руководствуясь тем, что события в блокчейне никогда не должны изменяться. Высокая зависимость от уровня программистов и подверженность багам Считается, что взлом злоумыш- ленниками качественно написан- ных смарт-контрактов практиче- ски невозможен, а популярные смарт-контракты в индустрии децентрализованных финансов на сегодняшний день являются самым надежным способом хра- нения документов в цифровом мире. Но код пишется программи- стами, а из-за того, что смарт- контракт виден всем пользова- телям блокчейна, в рамках кото- рого он функционирует, его воз- можные уязвимости будут видны всей сети, притом что устранить их не всегда возмож- но из-за неизменности. В идеальном мире разработка смарт-контрактов должна осу- ществляться только опытными программистами, особенно когда речь идет о конфиденциальной 46 • ТЕХНОЛОГИИ Смарт-контракты и вопросы безопасности март-контракт – это приложение, использующее блокчейн и выступающее в качестве цифрового соглашения, подкрепляемого набором правил. Смарт-контракты не являются договорами в юридическом смысле в большинстве юрисдикций, включая российскую. Это всего лишь приложение, удовлетворяющее формальным требованиям и запущенное в распределенной системе блокчейна. Смарт- контракты делают транзакции отслеживаемыми, прозрачными и необратимыми. Результатом выполнения контракта может быть обмен активами между сторонами 1 . С Александр Подобных, CISA, эксперт по кибербезопасности инфраструктуры блокчейнов и противодействию мошенничеству в сфере оборота криптовалют, член АРСИБ Рис 1. Торговое финансирование на основе смарт-контрактов 1 При написании статьи использовались материалы https://academy.binance.com/ru/articles/what-is-a-smart-contract-security-audit 2 https://cbr.ru/Content/Document/File/47862/SmartKontrakt_18-10.pdf
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzk4NzYw