Ещё один мейнтейнер Bitcoin Core уходит, напомнив сообществу о важных технических, экономических и философских вопросах

0
ПОДЕЛИТЬСЯ

Один из самых активных биткойн-разработчиков решил отойти от дел после семи лет работы над проектом, и новость об этом вновь напомнила сообществу о важных технических, экономических и философских вопросах.

В феврале Марко Фальке объявил о своём скором уходе с роли мейнтейнера github-репозитория с кодовой базой Bitcoin Core. Фальке — самый активный контрибьютор Bitcoin Core за всё время и автор более чем 2000 коммитов. Три из семи лет работу Фальке в качестве мейнтейнера Bitcoin Core поддерживали и спонсировали криптобиржа OKcoin и венчурная фирма Paradigm.

«Я по-прежнему увлечён опенсорс-разработкой и позитивно смотрю на будущее Биткойна, однако роль мейнтейнера лично мне больше не подходит, — написал Фальке в твиттере. — Я доволен своими достижениями и надо признать, что они не были бы возможны без моих спонсоров».

В предыдущие месяцы несколько других заметных разработчиков Биткойна тоже решили уменьшить уровень своего участия, отказавшись от прав доступа к администрированию кода либо полностью отойдя от дел, и после ухода Фальке с лета 2023 репозиторий с ключевой реализацией Биткойна продолжат администрировать всего четыре мейнтейнера: Майкл Форд, Геннадий Степанов, Эндрю Чоу и Глория Чжао.

Такая череда уходов известных в комьюнити разработчиков обеспокоила многих. На это обратили внимание даже в Wall Street Journal, неплохо описав технический процесс обновления кода Bitcoin Core, центрального элемента экосистемы ПО Биткойна, но в конечном счёте лишь усилив опасения тех, кто, по нашему мнению, ошибочно понимает важнейшие аспекты работы Биткойна, того, как он управляется и кем контролируется.

Мы уже рассказывали гораздо более подробно о процессе разработки Биткойна несколько месяцев назад, и всем интересующимся рекомендуем обратиться к тому материалу за более детальным взглядом и историческим контекстом. Однако уход Фальке вновь поднял перед комьюнити некоторые важные вопросы о Биткойне, роли его разработчиков, его техническом прогрессе и того, как это развитие финансируется. Поэтому здесь я хочу рассказать ещё раз о том, как устроен ключевой процесс обновления ПО Биткойна, чтобы развеять миф о том, что его контролируют пять человек. И заодно кратко обсудить, может ли в принципе кто-то контролировать Биткойн.

Биткойн не контролируется пятью разработчиками

Bitcoin Core — это ПО с открытым исходным кодом, не единственная, но важнейшая реализация Биткойна, ключевая для работы его экосистемы. Поддерживаемый и обновляемый большой и распределённой группой добровольцев, Bitcoin Core является прямым потомком оригинального программного клиента для Биткойна, выпущенного Сатоши Накамото.

Одним из моментов, вокруг которого существует наибольшее количество заблуждений и непонимания, является внесение изменений в код Bitcoin Core. Хотя репозиторий с кодом Bitcoin Core действительно администрирует небольшая группа “мейнтейнеров”, заблуждением было бы считать, что только они могут вносить изменения в код этого программного клиента. В действительности “мёрдж” изменений кода в основную ветку — лишь последний шаг длительного процесса.

Важным компонентом процесса разработки является проверка предлагаемых изменений (ревью) другими разработчиками, особенно для критически важных изменений безопасности или правил консенсуса. Это ревью часто может занимать много дней, месяцев или даже лет, в течение которых автор оригинала принимает предложения от коллег и вносит изменения и исправления до тех пор, пока не будут устранены все резонные возражения. Предложения от самих мейнтейнеров тоже должны проходить через тот же процесс, что и любые другие.

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

Ещё один мейнтейнер Bitcoin Core уходит, напомнив сообществу о важных технических, экономических и философских вопросах
Источник

Проект Bitcoin Core подходит к внесению изменений в свой код очень серьёзно. Мейнтейнеры играют определяющую роль в мёрдже предлагаемых изменений в ветки репозитория, но они должны это делать ответственно. Если мейнтейнер вдруг станет вносить изменения без надлежащей проверки или рассмотрения, то другие разработчики немедленно примут против него меры. Они могут настоять на лишении такого мейнтейнера доступа к принятию решений по коммитам. А в некоем крайнем и теоретическом случае они могут склонировать репозиторий от последней корректной версии и создать новый репозиторий, контроль над коммитами в котором передадут лишь более ответственным разработчикам.

