Как Биткоин Обеспечивает Свою Безопасность?
С момента своего создания 01.11.2008, Bitcoin, оцениваемый сейчас более чем в 700 миллиардов долларов, работает уже 13 лет, и его стремительный рост за последние годы вывел его на передовые позиции. Для обычных организаций вероятность хакерских атак и затраты на обслуживание растут вместе с увеличением объема и данных. Но это, похоже, не относится к Bitcoin, который является децентрализованным с открытым исходным кодом. Так как же он обеспечивает безопасность своей работы? Кто поддерживает сеть Bitcoin? Возникали ли в сети Bitcoin какие-либо проблемы с безопасностью или взломы за всю его долгую историю?
Давайте рассмотрим открытый исходный код Bitcoin.
После публикации Белой книги Bitcoin 01.11.2008, Сатоши Накамото начал разрабатывать программное обеспечение для реализации правил, изложенных в Белой книге, и в январе 2009 года он сформировал свой первый блок и получил вознаграждение в 50 биткоинов. С тех пор криптовалюта официально появилась как цифровая валюта, и её сеть начала привлекать общественное внимание. Однако, к всеобщему удивлению, в сети Накамото исходный код может быть изменен, как и параметры начального вознаграждения за эмиссию. Теперь вы можете спросить, не означает ли это, что количество Bitcoin может быть фальсифицировано? И если параметры можно изменить, не означает ли это, что инфляция может выйти из-под контроля в любой момент?
Почему никто на самом деле не изменил это число? Потому что такие усилия будут напрасны!
Bitcoin и работа его сети основаны на механизме консенсуса, и только когда все согласны с основополагающими правилами, его цена может расти. Только на основе консенсуса о постоянной эмиссии 21 миллиона биткоинов майнеры будут готовы прилагать усилия для майнинга блоков. Если правила меняются, необходимо достичь нового консенсуса. Если никто не принимает новые правила и никто не майнит по новым правилам, криптовалюта не будет иметь ценности.
Теперь вы можете спросить, были ли в истории Bitcoin предложенные изменения правил, которые достигли консенсуса?
И действительно, такие случаи были. По мере того как Bitcoin становился все более широко принятым, ограничение размера блока и недостаток возможности обрабатывать только семь транзакций в секунду становились все более очевидными с каждым днем. В июле 2017 года появились две фракции для решения проблемы перегрузки сети Bitcoin. Одна фракция выступала за сохранение размера блока 1M и принятие разделенного свидетельства, косвенного расширения и Lightning Network для отвода давления, тогда как другая выступала за прямое расширение емкости блока. В результате сеть Bitcoin последовала первому подходу, в то время как вторая отделилась от Bitcoin для создания Bitcoin Cash.
Таким образом, теоретически любой может изменить код и правила, но фактически, если никто не согласен с изменениями, модификация будет незаконной. А если план модификации одобрен только частично, единственный способ продолжить схему - это отделить её от сети Bitcoin и создать новые цепочки и валюты. Поэтому, хотя теоретически параметры эмиссии Bitcoin можно изменить, никто не может фактически их модифицировать.
Теперь давайте обсудим, возникали ли в сети Bitcoin какие-либо проблемы с безопасностью? И поскольку у Bitcoin нет центрального управления, кто поддерживает безопасность его сети?
Хотя у сети Bitcoin нет центрального управления, безопасность сети, исправление ошибок в коде и обновления поддерживаются командой Core разработчиков. Команда Core разработчиков - это не традиционная централизованная компания, а некоммерческая организация, состоящая из основных разработчиков и сообщества разработчиков Bitcoin со многими краткосрочными участниками. В сети Bitcoin действительно были уязвимости безопасности, особенно на ранних этапах, но все они были исправлены этой организацией.
Например, Bitcoin столкнулся с самой серьезной ошибкой в инциденте с переполнением значения 15.08.2010, когда разработчик обнаружил, что блок Bitcoin содержал две транзакции на общую сумму 184,4 миллиарда биткоинов, которые избежали проверки исходной системы. Эта ошеломляющая ошибка чуть не уничтожила Bitcoin, поскольку его общее предложение составляло всего 21 миллион на тот момент. Дополнительные 184,4 миллиарда биткоинов, появившиеся из ниоткуда, разрушили фундамент доверия к Bitcoin. Если бы эта ошибка осталась неисправленной, ценность Bitcoin полностью бы испарилась немедленно.
После публичного раскрытия ошибки разработчики Core предприняли немедленные действия. Они стерли записи о 184,4 миллиардах транзакций, выпустили Bitcoin 0.3.1 и исправили ошибку через мягкий форк всего за 5 часов. Обновленное правило навсегда устранило все инциденты с переполнением значения. С тех пор мы видели некоторые незначительные ошибки в Bitcoin, но все они были исправлены.
Что позволяет Bitcoin так быстро исправлять ошибки?
Помимо быстрого обнаружения и исправления ошибок разработчиками Core, другая причина заключается в пространстве для исправлений, предоставляемом правилом подтверждения данных токена, которое называется Правилом самой длинной цепочки. То есть узел может получать вознаграждения только тогда, когда его работа признается другими узлами. Чем больше признания получает узел за свою работу, тем длиннее цепочку он создаст, и тем больше будет вознаграждений от майнинга в этой цепочке. Наоборот, при меньшем признании цепочка становится короче, и вознаграждения уменьшаются.
Исправление ошибок в Bitcoin - это процесс, где хорошие цепочки растут в длинные цепочки с увеличивающимся признанием, а плохие цепочки обрезаются в короткие цепочки и отбрасываются. Поэтому, хотя код сети Bitcoin является открытым исходным, безопасность работы не вызывает беспокойства. Не имеет большого значения, кто изменит правила или код, потому что ключевым моментом является признание.
Возникает другой вопрос. Не делает ли принятие Правила самой длинной цепочки Bitcoin подверженным атаке 51%? Может ли кто-то просто атаковать сеть Bitcoin и даже уничтожить её, если у него есть 51% хешрейта?
Почему 51% хешрейта считается атакой?
После того, как они потратят все свои монеты и расходы будут записаны в старой цепочке, лица с 51% хешрейта перезапустят майнинг в новой цепочке (в новой цепочке нет записи о потраченных монетах). Длина новой цепочки превысит длину старой, которая станет недействительной, как и расходы, записанные в ней. Это означает, что потраченные монеты все еще там. Это известная "атака двойной траты". Представьте ситуацию, когда другие могут многократно тратить свои монеты, в то время как ваши собственные монеты постоянно приходят и уходят. Останетесь ли вы с этой криптовалютой? Абсолютно нет.
Поэтому, как только происходит атака двойной траты, доверие к криптовалюте будет сильно подорвано. И если есть атака, которую нельзя предотвратить, это будет конец валюты, потому что она совсем не безопасна. Подвергался ли Bitcoin такой страшной атаке 51%?
Ответ - нет. Почему?
Bitcoin превратился в гиганта. Получение 51% хешрейта будет стоить очень дорого, в то время как выгоды от атаки не будут пропорциональны. Даже если у кого-то есть 51% хешрейта для запуска атаки, он может сделать только две дополнительные вещи: 1) изменить свои собственные записи транзакций, например, двойную оплату; 2) предотвратить подтверждение части или всех транзакций. При этом он не может ни генерировать Bitcoin из ниоткуда, ни изменить количество биткоинов, генерируемых в каждом блоке. В любом случае это будет невыгодная сделка.
Кроме того, у Bitcoin есть второй уровень защиты - полные узлы.
Это означает, что даже если есть вредоносный хешрейт, будет сложно уничтожить сеть Bitcoin. Как только в сети Bitcoin появляется мятежный хешрейт, который пытается изменить консенсус Bitcoin, сеть Bitcoin, состоящая из полных узлов, может отвергнуть эти транзакции. Поэтому Bitcoin практически невосприимчив к атаке 51%. Чем больше растет сеть Bitcoin, тем менее вероятна атака.
Кроме того, Bitcoin также сталкивается с уязвимостями, такими как кража активов вредоносными узлами из Lightning Network и DoS-атаки. В обновлении версии в 2019 году Lightning Network выпустила механизм наказания за мошенничество с использованием протокола RSMC для устранения уязвимостей. Как только обнаруживается, что хакер крадет средства в Lightning Network, он потеряет не только украденные средства, но и все средства в соответствующих каналах.
Итоги
Подводя итог, то, что поддерживает стабильность сети Bitcoin на протяжении такого длительного времени - это не сама сеть, которая в конце концов не идеальна, и не иммунитет от взломов, а её механизм консенсуса, Правило самой длинной цепочки, полные узлы и открытый исходный код Bitcoin Core, который поддерживает реализацию сети Bitcoin. Все это вместе побудило многих разработчиков добровольно устранять уязвимости, чтобы сделать сеть Bitcoin самовосстанавливающейся и устойчивой к атакам.