Skip to content

История ключей (HF15) ​

DLT-нода стартует со снапшота и не хранит прошлых блоков, поэтому сама по себе не может сказать, какой ключ был у аккаунта в прошлом. Аккаунт мог что-то подписать, сменить ключи и заявить, что подпись не его. С HF15 консенсус навсегда хранит каждый ключ, который перестал действовать у аккаунта, — прошлое доказывается по текущему состоянию цепи.

Что записывается ​

При смене ключей аккаунта нода пишет по строке на каждого члена старого authority каждой роли, которая действительно изменилась:

ПолеЗначение
accountЧей это был ключ
rolemaster, active, regular или memo
keyКлюч; нулевой ключ, если членом был аккаунт
auth_accountАккаунт-член (account_auths); пусто для ключа
weightВес этого члена; 0 для memo
weight_thresholdТребуемый вес роли; 0 для memo
valid_until_blockПоследний блок, в котором ключ ещё действовал (включительно); смена — в следующем блоке
valid_until_timeВремя этого блока

Если старая authority роли была пустой (ни ключей, ни аккаунтов), нода всё равно пишет для этой роли одну строку-маркер: key — нулевой ключ, auth_account пустой, weight = 0. Она нужна, чтобы кулдаун ротации работал и при переходе «пусто → заполнено»; такие строки видны и в get_key_history_by_key по нулевому ключу.

Строка значит: у аккаунта A был ключ B в роли R с весом D из требуемых E до блока F во время G. «С какого момента» — блок, следующий за valid_until_block предыдущей строки той же роли (или неизвестно для ключей, которые стояли на момент активации HF15: более ранней истории взять неоткуда). Текущие ключи — в самом аккаунте.

Строки пишут все пути смены ключей: account_update, восстановление аккаунта, прямая продажа и закрытие аукциона. Роль, authority которой не изменился, ничего не пишет — повторная отправка того же authority сменой не считается. Строки не удаляются никогда. Это отдельная вещь от истории master для восстановления, которая хранится только 30 дней.

Лимит частоты ​

С HF15 реальная смена active, regular или memo_key через account_update разрешена не чаще раза в час для каждой роли — как уже было у master. Лимит у каждой роли свой: смена regular не мешает сменить active в тот же час. Восстановление и продажа аккаунта не ограничены.

Read-API ​