Захват сети Биткоин – сколько это стоит

CoinsОдной из основных особенностей протокола сети Биткоин является то, что транзакции и всю сеть контролирует тот, кто контролирует большую часть вычислительной мощности – грубо говоря, работает “правило 51%”. Попробуем прикинуть, сколько стоит захват сети Биткоин.

Производительность этой сети измеряют в “хэшах в секунду”. Хэши возникают вот откуда: для включения транзакций в главную книгу (blockchain) узлы сети вычисляют значения хэш-функции SHA-256 от некоторого блока данных, подбирая числа в этом блоке таким образом, чтобы результат укладывался в заданный диапазон (так называемая “сложность”). Все эти детали я оставляю для отдельной заметки, потому что они сейчас не важны. Достаточно отметить, что поиск значения хэша – это вычислительно затратная операция, являющаяся одной из основ протокола.

Заявленная мощность сети (blockchain.info/stats) на данный момент – 9333937,66 GH/s, пусть будет чуть больше – 9500000 гигахэшей в секунду. Есть специализированные устройства, позволяющие вычислять биткоин-хэши очень быстро, это так называемые “майнеры” (от англ. mining – добыча; такое название дано потому, что “майнеры” позволяют “добывать” и вводить в оборот новые биткоины). Так вот, если верить сообщениям производителей этих устройств, то стоимость “майнера”, имеющего мощность около 3 терахэшей (3000 гигахэшей) в секунду – от 8 до 12 тыс. долларов США (с доставкой, заметьте). Мы будем покупать много, и у нас, допустим, есть грузовик, поэтому пусть – 8 тыс. за три терахэша в секунду. Нам нужно чуть более половины мощности всей сети, то есть примерно столько же, сколько есть сейчас.

Итак, считаем: 9500000/3000 * 8000 = 25,3 млн долларов США (примерно). Наши узлы, захватывающие сеть, должны обмениваться информацией с другими участниками, поэтому для размещения оборудования потребуется место в дата-центре, каналы связи, услуги монтажников и бригады инженеров. Увеличим затраты примерно в два раза. Итого: 50 млн долларов и – сеть под контролем. Сумма немалая, но, например, в бюджете АНБ она наверняка могла бы просто затеряться среди “прочих расходов”.

Update (22/12/13): мне подсказывают, что есть ещё пара показательных моментов, касающихся этой темы. Во-первых, вполне вероятно, что АНБ могут быть известны некоторые оптимизации для SHA-256, позволяющие, для известных типов входных данных, вычислять эту функцию быстрее в несколько раз (это как раз случай с биткоинами). Если это так, то вычислительных мощностей потребуется меньше, но аппаратуру придётся конструировать свою: доступная на открытом рынке не учитывает секретных оптимизаций. Во-вторых, только за внедрение нужного алгоритма генерации псевдослучайных чисел АНБ заплатило $10 млн компании RSA. В общем, это показывает, сколько может стоить сеть Биткоин, выступающая в качестве платёжной системы.

Адрес записки: https://dxdt.ru/2013/12/21/6438/

Похожие записки:



Далее - мнения и дискуссии

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

