Краткая история денег, или Все, что нужно знать о биткоине (Аммус) - страница 160


ВНЕ ДОСЯГАЕМОСТИ: ПОЧЕМУ НИКТО НЕ СМОЖЕТ ИЗМЕНИТЬ БИТКОИН

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

Сатоши Накамото, 17 июня 2010 года

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

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

За истекшее время сотни программистов из разных стран мира на добровольных началах усовершенствовали код, заодно повысив мощность отдельных узлов сети. Эти разработчики совместно создали несколько версий программного обеспечения, самая популярная из которых известна как Bitcoin Core. Существуют и другие версии; к тому же каждый пользователь может в любой момент внести изменения в исходный код. Единственное обязательное требование для узлов сети — чтобы все они следовали общему алгоритму консенсуса. Если один из узлов нарушит правила консенсуса, меняя структуру сети, запись в реестре, размер вознаграждения или любой параметр системы, его транзакции будут отвергнуты остальными узлами.

Процесс определения параметров биткоина можно описать словами шотландского философа Адама Фергюсона: «…установления, которые представляют собой несомненное человеческое деяние, но не являются следствием чьего-либо замысла». Сатоши Накамото с помощью Хэла Финни и других соратников представил рабочую версию программного обеспечения в январе 2009 года, однако с тех пор код значительно изменился благодаря вкладу сотен программистов, одобренному тысячами пользователей, управляющих узлами сети. Не существует единой центральной инстанции, которая контролировала бы эволюцию ПО; ни один разработчик не может единоличным решением выбрать конечную версию продукта. Для того чтобы некий программный инструмент был взят на вооружение пользователями, он должен укладываться в параметры изначального проекта. Те изменения, которые в итоге были внесены в код, улучшили работу отдельно взятых узлов, но не модифицировали всю систему или алгоритм консенсуса. Подробное описание технических параметров не входит в задачи книги, хочу лишь отметить, что при обновлении одного узла нарушается синхронизация со всеми остальными, поэтому необходимо, чтобы и другие машины в сети установили это обновление, иначе первый узел не сможет продолжать работу. Если несколько узлов принимают новые правила консенсуса, происходит так называемый хардфорк.