Предложение обновления Lima: фиксы, улучшения и роллапы следующего поколения

5 октября Nomadic Labs, Marigold, TriliTech, Oxhead Alpha, Tarides, DaiLambda и Functori опубликовали информацию о следующем обновлении протокола Tezos под названием Lima. Лима — столица Перу, так что держите альпаку.
Объясняем простыми словами, как обновление Lima изменит опыт использования, бейкинга и разработки на Tezos.
Kernel-Based Optimistic Rollups
В обновлении Jakarta бейкеры активировали Transactions Optimistic Rollups (TORUs) для обычных транзакций. В Kathmandu анонсировали роллапы для смарт-контрактов (SCORUs). А теперь работа идет над Kernel-Based Optimistic Rollups.
TORUs созданы для транзакций и больше ни для чего. SCORUs позволяют выполнять смарт-контракты на Michelson. Kernel-Based Optimistic Rollups же являются платформой для выполнения вообще любых приложений.
Грубо говоря, Kernel-Based Optimistic Rollup — это отдельный виртуальный компьютер со своей операционной системой (кернелом), который не ограничен примитивами Michelson и может выполнять любой код. Вместо того чтобы изучать языки Tezos и разбираться с особенностями блокчейна, разработчик смог бы сразу писать приложения на привычном для себя языке и работать с блокчейном как с обычной файловой системой.
Операторы Kernel-Based роллапов смогут оптимизировать их под свои задачи: простые транзакции, торговлю, криптографию или конкретные приложения. Самый интересный кейс — реализация в роллапах других виртуальных машин, например EVM или Java. Сейчас Nomadic Labs работают над кернелом с WASM.
Kernel-Based Optimistic Rollups уже активированы в тестнете Mondaynet. Код рабочего примера кернела для тестирования и экспериментов можно взять на Gitlab Trilitech, а Nomadic Labs планируют опубликовать гайды по разработке кернелов. Больше технических деталей — в блоге Nomadic Labs.
Ключи консенсуса для бейкеров
Сейчас бейкеры используют один адрес для хранения tez и подписания операций консенсуса вроде эндорсмента и создания блоков. Это опасно: ключ от кошелька постоянно подключен к сети. Регулярно менять ключи затруднительно, так как при смене адреса бейкер теряет делегированные средства.
В Lima появятся дополнительные ключи консенсуса для подписания операций консенсуса. Они будут «производными», то есть назначение нового ключа консенсуса нужно будет подписать ключом от кошелька. Ключи консенсуса позволят бейкерам более безопасно хранить средства и упростят перенос операций на другую машину.
Больше о ключах консенсуса — в блоге MIDL.dev.
Улучшение тикетов
Разработчики убрали создание, хранение и передачу тикетов с нулевым количеством. Тикеты в итоге стали безопаснее для использования, но методы для работы с ними изменились.
Кроме того, в блокчейн будут записываться обновления права владения на тикеты. Это позволит индексерам отслеживать кто какими тикетами владеет и отображать балансы по примеру токенов.
В будущих обновлениях протокола разработчики пропишут все возможные варианты транзакций тикетов между разными типами адресов и блокчейн-сущностей. Детальнее — в дизайн-документе.
Дальнейшее ускорение работы с блоками
В обзоре обновления Kathmandu мы объяснили первую часть Pipelining Project — разделение проверок и применения операций для ускорения распространения блоков в сети.

В Kathmandu такое разделение применялось только для manager operations: транзакций, делегирования, деплоя контрактов, раскрытия публичных ключей и т.д.
В Lima по такому принципу будут обрабатываться все возможные операции и даже блоки. То есть, если в Kathmandu нода получала блок, проверяла его, применяла и только затем распространяла, то в Lima нода отправит блок другим нодам сразу после проверки, и применит его потом.
Pipelining уменьшит время, нужное для предложения новых блоков бейкерами, и в будущем позволит ускорить создание блоков.
Фиксы Ghostnet и другие изменения
В Kathmandu появился перманентный тестнет Ghostnet, который обновляется до новейшей версии протокола, прямо как мейннет. В последние пару месяцев разработчики нашли и пофиксили в нем две проблемы:
- при активации Verifiable Delay Function не учли, что длительность цикла Ghostnet в четыре раза короче, чем в мейннете. Участникам тестнета не хватало времени, чтобы провести вычисления за отведенный период. Проблему решили через уменьшение сложности VDF в четыре раза;
- из-за короткого периода голосования в один цикл счетчик «time until next period» стал негативным и не позволял Ghostnet автоматически проходить через обновления. Это пофиксят при миграции Ghostnet на Lima.
Кроме того, из Lima убрали Liquidity Baking sunset — таймер, по истечению которого протокол выключит субсидирование бейкинга ликвидности. Вместо него будет голосование с возможностью выключить и включить обратно субсидии большинством голосов.
Последнее изменение — временное отключение примитива Timelock из-за обнаруженной уязвимости. Octez v14 отключил взаимодействие со смарт-контрактами с Timelock, а Lima не позволит деплоить новые контракты с Timelock.
Подписывайтесь на социальные сети Tezos Ukraine, чтобы ничего не пропустить:
- Telegram-канал
- Facebook.
- Twitter на русском и украинском языках
- Twitter на английском языке
- YouTube-канал
- hub на ForkLog
