Выход из реестра
Место в реестре ZooBC заканчивается одним из трёх способов: владелец удаляет узел, цепочка исключает его, когда его оценка участия достигает нуля, или тот, у кого есть ключ узла, подаёт заявку на стейк. В каждом случае стейк возвращается на аккаунт — полностью или за вычетом десятой части. Стейк всегда был залогом, а не платой, и правила гарантируют, что выход нельзя использовать, чтобы избежать штрафа.
Удаление узла
Владелец удаляет узел транзакцией RemoveNodeRegistration (тип 514), подписанной ключом владельца. Место закрывается в этом блоке. Затем стейк за вычетом комиссии самого удаления удерживается в течение периода охлаждения в 40 320 блоков — 7 дней при 15 секундах на блок. В блоке, где период охлаждения заканчивается, цепочка автоматически зачисляет его на аккаунт владельца; вторая транзакция не нужна.
Сколько вернётся, зависит от состояния узла в момент выхода:
- Исправный узел — тот, у которого нет пропущенных ходов со времени его последнего собственного блока, — получает весь стейк обратно.
- Узел, который отсутствует (пропустил ход и с тех пор не создал блока) или приостановлен, теряет 10 %. Это касается и честного узла, пропустившего один-единственный ход и уходящего до своего следующего блока, поэтому оператору, который хочет вернуть весь стейк, стоит дать узлу создать следующий блок, прежде чем его удалять.
Период охлаждения сохраняет стейк под риском, пока узел уходит, и вместе с правилом 10 % делает выход бесполезным для уклонения от штрафа.
Исключение
Зарегистрированный узел, переставший создавать свои блоки, исключается не сразу. Он проходит постепенный путь (пропущенные ходы, приостановка и исключение):
- С первого пропущенного хода он отсутствует: ничего не зарабатывает, а его оценка участия падает на 5 пунктов (из 100) за единицу оценки, равномерно распределённых по блокам единицы.
- На четвёртом пропущенном ходе подряд он приостанавливается и выходит из жеребьёвки производителей, оставаясь отсутствующим.
- Когда его оценка достигает нуля, он исключается: 90 % стейка сразу возвращаются владельцу, а 10 % уходят в пул долголетия.
В сети меньше чем из 2 880 узлов единица оценки равна 12 часам, поэтому молчащий узел продержится:
| Оценка в момент, когда узел замолчал | Время до исключения |
|---|---|
| 100 % | около 10 дней |
| 60 % | около 6 дней |
| 20 % (начальная оценка) | около 2 дней |
В более крупной сети единица растёт вместе с числом узлов, поэтому путь длиннее. Короткий сбой стоит дохода и части оценки, но не места. Кроме того, цепочка никогда не исключает узел, если после этого останется меньше трёх активных узлов; когда под угрозой несколько узлов, то, кого пощадить первым, решает время, когда каждого из них видели в последний раз.
Заявка с ключом узла
ClaimNodeRegistration (тип 770) позволяет тому, у кого есть ключ узла, забрать стейк на подконтрольный ему аккаунт. Она существует для владельца, потерявшего доступ к аккаунту владельца, и несёт доказательство владения, подписанное ключом узла. Собственная заявка владельца рассматривается как удаление: тот же 7-дневный период охлаждения и те же 10 % в пул долголетия, если в момент выхода узел отсутствовал или был приостановлен. Заявка, подкреплённая только ключом узла и отправленная с любого другого аккаунта, объявляется и выплачивается через 40 320 блоков (7 дней), если только владелец не удалит узел раньше; 10 % уходят в пул, если узел в тот момент отсутствует (ключи узла). Владелец, потерявший ключ владельца, подаёт заявку с другого аккаунта, поэтому и его заявка ждёт эти 40 320 блоков.
10 % под риском
| Событие | Возвращается владельцу |
|---|---|
| удаление исправного узла | 100 %, через 7 дней |
| удаление отсутствующего или приостановленного узла | 90 %, через 7 дней |
| исключение при нулевой оценке | 90 %, сразу |
| отзыв из очереди до допуска | 90 % |
| исключение из очереди за пропуск явки | 90 %, сразу |
Эти 10 % никогда не сжигаются. Они уходят в пул долголетия, который платит работающим узлам через лотерею coinbase (ZBC никогда не сжигается). Случаи с очередью разобраны в статье очередь. Увеличение стейка, напротив, стоит только комиссии за транзакцию.
Возвращение
Ключ узла, место которого было удалено, может зарегистрироваться снова. Он начинает новую запись в очереди, не наследует пропущенных ходов и ждёт в очереди, как любой новичок (регистрация узла).