398 / 736WVL

Mara van der Laan

Прежнее сопровождение и выпуски Bitcoin Core

Bitcoin нужны не только новые идеи. Кто-то должен оценивать изменения, готовить выпуски программы и передавать ответственность другим. Mara van der Laan занималась сопровождением Bitcoin Core. Её работа и уход из этой роли показывают, почему важный проект не должен зависеть от одного человека.

Mara van der Laan — разработчица, известная по учётной записи laanwj и историческим упоминаниям имени Wladimir van der Laan. Она сопровождала Bitcoin Core, программу для самостоятельной проверки цепочки Bitcoin. Эта роль означала ответственность за программное обеспечение, а не власть решать за всю сеть.

Публичный профиль laanwj сегодня представляет Mara van der Laan и её прежнюю роль в сопровождении Bitcoin Core. Старые записи используют историческое имя Wladimir van der Laan. Речь о работе одной разработчицы, а не двух разных людей. Сопровождение проекта — не только создание функций. Нужно оценивать готовность изменений, координировать их включение и сотрудничать с теми, кто проверяет и тестирует код. Эта менее заметная часть разработки помогает понять её вклад. [1] [4]

В записи от 21 января 2021 года van der Laan описала знакомую давним проектам проблему: слишком многое начинает зависеть от конкретного человека. У Bitcoin Core уже было несколько сопровождающих, но она хотела передать больше задач и уменьшить своё участие. Это не было объявлением полного прекращения работы над проектом. Важные шаги не должны были ждать именно её. Представьте готовый выпуск, задержанный только потому, что один незаменимый человек недоступен. Распределение ответственности помогает избежать такой ситуации. [2]

План 2021 года касался распространения программы, подписания выпусков и площадок сотрудничества. Van der Laan рассматривала IPFS для распределённого обмена файлами и Radicle для совместной работы над кодом без центрального сервера. Цель — чтобы недоступность человека, сайта или поставщика не останавливала остальных. Упоминание инструмента, однако, свидетельствует о предложении, а не о завершённом внедрении. Найти слабое место, спланировать решение и действительно его использовать — разные этапы. [2]

На встрече разработчиков 11 августа 2022 года laanwj объявила об уходе из роли сопровождающей Bitcoin Core. Конкретно она переставала включать изменения в общий код и готовить выпуски. При этом оставалась возможность иногда проверять код: рассматривать чужие предложения можно и без этой роли. Она также выразила доверие людям, уже выполнявшим значительную часть работы. Поэтому важны даты. Прежняя должность не описывает автоматически нынешнюю, а уход не закрывает все способы дальнейшего участия. [3]

Bitcoin Core описывает сопровождающих как людей, которые включают проверенные и согласованные командой изменения, выполняя заключительную проверку. Репозиторий хранит код и его историю; доступ к нему не приказывает операторам узлов устанавливать выпуск. Узел — компьютер, проверяющий правила Bitcoin с помощью выбранной программы. Влияние на важное программное обеспечение не даёт возможности одной командой изменить поведение всех участников. Различие между сопровождением проекта и правилами, принимаемыми сетью, делает децентрализацию понятнее. [4]

Часть ответственности лежит и на пользователе, скачивающем Bitcoin Core. Файл SHA256SUMS содержит контрольные суммы выпуска: сравнение показывает, соответствует ли скачанный файл указанному отпечатку. Но злоумышленник мог бы подменить программу вместе со списком. Поэтому проверяют и цифровые подписи, и отпечаток ключа — краткий идентификатор открытого ключа подписанта. Его нужно сопоставить с достоверно установленным значением. Имя рядом с ключом не доказывает личность. Файл, подпись и принадлежность ключа требуют связанных, но отдельных проверок. [5]

Исходный код — форма программы для чтения и редактирования; сборка превращает его в исполняемые файлы. Воспроизводимые сборки Bitcoin Core позволяют другим независимо получить идентичные файлы и сравнить их отпечатки с выпуском. Это снижает необходимость слепо доверять компьютеру, подготовившему загрузку. Совпадение, однако, не доказывает отсутствия ошибок в исходном коде. Ошибка из исходника может точно воспроизвестись в каждой одинаковой сборке. Проверка происхождения выпуска и профессиональная проверка кода дополняют друг друга, но не заменяют. [5]

Остаётся ещё вопрос: получает ли версия исправления? Bitcoin Core публикует жизненный цикл выпусков и отличает поддерживаемые от тех, чья поддержка завершилась. Последние, как правило, больше не получают исправлений безопасности. Старая действительная подпись может по-прежнему подтверждать происхождение исходного файла, не гарантируя нынешнего сопровождения. Поэтому проверяйте также поддержку и примечания к выпуску. История проекта, подлинность файла и пригодность версии сегодня связаны, но это разные вопросы. [6]

Для полной картины прочитайте эту статью вместе с Peter Todd, Andrew Poelstra, Bitcoin Core. На эту статью также ссылаются Peter Todd, Andrew Poelstra.

DOC · 001laanwj — public developer profileДокументация DOC · 002The widening gyre — 21 January 2021Документация DOC · 003Bitcoin Core meeting — 11 August 2022Документация DOC · 004Bitcoin Core — project and maintainersДокументация DOC · 005Bitcoin Core — download verificationДокументация DOC · 006Bitcoin Core — software life cycleДокументация
Обновлено: Сначала источники · Не является инвестиционной рекомендацией