Как сеть bitcoin будет уничтожена (практические советы с примерами)
Многие уже на хабре знают про криптовалюту — bitcoin, про ее основные особенности и типичные заблуждения. Кому то топики на эту тему покажутся надоедливыми и скучными, попробую обмануть ожидания последних.
Одна из основных и самых интересных особенностей сети bitcoin является ее защищенность от 'взлома' и, в какой то мере 'DoS атак'. Невозможно на халяву настрогать монеток (их скорость строго контролируется через difficulty на основе скорости нахождения последних блоков), худшее, что может сделать владелец большей половины мощности сети — отменять свои транзакции, а полный контроль над средой распространения (интернетом) — замедление прохождения транзакций и, если разделить физически сеть на несвязанные подсети, откат всех транзакций во всех этих отдельных подсетях послед объединения кроме одной, самой крупной (отдельный и сложный разговор, какие именно транзакции будут откинуты, и это непринципиально).
Так же есть некоторая опасность атаки на сеть через атаку на основных разработчиков в реальном мире (не думаю что доступ к серверам и логам github является большой проблемой) и последующей подменой исходников синхронно с дополнительными троянами, направленными на поиск и подмену уже установленных клиентов, но это больше атака, направленная на деанонимизацию новых пользователей, и, возможно, кража средств. Такая подмена даст временный профит, но в долгосрочной перспективе заплатки будут выявлены сообществом, а разработчики заменены на новых…
В общем все не так страшно и не фатально, думаю такие атаки сеть bitcoin еще ждут в будущем, главным образом через уязвимости в серверах пулов майнинга или атаки на временный отказ работы irc-сети и центральных нод, за счет которых обеспечивается нормальная работа распределенной mesh сети (при их отсутствии будет заметное понижение скорости распространения данных по сети и даже временное разделение на подсети).
Но самая интересная атака поджидает практически в главной защитной функции сети — расчете сложности.
Скорость генерации новых блоков регулируется расчетом параметра difficulty, на основе которого определяются ограничения на перебор значений каждого последующего блока, но по каким то непонятным для меня причинам — сложность меняется скачкообразно, через каждые 2016 блоков (а так же возможно, ищу пруфы и желающих покопаться в коде, скорость уменьшения difficulty ограничена, в отличии от ее повышения, 'слышал звон' на irc каналах freenet #..bitcoin..).
Именно необходимость набрать 2016 блоков до момента пересчета сложности может сыграть злую шутку, и именно это видно на примере клона сети — namecoin, когда после топика Namecoin. Как увеличить доход в 1.5 раза толпы майнеров временно перевели свои мощности на эту сеть, подняли ее сложность и ушли, как только сложность повысилась в 4-5 раз а цена namecoin/bitcoin на соответствующей бирже стала невыгодной.
Сейчас у этой сети наблюдается кризис — вместо 6 блоков в час сеть с трудом находит 15 за 13 часов, такими темпами пересчет следующей мощности ожидается в лучшем случае к августу, но за это время из сети могут уйти самые ее ярые поклонники. Майнить namecoin cейчас просто дорого, не говоря про упущенную выгоду. Представьте ситуацию, когда после очередного перехода майнеров между сетями сложность подскочит в десятки раз и время следующей смены сложности может оказаться через годы.
'Но ведь это проблема сети namecoin, которая существует в тени своего собрата bitcoin', скажете вы, 'это ее проблемы, у сети bitcoin нет соседа, откуда временно могут прийти мощности'. Возможно так оно и есть, и это очень дорого, даже кратковременно, на недели, добавить в сеть мощности в несколько раз (десятки и сотни) превышающие текущую, хотя мало ли как можно воспользоваться квантовыми компьютерами d-wave или на основе оптического процессора создать мощный потоковый майнер на тысячи гигахешей — подобное под силу только очень богатым 'клиентам' или госкорпорациям. Но кому же еще может быть 'как кость в горле' такая не подконтрольная сеть как bitcoin?
Так же можно неплохо рулить майнерами, взяв в руки контроль над курсом обмена bitcoin на реальную валюту, что бы не говорили, но это сейчас основной двигатель, позволяющим очередным добытчикам вливаться в сеть. Даже небольшие и грамотные вливания (особенно сейчас, после атаки на главную биржу mtgox, когда объемы упали в десятки раз) денег могут постепенно снизить стоимость bitcoin ниже их себестоимости (сейчас, с учетом текущей сложности и ее роста, это прядка 10$, правильнее пересчитывать на стоимость мощностей, но так нагляднее. Расчет велся с учетом амортизации железа, стоимости электроэнергии, администрирования этого железа, рисков при выводе средств и банального комфорта майнерам — железо шумит и сильно греется).
Представьте, курс ниже 10$ при сложности в 1.3кк будет держаться неделю! Сначала отвалятся интересующиеся, затем лавинообразно будут отключаться от майнинга крупные узлы, у них слишком дороги каждые сутки майнинга, возможно дольше всех останутся средние по мощности майнеры, но их меньшинство. К тому же держать низким курс может оказаться не так уж и дорого, как минимум сравнимо с текущими объемами денег на всех, немногочисленных рынках обмена bitcoin.