Bitcoin XT против Core: раскол, который нас разобщает

В последнее время шумиха вокруг Биткойн-форка Гэвина Андресена и Майка Хирна, называемого Bitcoin XT вероятно, достигла своего апогея. Впервые за всю историю Биткойна, всё его существование оказывается под угрозой благодаря так называемому хард-форку протокола. Я наблюдал за развитием ситуации, и я чувствовал, что должен внести свой комментарий на эту тему в то время, как страх и смятение идут из лагерей с обеих сторон и перерастают в истерику, и откровенно говоря, я думаю, что Биткойн от этого страдает (и цена и сообщество). Этот пост будет длинным, так что заранее приношу извинения. Обычно я их разделяю на несколько, но мне хочется, чтобы моё послание было цельным и законченным. Если вам нужны сразу выводы, листайте вниз к заголовку «Кратко о главном». Давайте, я не возражаю (только не задавайте потом глупых вопросов).

Приоритеты Биткойна

Биткойн, как видение, задуманное Сатоши Накамото — это децентрализованная платёжная система. Для того, чтобы такая система работала, вам необходимо децентрализованное решение задачи византийских генералов. Биткойн является настолько блестящим изобретением именно потому, что решает проблему консенсуса децентрализованным способом. На самом деле, решение не является идеальным. Его нельзя применить для абсолютно всех задач (что вызывает ужас у многих людей вроде Виталика Бутерина, что и мотивировало его создать Эфирум как решение с формально доказуемой безопасностью), но до настоящего момента в большинстве реальных ситуаций он демонстрировал свою работоспособность. Для поддержания этой работоспособности Биткойн соблюдает следующие приоритеты по убыванию важности: консенсус, децентрализация, хранилище ценности и платёжная система. Может показаться, что цели проекта Биткойн с тех пор сместились, под предводительством Гэвина, чтобы сосредоточить больше внимания на Биткойне как платёжной системе в ущерб консенсусу и децентрализации. Я заявляю, что жертва консенсуса ставит под угрозу все остальные аспекты Биткойна, и не в последнюю очередь как стабильное средство сохранения ценности. На самом деле, я верю в то, что нарушение консенсуса является критичным риском для существования Биткойна.

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

Суть дебатов вокруг лимита блока в двух словах

Всё-таки, о чём же так вообще идет этот спор? Лимит блока. Не будем слишком углубляться в детали того, как устроен блокчейн. Важно сказать лишь то, что текущий лимит размера каждого блока Биткойна равен 1МБ (на самом деле, 1000000 байт, но кто считает?) Это позволяет теоретически обрабатывать примерно 7 транзакций в секунду (tps). Не так уж заоблачно для «глобальной платёжной системы». Именно из-за этого Гэвин Андресен и Майк Хирн принципиально проталкивают увеличенный размер блока. Для сравнения, VISA теоретически может обрабатывать с невероятной скоростью 50 000 tps. Так почему же тогда Биткойн искуственно ограничивает себя таким низким уровнем? Да потому что Биткойн является децентрализованной системой без единой центральной точки обработки, что делает его восприимчивым к атакам типа «отказ в обслуживании» (DoS). Это означает, что плохие парни могут вступить в сговор и атаковать сеть, нарушив её стабильность, если им это станет выгодно. Ключевая инновация консенсусного решения Накамото состоит в том, чтобы это было не выгодно. Сатоши сам установил предел в 1МБ, предчувствуя необходимость наличия некоторого ограничителя размера, чтобы плохие парни не смогли сломать систему до того, как она получит широкое распространение, чтобы стать эластичной. Он предвидел, что настанет время, когда лимит может быть увеличен, но не был уверен в том, в какой момент это может случиться, в связи с тем, что это зависит от многих переменных. Мы всё ещё не знаем, каким должен быть лимит, но большинство сходится к тому, что 2МБ — это нормально, 8МБ — непонятно, 20МБ — слишком рисковано. Почему? Читайте дальше.

Эгоистичные майнеры

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

Действительно, опасность разрешения на увеличение размера блока в контексте возможных задержек распространения блоков, нескончаемо обсуждалась в прошлом и остаётся причиной дебатов по меньшей мере с 2011 года. Я могу понять Гэвина в его решительном порыве «что-то предпринять» для решения проблемы. Однако, пренебрежительно высказываясь о влиянии размера блока на майнинг, Гэвин многое упускает.