фалькеКлючевым фактором при внесении изменений в правила консенсуса является согласие остальных участников сети запускать новую версию ПО. Это требует глубокого понимания не только протокола, но и теории игр и сути политических процессов, особенно если изменение может привести к расхождению интересов различных участников сети. Как результат, Bitcoin Core исторически крайне консервативен в отношении таких изменений.

Но вместе с тем вынести свои предложения по изменению кода на обсуждение комьюнити может любой желающий. Контрибьюторы могут предлагать изменения кода, тестировать их, проверять или комментировать другие открытые пулл-реквесты. Каждый, кто вносит какой-либо вклад в проект Bitcoin Core, является его участником и контрибьютором. И такой открытый и коллаборативный подход имел решающее значение для успеха проекта и его дальнейшего роста.

За последний месяц 29 авторов предложили 177 коммитов в основную ветку проекта и 184 коммита (исключая мёрджи) было опубликовано ко всем веткам. По нашим оценкам, на GitHub Биткойна насчитывается около 300 активных контрибьюторов в 1000 отдельных репозиториев — это очень большое и активное комьюнити.

В целом, Bitcoin Core является результатом совместной работы, в которой участвует большая группа контрибьюторов со всего мира, а не лишь несколько мейнтейнеров проекта. Процесс проверки и оценки предлагаемых изменений кодовой базы обширен и подробен, и может занимать недели или даже годы, гарантируя безопасность всех вносимых изменений. Успех и будущее Биткойна зависят от усилий всего сообщества, а дальнейший рост и развитие во многом будут зависеть и от его принятия и использования людьми и организациями во всём мире.

А кто тогда контролирует Биткойн?

Биткойн — это система правил, но без правителей. Здесь нет президента или CEO, совета директоров или иного управляющего органа. Ни один человек и никакая группа людей не может в одностороннем порядке вносить изменения в программное обеспечение, на котором работает сеть. Поэтому ни про кого нельзя сказать, что он обладает контролем над Биткойном.

Понятно, что многим людям непросто понять такую концепцию и принять её жизнеспособность. Полиция обеспечивает соблюдение законов. Государственные органы осуществляют надзор за финансовой системой, на которую крупные учреждения могут оказывать огромное влияние. В любых видах спорта, которые мы смотрим, так или иначе есть судьи. Даже дети, когда им кажется, что в игре кто-то жульничает, кричат об этом своим родителям или воспитателю. Да в нашей жизни практически нет аналогов тому, как работает Биткойн.

Но он работает, без перерывов и перебоев, с самого своего запуска в 2009 году. Это противоречит нашей глубоко укоренившейся вере в то, что кто-то — кто угодно — обязательно должен контролировать ситуацию, а иначе наступит хаос.

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

Разработчики

На первый взгляд может показаться, что разработчики, работающие над кодом Биткойна, контролируют протокол. И доля правды в этом есть. Именно разработчики, поддерживающие и обновляющие код, в конечном счёте формализуют правила. Но здесь есть загвоздка: Биткойн — это одноранговая (peer-to-peer) сеть.

Отступим теперь на шаг назад. Подавляющее большинство ПО, с которым мы взаимодействуем, будь то веб-сайты или приложения на телефоне, поддерживаются определённым ответственным лицом либо централизованной организацией. Пользуясь сайтом или приложением, вы взаимодействуете с кодовой базой, находящейся на сервере, который вы не контролируете. Если веб-сайт обновился и, например, изменил условия пользовательского соглашения, то обычно вы уже не сможете вернуться к более ранней версии, которая вам больше нравилась. Приложениям необходимы обновления, чтобы вы могли продолжать ими пользоваться. Это асимметричные отношения, где у пользователя нет иного выбора, кроме как согласиться с изменениями, внесёнными владельцем кода.

Биткойн же работает не так. Биткойн — это p2p-сеть, каждый участник которой сам может решать, какую версию какой из совместимых программ запускать. Если разработчики и изменят правила протокола через изменение кода своего программного клиента, они могут принудить участников сети принять эти изменения. Узлы — компьютеры, на которых работает ПО Биткойна, — могут просто не загружать новую версию и продолжить работать на старой. Не менее важно и то, что, если человек и загружает обновление, это его никак не связывает: узел всегда можно откатить на более старую версию, если обновление не оправдает ожиданий.

Майнеры

Майнеры обеспечивают безопасность сети Биткойна. Но несмотря на своё положение, у них не больше контроля над сетью, чем у любой другой группы её участников.

