Аренда аккаунтов и их удаление
Каждый аккаунт ZooBC, на котором есть ZBC, раз в период платит небольшую фиксированную аренду: в mainnet — 0,01 ZBC каждые 30 дней по начальной цене. Каждый узел хранит каждый аккаунт в своём состоянии всё время, пока аккаунт существует, и именно аренда со временем убирает аккаунты, которыми никто не пользуется. Аккаунт, баланс которого не может покрыть аренду, удаляется, а его последняя пыль уходит в пул долголетия.
Почему аккаунты платят аренду
Состояние блокчейна общее: каждый узел хранит каждый аккаунт, баланс и запись. Плата за это место не даёт цепочке заполниться заброшенными и мусорными аккаунтами, поэтому платить обязательно. Аренда — и не процент: никто не получает её за хранение монет, и ничего из неё не достаётся ZooBC Foundation. Она идёт узлам, которые хранят состояние.
Как она взимается
- Цена. 0,01 ZBC (1 000 000 атомарных единиц) за 172 800 блоков, один 30-дневный период снимков, в mainnet. Места могут менять цену голосованием (голосования по ценам).
- Часы. Часы аренды запускаются, когда аккаунт впервые получает положительный баланс, и первая аренда подлежит уплате через один период.
- Без транзакции. Цепочка сама забирает аренду на высоте, когда наступает срок. Поэтому она видна в движениях средств аккаунта,
/api/v1/accounts/<address>/movements, а не среди его транзакций. - Куда идёт. Аренда поступает в пул долголетия, который в каждом блоке выплачивает узлам долю (пулы).
- Нагрузка. В одном блоке аренда взимается не более чем с 2 000 аккаунтов; остальные ждут следующего блока.
Заплатить или быть удалённым
На высоте, когда наступает срок, цепочка сравнивает баланс с арендой:
- Баланс покрывает аренду: аренда уплачивается, и следующая наступает через период.
- Баланс меньше аренды: аккаунт удаляется. Его баланс, nonce (счётчик его транзакций) и часы аренды обнуляются, его политика разделения сбрасывается, а групповой аккаунт распускается. Оставшаяся пыль уходит в пул долголетия.
Аккаунт никогда не уходит в долг, и никто не платит аренду за него. Если удалённый адрес снова получает ZBC, он просто начинает заново, с новыми часами аренды и новым nonce. Аккаунты с утерянными ключами со временем точно так же уходят из состояния, и ни один ZBC не теряется (ZBC никогда не сжигается).
Кто платит, а кто нет
- Группа аккаунтов платит базовую аренду плюс арендную плату за хранение записи группы. Её участники не платят ничего, потому что их деньги находятся на адресе группы (группы аккаунтов).
- Пул долголетия и пул хранения освобождены от аренды.
Аренда аккаунта — одна и та же фиксированная сумма для каждого аккаунта, каким бы ни был его баланс. Всё остальное, что хранится в цепочке, платит собственную аренду: наборы данных и файлы (наборы данных, файлы в цепочке (DFS), пул децентрализованного хранения), транзакции, хранимые дольше обычного (плата за сохранение данных (долговечность)), токены (содержание токена (продление)), рынки (рынки и ордера) и эскроу (эскроу).
Голосование по цене
Период аренды следует периоду снимков. Места могут голосованием снизить цену вплоть до одной атомарной единицы, но не более чем вдвое за цикл, чтобы содержание аккаунта не стало дорогим в реальном выражении, если ZBC вырастет в цене. Никакое голосование не может поднять её выше 10 ZBC за период (голосования по ценам).
Удаление аккаунта — не то же самое, что обрезка истории: узлы со временем также удаляют старые блоки и транзакции, как объясняет статья обрезка истории.