ru
  • 135

Экономико-технические угрозы для блокчейн-приложений

Проблема безопасности для блокчейн-приложений и компаний, работающих в данном направлении, становится все более актуальной. Стремительное развитие информационных технологий и регулярное внедрение нововведений приводит к тому, что технологии информационной безопасности постоянно отстают.

 

В этой статье мы постараемся проанализировать основные риски, которые могут угрожать блокчейн-компаниям, и приведем примеры успешного решения подобных сложностей.

Экономическая несостоятельность приложения

В процессе создания блокчейн-приложения, разработчику необходимо учитывать, что все элементы продукта находятся в тесной связи друг с другом, и его задача состоит в выборе правильной экономической модели и прогнозировании поведения участников приложения.

 

Чтобы лучше понимать суть проблемы, рассмотрим простой пример. Предположим, что в рамках работы блокчейн-приложения, пользователям начисляются реферальные токены за выполнение определенных задач. Этот процесс регулируется умным контрактом. Цель разработчиков в том, чтобы стимулировать пользователей к продолжительному использованию их приложения. В результате они решают начислять вознаграждение всем пользователям, которые ранее выполняли задачи. Таким образом, токены получают не только те пользователи, которые выполняют определенную работу в данный момент, но и те, кто ранее пользовался приложением.

 

Блокчейн приложения

 

У такой модели есть сразу несколько недостатков. Во-первых, пользователи, которые выполняли работу в числе первых, больше не имеют стимула работать, так как они в любом случае получат вознаграждение за счет работы новых пользователей. Соответственно, и само приложение будет продолжать функционировать только до тех пор, пока в системе будут регистрироваться новые участники. Во-вторых, по мере роста количества пользователей, число токенов, выплачиваемых в виде вознаграждения определенному участнику, будет уменьшаться, и у участников, которые регулярно выполняют определенные задачи, не будет финансового стимула работать.

 

Лучшим выходом из данной ситуации станет тщательный анализ возможных вариантов развития событий. Только так можно выбрать подходящую модель поведения, которая не будет подвергать риску сложную систему, состоящую из нескольких элементов, не связанных между собой.

Отсутствие анализа внешних факторов, влияющих на экономику приложения

Суть данной проблемы – в зависимости системы от внешних факторов. Чем выше эта зависимость, тем сложнее создать модель приложения.

 

В первую очередь следует уделить внимание таким нюансам:

 

1. Прогнозирование точного количества участников, которые будут пользоваться умным контрактом. Как правило, сделать это практически невозможно, так как для регистрации в системе требуется лишь Ethereum-адрес.

 

2. Уровень потребляемого газа при отправке транзакций также сложно спрогнозировать, особенно в сложных системах.

 

3. Внешние факторы, которые могут спровоцировать резкое повышение или падение потребительского спроса.

 

4. Цена токена в сравнении с фиатными валютами и резкие колебания его стоимости. Этот показатель играет ключевую роль, так как от стоимости токена будет зависеть доходность проекта и выгодность использования блокчейн-приложения для пользователей.

 

Самым эффективным способом устранения подобной проблемы считается изменение стратегии координаций. Разработчикам желательно разработать несколько таких стратегий и создать план, по которому они будут использоваться автоматически.

Издержки по транзакциям и отсутствие стимулов обращения пользователей к смарт-контрактам

В данный момент система Ethreum работает таким образом, что умный контракт не может вызвать сам себя. Для этого необходимо, чтобы сторонний участник системы запустил транзакцию с соответствующим кодом. Запуск транзакции, в свою очередь, влечет за собой определенные финансовые расходы, даже если запущенный метод в итоге не принесет прибыли. Это существенно снижает привлекательность приложения для пользователей, а разработчики постоянно вводят различные экономические стимулы для участников системы. Но основная проблема в том, что при создании приложения невозможно заранее предугадать, какое количество ресурсов понадобится для активации определенного метода.

 

Транзакции блокчейна

 

Для сохранения популярности приложения среди пользователей разработчику следует оптимизировать затраты на выполнение алгоритмов с учетом издержек, которые несут пользователи при обращении к смарт-контракту.

Работа с непроверенными данными