Атака может быть проведена следующим образом: если блоки смогут быть большими (достаточно большими, чтобы внести задержку в распространение среди всех полных узлов), то майнеру будет выгодно заполнять блок, который он майнит, транзакциями самому себе (или своим сообщникам), вплоть до предельного размера. Он не транслирует транзакции до тех пор, пока ему не удастся решить блок самостоятельно, исключая тем самым оплаты комиссии другим майнерам. Если у него получается отыскать такой блок, то он немедленно отправляет в сеть свои спам-транзакции и решённый блок. Другие майнеры должны будут прекратить майнить то, что они уже майнят и начать скачивать новый (очень большой) блок (что может занять какое-то время) и проверить его, что включает в себя проверку валидности всех включённых транзакций (которые только что выплеснулись в сеть). Это займёт нетривиальное время, что даст атакующему майнеру хорошую фору и он сможет в некоторое время единолично майнить следующий блок. Так что наградой для него станет увеличенная «эффективная» мощность и опережение конкурентов.

Конечно, эта проблема из области теории игр, поэтому мы предполагаем, что как только кто-то из майнеров начнёт так поступать, все остальные начнут поступать точно так же. Начнется «война майнеров», сформируются коалиции, орфанные блоки и двойные траты станут гораздо более частыми, майнеры объединятся для построения высокоскоростных каналов/узлов «для своих» (и тем самым ещё сильнее усугубят централизацию). Несомненно, это негативно отразится на Биткойне. Так что каждый должен согласиться с тем, что слишком большой размер блока сделает Биткойн гораздо более хрупким, что до повышения лимита блоков хоть и имело место, но не было большой проблемой.

Так насколько большой будет слишком большим?

Неограниченный блок абсолютно не годится, и даже 20МБ считается большинством слишком рискованным (до 8 секунд задержек в распространении для «нормальных» блоков, но гораздо больше при «враждебном» майнинге). Тогда как насчет 8МБ? Откровенно говоря, тут трудно сказать. Возможно, всё будет в порядке. Возможно. Но проблема в том, что наверняка этого никто не знает. Потому что никто ещё не закончил по этому поводу моделирования и исследования. Вот почему некоторые разработчики ядра просят больше времени, чтобы проанализировать, каким будет «безопасный» лимит с учётом пропускной способности Интернета на текущий момент. Другие предлагают альтернативные решения по увеличению лимита размера блока в более консервативном ключе.

Но, кое-кто больше ничего ждать не собирается. Форк XT предлагает начать с 8МБ и автоматически его удваивать, пока он не достигнет 8 ГБ. Гигабайт. Конечно, это теоретически позволит Биткойну конкурировать с VISA. Но можем ли мы быть настолько же уверены в том, что такими же темпами будет расти и пропускная способность сетей без провалов? Что если мы увидим разворот и замедление развитий технологий? Что случится с людьми, которые купили биткойны как страховку против коллапса фиатных денег? Лично для меня самое страшное то, что как только триггер увеличения лимита предела блока в XT форке сработает, назад пути уже не будет!

О чём спорим

Bitcoin XT против Core: раскол, который нас разобщает

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

С другой стороны, есть и те, кто верит в ценность ядра Биткойна как актива-страховки против неустойчивости фиатных валют, а следовательно и самих правительств (на случай, если те решили вдруг внезапно ущемить наши свободы).