Комментарии читателей блога: 24

  • 1. 22nd December 2013, 01:26 // Читатель jno написал:

    http://en.wikipedia.org/wiki/Namecoin как новый хитный DNS

  • 2. 22nd December 2013, 18:34 // Читатель ruslan написал:

    Наверно я чего-то не понял когда читал описания сети биткоин. По этому спрошу.
    А что даст захват 50+1% сети?

    Поддельный блок ведь может быть проверен каждым и выявлен как фальшивый. Ну будут они генерить кучу бабла и что?
    Они и так кофисковали кучу биткоинов у SilkRoad

  • 3. 22nd December 2013, 18:46 // Александр Венедюхин:

    Захват даст возможность блокировать произвольные транзакции. И, как бонус, можно будет установить обязательный комиссионный сбор с транзакции, не допускать “непроверенные” кошельки в систему и так далее.

  • 4. 22nd December 2013, 18:48 // Александр Венедюхин:

    > http://en.wikipedia.org/wiki/Namecoin как новый хитный DNS

    Да, есть такая штука, сейчас активно кем-то продвигаемая. У меня пока сомнения, что от этого какая-то польза возможна, кроме нового поля для конфликтов типа “а он зарегистрировал мой домен”. Но, конечно, нужно посмотреть детально.

  • 5. 23rd December 2013, 00:51 // Читатель jno написал:

    Зато и снести имя с делегации не выйдет

  • 6. 24th December 2013, 00:37 // Читатель guest22 написал:

    А будет ли возможно проследить попытки управления со стороны этих 51% путем анализа открытого всем блокчейна?Какие транзакции не “набрали подтвержденный вес”\были “отменены”, кто именно и т.д.? Насколько заметно будет это управление?

  • 7. 24th December 2013, 02:37 // Читатель Anton написал:

    Вы посчитали, сколько денег нужно на то, чтобы создать сходную по мощности сеть. Но Биткоин уже работает долго и цепочка уже длинная, т.е. атакующая мощность должна быть прилично мощнее, чтобы нагнать уже сделанные вычисления. Или я где-то ошибаюсь?

  • 8. 24th December 2013, 11:34 // Александр Венедюхин:

    > Насколько заметно будет это управление?

    По-моему, можно выбрать такую стратегию, что управление будет незаметно, несмотря на концентрацию вычислительной мощности. Правда, в таком случае окажутся недоступны радикальные действия, типа создания какого-нибудь “белого списка” транзакций – слишком очевидно. (Заметьте, кстати, что “заблокированные” транзакции в blockchain просто не попадают, поэтому их нужно отслеживать иначе.)

    Вообще, это интересная отдельная тема. Осуществляется ли такое управление уже сейчас? То есть, в принципе, мешает ли что-то скрытно контролировать большую мощность сети сейчас? Например, для того, чтобы однажды её обвалить. Анализ blockchain, конечно, поможет выявить контроль, но только постфактум. В статистике однозначно будут видны грубые действия. Но гораздо больше можно увидеть, если смотреть на сетевом уровне, отслеживая пакеты.

  • 9. 24th December 2013, 11:38 // Александр Венедюхин:

    > Но Биткоин уже работает долго и цепочка уже длинная, т.е. атакующая
    > мощность должна быть прилично мощнее, чтобы нагнать уже сделанные вычисления.

    Нет, для захвата управления не нужно пересчитывать существующие блоки в цепочке – нужно лишь получить значимое преимущество в вычислении новых. Уже сделанные вычисления защищают только старые транзакции; да, их отменить – задача несравнимо сложнее.

  • 10. 24th December 2013, 13:07 // Читатель Алексей написал:

    Неверные расчёты и выводы:

    http://www.blackarrowsoftware.com/store/bitfury/?sl=en
    Одни только чипы будут стоить > $220M
    + $ инфраструктура
    + $ обслуживание
    ———–
    итого стоимость атаки ~ $0.5 млрд – $1 млрд

    + рост сложности – экспоненциальный, те затраты не окупятся никогда, если курсом не манипулировать в сторону роста
    + железо кроме как майнить ничего не умеет
    + биткоин уже не единственный, на подходе валюты второго поколения, если скомпрометируют биткоин – цена упадёт, все перейдут на форки и 2Gen, и АНБ останется с кучей ненужного железа

  • 11. 24th December 2013, 13:14 // Читатель Алексей написал:

    А, да, глубина рынка на трёх крупнейших обменниках небольшая, много продать не удастся (> 100000)
    продавать понемножку смысла нет, большие движения биткоина все видны в цепи и отслеживаются.
    Территориальная принадлежность датацентра или крупных датацентра будет видна по источнику транзакций
    Вся подозрительная активность рушит курс.
    Если цель обвалить курс в ноль – тогда это вообще просто как выкинуть полмиллиарда долларов на ветер.

  • 12. 24th December 2013, 14:01 // Читатель Алексей написал:

    А Вы молодец!
    Комментарии, расходящиеся с Вашими представлениями можно просто удалить, да.
    Так держать!

    Весь пост создан специально для нагнетания паники?

  • 13. 24th December 2013, 14:03 // Читатель Алексей написал:

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

  • 14. 24th December 2013, 18:05 // Александр Венедюхин:

    > Одни только чипы будут стоить > $220M

    Это старые чипы, 55 nm, медленные. От них сейчас нет толку. Речь идёт о современных, вроде вот таких: https://www.hashblaster.com/technical-specifications или таких: http://cointerra.com/product/terraminer-iv-2ths-networked-asic-miner-march-batch/ – там цена ниже, производительность выше.

  • 15. 24th December 2013, 18:15 // Александр Венедюхин:

    > Если цель обвалить курс в ноль

    Нет, цель – захватить сеть. То есть, получить возможность устанавливать свои правила её использования. (Ну, а при необходимости – блокировать.)

  • 16. 24th December 2013, 20:07 // Читатель arcman написал:

    Не учли низкую доступность как чипов, так и готовых решений.
    На самом деле их не так то и просто купить.
    По первой ссылке предлагают _предзаказ_ всего 800 штук по 5 штук в руки.
    Вот по второй ссылке предзаказ на март уже распродан.
    Поэтому атака скорее гипотетическая.
    Более вероятен подкуп крупных пулов.

  • 17. 24th December 2013, 20:33 // Александр Венедюхин:

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

  • 18. 25th December 2013, 11:15 // Читатель Валентин написал:

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

  • 19. 25th December 2013, 13:50 // Александр Венедюхин:

    Рост сложности вызван ростом производительности сети, но не наоборот. Так что это не совсем подходящий показатель. Естественно, если вычислять потребные для захвата ресурсы совсем строго, то нужно учитывать рост мощности сети за время, которое потребуется для ввода в строй мощностей захватчика. Могу ещё добавить, что главное – наращивать свои мощности быстрее, чем это делает остальная сеть.

  • 20. 3rd January 2014, 14:31 // Читатель Stranger написал:

    Нет, цель – захватить сеть. То есть, получить возможность устанавливать свои правила её использования. (Ну, а при необходимости – блокировать.)

    Это как батенька вы хотите её блокировать? Блокировать одну из главных особенностей Bitcoin — невозможность блокировки.
    Я искренне надеюсь что вы не разобрались во всей тонкости bitcoin. Как устанавливать свои правила?

    АНБ например купила кучу майнеров — что это ей даёт — ускорение майнинга, увеличение сложности, получение кучи биткоинов.
    Потом АНБ начинает валюту продавать — быстро не сможет, курс опускается, опять же не быстро, и кто-то эти биткоины покупает, а значит АНБ популяризирует биткоин и сокращает его кол-во для майнинга.

    Сложность растёт, растёт цена биткоинов, АНБ популяризирует биткоин и становится крупнейшим майнером и продавцом, железо у АНБ начинает устаревать, САМОЕ ГЛАВНОЕ автор не учитывает стоимость электроэнергии на майнинг, а это основной показатель, профит АНБ — это всего лишь временное или долговременное (5 лет к примеру) понижение удерживание курса биткоин, ведь продавать битки надо по низкой цене, после чего АНБ теряет долю в сети, кампания признается убыточной, отстраняют от дел некоторых фунцыклёров АНБ и биткоин начинает расти.

    Я эту попытку контроля вижу примерно так.

  • 21. 3rd January 2014, 16:44 // Александр Венедюхин:

    > Это как батенька вы хотите её блокировать?
    > Блокировать одну из главных особенностей Bitcoin — невозможность блокировки.

    А это ещё один миф. Нет такой особенности.

    > Я искренне надеюсь что вы не разобрались во всей тонкости bitcoin.
    > Как устанавливать свои правила?

    Тонкость в том, что правила устанавливает тот, кто контролирует бОльшую часть вычислительной мощности. Это, как раз, ключевой момент протокола, если вы разобрались в тонкостях. Собственно, я об этом и написал. Технически, механизм следующий: если у вас бОльшая часть мощности, то в blockchain будут попадать именно ваши блоки, потому что вы их вычисляете быстрее остальных узлов. Транзакции проводятся через включение их в вычисляемые блоки. Таким образом, если вы какие-то транзакции не допускаете в свои блоки, то они и не проводятся сетью. Вот и контроль.

    Подробности: https://dxdt.ru/2013/12/24/6450/

  • 22. 31st January 2014, 03:09 // Читатель kori написал:

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

  • 23. 31st January 2014, 21:52 // Александр Венедюхин:

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

    Если их действительно “очень много”, то они составят большую часть вычислительной мощности сети. И тогда – да, контроль окажется невозможен. Проблема в том, что даже очень большое число простых компьютеров не сможет составить конкуренции нескольким специализированным аппаратным “майнерам”.

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

  • 24. 22nd June 2014, 19:16 // Читатель Alex написал:

    http://www.popmech.ru/technologies/16545-bitcoin-pod-ugrozoy/