30 декабря 2022

Дорога к 1 000 000 TPS: история обновлений Tezos

Рассказываем, как менялся протокол и что нового в нем появилось с момента добычи Genesis-блока.

Genesis/Alpha — июль 2018

1 июля 2018 года Tezos Foundation запустила экспериментальную версию протокола Tezos и бейкинга с обещанием перенести совершенные транзакции в основную сеть. Время создания блоков составляло 1 минуту.

17 сентября 2018 года Tezos Foundation обяъвила о запуске мейннета Tezos. Размер ролла составил 10 000 tez. Дальше разработчики применяли патчи, которые корректировали минимальные транзакционные комиссии и механизм голосования. Да, голосование за обновления протокола было в Tezos с самого начала.

Athens — март 2019

Обновление уменьшило минимальный размер ролла с 10 000 до 8000 tez, а также увеличило вдвое лимит газа на выполнение операций и в блоке в целом. Разработчики получили возможность писать более сложные смарт-контракты.

Остальные изменения Athens касались исправления багов и улучшения опыта разработчиков. Например, появилась возможность запустить приватный блокчейн-песочницу с готовыми смарт-контрактами в Genesis-блоке.

Babylon — октябрь 2019

Основной фичей стал новый алгоритм консенсуса Emmy+, который внес вариативную задержку времени создания блока в зависимости от пропущенных подтверждений.

Также разработчики обновили Michelson: смарт-контракты избавились от лимита на один big_map. В голосования появился кворум. Если в Athens предложение переходило на следующий этап при наборе хотя бы одного голоса «за», то в Babylon уже нужно было набрать 5%.

Carthage — март 2020

Разработчики еще раз увеличили лимит газа, на этот раз на 30%. Появились несколько фиксов Michelson вроде исправления бага, из-за которого инструкция MAP отменяла все изменения элементов в map или списке после того, как их применила.

Delphi — ноябрь 2020

Разработчики применили десятки патчей, чтобы уменьшить расход газа при выполнении операций. Кроме того, они повысили производительность Michelson, чтобы ноды Tezos на полную использовали скорости современных жестких дисков.

Также Delphi в 4 раза уменьшило стоимость записи данных в блокчейн — с 1 до 0,25 tez за 1 КБ. Комиссия за создание аккаунта снизилась с 0,064 tez вместо 0,025 tez.

Edo — февраль 2021

Это обновление получилось скучным с точки зрения пользователей, но интересным для разработчиков. Появился пятый период в голосовании — принятие (adoption), в течение которого бейкеры могли спокойно подготовиться к активации обновления. Период голосования сократился с 92 дней до 71.

Michelson интегрировал Sapling — решение для анонимных транзакций, а также тикеты и comb pairs

Florence — май 2021

Обновление вдвое увеличило максимальный размер операции до 32 КБ. Очередь выполнения операций внутри смарт-контракта изменилась с breadth-first на depth-first. Реализовали очередную оптимизацию потребления газа.

Из изначального предложения исключили бейкинговые аккаунты, с помощью которых бейкеры могли отвязать бейкинг-ключи от своего публичного адреса и не просить пользователей переделегировать средства при смене ключей.

Granada — август 2021

Появился бейкинг ликвидности с субсидиями 2,5 tez за блок. Также разрабочтики предложили новый алгоритм консенсуса Emmy*, который уменьшил время создания блока с 60 до 30 секунд.

Еще одна оптимизация работы с газом: стоимость операций с хранилищем снизилась в 10 раз, а стоимость вызова смарт-контрактов — примерно в 5 раз.

Hangzhou — декабрь 2021

В обновлении появились новые примитивы: timelock для скрытия содержимого транзакций на определенный период, on-chain view для безопасного просмотра контрактом содержимого хранилищ других контрактов, глобальные константы и кэш популярных контрактов для нод.

Ithaca 2 — апрель 2022

Разработчики убрали роллы, из-за которых у бейкера с 15 999 tez был такой же шанс добыть блок, как у бейкера с 8001 tez. Также уменьшился минимальный стейк для запуска ноды — с 8000 до 6000 tez.

Tezos получил детерминистический алгоритм консенсуса Tenderbake вместо вероятностного Emmy*. Транзакции стали достигать финальности за 2 блока вместо 6.

Jakarta — июнь 2022

Главным событием стал анонс Optimistic Rollups для транзакций или TORUs. Кроме них разработчики улучшили тикеты и Sapling-контракты и сделали Michelson еще безопаснее.

Kathmandu — сентябрь 2022

В дополнение к TORUs анонсировали SCORUs — оптимистические роллапы с возможностью выполнения смарт-контрактов.

Появилась Verifiable Delay Function или VRF — ончейн-генерация действительно случайных чисел. Еще стартовал Validation Pipelining Project, который ускорил распространение блоков по сети, и появился Ghostnet — перманентный тестнет.

Lima — декабрь 2022

Последнее обновление Tezos, в котором анонсировали Kernel-Based Optimistic Rollups — роллапы с кастомными виртуальными машинами.

Произошло очередное обновление тикетов, которые должны использоваться в роллапах и сайдчейнах на базе DEKU. А также заново внедрили те самые бейкинг-ключи, от которых отказались в Florence.

Mumbai — запланировано на 2023

Mumbai должно стать крупнейшим обновлением. В мейннете наконец-то появятся роллапы, время создания блоков уменьшится до 15 секунд, а в тестнете появится Tezos-версия ZK-Rollups с быстрой финализацией транзакций на L1.

Итоги

За четыре года core-разработчики Tezos проделали огромную работу. Для пользователей самыми заметными изменениями стали обновления алгоритма консенсуса:

  • время создания блоков уменьшится с 60 до 15 секунд;
  • стоимость использования смарт-контрактов снизилась в общем в 20 раз;
  • скорость финализации транзакций уменьшилась с 5 до 1 минуты.
  • появился бейкинг ликвидности.

Вместе с обновлениями росла и экосистема. Появились собственные алгоритмические стейблкоины и разнообразные DeFi-проекты, произошел бум NFT и были заключены громкие партнерства.

В 2023 году Tezos с помощью роллапов и сайдчейнов достигнет 1 000 000 транзакций в секунду. Надеемся, новые проекты воспользуются возросшей пропускной способностью и внесут свой вклад в переход из медвежьего рынка в бычий.

Обсудить в Discord!