Но Биткойн НЕ МОЖЕТ БЫТЬи тем и другим одновременно. Это просто невозможно. Чтобы базовая сеть была способна обрабатывать более 53к транзакций в секунду, она должна быть массивно-централизованной(спорное утверждение.

Если подобная система существует (наподобие той же Visa), она больше не будет неуязвимой перед правительственным давлением или контролем. Противники XT станут утверждать, что необходимы локальные подсистемы, надстроенные над Биткойн-протоколом, которые могли бы обрабатывать локальные транзакции между локально находящимися субъектами. Таким образом поддерживая необходимое количество транзакций в базовой Биткойн-сети в рамках ограничения. Такие проекты как раз находятся в разработке, и Lightning Network — как раз одно из них.

Риски не увеличения лимита

Самый весомый аргумент против ничего не делания (или ничего не делания в ближайшее времяпотому что я верю в то, что все разработчики согласны с тем, что лимит должен быть поднят как можно скорее (на самом деле — не все — прим. пер.) в том, что предел уже почти достигнут реальными транзакциями в сети, время подтверждения транзакций поплывёт и будет увеличиваться. Весомый повод. Произойдёт то, что в то время как транзакции будут нагромождаться, люди уже не будут уверены, что получат подтверждение транзакций примерно за 10 минут. Простое опровержение этому доводу в том, что платёжные процессоры, такие как Coinbase или BitPay, не важно, будут давать подтверждение транзакциям не дожидаясь включения их в блок. Это означает то, что сохраняется шанс двойной траты (и платёжный процессор должен будет их покрывать). Я лично не считаю, что это является серьёзной проблемой для текущих пользователей. Большинство людей, не пользующихся платёжными процессорами, на самом деле не сильно заботятся о времени подтверждения. Если вы сильно зависите от времени подтверждения, то скорее всего вы всё равно будете счастливы, если ждать придётся, скажем, час или два.

Ещё любопытно то, что при таком нагромождении необработанных транзакций, будет сильно загружаться память узлов. Однако это может быть опровергнуто тем, что такой трафик транзакций (естественный, а не генерируемый во время «стресс-тестов») в ближайшее время вряд ли наплывёт. Если окажется, что предел достигается настойчиво, и время подтверждения становится проблемой, экстренное увеличение лимита — это то, что разработчики могли бы сделать просто и быстро. Они бы могли немедленно развернуть экстренный «QE» релиз, если хотите. Но они демонстративно сделали это развёртывание заранее, во время одного предыдущего хард-форка и бага пула F2Pool. Куда спешить-то?

Свободный рынок комиссий

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

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

[embedded content]

Что такое хард-форк и чем он опасен?

Спасибо, что продолжаете читать! Если вам удалось переварить всё вышенаписанное, то у вас уже есть хороший фундамент того, о чём все эти дебаты. Теперь перейдём к процессу, посредством которого XT собирается реализовать форк, и почему это безответственно. Хард форк означает то, что цепочка блоков будет разветвлена, в каждой ветке появится своя предыстория, но они безвозвратно перестанут быть совместимы друг с другом.

Я опущу некоторые детали правил форка XT, при желании вы без труда сможете их отыскать (в основном, правда, на английском языке — прим. пер.). Однако общий смысл таков: начиная с января 2016, если 750 из последних 1000 блоков будут добыты с помощью Bitcoin XT, то майнеры, использующие этот форк (которых на этот момент может быть чуть больше 60%) получат возможность генерировать блоки размером до 8МБ. Через какое-то время, как только первый такой блок появится в сети, он будет отвергнут остальными участниками сети (здесь говорится не о количестве узлов, а об их хэш-мощности, разумеется — прим. пер.). Так что этот блок будет проигнорирован, и взамен эти майнеры-традиционалисты будут генерировать другой блок, который, в свою очередь уже не будет принят майнерами XT. В итоге, блоки станут генерироваться в обеих цепочках раздельно и независимо друг от друга.

Так что, в сущности появится 2 Биткойн-сети, имеющие соответственно 30-40% и 60-70% мощности соответственно. Причем неправда то, что майнеры-традиционалисты «будут вынуждены присоединиться к большинству». С какой стати? Они смогут спокойно сколь угодно долго продолжать майнинг по старым правилам. Их награда за блок не уменьшится (по факту, они будут получать даже больше монет из-за снизившегося количества майнеров в каждой сети). Что в конечном итоге приведёт к тому, что распределение хэш мощности изменится. Предыдущий владелец 10% мощности вдруг обнаружит, что теперь у него более трети в новой цепочке, и также майнеры в новой цепочке испытают прирост эффективной (относительной) мощности. По правде, каждая из цепочек теперь будет гораздо менее безопасной, чем до этого, будучи единым целым. Что ещё более важно, сломанной окажется сама взаимозаменяемость биткойнов.

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

Ну и что?

Так почему же действительно так опасна эта ситуация? Причина та же, что и для любого хард форка. Если бы был достигнут консенсус, то она была бы решена быстро, победой одного из форков над другим (и не имеет значения, какая из цепочек будет длиннее!) Именно так это и решалось раньше: единодушным выбором какой-то одной цепочки (с соответствующим обновлением или откатом ПО).

Если же победитель не очевиден, потому что каждая из сторон будет придерживаться своей позиции по идеологическим причинам, то у нас проблема. Почему? Представьте Алису, ползующейся кошельком А и Боба, использующего кошелёк Б. Кошельки должны взаимодействовать с узлами, чтобы транзакция была подтверждена в блоке. Если кошелёк А подключен к старой цепочке, а кошелёк Б — к его XT версии, то кошельки будут «видеть» разные блоки, поэтому может возникнут ситуация, когда Алиса, отправив биткойны Бобу, увидит подтверждение этой транзакции, а Боб — никогда его не увидит, если эти монеты были добыты уже в новой цепочке.

Это сломает взаимозаменяемость монет, и скорее всего приведёт к массовой потере уверенности в Биткойне как платёжной системе, поскольку теперь транзакции не могут быть надёжно подтверждены. Поскольку обе существуют в одной сети (порты, QR-коды, URI — ссылки для оплаты и т.д.), нет возможности определить, к какому лагерю принадлежит получатель вашего перевода заранее (конечно кто-то из вас может оказаться достаточно технически подкованным, чтобы согласовать версию цепочки перед отправкой). Эта ситуация возникнет и начнет усугубляться в первые 100 блоков после разделения (в течение примерно 16 часов).

Сторонники ХТ, которые расписывают переход на нее как «полностью безопасный», похоже, просто игнорируют описанный сценарий. И по понятным причинам. В том и только в том случае, если все перейдут на версию XT, не возникнет никаких проблем. Но если этого не произойдёт и всё пойдёт кувырком, то мы все от этого пострадаем. Однако, мы уже точно знаем, что на XT перейдут далеко не все — ей существует яростная и принципиальная оппозиция.

Bitcoin XT против Core: раскол, который нас разобщает

Помоги мне, Сатоши! Ты — наша последняя надежда!

Куда делся Сатоши?

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

Но кто вам сказал, что он промолчал? Вообще-то некто, представившийся Сатоши Накамото, написал сообщение с адреса, достоверно ему принадлежащего, в котором заявил, что форк XT слишком опасен. Естественно, многие тут же стали кричать, что это действительно Сатоши, он мог бы подписать сообщение известным ключом PGP или перевести несколько монет, чтобы доказать, что это действительно он (игнорируя тот факт, что раньше Сатоши никогда этого не делал).

Лично я не верю, что это был действительно он. Но, если прочитать сообщение (на секунду игнорируя то, кто его якобы написал), он говорит, что видение Биткойна — не должно зависеть от харизматичных лидеров, включая Гэвина Андресена, Барака Обаму или самого Сатоши Накамото. Люди, муссирующие тот факт, что Сатоши не оставил доказательств аутентичности своего сообщения, явно упускают из виду главный смысл его сообщения. Да, если бы он это сделал, все сомневающиеся поддержали бы его. Но ведь это именно то, чего он и попытался избежать, чтобы сообщество не поддалось стадному чувству и не пошло слепо за любым лидером!

Следовательно, автор отмечает, что если появится благожелательный диктатор, который волшебным образом выведет нас из этого «бардака», то Биткойн, как децентрализованный проект, защищенный от воздействия авторитетов, будет провален. Такое запутанное утверждение, на самом деле доказуемо, если как следует поломать над этим голову. Тем не менее, если Сатоши хочет, чтобы децентрализованный Биткойн достиг успеха, он не станет разыгрывать «карту Бога» и сеять ещё больше разногласий. Если Биткойну постоянно нужен будет в качестве костыля Сатоши, чтобы люди не впадали в истерики и заблуждения, то цена Биткойну — грош. Учитывая, что сам Сатоши рискует больше всех, и что его вмешательство могло бы спасти нас (и ценность его собственных монет), весьма похвально, что он этого до сих пор не сделал. По правде говоря, он (она/они) и не утверждает, что действет следуя альтруистическому порыву. Он скорее даст Биткойну умереть, чем оставить его как систему, в которой не признаётся консенсус как первый и наивысший приоритет.

Кратко о главном

(да, вы можете опустить чтение статьи до этого места, если слишком заняты чем-нибудь важным)

Это звучит больше как стратегия, в которую скорее поверят люди типа Бен Бернанке или Джанет Йеллен. Чего они могут в конце концов добиться, так это то, что Биткойн «поломается», если меньшинство продолжит упрямо майнить прежнюю цепочку. Возникнет раскол между теми, кто ценит консенсус, и теми, кто идет за харизматичным лидером, старающимся протолкнуть изменения в сеть или посеять раскол, если это не будет достигнуто.

Если мы выберем за основу именно такую «харизматичную» модель развития Биткойна, то Биткойн, каким его видел Сатоши, как эксперимент в «создании денег коллективным консенсусом, свободным от авторитетов», будет провален. Так что задайте себе всего один вопрос, принимая во внимание все неизвестности и потенциальный риск самого существования Биткойна — зачем так спешить?

С другой стороны, посыл идеологии XT состоит в том, что лимит на размер блока не должен определяться кем-то, кроме кода. Будучи однажды реализованным, код сам по себе, во вступительной манере должен быть единственным, что влияет на путь Биткойна.

В одном можно быть уверенным: если мы преодолеем этот кризис не отстрелив себе ногу, мы сможем увидеть большой скачок цены BTC.

Источник: https://bitfeed.ru/bitcoin-xt-protiv-core-raskol-kotoryj-nas-razobshhaet/

Add Comment

Required fields are marked *. Your email address will not be published.