Пропозиція оновлення 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
