Пропозиція оновлення Kathmandu: пояснюємо технічні фічі простими словами

Пропозиція оновлення Kathmandu: пояснюємо технічні фічі простими словами

28 червня Tezos перейде на оновлення протоколу Jakarta із вбудованим L2-рішенням Transaction Optimistic Rollups. Поки що L2 підтримує лише транзакції tez, але все зміниться з впровадженням оновлення Kathmandu.

23 червня Nomadic Labs опублікувала інформацію про наступне оновлення Tezos — Kathmandu. До нього увійшли Smart Contract Optimistic Rollups (SCORUs), прискорення валідації блоків, інтеграція функції затримки з провіркою і перманентний тестнет — Ghostnet. Розповідаємо простою мовою про всі нововведення.

SCORUs — L2 з підтримкою сторонніх віртуальних машин

Раніше ми розбирали як працюють Optimistic Rollups. Якщо коротко: користувачі відправляють токени до сховища та отримують їхню репрезентацію на L2. Роллап-оператори регулярно підбивають підсумки операцій на L2 і публікують їх у L1. Як наслідок:

  • зменшується навантаження на вузли бейкерів;
  • збільшується максимальна пропускна спроможність Tezos;
  • користувачам стає вигідніше працювати з DeFi, тому що транзакційні комісії на L2 будуть у десять разів меншими, ніж на L1.

Ось-ось Tezos активує Jakarta та TORUs — роллапи для транзакцій tez. А в Kathmandu будуть SCORUs — ролапи з підтримкою виконання смарт-контрактів.

Головна фіча реалізації SCORUs у Tezos — можливість імплементувати будь-який обчислювальний пристрій, якщо його семантику можна описати як здатну виробляти криптографічні докази віртуальну машину (Proof-producing Virtual Machine або PVM).

Якщо по-простому, то в L2 Tezos теоретично можна буде впровадити хоч віртуальну машину Ethereum (EVM), хоч Java.

Core-розробники як доказ концепту планують запустити в тестнеті стекову PVM з підтримкою інструкцій на мові WebAssembly (Wasm). Сама Wasm підтримує компіляцію з C++, Rust, Go, TypeScript та інших високорівневих мов.

Особливість застосування SCORUs — вони з’являться в мейннеті через півроку, а можливо і пізніше. Розробники Tezos раніше скаржилися на занадто швидке впровадження в протокол нових фіч: вони не встигали випробувати їх і використовувати на практиці. Наприклад, тікети з’явилися понад рік тому, але спільнота все ще не виробила для них стандартів. Тому SCORUs у найближчі шість місяців буде доступний тільки в тестнетах Mondaynet та Dailynet, щоб у розробників було більше часу на експерименти та пошук багів.

Validation Pipelining Project — прискорення роботи з блоками

При валідації блоку валідатор по черзі перевіряє валідність кожної операції, а потім їх застосовує (виконує). Перевірка валідності та застосування відбуваються по черзі, при цьому в операції може бути декілька таких перевірок. Наприкінці валідатор перевіряє валідність фінального стану (state), визнає блок валідним та поширює його по мережі.

Процес можна зробити ефективнішим, якщо розділити валідацію та застосування операцій. У такому разі валідатор спочатку перевірить валідність усіх операцій, потім почне розповсюджувати блок і лише потім застосує всі операції. У результаті пропускна спроможність Tezos виросте.

Kathmandu буде реалізована тільки перша частина проєкту — поділ валідації та застосування операцій на різні модулі, але тільки для manager operations: транзакцій, деплоя, делегування та відкриття. У наступному оновленні протоколу розробники адаптують мемпул мережі до роботи з модулями. Дізнайтесь більше у документації Nomadic Labs.

Verifiable Delay Function — покращена випадковість

Tezos вибирає бейкера для створення наступного блоку за допомогою протоколу, схожого на RANDAO. Бейкери публікують випадкові числа, протокол хешує їх разом із хешем попереднього результату та зберігає результат — зерно, тобто ентропію. На початку кожного циклу мережа використовує поточне зерно для генерації псевдовипадкових чисел, які визначають щасливих бейкерів.

Цей спосіб працює, поки хоч один бейкер публікує справді випадкове число і не намагається підкрутити генератор псевдовипадкових чисел на свою користь.

У Kathmandu все також використовується RANDAO, тільки можливо «підкручене» зерно використовується як завдання для функції з перевіреною затримкою (VDF), щоб згенерувати дійсно випадкове зерно. Це рішення підвищує безпеку і чесність мережі. Детальніше — на Tezos Gitlab.

Event Logging — для роботи із зовнішніми програмами

Нова фіча для мостів та інших програм, які мають офчейн-частину. Логи подій дозволять контрактам створювати ончейн-повідомлення, які можуть швидко прочитати зовнішні програми. При цьому інструкція публікації події — EMIT — не викликає зовнішніх контрактів і таким чином економить газ.

Окрім інструкції EMIT для роботи з логами подій з’явилися спеціальні адреси ev1… та кілька команд. Дізнайтеся більше в документації Event Logging.

Ghostnet — довгоживучий тест

Ніколас Охем та Oxhead Alpha запропонували створити тестнет, який буде постійно оновлюватися до нової версії протоколу. Для цього творець тестнета призначає спеціальну адресу, яка може примусово оновити всю мережу до нової версії. Таку мережу назвали Ghostnet.

Ghostnet — відмінне нововведення для розробників, які тільки-но перейшли на Tezos і ще не розібралися з принципами назви мереж. Багато учасників нашого хакатону публікували контракти в Hangzhounet, який більше не підтримується. Крім того, при переході на новий тест розробникам доводиться наново отримувати адресу та публікувати необхідні контракти. Приємно, що цієї рутини вдалося позбутися.

Підписуйтесь на соціальні мережі Tezos Ukraine, щоб нічого не пропустити:

  1. Telegram-канал
  2. Facebook.
  3. Twitter російською та українською мовами
  4. Twitter англійською мовою
  5. YouTube-канал
  6. Instagram
  7. LinkedIn
  8. hub на ForkLog

наступний

Ще три команди з Tezos DeFi Hackathon продовжать розробляти на Tezos

Читайте схожі пости

Деталі оновлення Jakarta: на Tezos з’явиться Optimistic Rollups

Деталі оновлення Jakarta: на Tezos з’явиться Optimistic Rollups

Tezos активував Ithaca 2: пояснюємо, що змінилося

Tezos активував Ithaca 2: пояснюємо, що змінилося

Оновлення Hangzhou: якими нововведеннями вже можна користуватися

Оновлення Hangzhou: якими нововведеннями вже можна користуватися

Читайте блог і не пропускайте новини про TezosЧитати блог

Спільнота