Разработчиков Bitcoin Core нередко критикуют за захват контроля над блокчейном. Однако директор стартапа Casa Джеймсон Лопп заявил, что основой безопасности криптовалютной сети было, есть и будет отсутствие единой точки контроля.
Лопп отметил, что достижение согласия о внесении определенного кода в репозиторий GitHub является ключевым моментом в работе создателей Bitcoin Core. Разработчики действительно имеют эксплуатационные аккаунты (maintainer), при помощи которых могут вносить код в основную ветвь разработки, но они носят больше технически-обслуживающий характер. Владельцы maintainer выбираются на определенное время и имеют уникальный PGP-ключ, который позволяет подтверждать вносимые изменения.
Сейчас доверенных PGP-ключей всего пять:
- 71A3B16735405025D447E8F274810B012346C9A6
- 133EAC179436F14A5CF1B794860FEB804E669320
- 32EE5C4C3FA15CCADB46ABE529D4BCB6416F53EC
- B8B3F1C0E58C15DB6A81D30C3648A882F4316B9B
- CA03882CB1FC067B5D3ACFE4D300116E1C875A3D
Владельцы ключей: Владимир ван дер Лаан, Питер Велле, Йонас Шнелли, Марко Фальке и Самуэль Добсон.
Теоретически злоумышленники могут использовать свои административные привилегии, чтобы внедрить в репозиторий код без согласия владельца эксплуатационного аккаунта. Для этого достаточно создать Pull Request. Злоумышленником, к примеру, может стать сотрудник GitHub. Но Bitcoin Core располагает обширной системой интеграции, которая, в том числе, предполагает и проверку доверенных PGP-ключей.
Лопп подчеркнул:
Несмотря на то, что эти ключи привязаны к известным лицам, по-прежнему небезопасно предполагать, что так будет всегда — ключ может быть скомпрометирован, и мы не будем об этом знать до тех пор, пока его владелец не поставит об этом в известность других владельцев эксплуатационных аккаунтов.
Верифицированный код могут проверить повторно. К тому же чем больше разработчиков проверяют код, тем меньше остается возможностей включения уязвимостей в репозиторий.
После включения код проходит комплексное тестирование. Также код тестируется каждую ночь другим пакетом тестов. Наконец, каждый разработчик может клонировать код из репозитория GitHub и проверить самостоятельно.
Когда в код вносят серьёзные изменения, выполняется тестирование тестирования. Код специально взламывается, чтобы тест завершился неудачно.
Лопп подытожил: это может быть не до конца понятно обычному пользователю, но если бы была одна точка контроля, то была бы и одна точка отказа, которую бы смогли атаковать те, кому биткоин несет угрозу. Эксперт заключил:
В конечном счете, сетью управляют все операторы ноды, обеспечивая соблюдение правил, с которыми они согласились. Эта модель безопасности является фундаментом коллегиального управления биткоином.