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


Kurbetsoft
Доступно в Google PlayКто может изменить правила консенсуса?

1zsy2b7fy98i4hd3ka9gktq
Вокруг вопроса о том, кто обладает или должен обладать властью изменять правила консенсуса, существует немалая путаница. Jorge Timón в своем письме пытается внести ясность.

Давайте проанализируем несколько типичных ответов:

  1. Владимир, как главный мэйнтейнер Bitcoin Core, определяет правила консенсуса.

    Раньше Сатоши определял правила консенсуса. Потом этим занимался Гэвин, как новый мэйнтейнер, а теперь это Владимир”.

    Как оказалось, биткойн – это не монархия и не диктатура, и Владимир не может заставить ни один полный узел (другими словами – пользователя) изменить правила консенсуса, которые этот узел проверяет.

  2. Разработчики Bitcoin Core определяют правила консенсуса.Опять, нельзя заставить полные узлы использовать какую-то определенную версию или реализацию.Любопытно заметить, что (старейшая?) альтернативная реализация полного узла была создана, имея в виду следующее (см. https://en.bitcoin.it/wiki/Libbitcoin):

    Целостность: Ни один индивидуум или группа не должны иметь достаточной власти над сетью, чтобы поставить под угрозу ее первоначальный замысел.

  3. Майнеры определяют правила консенсуса.Еще раз, майнеры не могут заставить пользователей проверять какой-либо конкретный набор правил. Некоторые могут возразить, что, даже если это и так, “если бóльшая часть хэшрейта будет приходиться на одну из цепочек, у пользователей не будет никакой разумной альтернативы, кроме как последовать за майнерами”.Позвольте мне объяснить, почему это не так, на примере.

    Единственная известная мне спорная попытка изменить правила касалась замены существующего графика выплаты субсидий/сеньоража/вознаграждений на более простой – “субсидия в 50 BTC навсегда”. Он должен был быть активирован в момент первого уполовинивания субсидии. На тот момент новые правила были поддержаны лишь небольшим числом майнеров и пользователей, и несовместимая цепочка была быстро отброшена.

    Но давайте представим себе, что бы произошло, если бы ситуация оказалась иной. Скажем, 60% майнеров и 20% пользователей поддержали бы новые правила. Были бы оставшиеся 40% майнеров и 80% пользователей вынуждены принять неограниченный выпуск денег? Конечно, нет. Лично я никогда бы не одобрил эту “инфляцикойновую” цепочку, как бы на меня ни давили. Исходя из предположения, что с обеих сторон достаточно неуступчивых пользователей, в результате появятся две несовместимые цепочки и валюты, которые будут продолжать существовать параллельно (возможно, вечно), подобно Litecoin и Feathercoin, которые являются двумя несовместимыми цепочками с отличающимися правилами, даже при том, что у них общий начальный блок.

    Наличие двух валют повлияет на их цену. Как объясняется в BIP99, мы не можем делать априорных предсказаний по поводу цен, потому что не знаем заранее, какой будет спрос (даже если нам известен первоначальный хэшрейт и поддержка со стороны пользователей).

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

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

    Вывод: майнеры не могут в одностороннем порядке изменять правила консенсуса (по крайней мере, не опасаясь того, что пользователи решат изменить PoW и сделать всех их ASICи бесполезными).

    Майнеры только решают, какие валидные транзакции включать в свои валидные блоки, но не определяют правила.

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

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

Кто же, в таком случае, может изменять правила?

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

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

Нет. Хотя бесспорные хардфорки не свободны от рисков, “бесспорность” здесь означает, что всем нравятся изменения, и поэтому никого из пользователей не заставляют делать что-либо против его воли. Они тоже хотят изменить правила, которые проверяют.

Конечно, “бесспорность” сложно измерить, но я верю, что на данный момент увеличение консенсуса касательно размера блока до 2 Мб можно считать в достаточной степени бесспорным. Споры ведутся только вокруг небезопасных пороговых значений для обновления майнеров (так называемое “голосование майнеров”) для графика активации и развертывания.

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

Я не хочу сказать, что спорные хардфорки не могут или не должны никогда иметь места. Если, скажем, большинство майнеров решит зафиксировать субсидию на отметке в 25 BTC, я сам буду настаивать на спорном хардфорке, изменяющем PoW.

Значит ли это, что я против альтернативных реализаций, таких как libbitcoin или Bitcoin Classic?

Нет, абсолютно. Я даже продвигал libbitcoin в прошлом для экспериментов с интересными технологиями, такими как coinjoin.

Если, когда Bitcoin Classic сменит базу на Bitcoin Core 0.12, он захочет изменить значение по умолчанию для -mempoolreplacement на false или даже удалить весь код для opt-in RBF, меня это тоже устроит.

Я не согласен, что принцип “первый увидел” (first-seen policy) – это хорошо, но это код, а не правила консенсуса.

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

Я не хочу раздувать флейм или что-то вроде того, но я на самом деле устал, объясняя одно и то же людям, заявляющим, что “разработчики Bitcoin Core хотят сохранить централизованный контроль над правилами консенсуса” или подобные вещи. Потому что я не думаю, что Bitcoin Core (или кто-либо еще) должен обладать такой властью, и искренне верю, что Bitcoin Core на сегодня не обладает такой властью. И я подумал, что было бы хорошо, чтобы где-то была ссылка на объяснение, менее техническое, чем BIP99.

Надеюсь, это будет для кого-то полезно.

Оригинал письма: http://lists.linuxfoundation.org/pipermail/bitcoin-discuss/2016-February/000061.html




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

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