Что такое Tezos (XTZ)?
Экспертные консультации для этого материала предоставил основатель стартапа по аудиту и оценке работы бейкеров Tezos Baking Bad Владимир Заречнев.
Что такое Tezos?
Внимание! Статья устарела и ждет обновления.
Кто и когда изобрел Tezos?
Создатель Tezos – Артур Брейтман, сын известного французского драматурга, писателя и актера Жана-Клода Дере. Артур Брейтман изучал прикладную математику, компьютерные науки и физику в парижской Политехнической школе, после чего переехал в США, где изучал финансовую математику в Университете Нью-Йорка. Он работал в инвестиционных банках Goldman Sachs и Morgan Stanley, в компаниях Google X и Waymo.
На протяжении нескольких лет Брейтман был одним из организаторов семинаров и встреч анархо-капиталистов в Нью-Йорке. Участники этого движения позиционировали себя как «радикальные либертарианцы, выступающие за безудержный прирост капитала, интенсивный технологический прогресс и высокие жизненные стандарты капиталистической системы», а также за отказ от конфронтации с государством.
На очередной встрече анархо-капиталистов в 2010 году Брейтман познакомился с американкой Кэтлин Маккаффри, студенткой из Нью-Джерси. В 2013 году Артур и Кэтлин поженились. Окончив Корнеллский университет, Кэтлин работала в хедж-фонде Bridgewater Associates, в компании Accenture, а также в компании R3 CEV, специализирующейся на разработке распределенных баз данных. С самого начала развития Tezos Кэтлин помогала мужу в работе над проектом.
В августе 2014 года Артур Брейтман под псевдонимом «L. M. Goodman» опубликовал меморандум, посвященный Tezos, а в сентябре 2014 года – white paper проекта. Псевдоним L. M. Goodman содержит аллюзию на журналистку Newsweek Лию Макграт Гудман, получившую известность после того, как приписала авторство биткоина американцу японского происхождения Дориану Прентису Сатоши Накамото.
В меморандуме и white paper Брейтманы отметили такие слабые стороны биткоина, как неспособность обеспечить более инклюзивную систему управления и создание новых токенов, предсказали, что в ближайшем будущем появится множество токенов-однодневок, а также представили собственное решение блокчейна: первую в мире «самосовершенствующуюся» криптовалюту Tezos.
Название криптовалюты сгенерировал алгоритм Брейтмана, искавший имена невостребованных доменов, произносимые в английском языке.
Как развивается Tezos?
В 2015 году Брейтманы основали компанию Dynamic Ledger Solutions (DLS), которая должна была написать исходный код для Tezos. В то время Брейтман занимал должность финансового математика в банковском холдинге Morgan Stanley. Не желая потерять работу, он предпочел не разглашать свое участие в проекте (в апреле 2016 года он ушел из банка).
В ходе регистрации компании в США Брейтман в нарушение правил Агентства по регулированию деятельности финансовых институтов (FINRA) скрыл факт своего участия в «иной коммерческой деятельности». Из-за этого в апреле 2018 года FINRA оштрафовало Брейтмана на $20 000 и запретило ему на протяжении двух лет осуществлять сделки с брокерами-дилерами.
В 2016 году DLS выпустила исходный код проекта. В феврале 2017 года на базе исходного кода была запущена альфа-сеть протокола.
Поскольку по швейцарским законам в интересах общества можно создавать независимые фонды поддержки платформ ПО с открытым кодом, в Цуге был зарегистрирован некоммерческий фонд Tezos Foundation. Брейтманы попросили занять пост президента фонда южно-африканского предпринимателя и основателя швейцарской финтех-компании Monetas Йоханна Геверса.
Фонд получил контроль над доходами от краудсейла проекта, интеллектуальную собственность контролировала компания Брейтмана DLS.
По завершении ICO Брейтманы планировали продать DLS Tezos Foundation, после чего контроль над исходным кодом Tezos должен был оказаться в руках руководителей фонда. Однако к моменту старта ICO, запланированного на май 2017 года, проект начал испытывать недостаток средств. Кэтлин Брейтман обратилась к венчурному капиталисту Тиму Дрейперу, который инвестировал $1,5 млн через фирму Draper Associates и получил миноритарный пакет акций DLS.
1 июля 2017 года стартовало ICO Tezos: за две недели 32 000 пользователей приобрели приблизительно 607,8 млн токенов XTZ, созданных и распределенных в момент создания генезис-блока в сети Tezos при запуске бета-версии. Организаторы привлекли около $232 млн в биткоине и Ethereum (хотя планировали собрать максимум $20 млн).
По официальным данным на сайте Tezos Foundation, токены распределили следующим образом:
- Участники ICO: ~ 88,43% (607 489 040,89 XTZ);
- Ранние спонсоры и подрядчики: ~ 0,46% (3 156 502,85 XTZ);
- Tezos Foundation и Dynamic Ledger Solution, Inc. (DLS).
В соглашении с инвесторами привлеченные средства определялись как «невозвратные пожертвования», а не «венчурное инвестирование». Компания предупредила инвесторов, что выпуск токенов может не состояться.
Как утверждал в октябре 2017 года Геверс, контракт фонда с Брейтманами предусматривал, что если продажа DLS фонду не состоится в «оговоренные сроки», Tezos Foundation получит ее бесплатно. Однако Геверс не сумел предъявить журналистам копию соглашения. В случае успешной работы компании в течение трех месяцев после продажи акционеры DLS (Брейтманы и Тим Дрейпер) должны были получить 8,5% ($19,7 млн) средств от краудсейла и 10% всех выпущенных токенов Tezos. Но сделка не состоялась, поскольку между Брейтманами и Геверсом возник конфликт.
По версии Геверса, разногласия вспыхнули из-за того, что супруги выступили против решения фонда принять на работу определенных людей. По его словам, DLS сохраняла контроль над «доменами, веб-сайтами и серверами электронной почты» фонда.
В результате работа над проектом и расширение штата разработчиков шли крайне медленно, и токены XTZ не были распределены среди инвесторов в назначенные сроки. Разгневанные инвесторы подали несколько групповых исков против фонда и DLS. В середине февраля 2018 года Геверс и некоторые члены совета директоров Tezos Foundation покинули свои посты. После этого работа над разработкой протокола возобновилась, и в июне 2018 года Tezos Foundation запустил бета-версию платформы, а в сентябре 2018 года – основную сеть.
29 мая 2019 года состоялось обновление протокола Tezos под названием Athens A. Athens A предполагал несколько обратно несовместимых изменений. Первое изменение протокола позволило повысить лимит газа с целью увеличения вычислительных возможностей и пропускной способности сети. Снизилось и количество токенов, необходимое для получения статуса бейкера – с 10 000 XTZ до 8000 XTZ.
18 октября 2019 года было активировано обновление Babylon 2.0, благодаря которому изменились алгоритм консенсуса сетей, функциональность смарт-контрактов и механизм управления. Разработка смарт-контрактов была упрощена, изменилась система вознаграждений для бейкеров (валидаторов сети), стимулируя их к максимальному участию в одобрении блоков, а также стало проще делегировать бейкерам монеты XTZ. Ранее для этого пользователи создавали специальные адреса KT1. После обновления делегировать средства можно с основного адреса.
В марте 2020 года держатели Tezos проголосовали за обновление Carthage 2.0, призванное оптимизировать код и решить ряд проблем. В частности, обновление позволит на 30% увеличить лимит газа на блок и операцию, что даст разработчикам возможность запускать более сложные приложения.
Как осуществляется эмиссия токенов Tezos?
Нативный токен блокчейна Tezos – tez, биржевый тикер – ХТZ.
В Tezos используется инфляционная модель: годовая инфляция должна составлять около 5,5%. Токены XTZ эмитируются в процессе создания новых блоков, часть токенов может уничтожаться в качестве штрафа за недобросовестное поведение валидаторов.
Еще один вариант эмиссии – когда бейкер предлагает обновление протокола, он может выставить плату в XTZ. В случае успешного принятия данного обновления, автор получает эту сумму в результате дополнительной эмиссии.
Токены XTZ могут использоваться следующим образом:
- В качестве награды за участие в создании и одобрении новых блоков (непосредственное участие или делегирование токенов).
- В качестве голосов в системе децентрализованного управления.
- В качестве платежного инструмента для передачи ценности.
- Для оплаты газа (Gas) – единицы стоимости для уплаты комиссий. Газ используется не только для обычных транзакций, но и при взаимодействии со смарт-контрактами, для работы децентрализованных приложений.
Отдельные проекты (например, Ethereum) сталкиваются с проблемой высокой инфляции, которая вызвана неограниченной эмиссией, но в рамках ончейн-системы управления Tezos пользователи могут предлагать изменения модели эмиссии, которые принимаются при поддержке большинства пользователей.
Какой механизм консенсуса в Tezos?
Tezos функционирует на основе механизма консенсуса Liquid Proof-of-Stake (LPoS). Поскольку в алгоритме используется процесс так называемого делегирования, иногда ошибочно считается, что Tezos работает на базе Delegated Proof-of-Stake (DPoS), как TRON и EOS. В прошлом в некоторых официальных документах проекта использовалось название «Proof-of-Stake with delegation». С целью избежать недоразумений впоследствии было введено обозначение Liquid Proof-of-Stake (LPoS).В рамках алгоритма LPoS новые блоки создает случайно выбранный участник (делегат), а 32 других случайно выбранных участников его одобряют.
Процесс создания новых блоков именуется не майнингом, а «бейкингом» (от англ. baking, «выпекание»). Соответственно, майнеров именуют бейкерами или «пекарями».
Как и в механизме консенсуса Proof-of-Stake, права на создание новых блоков распределены между делегатами в зависимости от размера их ставки в токенах.
С целью ускорить процесс выбора делегатов токены XTZ агрегируют в роллы, каждый из которых содержит 8000 XTZ. Количество роллов определяет вес голоса делегата.
Поскольку не все пользователи сети заинтересованы в бейкинге, участники могут делегировать свои токены другим участникам без передачи права собственности: получатель токенов не вправе их тратить. Делегированные токены становятся частью ставки (стейка) делегата. Делегация токенов означает передачу прав на участие в обеспечении консенсуса и права голоса в рамках системы управления сетью.
Для создания новых блоков из числа делегатов, желающих участвовать в процессе, выбираются участники двух категорий:
- Создатели блоков (бейкеры) – один участник для каждого блока, который создает и подписывает новый блок. Каждому валидатору случайным образом присваивается приоритет на каждый блок. Приоритеты идут от 0. Если бейкер с приоритетом 0 по какой-то причине пропускает свой блок, то право на его создание переходит следующему.
- Подтверждающие узлы – тридцать два участника для каждого нового блока, которые подтверждают, что увидели и провалидировали новый блок.
За создание новых блоков делегаты получают вознаграждение:
- 1,25 XTZ подтверждающим узлам.
- 40 XTZ + комиссии создателю блока (бейкеру).
Если блок подтверждается не с 0 приоритетом, сумма вознаграждений подтверждающим узлам составляет 0,833333 XTZ, а бейкеру – 0,1875 XTZ * [количество подтверждающих узлов]. Вознаграждение за создание блока с приоритетом 0 также уменьшается, если количество подтверждающих узлов < 32 и составляет 1,25 * [количество подтверждающих узлов]. Общая сумма вознаграждения за создание нового блока составляет не более 80 XTZ.
Для повышения безопасности сети и уменьшения вероятности недобросовестной работы делегатов используется гарантийный депозит. Гарантийный депозит за создание нового блока составляет 512 XTZ, за подтверждение – 64 XTZ.
Блоки агрегируются в циклы, каждый из которых содержит 4096 блоков. Гарантийный депозит замораживается на время «законсервированного цикла» (preserved_cycles), которое равно пяти циклам в прошлом и составляет как минимум 14 дней, 5 часов и 20 минут. При текущих параметрах сети делегат, желающий потенциально участвовать в создании новых блоков, должен хранить в депозите около 8,25% от общего количества токенов (то есть, должен владеть 8,25% делегированных ему токенов).
Если участник замечает недобросовестное поведение делегата (например, попытку создания двух блоков на одной высоте) и предоставляет свидетельства нарушений, в награду он получает половину гарантийного депозита, вторая половина сжигается.
Выплаты вознаграждений пользователям, которые делегировали токены, производятся не автоматически, а в ручном режиме. Условия публичных делегатов, такие как комиссия, минимальный порог, график выплат, могут варьироваться. В самом протоколе Tezos таких ограничений нет, поэтому пользователи должны находить эту информацию на сторонних ресурсах.
Какая архитектура у Tezos?
Платформа Tezos написана на функциональном языке программирования OCaml. Для написания смарт-контрактов используется язык программирования Michelson. Как и OCaml, Michelson – это строго типизированный язык, оптимизированный для написания полных по Тьюрингу смарт-контрактов, обеспечивающих формальную верификацию системы (проверку программного кода по определенному алгоритму, который позволяет выявлять несоответствия кода спецификациям).
На иллюстрации ниже представлена схема архитектуры Tezos:
- Протокол (изображен зеленым цветом) отвечает за интерпретацию транзакций и выполнение других административных операций.
- Протокол выявляет блоки с ошибками.
- Протокол знает о существовании только одной основной ветки блокчейна, начиная с генезис-блока, и не предусматривает, что узлы могут предлагать альтернативные цепочки.
- Оболочка (изображена синим) знает о возможности существования нескольких цепочек и отвечает за выбор предложений от создателей блоков (бейкеров).
- Оболочка выбирает и загружает альтернативные цепочки в протокол, который проверяет их на наличие ошибок и присваивает абсолютную оценку.
- Затем оболочка выбирает валидную цепочку с наибольшей оценкой – эта часть оболочки называется валидатором.
- Оболочка содержит p2p-слой, дисковую систему хранения блоков, операции для передачи данных блокчейна новым нодам и версионное состояние реестра.
- RPC-слой (Remote Procedure Call, сервис вызова удаленных процедур, изображен желтым) поддерживает формат JSON и HTTP-протокол, с помощью которого сторонние клиенты выполняют запросы и анализируют состояние узла.
Одна из ключевых особенностей Tezos – возможность протокола совершенствоваться. Она реализуется за счет того, что в протокол имплементированы две функции, позволяющие устанавливать новую версию протокола в тестовую или основную сеть.
Предложения по улучшению сети можно вносить с помощью системы управления. Предложения могут содержать код, который вначале устанавливается в тестовую сеть и после достаточной проверки переносится в основную сеть.
Возможность изменения протокола в соответствии с запросами пользователей способствует минимизации количества форков и ослабляет угрозу раскола сообщества.
В Tezos есть два типа аккаунтов:
- Смарт-контракт – аккаунт, который может содержать код смарт-контракта или токена. Адрес такого аккаунта начинается с KT.
- Implicit account/Manager – аккаунт, который не выполняет код и может выступать в качестве менеджера для других аккаунтов. Может быть использован для обычного хранения, делегирования и бейкинга. Адрес аккаунта такого типа начинается с TZ.
Как осуществляется децентрализованное управление сетью Tezos?
Управление Tezos осуществляется посредством системы ончейн-голосования, которое проходит в четыре этапа:
Период внесения предложений (Proposal Period)
В рамках периода делегаты могут вносить до двадцати предложений. Внося предложение, делегат автоматически за него голосует. В конце периода голоса и предложения подсчитываются, и лидирующее предложение переходит в следующий период.
Период тестового голосование (Testing Vote)
В рамках этого периода делегаты могут голосовать за одно предложение. Если его поддерживает подавляющее большинство голосов, оно переходит в очередной период; если голосов не хватает, система возвращается к периоду внесения предложений.
Делегаты могут голосовать «за», «против» и «воздерживаюсь». Большинство голосов – случай, когда голоса «за» составляют более 80% от «за» + «против». Коэффициент участия рассчитывается как все полученные голоса/возможное количество голосов.
Кворум начинается с 80% голосов, после чего в ходе каждого голосования обновляется по формуле newQ = oldQ * 8/10 + participation * 2/10, где:
- newQ – это новое значение кворума;
- oldQ – старое значение кворума;
- participation – коэффициент участия.
Тестовый период (Testing Period)
В течение этого периода тестируются предложение на предмет эффективности и корректности. В тестовой сети Tezos осуществляется форк продолжительностью 48 часов, в ходе которого предложение тестируют.
Период голосования по внедрению предложения (Promotion Vote Period)
В течение этого периода делегаты могут отдать по одному голосу в пользу или против предложения, прошедшего тестовый период. Если кворум достигнут, предложение активируется в основной сети. В противном случае происходит переход к периоду внесения предложений.
Каждый период длится около трех недель, полный цикл занимает около трех месяцев.
Что еще нужно знать о Tezos?
- В декабре 2018 года ведущие разработчики Tezos основали компанию Nomadic Labs, которая занимается научными исследованиями и разработками для протокола Tezos. Компания насчитывает тридцать с лишним специалистов, включая Бенджамина Кану, Грегуара Анри и Пьера Шамбара – ведущих архитекторов Tezos, ранее сотрудничавших с компанией OCamlPro. Nomadic Labs регулярно публикует отчеты о ходе работы.
- На сайте tezosprojects представлены проекты, разрабатывающие решения для экосистемы Tezos.
- Tezos Foundation поддерживает программу выдачи грантов проектам в рамках экосистемы Tezos. Проекты, подавшие заявки, проходят несколько этапов отбора. Подробнее читайте на ForkLog.
- На официальном сайте проекта опубликована вторая версия white paper, в которой представлены изменения в реализации платформы в сравнении с первоначальными планами.
- В разделе для разработчиков на официальном сайте проекта доступна вся техническая документация с описанием особенностей работы платформы.
- Новостной раздел сайта Tezos Foundation содержит еженедельные обзоры развития проекта.
- Создаются рабочие группы по важным вопросам интеграции, например рабочая группа по кошелькам, в которой принимает участие Артур Брейтман.
- Сторонний проект Paradigm Fund регулярно публикует в блоге Medium обзоры событий в экосистеме Tezos.
Подписывайтесь на новости ForkLog в Telegram: ForkLog Feed — вся лента новостей, ForkLog — самые важные новости и опросы.
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!