Сфера применения смарт-контрактов тесно связана с понятием Интернета вещей. В идеале экономика будущего будет представлять собой сеть умных вещей, которые взаимодействуют между собой посредством умных контрактов. Выглядит это по-настоящему удивительно. Смарт-контракты и оракулы (механизмы обмена информацией между умными контрактами и реальным миром) сделают возможным многие вещи. К примеру, автомобили смогут самостоятельно заправляться и парковаться, дроны будут доставлять продукты на дом, а умные дома – самостоятельно выплачивать арендную плату.

 

Подобное будет возможным в том случае, если блокчейн-технология будет тесно связана с реальным миром. В данный момент это достаточно проблематично, так как большинство блокчейн-приложений обладают замкнутой экосистемой, которая не связана с реальным миром. Для подобной связи необходим оракул – механизм, который может быть подвержен атаке, и приложение получит неверные данные.

Работа программы зависит от других участников приложения

Несмотря на высокую популярность умных контрактов, государственные организации и крупные частные компании пока не спешат внедрять их для автоматизации основных рабочих операций. Этот процесс займет немало времени, а пока на рынке появляются многочисленные приложения, которые одновременно задействуют большое количество участников. К таким приложениям относятся децентрализованные биржи, обменники, депозитарии на основе блокчейна и др.

 

Участники блокчейна

 

Рассмотрим данную проблему на примере игры «камень-ножницы-бумага». Предположим, что для участия в ней каждый пользователь должен внести по одному токену, а победитель получит два токена в качестве вознаграждения.

 

Этот процесс может вызвать определенные сложности:

 

1. Пользователь, который уже внес токен для участия в игре, может никогда не дождаться оппонента. В данном случае внесенная монета будет заморожена, и пользователь понесет убытки. Чтобы этого не произошло, необходимо пересмотреть процедуру внесения взносов: предположим, по истечению определенного временного промежутка средства должны возвратиться первому участнику.

 

2. Если оба игрока внесли необходимый взнос и отправили захешированные игровые элементы, следует установить четкий временной промежуток для совершения транзакции с открытым кодом. Без этого один из пользователей может пожертвовать свои взносы, чтобы заморозить средства другого пользователя.

 

3. Если в процессе игры каждый из пользователей будет постоянно демонстрировать один и тот же элемент, затраты на проведение транзакций будут превышать сумму потенциального выигрыша, и игра перейдет в режим ожидания.

 

Используя такой простой пример, можно заметить, насколько много недостатков в реализации игры. Учитывая, что в ней принимает участие всего двое пользователей, несложно догадаться, насколько усложниться процесс, если участников будет больше.

 

Чтобы повысить безопасность, следует предусмотреть процедуру отката данных к предыдущим значениям при достижении определенной временной метки. Кроме того, необходимо предусмотреть штрафные санкции для недобросовестных участников.

Манипуляции исполнением транзакций

Транзакции, которые проводятся посредством умных контрактов, представлены в виде открытых данных, которые видны всем пользователям сети без исключения. Включение транзакции в блок зависит от майнеров, и хотя обычно этот процесс занимает не более 13 секунд, бывают случаи, когда включение транзакции в блок занимает более минуты. Это время может быть использовано злоумышленниками для некорректного влияния на совершение операции.

 

Классическим примером такого процесса можно считать фронтраннинг. Это неэтичная, а иногда и незаконная сделка, при которой брокер выставляет свой ордер перед одним из крупных ордеров клиента, который потенциально может привести к изменениям на рынке. Соответственно, брокер получает уведомление о приобретении пакета ценных бумаг и покупает его, а потом перепродает другим участникам рынка по завышенной цене.

 

Если рассматривать фронтраннинг с точки зрения блокчейна, можно с уверенность сказать, что этот процесс можно встретить практически на всех децентрализованных обменниках и биржах, так как злоумышленник получает данные о всех транзакциях, совершаемых в сети, и может заставить майнера закрыть сделку раньше, получив таким образом прибыль. Для устранения этой проблемы следует использовать алгоритм ZkSNARk, который закрывает доступ к данным о транзакциях для злоумышленников и делает махинации невозможными. 

Comments system Cackle