Как на самом деле происходит разработка Биткоина

Ключевым тезисом публикации в блоге Лоппа было то, как программистам удаётся достигнуть консенсуса о необходимости внедрения нового кода, предлагаемого через репозиторий GitHub. Как пишет NewsBTC, хотя у ключевых разработчиков ядра имеются учётные записи типа «maintainer», которые позволяют переносить код в мастер-ветку репозитория, их обязанности больше вспомогательные, нежели руководящие. Причём такой тип для учётной записи можно заработать исключительно огромным и регулярным вкладом в разработку на протяжении внушительного промежутка времени.

У каждого владельца такого аккаунта есть уникальный PGP-ключ, только они могут интегрировать предложенный код в текущую структуру. Однако при таком сценарии у злоумышленника всё равно остаётся возможность вносить изменения в репозиторий без согласия держателей аккаунтов типа maintainer – посредством функции запроса Pull Request.

Хотя ключи привязаны к известным личностям, полностью полагаться на такой формат не стоит. Их можно скомпрометировать, причём об этом никто не узнает, пока владелец ключа не обнаружит факт взлома и не оповестит сообщество. То есть ключи не дают нам полноценную защиту, они просто значительно затрудняют задачу злоумышленникам.

Стоит отметить, что код, который предлагается в основную структуру Биткоина даже при наличии PGP-ключей, проходит жёсткий аудит. Любой разработчик может провести индивидуальную проверку целостности, так называемую verify-commit. Это лишь небольшая профилактика, и поэтому каждому сотруднику стоит быть максимально бдительным, чтобы не подпустить злодеев к ядру Биткоина.

Тщательное тестирование кода

Тщательное тестирование кода. Источник: cryptocurrency.tech. Фото.

Источник: cryptocurrency.tech

В Bitcoin Core предусмотрен специальный набор тестов, которые применяются к каждому запросу на внесение кода. Кроме того, на мастер-ветке репозитория ежедневно проводятся и другие тесты. По словам Лоппа, доступный всем желающим код в репозитории GitHub можно открыто протестировать путём клонирования всего репозитория ядра.

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

Больше данных ищите в крипточате.

Подписывайтесь на наш канал в Телеграме. HODL до конца!