Спорки#

Многоэтапное разветвление, известное как “spork”, является уникальным механизмом для Dash, используемым для безопасного развёртывания новых функций в сети с помощью переменных сетевого уровня с целью избежания рисков непреднамеренного разворачивания сети во время обновлений. Спорк также может использоваться для отключения определённых функций, если обнаружена уязвимость безопасности - см. руководство здесь по краткому введению в спорки. В этой документации описывается значение каждого существующего в сети спорка, и то, как проверить их соответствующие статусы.

Функции спорков#

Спорки устанавливаются с использованием целочисленных значений. Многие спорки могут быть установлены на определённую опорную метку времени (количество секунд, прошедших с 1 января 1970 года) для указания времени, в которое они будут активны. Метки времени активированных спорков устанавливаются на 0 (секунды до активации). Эта функция часто используется для установки даты активации спорка в отдалённом будущем, если он установлен в отключенный режим до изменения. В настоящее время в сети существуют следующие спорки и они выполняют функции, описанные ниже:

SPORK_2_INSTANTSEND_ENABLED

Governs the ability of Dash clients to use InstantSend functionality. InstantSend is described in DIP0010 LLMQ-based InstantSend.

SPORK_3_INSTANTSEND_BLOCK_FILTERING

Если активирован, Мастерноды будут отклонять блоки, содержащие транзакции, конфликтующие с заблокированными, но неподтверждёнными транзакциями InstantSend.

SPORK_9_SUPERBLOCKS_ENABLED

Если активирован, суперблоки проверяются и выдаются для оплаты победивших предложений.

SPORK_17_QUORUM_DKG_ENABLED

Enables the DKG process to create LLMQ quorums. This spork will be turned on once 80% masternodes are upgraded to v0.14, which will enable DKG and DKG-based PoSe.

SPORK_19_CHAINLOCKS_ENABLED

Enables ChainLocks, a mechanism of preventing the risk to payments introduced by blockchain reorganization events. ChainLocks are described in DIP0008 ChainLocks.

SPORK_21_QUORUM_ALL_CONNECTED

Enables connections between all masternodes in a quorum to optimize the signature recovery process.

SPORK_23_QUORUM_POSE

Enforces Proof of Service requirements for masternodes to support a minimum protocol version and maintain open ports.

Просмотр статуса спорков#

The spork show and spork active commands issued in the debug window (or from dash-cli on a masternode) allow you to interact with sporks. You can open the debug window by selecting Window > Console.

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

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