Каковы риски порога активации ниже 95% для софт-форков (особенно SegWit)?

95% кажутся исключительно консервативными, особенно с учетом факта наложения вето со стороны части биткойн-майнеров. Какие риски сохраняются, скажем, 60% в течение более длительного периода активации по сравнению с 95% для SegWit?

Ответы (1)

Есть два взаимосвязанных риска:

  • Активация без большей части вычислительной мощности, поддерживающей ее в долгосрочной перспективе.

    Давайте использовать BIP 66 в качестве примера. Представьте, что он активировался при пороге 95%, но через 30 минут более половины майнеров вернулись к старой реализации, которая не поддерживает BIP66.

    Теперь у вас есть ситуация, когда узлы, применяющие новые правила BIP66, не придут к консенсусу с узлами, использующими старые правила.

    Идеального решения этой проблемы не существует. Как вы, как майнер, можете доказать, что не будете менять реализации после точки активации? Решение на данный момент состоит в том, чтобы требовать 95% согласия на обновление, исходя из теории, что пока менее 45% ложно сигнализируют, все будет в порядке.

  • Майнеры, работающие со старым кодом, могут по-прежнему создавать блоки, обманывая SPV/необновленных клиентов.

    В какой-то момент кто-то наверняка сделает блок, соответствующий старым правилам, но не новым. Bitcoin Core не делает этого по умолчанию, но вполне вероятно, что по крайней мере один майнер изменит свой код, запустит какой-то странный набор программного обеспечения или даже злонамеренно создаст блок, чтобы облегчить атаку 51%.

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

Стоит отметить, что снижение порога до 60%, скорее всего, все равно не активирует segwit. В настоящее время передача сигналов Segwit составляет около 30%.

Что касается вашего второго пункта, обратите внимание, что предлагаемый софт-форк SegWit и активированный сейчас софт-форк BIP68/112/113 до него были сконструированы таким образом, что необновленные майнеры по умолчанию не создавали блоки, нарушающие новые правила. ---поэтому единственным риском сиротства являются майнеры, которые преднамеренно нарушают новые правила. В случае BIP68 любой, кто хотел использовать новые правила, должен был использовать транзакцию версии 2, которую старые узлы не ретранслировали и не майнили по умолчанию. Для segwit использование новых правил требует использования scriptSig, который старые узлы не будут ретранслировать или майнить по умолчанию.
@DavidA.Harding Хорошая мысль, отредактировано.