Мягкая вилка сегрегированного свидетеля, выпущенная в августе 2017 года, включала поле управления версиями, которое позволяло в будущем увеличивать количество. Энтони Таунс недавно разместил предварительный проект предложения по обновлению SegWit v1 в списке рассылки .
Хотя дьявол, конечно, кроется в деталях, какие способы активации доступны для будущих софтфорков?
Каковы различные механизмы обновления для основных [v1 - v16] и второстепенных [v1.0 - v1.127] изменений версии?
Как сигнализируется софт-форк, принимая во внимание явный ASIC Boost с битами версии?
Как обеспечивается изменение консенсуса?
Является ли изменение v1 таким же «спорным» и трудоемким, как v0?
Каковы задачи операторов узлов и майнеров?
Заранее спасибо за ответ!
Хотя дьявол конечно кроется в деталях, как мог бы выглядеть такой процесс апгрейда? и Каковы различные механизмы обновления для основных [v1 - v16] и второстепенных [v1.0 - v1.127] изменений версии?
Как упомянул в комментариях Питер Уилле: «Нет даже предложения. Обсуждение активации и всех ее последствий — это то, что нужно начинать после того, как будет проработана идея, реализована и получена четкая поддержка со стороны сообщества. можно было бы сформулировать вопрос в общем виде: «Какие методы активации доступны для будущих софтфорков?», но никто не может ответить на этот вопрос для чего-то, чего не существует».
Как сигнализируется о софтфорке?
Изначально софтфорки сигнализировались номером версии блока, но из-за его многочисленных ограничений используется BIP-9 (полную документацию читайте здесь ). В BIP-9 номер версии блока интерпретируется как битовое поле, а не как целое число (в настоящее время у нас есть 29 бит, где мы можем сигнализировать об этом). BIP-9 также устанавливает максимальное время для сигнализации и активации. Таким образом, майнерам не нужно постоянно сигнализировать. Если предложение не активировано в течение периода TIMEOUT (определенного в предложении), предложение считается отклоненным. Предложение может быть повторно отправлено для сигнализации с другим битом, обновляя период активации.
Как обеспечивается изменение консенсуса?
BIP-9 подсчитывает сигналы активации целыми интервалами на основе периода перенацеливания сложности 2016 блоков. Для каждого периода перенацеливания, если сумма блоков, сигнализирующих о предложении, превышает 95% (1916 из 2016), предложение будет активировано на один период перенацеливания позже. Предложения начинаются в состоянии DEFINED, как только их параметры известны (определены) в программном обеспечении биткойн. Для блоков с медианным прошедшим временем (MTP) после времени начала состояние предложения переходит в STARTED. Если порог голосования превышен в течение периода перенацеливания и тайм-аут не превышен, состояние предложения переходит в LOCKED_IN. Через один период перенацеливания предложение становится АКТИВНЫМ. Предложения остаются в состоянии АКТИВНО постоянно, как только они достигают этого состояния. Если тайм-аут истекает до достижения порога голосования, состояние предложения изменится на FAILED, что означает отклонение предложения. FAILED предложения остаются в этом состоянии навсегда. Ниже приведена диаграмма из книги Mastering Bitcoin.
Является ли изменение v1 таким же «спорным» и трудоемким, как v0?
Опять же, нет даже надлежащего предложения там.
Каковы задачи операторов узлов и майнеров?
Майнеры голосуют за различные предложения, добывая блок с определенным битом в номере версии блока. Полные узлы будут решать, хотят ли они рассматривать эти блоки как действительные или нет, и должны ли они распространять эти блоки на всю сеть.
Питер Уилле