Kaк экcпeримeнт "Bitcoin" мoжeт прoвaлитьcя
Гэвин Андресен усердно настаивает, что блокам Биткойна необходимо позволить быть гораздо больше. Ранее в этом году он заявил, что выпустит код, в котором реализованы блоки большего размера через так называемый хард-форк – обратно несовместимое изменение – против мнения большинства разработчиков ядра Биткойна, и вынудит майнеров и продавцов принять этот код.
Пару дней назад он выпустил черновик BIP – предложения того, как протокол должен быть изменён, вместе с кодом, который реализует это предложение. Но даже если кто-то согласится с мнением Гэвина о том, каким должен быть технический функционал Биткойна, его предложение – это безответственный и рискованный шаг. Речь не о том, каким на самом деле должен быть размер блока Биткойна. Речь идёт о гораздо более масштабном эксперименте над Биткойном: в отсутствие централизованной власти, могут ли люди договориться о том, какие деньги использовать?
В этом смысле не помешало бы обернуться и подумать над тем, почему вообще кто-либо может вообще признавать ценность виртуальной валюте. Конечно, у валюты должно быть множество полезных технических функций, чтобы претендовать на какую-либо ценность (если вы не сможете проводить транзакции, или не можете их должным образом защитить, или их будет бесконечное количество, то скорее всего, она не будет такой уж полезной). Но не вдаваясь в технические детали, на более фундаментальном уровне, решение о том, использовать ли определённый койн или нет, напрямую зависит от вашего осознания, воспринимает ли его тоже как деньги кто-либо ещё. В частности, если в какой-то момент в будущем вы обеспокоитесь тем, что то, что вы считали деньгами не будет признаваться деньгами другими людьми, скорее всего для сохранения ценности вы выберете что-то другое.
Это самая важная призма, сквозь которую нам и следует тщательно рассмотреть предложение Гэвина. Если у вас есть деньги, которые готовы принимать другие люди, то с какой стати их нужно менять, чтобы сделать другими, новыми деньгами? Гэвин просит 75% майнеров переключиться на новую валюту с другими свойствами. Если они это сделают, то запустив ПО, предложенное Гэвином они навсегда примут для себя другой консенсус. Идея в том, что если каждый примет его и сменит своё ПО, чтобы соответствовать новому консенсусу, то мы всё ещё сможем называть его Биткойном, и отсутствие обратной совместимости не станет проблемой (поскольку никто уже не станет использовать несовместимый код).
Но с какой радости все вдруг станут использовать новую валюту? Одной из причин может стать то, что текущая окажется сломана, наподобие форка 2013 года, когда скрытая ошибка в программной реализации вызвала раздвоение сети. В этой ситуации абсолютно всем участникам было понятно, что существует проблема, и что продолжать использовать приложение с ошибкой никому не интересно (вне зависимости от того, продолжил ли кто-то использовать приложение с ошибкой или нет). Если хард-форк необходим, чтобы ваши деньги оставались пригодными для использования, то вы наверняка его примете (конечно, если вы уверены в том, что вы используете одно и то же новое приложение, что и все остальные!).
Но если вы используете что-то, что вообще-то нормально работает, не сломано, не глючит, или если будет множество несовместимых друг с другом решений какой-либо из проблем, выбор становится гораздо сложнее. Вам как-то придётся координировать свои действия с другими пользователями. А что, если появятся раскольники? Опасно ли делить сеть на две (или даже больше)? В каких обстоятельствах возникает такой риск? Наивно полагать, что даже большинство, предпочитающее предложенный хард-форк, поторопятся его продвигать, если поверят в то, что существенное пусть и меньшинство будет этому сопротивляться, потому что разделение сети делает валюту менее ценной для всех. Тем не менее, большинство может полагаться на свою собственную теорию игр, и меньшинство будет чувствовать себя принуждёнными к принятию изменений, потому что меньшинство, так же как и большинство рискует остаться не у дел. Предлагая 75% барьер для переключения на хард-форк, Гэвин затеял грязную игру, которая ничем хорошим ни для кого не закончится.
Я думаю, что это экзистенциальный вопрос для Биткойна (или любой другой децентрализованной валюты). Если большинству легко принять решение о раздвоении сети перед лицом очевидной оппозиции, то каждый из нас должен обеспокоиться тем, что однажды окажется не на той стороне. Точно так же можно прийти и к другому выводу: если сеть биткойна окажется разделена просто потому что существует некая персона или группа людей, которые могут изменить валюту против воли остальных, то возможно, мы ошибались, думая, что у Биткойна нет централизованного органа управления.
Рассуждая о любой из этих интерпретаций, можно прийти к логическому выводу, что эксперимент Биткойна можно в основном считать провалившимся. Потому что как ни посмотри, такой прецедент наглядно докажет, что лучше довериться известному авторитету в вопросах регулирования алгоритма цифровой валюты (неважно – отдельному человеку, компании или правительству): множество технических преимуществ Биткойна никуда не денутся, и более того, будущие улучшения могли бы внедряться более эффективно, если мы просто оставим кому-нибудь на откуп технический багаж работы децентрализованной валюты. Конечно, вы также потеряете надежды на то, что Биткойн лучше любой валюты, поддерживаемой центральными органами. Однако даже в этом случае у общества останется множество преимущество, и может быть Биткойн просто превратится в гораздо лучшую версию VISA или PayPal, и может быть это станет самым лучшим, к чему приведёт путь Гэвина. Возможно сетевой эффект от этого принесёт гораздо больше пользы, чем сохранение статуса кво; однако это очевидно станет разочарованием для тех, у кого были другие, далеко идущие стремления для этой технологии.
Можно задать справедливый вопрос, если 75% майнеров проголосуют за то, что хард форк – это плохая идея, то какой триггер (переключатель, “активизирующий” принятие хард-форка) тогда сработает лучше? Это – главный вопрос внесения несовместимых изменений в Биткойн, и я не думаю, что кто-то знает ответ на этот вопрос. Пьетер Вьюилль (Pieter Wuille) поднимал этот вопрос в почтовой рассылке биткойн-разработчикам и отметил, что любой триггер, использующий механизм голосования майнеров, должен иметь 100% порог принятия, потому что в целом, хард форки не должны происходить до того момента, как все участники смогут обновить программное обеспечение. Иначе, менять консенсус рискованно, потому что блоки всё ещё будут майниться в устаревшей цепочке (что вызовет недоумение у пользователей, которые ещё не успели обновить ПО). Думаю, что это разумная точка зрения, и что ответом Гэвина на это стало вот это (из черновика BIP):
Подавляющее количество большинства в 75% было выбрано, потому что один большой майнинговый пул не сможет эффективно воспрепятствовать увеличению размера блока.
Исходя из этого утверждения становится интересно, в свете дальнейшего нарастания централизации майнинга, не придёт ли в голову Гэвину или кому-то другому ещё дальше снизить этот порог? Будет ли порог 60%-м, если соответственно, появится майнинговый пул с 38% хэш-рейтом, когда кто-то будет проталкивать свой хард-форк?
Проблема гораздо сложнее, чем кажется, потому что вообще-то, майнеры не обязаны голосовать за хард-форк, если не уверены, что пользователи захотят на него переключиться. Но у нас до сих пор нет достойного способа узнать, какой же код хотят запускать пользователи (сами по себе пользователи скорее всего не вдаются в технические детали Биткойна, и поэтому полагаются на мнение технических экспертов, чтобы решить, какие из приложений им следует запускать). К тому же, майнеры, по идее и не захотят переключаться по причине, которая уже была озвучена выше, и конечно, число в 24,99% и майнинговой мощности показывает существенный риск сознательного разделения сети.
И всё это даже не учитывая то, что самые авторитетные эксперты уже высказали своё несогласие. Сложно сказать, в каких обстоятельствах возможно вообще единодушие сообщества по вопросу того, что изменения в Биткойне – это хорошая идея (как например, исправление известной ошибки), однако в данной ситуации речь идет не о таком случае.
Тем не менее, Гэвин всё ещё пользуется авторитетом, и считается техническим лидером проекта, по крайней мере, до последнего времени, и многие всё ещё рассматривают его, как лицо Биткойна. Возможно, у него всё ещё есть силы для того, чтобы повлиять на пользователей, продавцов и майнеров и заставить их принять свою, изменённую версию кода, вопреки мнению других технических лидеров. Я призываю отказаться от консенсуса изменения кода, который не будет принят Ядром Биткойна, и в частности, я призываю отклонить код, предложенный Гэвином.