Спорки#
Многоэтапный форк, в просторечии называемый «spork », - это уникальный для Dash механизм, используемый для безопасного развертывания новых функций в сети с помощью переменных сетевого уровня, чтобы избежать риска непреднамеренного форка сети во время обновлений. Он также может быть использован для отключения определенных функций в случае обнаружения уязвимости в системе безопасности - краткое введение в sporks смотрите на странице функций.
Активация кода, контролируемого spork, может быть произведена удаленно, если члены основной команды разработчиков подпишут сообщение в сети, используя соответствующий приватный ключ. В этой документации описано значение каждого spork’а, существующего в настоящее время в сети, и как проверить их состояние.
Функции спорков#
Спорки устанавливаются с использованием целочисленных значений. Многие спорки могут быть установлены на определённую опорную метку времени (количество секунд, прошедших с 1 января 1970 года) для указания времени, в которое они будут активны. Метки времени активированных спорков устанавливаются на 0 (секунды до активации). Эта функция часто используется для установки даты активации спорка в отдалённом будущем, если он установлен в отключенный режим до изменения. В настоящее время в сети существуют следующие спорки и они выполняют функции, описанные ниже:
Изменено в версии v21.0.0: Значения spork в mainnet были «зафиксированы» <dashpay/dash#6140>`__ путем их неизменной установки. Sporks по-прежнему ценны для тестирования в других сетях; однако в mainnet риски, связанные с их поддержанием, теперь перевешивают выгоды от их сохранения.
- SPORK_2_INSTANTSEND_ENABLED
Определяет возможность использования клиентами Dash функциональности InstantSend. InstantSend описан в DIP0010 LLMQ-based InstantSend.
- SPORK_3_INSTANTSEND_BLOCK_FILTERING
Если активирован, Мастерноды будут отклонять блоки, содержащие транзакции, конфликтующие с заблокированными, но неподтверждёнными транзакциями InstantSend.
- SPORK_9_SUPERBLOCKS_ENABLED
Если активирован, суперблоки проверяются и выдаются для оплаты победивших предложений.
- SPORK_17_QUORUM_DKG_ENABLED
Включает процесс DKG для создания кворумов LLMQ. Этот spork будет включен после обновления 80% мастернод до версии 0.14, что позволит использовать DKG и PoSe на основе DKG.
- SPORK_19_CHAINLOCKS_ENABLED
Включает ChainLocks 1, механизм предотвращения риска для платежей, возникающего при реорганизации блокчейна. ChainLocks описаны в разделе DIP0008 ChainLocks.
- SPORK_21_QUORUM_ALL_CONNECTED
Активирует соединения между всеми мастернодами в кворуме для оптимизации процесса восстановления подписи.
- SPORK_23_QUORUM_POSE
Обеспечивает выполнение требований Proof of Service к мастернодам по поддержке минимальной версии протокола и поддержанию открытых портов.
- SPORK_24_TEST_EHF
Поддерживает тестирование enhanced hard fork (EHF).
Просмотр статуса спорков#
Команды spork show
и spork active
, подаваемые в окне отладки (или из dash-cli
на мастерноде), позволяют взаимодействовать со спиками. Открыть окно отладки можно, выбрав Window > Console.