Ещё в 2016 году разработка биткоина стала примером для всех разработчиков открытого ПО благодаря Gitian — «компьютера в компьютере», который позволяет проверять двоичные (бинарные) файлы более надежным и прозрачным способом. Но с интеграцией Guix, которая поддерживает детерминированные сборки Bitcoin Core, работа над протоколом станет еще более надежной, пишет Влад Костеа из Bitcoin Magazine.
Хотя это довольно сложный процесс, который преимущественно касается разработчиков, он решает вопрос доверия к компонентам биткоина, который важен для всего биткоин-сообщества.
Как всем известно из уроков информатики, компьютеры получают инструкции в «единицах» и «нулях», но люди пишут эти инструкции на языках программирования, который является логичным и понятным для них. После того, как код написан, инструкции должны быть скомпилированы в понятный для компьютеров язык. При обмене бинарными сборкам разработчики существует определенная степень доверия (если не включать дополнительные шаги для проверки, которые отнимают много времени).
Как децентрализованный протокол, биткоин требует особого внимания и осторожности. Если случится стороннее изменение (например, злонамеренный взлом) в сборках, которыми обмениваются разработчики, тогда новая версия клиента может содержать ошибки, которые потенциально могут привести к огромным убыткам. Если нет надлежащего процесса проверки, то потенциальная ошибка может легко стать единой точкой отказа.
Gitian и Guix
Идея о том, что все разработчики будут запускать один и тот же код и сравнивать одни и те же бинарники, нереальна, поскольку различия — даже небольшие различия — в таких переменных, как архитектура системы, операционная система и даже время компиляции, могут давать разные результаты. В попытке найти решение этой проблемы разработчик под псевдонимом Dev Random создал Gitian.
Как пишет журналист Bitcoin Magazine Аарон ван Вирдум, Gitian — это «компьютер в компьютере», который предоставляет виртуальное пространство, в котором бинарники могут быть скомпилированы без переменных. Независимо от того, какое устройство или операционная система используется в процессе, результаты всегда гарантировано будут такими же.
Однако эта процедура недостаточна для нужд разработчиков Bitcoin Core, поскольку она слишком сильно зависит от операционной системы Ubuntu. Эта зависимость сама по себе может стать точкой отказа, а процесс проверки требует большей степени прозрачности и контроля.
Как сказал в комментарии для Bitcoin Magazine разработчик из Chaincode Labs Карл Донг: «Среда сильно зависит от Ubuntu и в какой-то степени слепо доверяет ей. Фактически, метод, по которому создается среда, заключался в загрузке неконтролируемых непрозрачных бинарников (иными словами, "доверенных бинарников") из Ubuntu, открывая риски третьих сторон. Потенциально злоумышленник может повредить все исполняемые файлы Bitcoin Core посредством вторжения в инфраструктуру Ubuntu».
Донг отвечает за внедрение Guix, бинарной системы верификации, которая делает разработку более надежной и полностью заменяет Gitian.
[…] Источник: coinspot.io Метки: #Bitcoin#Bitcoin Core#биткоин#риски Share76Tweet47 […]
[…] Источник: coinspot.io […]
[…] Источник: coinspot.io […]
[…] Источник: coinspot.io […]
[…] Источник: coinspot.io […]
[…] Источник: coinspot.io […]