Обмен электронных валют по самому выгодному курсу!
 


Kurbetsoft
Доступно в Google PlayОтделенный Свидетель: софт-форк может примирить споры о размере блока

segregated-witness-part-how-a-soft-fork-might-establish-a-block-size-truce-or-not

В первой и второй частях серии из трех статей об Отделенном Свидетеле мы рассказали, соответственно, о том, как он работает и что позволяет сделать. В этой заключительной части мы рассмотрим, что он значит для спора о размере блока. 

Еще раз про спор о размера блока

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

В сущности, спор о размере блока представляет собой компромисс между производительностью и децентрализацией – с привнесением некоторого оттенка экономики. В настоящее время лимит на размер блока в 1Mb позволяет Биткойн сети проводить до семи транзакций в секунду. “Прогрессисты размера блока” считают, что это слишком мало. Исходя из часто цитируемого сравнения, Visa может проводить тысячи транзакций в секунду.

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

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

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

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

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

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

В то время, как Децентралисты признают, что блоки меньшего размера огранивают количество танзакций, которые могут быть обработаны на блокчейне Биткойна, они, как правило, представляют себе будущее, в котором транзакции Биткойна – как валюты – проводятся при помощи дополнительных слоев. Таких, например, как Lightning Network, сайдчейны, тричейны и другие.

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

Что Отделенный Свидетель означает для масштабируемости Биткойна?

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

И, конечно же, он имеет самое непосредственное отношение к лимиту размера блока – позволяет увеличить эффективный размер блока без необходимости фактического увеличения лимита. Если точнее, предложение Вуйли позволяет вместить в блок до 2 Mb реальных транзакций, или до 4 Mb – если, например, майнер наделает искусственных транзакций с целью проведения стресс-теста.

К сожалению, это означает, что большинство улучшений, предлагаемых Отделенным Свидетелем – хотя они и отличные – принципиально не решают спор о размере блока. Исправление пластичности транзакций просто великолепно, но Прогрессисты не принимают Lightning Network в качестве решения проблемы масштабируемости. Доказательства мошенничества полезны, но SPV-узлы все равно менее безопасны, чем полные узлы. Отбрасывание старых данных о транзакциях поможет, но Биткойн Core уже выдвигал аналогичные решения еще до предложения Отделенного Свидетеля. И байты версии могут оказаться очень удобны в будущем, но надо еще посмотреть, какие результаты они принесут.

Отделенный Свидетель и лимит на размер блока

Таким образом, мы приходим к вопросу, удовлетворит ли эффективное увеличение размера блока (в рамках предложенного Вуйли Отделенного Свидетеля) одновременно Децентралистов и Прогрессистов. Или точнее, посчитают ли Прогрессисты расширение размера блока до 2Mb достаточным, поскольку Отделенный Свидетель позволит вместить до 2Mb данных реальных транзакций. И будет ли 4Mb достаточным для Децентралистов, поскольку крупные майнеры могут производить 4-мегабайтные блоки чтобы вывести из игры конкурентов меньшего размера.

Одной из самых интересных особенностей сегрегированного свидетеля является то, что это “опциональное” решение. Захотят ли отдельные пользователи апгрэйдить свой софт – полностью отдано им на откуп. Пользователи, которые хотят использовать Отделенный Свидетель, получат возможность это сделать вместе со «скидкой» на комиссионные сборы, так как они будут эффективно использовать меньшее количество дефицитного пространства блока. А пользователи, которые не хотят использовать Отделенный Свидетель из-за возросшей стоимости содержания полного узла, и не обязаны делать этого. Таким образом, решен по крайней мере, один вопрос, вызывающий беспокойство Децентралистов – увеличение стоимости содержания полного узла.

Немного сложнее обстоят дела с другой проблемой, вызывающей озабоченность у Децентралистов – увеличением времени распространения. Но Вуйли – сам по себе Децентралист – не считает, что увеличенный размер блока вызовет какие-либо проблемы.

Ведь ожидается, что порядок проверки узлов с Отделенным Свидетелем добавит незначительное время проверки для отдельных узлов. И хотя время распространения блока от узла к узлу может немного увеличиться, моделирование, проведенное Вуйли, предполагает, что 4-мегабайтный максимальный размер блока находится в пределах того, что сеть может безопасно обработать в настоящее время (но близко к пределу).

Таким образом, и ввиду дополнительных преимуществ, большинство Децентралистов поддерживают Отделенного Свидетеля как жизненно важную часть дорожной карты масштабирования, как это указывается разработчиком Bitcoin Core Грегори Максвелом (Gregory Maxwell). Аналогично BIP 102, предложенному Джефом Гарзиком (Jeff Garzik), предложение Вуйли может позволить выиграть время, прежде чем блоки полностью заполнятся (если Отделенный Свидетель заработает и будет использоваться как задумано) – но без нарушения каких-либо существующих правил консенсуса.

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

Однако, большинство Прогрессистов не считают достаточным эффективное увеличение размера блока до 2 мегабайт. Для сравнения, девелопер Bitcoin XT и Bitcoin Core Гэвин Андресен в BIP 101 предложил начать с увеличения лимита на размер блока до 8Mb и удваивать его через год на протяжении 20 лет, пока лимит на размер блока не достигнет 8Gb.

Ранее Андресен предлагал поднять максимальный размер блока до 20Mb – что он уже рассматривал как компромис.

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

И это приводит нас к главной проблеме.

Хард-форки и софт-форки

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

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

Увеличение лимита на размер блока (“старомодным способом”) может быть сделано только путем хард-форка. Таким образом, должен быть достигнут консенсус среди всех пользователей Биткойна о том, что увеличение лимита на размер блока является наилучшим способом решения проблемы.

В отсутствие консенсуса, часть пользователей Биткойна может попытаться выпустить хард-форк, подразумевая, что оставшаяся часть пользователей примет предложенные изменения по факту. Но если оставшаяся часть пользователей не последует предложению, сеть разделяется. Такую стратегию продемонстрировали в Bitcoin XT девелопер Майк Хирн (Mike Hearn), не так давно нанятый блокчейн-консорциумом банков R3EV и бывший ведущий девелопер Bitcoin Core Гэвин Андресен, но до сих пор не снискали достаточной поддержки.

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

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

Во-вторых, хард-форк был бы “более чистым” решением. В то время как Отделенный Свидетель, к примеру, использует хитроумную уловку, чтобы избежать нарушения существующих правил консенсуса, он это делает с использованием части Биткойн протокола – ввода coinbase транзакции – способом, для которого протокол не предназначался. Некоторые опасаются, что такое дополнительное усложнение в будущем может вызвать новые проблемы.

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

Другие разработчики – часто (но не всегда) приветствуют более консервативный подход к решению проблемы размера блока – считают, что хард-форк может быть сделан только если больше не останется ничего другого. Они хотели бы избежать риска разделения сети, который несет хардфорк, настолько, насколько это только возможно. Они утверждают, что если, не зависимо от причины, хардфорк должен произойти, то о нем должно быть объявлено и он должен быть организовал сильно заранее, чтобы удостовериться, что каждый пользователь будет иметь возможность обновиться.

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

Так к чему мы пришли?

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

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

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

Но нельзя исключать новую попытку хардфорка, которую, возможно, попытаются предпринять известные игроки отрасли. Ну и конечно, все еще есть Bitcoin XT.

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

Источник: Bitcoinmagazine




[vkontakte] [facebook] [twitter] [odnoklassniki] [mail.ru] [livejournal]

Каталог сайтов