Например, если майнер попытается нарушить правила, зачислив себе в coinbase-транзакции найденного блока больше биткойнов, чем это разрешено протоколом, то такой блок просто будет отклонён узлами, а значит майнер впустую потратит мощности и электроэнергию, не получив ничего взамен. Майнеры могут отказываться включать в блоки часть транзакций по тому или иному признаку — такая форма цензуры. Но, поступая так, они, опять же, идут против собственных экономических интересов: другие майнеры с удовольствием подхватят эти транзакции и получат соответствующие комиссии за них.

Узлы

Узлы — это своего рода рефери Биткойна. Они хранят копии реестра со всеми транзакциями Биткойна и проверяют каждый блок, прежде чем добавить его в блокчейн и тем самым обновить его состояние. Как и спортивные арбитры, узлы обеспечивают соблюдение правил, а не придумывают их. Они не могут вносить изменения или произвольно решать, какие правила выполнять или не выполнять. Если они попытаются это сделать, остальные узлы просто не согласятся с ними, и узлы-нарушители останутся вне доминирующего консенсуса и смогут ссылаться только на те узлы, что изменили правила тем же образом, что и они.

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

Биржи

Зачем здесь упоминать биржи? Есть две причины. Первая состоит в том, что они держат собственные узлы, с помощью которых обрабатывают транзакции своих пользователей. Таким образом, все перечисленные выше пункты имеют отношение к тому, как биржи вписываются в эту систему.

Вторая причина — поскольку биржи для большинства людей служат шлюзами между банковской системой и криптовалютами, они могут контролировать то, (условно) какой “биткойн” видят их пользователи. В этом смысле биржи как центральные сервера для своих клиентов. В результате пользователи неявно соглашаются с правилами той версии Биткойна, которую приняла биржа.

Биржа же может принять тот вариант, какой сама сочтёт нужным, — в том числе меняющий важные правила консенсуса — и попробовать представить его своим пользователям как “настоящий” биткойн. Однако это создаст угрозу безопасности, если майнеры не поддержат новую версию блокчейна, и может оттолкнуть пользователей биржи. Это очень маловероятный сценарий, но теоретически биржа может использовать свою экономическую мощь, чтобы повлиять на правила Биткойна через угрозу поддержать хардфорк.

Общее благо

Итак, первое, что читателю важно понять о Биткойне, это то, что Биткойн является “общим благом”. Да, мы считаем, что Биткойн — это благо для людей в целом, для человечества. Тем не менее речь идёт об экономическом определении общего блага, и это подразумевает, во-первых, что людям нельзя запретить им пользоваться (неисключаемость), а во-вторых, стоимость его предоставления другому человеку растёт по мере того, как им пользуются всё больше людей (конкурентность). Другие общие блага часто упоминаются как исчерпаемые или конечные ресурсы — такие как запасы рыбы, дороги, уголь или общественный транспорт.

И это несколько отличается от “общественного блага”, которое считается неконкурентным, то есть стоимость его предоставления другому пользователю почти нулевая — как, например, для обычного бесплатного ПО с открытым исходным кодом или эфирного телевидения и радио. Программное обеспечение Биткойна бесплатно для любого пользователя, но ограниченный максимальный размер блока и рыночные комиссии за транзакции означают, что по мере того, как сетью пользуются всё больше людей, стоимость выполнения транзакций в ней растёт, т.к. пользователи конкурируют за ограниченное место в блоках.

Будучи общим благом и как открытое ПО, Биткойн подвержен нескольким экономическим недостаткам, включая проблему “безбилетника” — т.е. людей, которые пользуются преимуществами продукта, не внося в него свой вклад, — и проблему финансирования продукта, т.е. того, как обеспечить достаточное количество ресурсов для дальнейшего развития и обслуживания кодовой базы.

Для тех, кто говорит о Биткойне как о некоем непреложном законе природы, сродни дефицитным элементам в земной коре, это лучше описывает социальную связь с экономическими обещаниями Биткойна, чем с его технической основой. Но подробнее об этом позже. В реальности Bitcoin Core — это программа, а более широкая экосистема Биткойна состоит из множества программ, каждая из которых требует постоянных обновлений и активного обслуживания, в которых добавляется новая функциональность и исправляются ошибки.

Вопрос о финансировании этих процессов обсуждается ещё со времён появления Биткойна. В целом же вопрос о распределении ресурсов в подобные направления возник задолго до Биткойна и даже ПО с открытым исходным кодом как такового. “Спонсирование” разработчиков Bitcoin Core было популярным способом поддержки технологии, и в случае с Марко Фальке, его работа в последние годы оплачивалась грантами от венчурной фирмы Paradigm и биржи OKcoin. Другие пользующиеся этими технологиями частные и государственные организации — инвестиционные фонды, поставщики услуг, некоммерческие организации, студии разработки и образовательные учреждения, — тоже выступали спонсорами разработчиков Биткойна и его развития в целом. Соответствующие программы финансирования существовали, в частности у BitMEX, Chaincode Labs, Spiral (ранее Square Crypto), Brink и Blockstream.

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

