Предложение и эмиссия
В цепочке ZooBC никогда не может быть больше 33 333 333,33333333 ZBC. Часть этой суммы зачисляется в генезисе; остальное, пул coinbase, выпускается блок за блоком в течение 15 лет по фиксированной кривой, которая быстрее всего идёт в начале. Нет ни майнинга, ни процентов за стейкинг: coinbase — единственный источник новых ZBC, и через 15 лет больше ничего не создаётся.
Потолок
Потолок предложения, total_supply, составляет 3 333 333 333 333 333 атомарных единиц, то есть 33 333 333,33333333 ZBC, в каждой цепочке. Он охватывает всё вместе. При построении цепочки построитель генезиса вычитает каждое генезис-зачисление: пополненные аккаунты, казну, казну приложений, которая наполняет пул приложений, вестинговые расписания и по 10 ZBC на собственный аккаунт каждого генезис-узла. Остаток — пул coinbase. Затем построитель снова складывает зачисления и отказывается записывать генезис, сумма которого превысила бы потолок (генезис-блок).
Таким образом, потолок — это общая сумма, а не coinbase: пул coinbase — это то, что от потолка оставляет генезис.
ZBC создаёт только coinbase
Новые ZBC появляются только из coinbase — новых монет, которые несёт каждый блок. Никто их не майнит, никакой стейк не приносит процентов, а казна — обычный аккаунт, который может тратить то, что на нём есть, но не может выпускать монеты. Coinbase не достаётся и узлу, создавшему блок: он попадает в пул вознаграждения блока вместе с комиссиями, и лотерея coinbase распределяет пул между зарегистрированными узлами в соответствии с их оценкой участия.
Ни одно правило не уничтожает ZBC (ZBC никогда не сжигается), поэтому количество существующих монет растёт по графику к потолку.
Кривая
Совокупная эмиссия к моменту t, то есть всё, что coinbase выпустил с генезиса, равна:
D(t) = floor(y × pool)
y = (σ(3 + 3τ) − σ(3)) ÷ (σ(6) − σ(3))
σ(x) = 1 ÷ (1 + e^−x)
τ = (t − genesis time) ÷ 473,040,000 s, kept between 0 and 1
473 040 000 секунд — это 15 лет по 365 дней. Каждый узел вычисляет кривую с двойной точностью и округляет результат вниз до атомарных единиц, поэтому все узлы получают одно и то же число.
σ — S-образная логистическая функция (сигмоида). Используется только её выполаживающийся участок между x = 3 и x = 6, масштабированный так, что y растёт от 0 в генезисе до 1 через 15 лет. Поэтому выпуск смещён к началу:
| Время с генезиса | Выпущенная доля пула |
|---|---|
| 1 год | 18,4 % |
| 2 года | 33,7 % |
| около 3 лет 4 месяцев | 50 % |
| 5 лет | 65,5 % |
| 10 лет | 90,6 % |
| 15 лет | 100 % |
Скорость выпуска в генезисе примерно в 18,3 раза выше, чем на 15-м году, а через 15 лет больше ничего не выпускается. Самые крупные награды приходятся на первые годы, пока реестр ещё мал. Халвингов с резкими ступенями нет, и скорость не постоянна: она плавно снижается с каждой секундой.
Время, а не блоки
Coinbase блока равен:
coinbase = D(this block's timestamp) − D(previous block's timestamp)
Поэтому эмиссия следует часам, а не числу блоков. Блок, идущий после долгой паузы, несёт больше coinbase, а блок после короткой — меньше, при этом сумма за сутки остаётся той же. Медленная серия блоков не выпустит меньше, а всплеск быстрых блоков не выпустит больше. Число транзакций в блоке и стейк его производителя роли не играют.
Начиная с версии 0.5.8 блок должен нести ровно запланированную сумму, включая пустые блоки; любое другое значение делает его недействительным на каждом узле. На высотах 0 и 1 coinbase не выплачивается.
Никто не может его изменить
График — часть правил консенсуса, зафиксированных в генезисе, и каждый узел сверяет с ним coinbase каждого блока. Его нет среди цен, по которым могут голосовать места реестра (голосования по ценам), и ни один ключ не может его изменить (ZooBC Foundation).