В рубрику "Блокчейн и криптовалюта" | К списку рубрик | К списку авторов | К списку публикаций
Спектр задач весьма велик: от закрытых платформ для межбанковских расчетов до платформ, рассчитанных на миллионы m2m-транзакций в секунду в Интернете вещей. Довольно много надежд возлагалось на появление единой универсальной платформы, на которой будут строиться остальные решения, однако потребности индустрии растут намного быстрее, чем удается развиваться любой из существующих платформ. Как следствие, возникло множество разных подходов, основанных на все том же концепте, но адаптированных для разных задач.
Одной из общих привлекательных сторон блокчейна является неизменность реестра - истории событий, что позволяет использовать технологию в средах без доверия между различными участниками. Неизменность и защищенность гарантируются за счет распределенности, что означает, что полная или частичная копия реестра хранится на поддерживающих эту систему нодах - сети компьютеров, создающих новые блоки.
Можно выделить несколько наиболее распространенных классов консенсусов:
Рассмотрим некоторые популярные угрозы и подверженность им разных протоколов.
Самым первым был создан PoW-консенсус в основе Bitcoin и множества его форков, а также Ethereum (сейчас ведется работа по переводу платформы на PoS) и др. Так как участников сети очень много, кто угодно может стать майнером, казалось бы, система устойчива к атакам, направленным на конкретные узлы. Действительно, сам протокол имеет в своей логике определенные ограничения (размер блока, число проверок подписей на блок и т.д.) и более того, большинство клиентов имеет встроенную защиту от DoS-атак. Но есть и другие векторы атак. Например, атака Сивиллы (Sybil attack): злоумышленник запускает множество нодов, в результате чего вероятность подключения именно к ним высока, таким образом, транзакции могут быть не приняты, задержаны, записаны в отдельную цепь и, соответственно, это позволяет возникнуть Double-Spending. Однако наиболее критичной для всей сети является атака большинства (Majority Attack), т.е. если более 50% нодов будут в сговоре, т.к. тогда их версия системы становится основной. Более того, достаточно 25% системы, т.к. далее становится выгодно нодам поддерживать атаку (Selfish Mining).
PoS делает вышеназванные атаки сложнее, т.к. каждый узел должен иметь Stake, соответственно, гораздо дороже "захватить" большую часть сети. С другой стороны, вероятность форка (раздвоения сети) увеличивается (можно делать ставку на обе ветки), т.е. возникают различные идеи атак, когда выгодно поддерживать неосновную цепь, например P + Еpsilon Аttacks и др.
Если же рассматривать BFT, то ситуация с DoS-атаками другая, т.к. есть "лидер", отправляющий всем транзакции для подтверждения. В ситуации атаки на лидера выбирается новый. Злоумышленник может, "следуя за лидером", довольно надолго загрузить сеть. С другой стороны, благодаря устойчивости к византийским угрозам сеть будет работать, если в ней вплоть до 33% злонамеренных узлов.
Hashgraph пошел еще дальше, т.к. в нем нет лидера, есть асинхронность, т.е. нет необходимости дожидаться голосов от всех узлов, а также предполагается, что сеть может быть скомпрометирована. Единственное необходимое предположение – если снова и снова отправлять сообщение узлу, то он получит его за конечное время.
То есть по сути большинство платформ старается добиться того, чтобы атакующему было сложнее и дороже организовать серьезную атаку на сеть. Некоторые платформы гибки к изменениям протокола и могут подстраиваться (например, Tezos создавался именно с этой идеей). Но большинство более старых платформ требуют Hard Fork, а в некоторых случаях, как, например, Bitcoin, подобные решения принимаются сообществом, разным участникам которого могут быть выгодны разные варианты (например, предложение SegWit2x в 2017 г.).
Несомненно, есть и другие угрозы: например, самая крупная атака на Ethereum произошла в результате логической "дыры" в смарт-контракте, и подобные векторы атак в результате аудита оказались применимы ко многим смарт-контрактам. В результате подобных атак могут пострадать любые держатели валюты. Поэтому учитывать возможные угрозы нужно не только компаниям, рассматривающим блокчейн как технологию, на которую опираются критические элементы инфраструктуры, но и желающие проинвестировать в криптовалюты, и в особенности в ICO.
Опубликовано: Журнал "Information Security/ Информационная безопасность" #2, 2018