Финансирование развития и обслуживания такого общественного блага, как Биткойн, — важный вопрос, и он становится всё более актуальным.

Единственное, что есть постоянного, это перемены

Учитывая этот экономический и технический фон, важно понимать также, что технические контрибьюторы Биткойна, включая даже самых активных долгожителей этой сферы, постоянно сменяли друг друга. Сатоши сам положил начало этой тенденции, когда в 2010 году передал свою руководящую роль Гэвину Андресену, который затем оставил её Владимиру ван дер Лаану в 2014.

Обращаясь к той же статье о разработчиках Биткойна, приведённая в ней таблица коммитов в GitHub с наиболее активными контрибьюторами подтверждает эту идею о том, что разработчики приходят в экосистему Биткойна, вносят свой вклад и уходят заниматься другими проектами в других сферах. Так что, хоть мы и наблюдаем в последнее время некоторую “текучку кадров” среди мейнтейнеров Bitcoin Core, это всегда было частью Биткойна — постоянное обновление.

Разработчики Биткойна

Мы благодарны каждому из этих людей за их вклад, и даже если они решили перейти в другие смежные проекты (а многие из них остаются активными участниками комьюнити, несмотря на смену роли), мы считаем важным рассказать о них читателям. Одной из целей той публикации о разработчиках Биткойна — как для авторов оригинального отчёта от NYDIG, так и для нас, — было показать, что над Биткойном работают не какие-то “таинственные кодеры”, как о них часто говорят в мейнстрим-медиа, но вполне понятные и идентифицируемые люди и грамотные специалисты.

Биткойн — это социальный конструкт

«Кто контролирует Биткойн?» — извечный вопрос, который часто задают инвесторы, технологи, “безопасники” и регуляторы. И хотя некоторые из них действительно предлагают довольно хороший анализ технической стороны вопроса, сосредоточив внимание на администраторах репозитория на GitHub, реальность такова (и UASF, которым в 2017 году разрешилось противоборство вокруг размера блоков, это подтверждает), что реальным контролем над Биткойном обладают его пользователи, а не разработчики, майнеры, биржи или какие-то ещё отдельные лица и их объединения. Если один из администраторов сделает что-то против доминирующей позиции пользователей, то его репозиторий легко можно клонировать и обновить, полностью удалив нежелательный “вклад” этого человека и исключив его из процесса обновления.

Разработчики Биткойна

Общественное соглашение о том, что такое Bitcoin, — вот то, что его связывает и делает таким, как он есть. Код меняется, часть пользователей может покинуть Биткойн, разработчики приходят и уходят, доли майнеров и пулов растут и сокращаются, и даже некоторые аспекты уайтпейпер Биткойна (по-прежнему прекрасной) впоследствии были опровергнуты или просто более нерелевантны. Равно как и нет никаких технических или юридических препятствий к тому, чтобы создать ещё одну копию Биткойна, внести несколько тривиальных изменений в код, назвать этот койн как-то по-своему и предложить его людям.

Но, как и многие другие институты и объединения в этом мире, Bitcoin представляет собой социальный конструкт, в котором люди могут принять добровольное участие по любой причине, будь то техническая, экономическая или социальная. Вот почему мы предпочитаем оценивать Биткойн через такие фундаментальные параметры, как (расчётный) размер пользовательской базы, количество адресов или тех, кто присоединился к экосистеме Биткойна.

Центральный конфликт трилогии “Матрица” — свобода воли против контроля — говорит нам о том, что выбор, сделанный Нео, — это самая мощная сила в мире, даже более мощная, чем запрограммированное отсутствие свободы воли у агента Смита. Мы считаем, что эта аналогия справедлива и для Биткойна.


БитНовости отказываются от ответственности за любые инвестиционные рекомендации, которые могут содержаться в данной статье. Все высказанные суждения выражают исключительно личное мнения автора и респондентов. Любые действия, связанные с инвестициями и торговлей на крипторынках, сопряжены с риском потери инвестируемых средств. На основании предоставленных данных, вы принимаете инвестиционные решения взвешенно, ответственно и на свой страх и риск.

Подписывайтесь на BitNovosti в Telegram!
Делитесь вашим мнением об этой статье в комментариях ниже.

На основе материалов NYDIG и CoinShares

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here