Спорки#

Многоэтапный форк, в просторечии называемый «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.

../../../_images/dashcore-sporks.png

Результат выполнения команд “spork show” и “spork active” доступен в консоли отладки Dash Core#