- PVSM.RU - https://www.pvsm.ru -
Почему экономическая целесообразность может привести к краху Биткойн
Автор статьи — Алексей Маланов, эксперт отдела развития антивирусных технологий «Лаборатории Касперского»
Обсудим, чем определяется прибыльность майнинга биткойна, какие принципы по адаптации скорости майнинга были заложены в него изначально, и почему эти принципы в конечном итоге могут привести к краху этой криптовалюты.
Мы предполагаем, что читатель имеет представление об основных механизмах функционирования Биткойн, таких как: блокчейн [1], майнинг [2], майнинговые пулы, награда за блок.
Предупреждение. В этой статье мы исследуем теоретическую возможность развития описываемого сценария с учетом заложенных в Биткойн алгоритмов. Мы не ставили себе цели детально проанализировать структуру затрат майнеров, цены на электричество в различных районах мира, банковские ставки и сроки окупаемости оборудования.
В Биткойн-сообществе хорошо известна «Атака 51%». Если майнер контролирует больше половины всех майнинг-мощностей, то он имеет возможность:
При этом:
Сообщество сходится во мнении, что такая атака, будь она осуществима, поставила бы под сомнение дальнейшее функционирование сети Биткойн.
Важно также понимать, что для успешной атаки необязательно контролировать 51% и более мощностей. С некоторой вероятностью она осуществима и с меньшей долей. Например, обладая 30% мощностей, атакующий может с вероятностью ~18% скрытно сгенерировать цепочку из 5 блоков подряд, которая будет длиннее, чем общедоступная. В этом случае атакующий получает те же преимущества, что и при «Атаке 51%». А в случае неудачи он может просто повторить попытку. Большинство сервисов, принимающих платежи в биткойнах, требуют лишь пяти «подтверждений», то есть, такой сгенерированной цепочки будет достаточно.
После генерации каждых 2016 блоков сеть Биткойн производит адаптацию сложности майнинга. Нормой считается такая сложность, при которой на майнинг одного блока уходит в среднем 10 минут. Таким образом, на вычисление 2016 блоков должно быть затрачено две недели. Если на генерацию ушла, например, всего одна неделя, то после очередного перерасчета сложность будет увеличена в два раза (таким образом, следующие 2016 блоков при той же мощности сети должны будут генерироваться снова 2 недели).
Отметим, что сеть Биткойн программно запрещает изменять сложность майнинга более, чем в 4 раза за один перерасчет.
Прямые следствия из этих правил. Если майнинговые мощности добавляются или выключаются где-то посередине периода из 2016 блоков, то:
Авторы Биткойн предполагали, что описанный алгоритм будет плавно регулировать мощность сети, вытесняя наименее энергоэффективное оборудование и возвращая маржинальность оставшегося в разумные рамки. Однако в действительности такой редкий перерасчет сложности, ведет к другой стратегии майнеров: они смогут обманывать алгоритм, искусственно занижая производительность сети. Ведь при внезапном выключении оборудования прибыль за день остается на прежнем уровне, а при внезапном включении – сокращаются издержки.
Майнеры помимо награды за блок (эмитируемой валюты) забирают себе также комиссию за проведение транзакций, включенных в блок. Сейчас комиссии составляют примерно 10% от награды за блок. Мы не будем останавливаться на этом подробно, однако по нашим расчётам выходит, что существование комиссий делает исследуемую стратегию майнеров еще более выгодной.
Другой аспект, майнинговые пулы зачастую не контролируют непосредственно майнинговые мощности в своем составе. Каждый участник и владелец оборудования волен выбирать, в каком пуле работать. Обычно решение о переходе из пула в пул принимаются из экономических соображений.
Однако политику включения/выключения мощностей, переключения мощностей на майнинг альтернативной валюты (Bitcoin Cash) определяет все-таки распорядитель пула. Иными словами, мы считаем, что описываемую стратегию поведения должны принять и реализовать лишь ~20 участников – владельцев пулов, сами владельцы оборудования хоть и обладают «свободой воли», но не играют роли.
Предположим, что суммарная мощность всех майнеров стабилизировалась, рассмотрим одну из стратегий повышения маржинальности.
Для простоты допустим, что вы контролируете половину всей мощности сети Биткойн. Вы можете держать оборудование включенным все время и получить награду примерно за 1008 блоков (50%).
А можете сделать следующее:
Обратите внимание, в первом сценарии за 5 недель обычной работы вы получили бы награду за 5/2*1008 = 2520 блоков, но заплатили бы за электричество за все время. Во втором сценарии за те же пять недель вы получаете награду за 1008 блоков, но платите за электричество лишь за одну неделю.
Предположим, что стоимость электричества составляет примерно 90% награды. Легко посчитать, что прибыль в первом сценарии за пять недель эквивалентна награде за 2520*0.1 = 252 блока, а во втором сценарии “награда – затраты” = 1008 – 0.9*1008/2 = 554.4. То есть, предлагаемая стратегия оказывается в 2 раза выгоднее.
Пусть:
Тогда:
Легко увидеть, что:
Это выражение достигает [3] максимума при . Например, при умным майнерам стоит временно выключить 80% оборудования.
Рост мощности сети Биткойн. За год мощность сети выросла более, чем в 4 раза (Источник [4])
Рост сложности сети Биткойн за все время. С января 2016 сложность выросла в 8 раз, как и стоимость биткойна (Источник [5])
Описанная стратегия имеет смысл только при условии, что общая сложность сети не растет. В противном случае, выключение оборудования не ведет к уменьшению сложности и экономически невыгодно.
До сих пор майнинговые мощности наращивались большими темпами; это следствие роста курса биткойна. Прибыль майнера исчисляется в биткойнах, а затраты он несет в традиционной валюте.
Рост курса биткойна (Источник [6])
Однако разумно предполагать, что если биткойн не будет бесконечно расти в цене, то рано или поздно вводить новые мощности для майнинга станет экономически нецелесообразно, а затраты на электричество практически сравняются с наградой.
Когда ввод новых майнинговых мощностей прекратится, майнеры будут смогут применять описанную выше стратегию.
Распределение мощностей Биткойн по пулам (Источник) [7]
Если майнинговые пулы максимизируют собственную выгоду, то при марже в 6,25% следует ожидать выключения до 75% мощностей. Больше оборудования нет смысла выключать, ведь сеть не снизит сложность более, чем в 4 раза.
После этого для проведения «Атаки 51%» злоумышленнику надо либо контролировать более половины оставшейся мощности (что легко осуществимо при текущем распределении мощностей), либо внезапно включить количество оборудования большее, чем работало до этого (что пока неосуществимо с учетом доли самого большого пула).
Возникает вопрос, а выгодно ли атаковать сеть человеку, который инвестировал значительные средства в наращивание майнинг-мощностей? Да, выгодно. При условии низкой маржинальности майнинга стоимость имеющегося оборудования для майнинга также снижается. Иными словами, если майнинг не приносит прибыли, оставаться честным становится невыгодно. Кроме того, атакующий может остаться анонимным, и, помимо прочего, сыграть на понижение цены биткойна.
Мы умышленно не рассматриваем ситуацию, при которой быстро и значительно вырастет стоимость электричества, или, что более вероятно, быстро и значительно упадет стоимость биткойнов. В этом случае стратегия майнеров достаточно очевидна. При резких неблагоприятных колебаниях цен все 100% майнеров выключат оборудование. На плаву останутся, разве что, те, кто пользуется бесплатным электричеством. В этом случае работа сети просто остановится – на доработку «двух недель» потребуется время, соизмеримое с жизнью, а невозможность проведения транзакций еще больше опустит цену биткойна.
Буквально на днях в BitcoinMagazine наш коллега проанализировал [8] ситуацию, происходящую с валютой Bitcoin Cash, появившуюся в результате раскола сети Биткойн 1 августа 2017. В новой валюте есть принцип Emergency Difficulty Adjustment. EDA позволяет адаптировать сложность в сети Bitcoin Cash еще чаще, а именно: если за 12 часов было сформировано менее 6 блоков, то сложность снижается на 20%. Автор приходит к выводам, аналогичным нашим, но, что куда важнее, отмечает, что уже сейчас наблюдает манипуляции умных майнеров. Он опасается дестабилизации сети Bitcoin Cash и рассчитывает на скорое вмешательство разработчиков.
Мы проанализировали одну из экономически целесообразных стратегий поведения честных майнеров в условиях, когда мощность сети Биткойн прекратит рост. Рассчитали некоторые ключевые параметры такой стратегии и выяснили, что следование ей выгодно для каждого участника в отдельности, но значительно увеличивает риски «Атаки 51%» и потенциально краха системы Биткойн в целом.
Если бы все майнеры были способны надежно договориться, они могли бы пойти дальше: выключить условно все оборудование, кроме одного устройства. Это было бы оптимально с точки зрения прибыли, но фатально с точки зрения защиты сети.
Как же должны действовать майнеры, чтобы гарантировать безопасность? Нам видится тут пара аналогий. Первая – кризис перепроизводства, когда он случается, производители договариваются и публично уничтожают часть товара (по крайней мере, так было в Средние века). Вторая – ядерное разоружение, страны – обладатели больших арсеналов – договариваются об их пропорциональном сокращении.
В идеальном мире всем майнерам стоит договориться об отключении какой-то доли своего оборудования и, главное, о его контролируемом уничтожении. Важно не только планомерно уничтожать, но и строго контролировать его производство.
Рассчитывать на такой «мирный» итог не приходится. Недавнее разделение цепочки Биткойн на две и образование Bitcoin Cash показывает, что не всегда майнеры могут и хотят решать общие проблемы сообща. Возможно в будущем способность к кооперации станет решающим фактором.
Время покажет, насколько наше теоретическое исследование вяжется с практикой.
Читать также:
Автор: Kaspersky_Lab
Источник [11]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/263480
Ссылки в тексте:
[1] блокчейн: https://habrahabr.ru/company/kaspersky/blog/336036/
[2] майнинг: https://www.kaspersky.ru/blog/mining-easy-explanation/18020/
[3] достигает: https://www.wolframalpha.com/input/?i=max+(-x2-x*M%2Bx)%2F(1-x)+with+0%3Cx%3C1+and+0%3C+M%3C1
[4] Источник: https://bitcoinwisdom.com/bitcoin/difficulty
[5] Источник: https://blockchain.info/charts/hash-rate?timespan=all
[6] Источник: https://coinmarketcap.com/currencies/bitcoin/
[7] Источник): https://blockchain.info/pools
[8] проанализировал: https://bitcoinmagazine.com/articles/miners-are-milking-bcashs-difficulty-adjustments-and-why-problem1/
[9] Шесть мифов о блокчейне и Биткойне, или Почему это не такая уж эффективная технология: https://habrahabr.ru/company/kaspersky/blog/336036/#first_unread
[10] Почему блокчейн не такая уж и плохая технология: https://habrahabr.ru/company/kaspersky/blog/336674/#first_unread
[11] Источник: https://habrahabr.ru/post/337410/
Нажмите здесь для печати.