Методы теории игр находят широкое применение в математическом аппарате криптовалют, хотя до сих пор их использование было, в основном, ограничено внутренним аспектом. Такой подход оставляет открытыми множественные векторы атаки.
Две игры
В отношении любого действующего криптовалютного проекта можно сказать, что в любое время вокруг него ведутся две игры:
- Внутренняя игра
- Внешняя игра
Иногда эти игры перекрываются, и не всегда возможно провести четкое разграничение между ними.
Внутренняя теория игр
Внутренняя теория игр имеет дело только с игроками, находящимися внутри системы, и стимулирует различные действия участников. Недобросовестное поведение должно наказываться, только в этом случае система будет устойчива.
Например, в сети Биткойна, если майнер решит дважды потратить транзакции, он потеряет свои намайненные биткойны когда добросовестные узлы и майнеры объявят его блоки брошенными. Если майнеры, обладающие достаточной мощностью хэширования, создадут сговор с целью обратить транзакции (атака 51%), они понесут убытки, когда упадет стоимость их намайненных и дважды потраченных монет, и как следствие, стоимость их оборудования для майнинга.
Такой тип структуры, в той или иной степени, используется в большинстве криптовалют, будь то биткойны или альткойны. Еще один пример: Steemit, социальная сеть, основанная на криптовалюте, имеет собственную систему стимулов и наказаний, с помощью которой пытается установить гармоничный уровень внутренних операций – система апвотов и флагов контента. Этот пример тем более показателен, так как он демонстрирует важность учета теории игр: непрерывное падение стоимости системы и числа активных пользователей в течение нескольких месяцев показывает, что гармония не достигнута, и система требует серьезной переработки.
Внешняя теория игр
Внешняя теория игр – наименее исследованная область, в которой большинство криптовалют наиболее уязвимы. В этом случае сеть защищается не против злоумышленников внутри системы, враги находятся снаружи.
Пример: традиционный банковский сектор может понести убытки от широкого принятия криптовалют. В таком случае он является внешним врагом системы. Векторов атаки множество: начиная с лоббирования запрета криптовалют и внедрения платных троллей в криптовалютные сообщества, и заканчивая атаками, тормозящими работу блокчейна.
Аналогичные действия могут происходить и между альткойнами, особенно теми, которые конкурируют в одном и том же пространстве, будь то смарт-контракты, анонимность, социальные сети и т д. Альткойн X выиграет, если проведет успешную атаку против альткойна Z, так как в результате он предложит пользователям более быстрый и надежный сервис, чем разоренный войной альткойн Z.
Атака извне – наиболее вероятная причина событий, происходящих с Эфириумом и Monero в последнее время. Раздувание блокчейна изнутри экосистемы не имеет смысла, для пользователей нет смысла платить комиссию за пустые транзакции, ведь блокчейн требует дисковое пространство, оперативную память, процессинговые мощности. Любой пользователь хочет видеть блокчейн максимально компактным, так что, с точки зрения внутренней теории игр, нет никакого смысла в атаках. Однако атаки происходят, следовательно – это атаки извне.
Формы атак по внешней теории игр
Спектр внешних атак: DDOS, троллинговые кампании, заказные статьи, комбинации вброса новостей совместно с рыночными атаками, которые выставляют шорты на валюту, спам-атаки блокчейна.
Наиболее коварные атаки используют «троянского коня», когда в дополнение к внешней атаке, атакующий использует злоумышленников внутри системы (майнинг-атака). Это всего лишь аналог того, что можно увидеть и в политике: Демократы признали, что нанимали злоумышленников, чтобы разрушить группы поддержки Республиканцев.
Криптовалюты являются алгоритмическими, они делают то, что заложено в коде, но сообщества – социальны. В любом сообществе возникают ситуации, которые несут в себе риск раскола по ЛЮБОЙ проблеме, даже тривиальной. Процесс решения проблемы может вызвать катастрофические разногласия. Внедряя «плохих актеров» в сообщество можно культивировать токсичность, враждебность, троллинг, и тому подобные вещи. Это исключительно дешевые атаки – Биткойн испытывает их на протяжении нескольких лет.
Защита против внешних атак
Многие разработчики сетей Биткойна и альткойнов обосновывают отсутствие мер безопасности тем, что атаки просто не будет. Причиной такой беспечности часто служит желание дать системе больше возможностей в обмен на отказ от системы безопасности.
К примеру, вот проблема увеличения размера блока: что остановит злоумышленника от заполнения 32 Мб блока спамом? Ответ: «комиссии стоят денег, в атаке нет смысла». Это верно с точки зрения внутренней теории игр, а вот с точки зрения внешней – нет. Если злоумышленник – банк, для него несложно будет тратить на комиссии несколько биткойнов в день, если он сможет раздуть блокчейн до терабайтного размера. Ситуация дополнительно ухудшится, если нанесенный вред окажется во много раз больше стоимости атаки, ведь узлам и P2P кошелькам придется обслуживать раздутое состояние сети, а увеличивающаяся стоимость обслуживания приведет к дополнительной централизации сети.
Думать как атакующий
Сообщество Monero на собственном опыте убедилось, что блокчейн с изменяемым размером блока – не панацея. Система подверглась спам-атакам, предположительно, исходящим со стороны конкуририрующей монеты – Bytecoin. Проблема была «решена» увеличением комиссий. Следующим стал Эфириум, которому пришлось провести хардфорк для увеличения стоимости комиссий. С точки зрения внутренней теории игр, эти атаки были невозможны.
Характерно, что несмотря на тот факт, что о возможности атак было известно и раньше, Эфириум оказался к ним не готов. Разработчики так хотели продать возможность создавать дешевые контракты, что они пожертвовали безопасностью, что и позволило злоумышленнику успешно провести атаки за мизерную цену.
Е ще одна причина уязвимости к атакам – неспособность думать как злоумышленник. Разработчики могут быть исключительно талантливы в написании новых приложений, но они обязаны думать как хакеры, тролли, банки, правительства, спрашивать себя: «Что бы я сделал на их месте, чтобы разрушить и уничтожить криптовалюту, которую я же и создаю»? Здесь и найдется ответ, ведь разработчики знают слабые места собственных творений.
Надежность должна быть главным приоритетом, даже ценой снижения функциональности.
Трудные сценарии
Существуют сценарии, выходов из которых не просматривается. Пример: правительство США имеет много-триллионный интерес в защите национальной валюты. Понятно, что при таких ставках покупка майнинговой фермы для атаки на Биткойн за 100 миллионов не кажется дорогой. Если они тратят миллиарды на манипуляции альтернативными активами типа золота и серебра, почему бы не потратить смехотворную часть этих сумм на раскол криптовалютных сообществ, или поиска уязвимостей на биржах с целью дестабилизировать рынок.
Несомненно, не все можно предусмотреть – но это не причина отказа от повышения надежности. Против технологических атак можно защититься с помощью алгоритмических слоев безопасности, разработчики должны уделять этим атакам максимум внимания и сделать блокчейн максимально надежным. Социальные атаки – совсем другая проблема.
Как защититься от социальной атаки, или "атаки Сибиллы" на сообщество? Это кажется наиболее проблематичным. Единственный действенный способ здесь – задание жесткого набора правил с самого начала проекта, так чтобы пространство для отклонений было минимальным. И даже в этом случае возможна такая атака:
«Когда писались правила, разработчики не предусмотрели то или это, так что будем принимать меры… к примеру, сделаем форк».
Момент, когда участники начинают заливать пожар атаки, культивирует раскол в сообществе, за которым следуют обвинения в «цензуре», и токсичность нарастает, если сообщество не найдет альтернативных способов справиться с такими проблемами.
Будущее
По мере того, как криптовалюты набирают популярность, поверхность атак увеличивается. Самый тяжелые атаки – социальные. Если DDOS, атаки 51% и им подобные отчетливо демонстрируют врага, на котором могут сфокусироваться разработчики, «враги» внутри сообщества до определенного момента остаются невидимыми.
Если социальное давление, или даже давление рынка (а рынки не полностью свободны, поэтому тот, кто контролирует рынки может косвенно контролировать и разработку алгоритмов) может оказывать влияние на поведение криптовалюты, игру можно считать проигранной.