Вики ZooBC
Основы ZooBC

ZooBC Foundation

ZooBC Foundation — организация, стоящая за ZooBC. В каждой цепочке ей принадлежат 11 генезис-мест реестра узлов, и она публикует публичные инструменты командной строки. Особой власти над транзакциями или балансами у неё нет: протокол даёт каждому ключу одну задачу, а некоторые вещи не может сделать ни один ключ.

Генезис-места

Каждая цепочка начинается с 11 зарегистрированных узлов, записанных в её генезис-блок: это генезис-места, принадлежащие Foundation. Все остальные операторы входят в реестр узлов через очередь (очередь). Новичков никто не выбирает: их допускают по одному, в темпе, который задаёт протокол. В mainnet первый новичок допускается через 7 дней после генезиса, затем по одному за цикл длиной 600 дней, делённые на число учтённых мест, в пределах от 7 до 90 дней: около 54,5 дня, пока учтено 11 мест (темп допуска). В этом подсчёте генезис-места весят не больше 11.

После допуска у каждого активного места одинаковый шанс быть выбранным для создания блока. Генезис-места подчиняются тем же правилам, что и остальные, и начинают с той же оценки участия в 20 %, что и любой новый узел.

Каждая цепочка начинается с 11 генезис-мест, принадлежащих ZooBC Foundation; другие узлы ждут в очереди и проходят через турникет — один допуск за цикл — на новые места. У каждого активного места одинаковый шанс создавать блоки.
Каждая цепочка начинается с 11 генезис-мест, принадлежащих ZooBC Foundation; другие узлы ждут в очереди и проходят через турникет — один допуск за цикл — на новые места. У каждого активного места одинаковый шанс создавать блоки.

Инструменты

Foundation публикует публичные инструменты командной строки на github.com/zoobc/tools под лицензией MIT на десяти языках: C++, TypeScript, JavaScript, Python, Go, Rust, Kotlin, Swift, PHP и Perl. Они обращаются к узлу только через его публичный API, как это может делать любое приложение (инструменты командной строки).

Ключи и их задачи

ZooBC даёт каждому ключу одну задачу:

КлючЧто он делает
орган выпуска релизоврегистрирует релизы программы по хешу их файлов и может их отзывать
казнаобычный аккаунт: тратит то, что на нём есть
маркетмейкеробычный аккаунт
ключ страниц (page authority)ни одно правило цепочки его не читает
владелец местарегистрирует, обновляет, меняет ключ и удаляет собственный узел, а также получает выигрыши узла
ключ узласоздаёт блоки и подписывает квитанции, аттестации и голоса

Начиная с версии 0.5.8 у четырёх ролевых ключей (органа выпуска релизов, ключа страниц, казны и маркетмейкера) четыре разных адреса во всех трёх цепочках, и каждый хранится на своём устройстве. Построитель генезиса проверяет, что они различаются. Из этих четырёх только у органа выпуска релизов есть полномочия в цепочке, и в генезисе на нём может быть до 1 000 ZBC для оплаты комиссий. У мест есть противовес ему: две трети из них могут наложить вето на релиз, а две трети, удерживающие свой голос в течение недели, могут заменить орган выпуска (релизы и обновления).

Владельцы мест и ключи узлов описаны в статье ключи узла.

Четыре ключа, у каждого одна задача: орган выпуска релизов регистрирует или отзывает хеш релиза, казна тратит собственный баланс, владелец места регистрирует, меняет или удаляет свой узел, ключ узла создаёт блоки и подписывает квитанции; ключа администратора нет.
Четыре ключа, у каждого одна задача: орган выпуска релизов регистрирует или отзывает хеш релиза, казна тратит собственный баланс, владелец места регистрирует, меняет или удаляет свой узел, ключ узла создаёт блоки и подписывает квитанции; ключа администратора нет.

Чего не может сделать ни один ключ

  • В консенсусе нет ключа администратора. Правило, параметр или баланс меняются только через транзакции, которые проверяет каждый узел, или через ограниченные голосования мест по ценам (голосования по ценам); никогда — подписанным сообщением.
  • Генезис неизменен. Его аккаунты, места, параметры и высоты правил — часть идентичности цепочки.
  • Активацию правил нельзя ни проголосовать, ни подписать. Бинарный файл узла, не согласный с высотами правил, записанными для его цепочки, отказывается запускаться.
  • Казна не может выпускать монеты. Новые ZBC появляются только по графику coinbase (предложение и эмиссия).
  • Регистрация релиза носит рекомендательный характер. Она направляет только те узлы, которые сами выбрали автообновление, и они сверяют хеш с цепочкой. Узел, на котором работает бинарный файл, выбранный его оператором, это не затрагивает.
  • Никто не утверждает транзакции. Каждый узел проверяет каждую транзакцию и каждый блок по одним и тем же правилам, поэтому Foundation не может одобрить, отменить или заблокировать платёж.

Эти гарантии держатся на коде, который выполняет каждый узел, а не на чьём-либо обещании. Новые ZBC тоже никто не майнит и не продаёт: они следуют фиксированному графику и выплачиваются по лотерее зарегистрированным узлам пропорционально их оценке (лотерея coinbase).

См. также