Можно ли взломать Биткоин?
Как новое явление, Bitcoin сталкивается с большим скептицизмом. Будучи полностью цифровым средством сохранения капитала, не поддерживаемым программами страхования вкладов, он может вызывать беспокойство пользователей в отношении вероятных уязвимостей в используемой криптографии или блокчейн-технологии. Тем не менее сеть Bitcoin на практике доказала свою устойчивость и к сбоям, и к атакам: она никогда не была взломана. А сам блокчейн невосприимчив к коррупции экономически и технически.
Беспокойства в отношении безопасности Биткойна
Bitcoin — сравнительно новая технология, но за 12 лет своего существования он зарекомендовал себя как самая безопасная цифровая система в мире и самая надежная из когда-либо существовавших денежных систем. Блокчейн Биткойна никогда не был взломан и за это время в сети не появилось ни одной фальшивой расчетной единицы.
Но, как и любое программное обеспечение, Bitcoin не является совершенным или непогрешимым. Время от времени в нем находятся незначительные баги и существуют теоретические проблемы безопасности, которые могут угрожать Биткойну сегодня или в будущем. В сегодняшней статье мы рассмотрим эти проблемы.
Безопасность пользователей и безопасность сети Биткойна
Важно проводить различие между проблемами безопасности, с которыми сталкиваются пользователи Биткойна и безопасностью самой сети Bitcoin и ее технологии. Пользователям необходимо тщательно защищать свои секретные ключи, пароли и другую конфиденциальную информацию от злоумышленников и, насколько это возможно, исключить возможность ее потери.
В то время как безопасность сети Bitcoin включает в себя безопасность используемых в ней криптографических методов, надежность peer-to-peer сети и общий хешрейт bitcoin-майнеров.
Насколько безопасен блокчейн Биткойна?
Bitcoin — это одновременно база данных в форме блокчейна и сеть компьютеров, называемых нодами (калька с англ. node, узел [сети]), которые взаимодействуют между собой для формирования и обновления базы данных. Сеть включает в себя сотни тысяч компьютеров, принадлежащих столь же большому числу людей, распределенных по всему миру. Присоединиться к сети может любой желающий, это не подразумевает какого бы то ни было отбора.
База данных, поддерживаемая этой открытой системой, никогда не была взломана благодаря тому, что взломать базу данных на одном компьютере недостаточно для того, чтобы повредить копии базы данных, хранимые на всех остальных нодах. На самом деле другие компьютеры в сети автоматически предупредят скомпрометированного пользователя о том, что его экземпляр базы данных поврежден, и либо помогут ему исправить ошибку, либо отключат его от сети.
Еще более впечатляет тот факт, что один компьютер с валидным блокчейном может исправить бесконечное множество невалидных или недействительных копий блокчейна, хранящихся на других компьютерах. Сеть следует не мнению большинства, но объективно наиболее валидной версии блокчейна.
Двойное расходование и подделка биткойнов
Одной из важнейших особенностей Биткойна является строгий контроль и прозрачность денежной массы, а также исключение проблемы двойной траты, когда одни и те же цифровые монеты расходуются дважды или отменяется считавшаяся окончательной транзакция. Эти свойства обеспечиваются bitcoin-нодами, и в случае нарушения какого-либо из этих правил репутация и надежность Биткойна были бы поставлены под угрозу.
Атака 51%
Одна из самых известных потенциальных проблем с безопасностью Биткойна, называемая атакой 51%, потенциально может привести к двойному расходованию цифровых монет. Атака 51% подразумевает попытку одного или группы bitcoin-майнеров изменить или полностью заменить блоки в блокчейне Bitcoin. Заменив один или несколько блоков, атакующий может фактически сделать недействительными считавшиеся окончательными транзакции и украсть эти BTC.
Как следует из названия, для проведения успешной атаки 51% злоумышленник должен контролировать не менее чем 51% от общей вычислительной мощности (хешрейта) сети. То есть у него должно быть больше вычислительной мощности, чем у всех остальных участников сети вместе взятых. Таким образом, проведение атаки 51% требует огромного количества денег, энергии и специализированного оборудования. Сатоши Накамото, основатель Биткойна, изложил механику и математику атаки 51% на 8 странице вайтпейпер Биткойна.
Реальная сложность атак 51%
По мере роста сети Bitcoin и цены BTC, рос и совокупный хешрейт bitcoin-майнеров. Эта тенденция постоянно удорожает выполнение атаки 51%, соответственно повышая безопасность Биткойна. С ростом цены BTC, хешрейт и безопасность Биткойна также будут расти.
Модель стимулов Биткойна
Помимо высокой стоимости атаки 51%, Bitcoin обеспечивает дополнительные стимулы майнерам оставаться честными. Даже если майнер-злоумышленник сможет осуществить успешную атаку на Bitcoin, это обрушит курс BTC и обесценит только что украденные им биткойны. Оборудование для bitcoin-майнинга — специализированные ASIC-майнеры, которые нельзя использовать для других целей — стоит дорого и в случае успешной атаки на Bitcoin оно тоже станет бесполезным. Эти экономические стимулы, наряду с дизайном протокола, препятствуют проведению успешной атаки 51%.
Насколько безопасна peer-to-peer сеть Биткойна?
Peer-to-peer сеть Биткойна абсолютно открыта и децентрализована. Десятки тысяч компьютеров по всему миру круглосуточно обмениваются между собой данными о транзакциях и блоках. Присоединиться к этой сети и самостоятельно проанализировать блокчейн Биткойна может любой желающий.
Bitcoin-ноды обеспечивают соблюдение правил сети, включая монетарную политику и устойчивость к двойному расходованию. Отключение от сети достаточно большой части нод может позволить злоумышленнику фактически нарушить передачу блоков и, возможно, изменить правила сети (монетарную политику, например).
DoS-атаки
По этой причине безопасность bitcoin-нод имеет первостепенное значение для безопасности сети в целом. Реализуя новые типы транзакций или вводя новые функции, разработчики Биткойна уделяют пристальное внимание тому, могут ли эти функции сделать ноды уязвимыми для DoS-атак, которые могли бы привести к отключению этих компьютеров от сети.
Это объясняет, почему используемый в Биткойне скриптовый язык Script не Тьюринг-полный. Если бы в языке была поддержка циклов, атакующий мог бы создать транзакцию с бесконечным циклом, которая бы оттягивала на себя все ресурсы нод, пытающихся проверить такую транзакцию. Это привело бы к сбою в работе нод и отключению их от сети.
Bitcoin разрабатывается и поддерживается таким образом, чтобы избежать уязвимости перед DoS-атаками, а некоторые из предлагаемых обновлений подразумевают еще большее повышение безопасности и конфиденциальности bitcoin-нод.
Может ли Bitcoin существовать без интернета?
Как и большинство других цифровых сервисов, Bitcoin работает главным образом через интернет. Гипотетически общество может оказаться лишено доступа в интернет — из-за серьезной технологической катастрофы или правительственного вмешательства, как это регулярно происходит в авторитарных странах. В этом случае практически все цифровые услуги, включая традиционную финансовую систему, тоже погрузятся в хаос, но только не Bitcoin.
При реализации такого сценария большинство майнеров и узлов потеряют связь друг с другом, и сеть рискует оказаться неспособной создавать новые блоки и транслировать новые транзакции. Но на существующее состояние блокчейна это никак не повлияет, так как каждая нода продолжит хранить свою копию блоков, которые у них были до отключения интернета.
Когда подключение к интернету будет восстановлено или будет найдено другое решение, ноды и майнеры смогут возобновить трансляцию новых блоков с того же момента. Даже если блокчейн за это время разделится на две или более ветви, bitcoin-ноды имеют возможность прийти к согласию по поводу объективно наиболее приемлемой ветки, которую следует продолжать.
Альтернативы интернету для Биткойна
Bitcoin работает и через другие коммуникационные сети, не только через интернет. Bitcoin-блоки транслируются с помощью радиосигнала, через ячеистые сети и даже по спутниковой связи. Разработчики постоянно совершенствуют эти решения, упрощая их использование и делая Bitcoin более устойчивым и в меньшей степени зависимым от подключения к интернету.
Насколько безопасна криптография Биткойна?
Криптография — это то, что позволяет передавать биткойны между пользователями без необходимости кому бы то ни было доверять. В частности, в Bitcoin используется алгоритм цифровой подписи ECDSA, сохраняющий устойчивость ко взломам уже несколько десятилетий. Хотя всегда существует вероятность того, что эта схема в конечном счете будет взломана, что позволит злоумышленнику подделывать подписи и тратить чужие биткойны.
Еще один критически важный для безопасности Биткойна криптографический алгоритм — хеш-функция SHA-256, являющаяся случайно односторонней функцией, лежащей в основе алгоритма proof-of-work, используемых в Lightning Network HTLC-контрактов и других решений. Если бы был разработан метод, позволяющий восстановить входные данные SHA-256 на основе ее выхода или нарушить случайность этой хеш-функции, это потенциально позволило бы злоумышленнику украсть средства в Lightning Network, а также находить валидные блоки значительно быстрее прочих майнеров, не обладающих таким знанием.
Результат взлома ECDSA или компрометирования SHA-256 был бы для Биткойна катастрофическим. Однако эти алгоритмы существуют уже много лет и используются многими важнейшими системами помимо Биткойна. Если Bitcoin окажется скомпрометирован, то скомпрометированы будут и многие другие системы, на которые мы привыкли полагаться.
Если какой-либо из используемых алгоритмов окажется небезопасным и будет использован злоумышленником, сеть Биткойна может перейти на более безопасный набор криптографических алгоритмов и продолжить работу, хотя это было бы весьма обременительно для существующих пользователей.
Квантовые компьютеры
Одна из популярных теоретических уязвимостей криптографии Биткойна связана с практической реализацией квантовых компьютеров. Квантовые компьютеры выполняют вычисления на субатомном уровне и достигают необычайной эффективности и скорости. Хотя ученые уже несколько лет обсуждают потенциальную мощность такого компьютера, от практической реализации они еще довольно далеки.
Если бы какая-то одна сторона получила единоличный доступ к квантовому компьютеру и решила майнить Биткойн, она, вероятно, заняла бы доминирующее положение в майнинговой отрасли и имела бы возможность провести атаку 51% на Bitcoin. Или же квантовый компьютер мог бы методом простого перебора подобрать секретные ключи к самым богатым bitcoin-адресам и украсть эти BTC. Любой из этих вариантов подорвет доверие к сети Bitcoin.
Аргумент квантовых компьютеров против Биткойна кажется обоснованным, пока мы не примем в расчет остальную экономику. Если бы одна вредоносная сторона сумела создать действующий квантовый компьютер, она смогла бы взломать практически любую систему в мире, не только Bitcoin. В этом сценарии под угрозой окажется вся финансовая система.
На самом деле Bitcoin на общем фоне был бы одной из наиболее безопасных систем, учитывая гораздо более высокий уровень энтропии, чем в банковских счетах или кредитных картах. В кредитных картах используются 16-значные номера и трехзначные коды безопасности, что дает энтропию 10^19, в то время как секретные ключи Биткойна имеют энтропию 2^128 или примерно 10^38.
10 comments