7 сентября 2022

Deku — первый сайдчейн Tezos теперь на Jakartanet

Этот пост — выжимка стрима с разработчиками Marigold Эдуардо Рафаэлем, Дэниелом Хайнсом и Джейсоном Риджуэем-Тейлором. В конце статьи мы добавили таймкоды по темам и ссылки на документацию. Давайте разбираться в принципах работы Deku, сценариях использования L2-решений и их роли в дальнейшем развитии Tezos.

Зачем Tezos нужен сайдчейн

Характеристики блокчейна — это компромисс между безопасностью, децентрализацией и пропускной способностью, то есть транзакциях в секунду (TPS). TPS можно форсировать через повышение требований к оборудованию. При этом уменьшиться количество валидаторов, которые могут позволить себе запустить узел, что приведет к централизации сети.

TPS Tezos постоянно улучшался в течение последних двух лет, особенно с внедрением Tenderbake в Ithaca. Однако многим приложениям по-прежнему требуется на порядки больше, чем обеспечивают современные L1. TORUs и SCORUs не сделают Tezos намного быстрее, так как скорость ввода информации через роллапы привязана к блокчейну Tezos.

Сайдчейны — это блокчейны, связанные с основным чейном, что позволяет пользователям перемещать свои активы в обоих направлениях. При этом характеристики сайдчейна могут отличаться от основной сети: он может быть быстрее, анонимнее или даже использовать другую виртуальную машину.

С помощью сайдчейнов пользователи могут точно решить, какой уровень децентрализации они хотят для своих транзакций. При этом они получат гораздо более высокий TPS и заплатят меньшую комиссию за транзакции, которые не требуют максимальной безопасности L1. Сайдчейны также предлагают способ экспериментировать с различными архитектурами блокчейна с L1 в качестве подстраховки для пользователей.

Что такое Деку

Слово «Деку» — отсылка к манге My Hero Academia.

Deku — это полноценный блокчейн с узлами, которые производят и проверяют блоки независимо от Tezos. Но все же это сайдчейн: у него есть легкий клиент для своего консенсуса в смарт-контракте на Tezos. Периодически он обновляет в этом контракте состояние своего консенсуса. Также он образует мост, с помощью которого пользователи перемещают активы между двумя цепочками, и обеспечивает дополнительный уровень безопасности консенсуса Deku.

Deku использует алгоритм консенсуса Proof of Authority вместо Proof of Stake, то есть владельцы узлов вручную принимают новых валидаторов сети. В текущем альфанете узлы поддерживает только Marigold, но скоро к ней могут присоединиться другие core-разработчики Tezos в качестве валидаторов.

Контракт хранилища Deku на Tezos содержит такие данные:

  • root_hash — хэш состояния Deku, который периодично обновляют валидаторы;
  • current_validators — идентификаторы валидаторов;
  • хранилища — тикеты, которые внесли пользователи.

Тесты Marigold показали, что текущая версия Deku достигает 5000 TPS. Команда заявляет, что очень скоро увеличит скорость до 20 000 TPS, а к концу года — 50 000 TPS.

Что такое Deku-P и Deku-C?

Deku существует в двух вариантах:

  • Deku-C или Deku Canonical — текущая реализация Deku в альфанете. Он поддерживает смарт-контракты WASM и взаимодействует с тикетами Tezos.
  • Deku-P или Deku Parametric — это фреймворк для создания приватных блокчейнов. Deku-C — частный случай Deku-P.

В отличие от других решений для создания приватных блокчейнов, при использовании Deku-нужно только разработать стейт-машину для обработки транзакций. Deku-P предоставляет примитивы вроде консенсуса по транзакциям и полное взаимодействие с Tezos через тикеты. Это позволяет разработчикам сосредоточиться на специфике своего блокчейн-приложения.

Что можно делать с Deku в текущей версии

В текущем контракте Deku есть три точки входа: update hash — только для валидаторов; депозит и вывод билетов — для всех пользователей.

Депозит работает как обычный бридж: пользователь отправляет билеты на контракт хранения Deku и указывает, на какой адрес в блокчейне Deku они будут получены. Узлы Deku наблюдают за хранилищем на Tezos, то есть действуют как кворум для моста. Хранилище-контракт замораживает тикеты на депозите, а пользователь получает их репрезентацию на свой адрес в Deku.

Вывод тикетов происходит сложнее: пользователь должен предоставить контракту на L1 подтверждение, что он сжег тикет на Deku.

Пользователи также могут развертывать контракты-программы для виртуальной машины WASM в Deku, которые они могут вызывать с помощью транзакций. В репозитории Deku на GitHub есть несколько шаблонов для таких программ.

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

Почему Deku использует тикеты

Предполагалось, что тикеты станут стандартом взаимодействия между уровнями L1 и L2 Хотя на данный момент они не получили широкого распространения, у Marigold есть еще один проект по улучшению пользовательского опыта: графический интерфейс для обертывания токенов Tezos в тикеты и передачи их в Deku и другие L2. Таким образом, Deku может способствовать продвижению билетов среди разработчиков приложений и пользователей Tezos и ускорить разработку стандартов для них. В крайнем случае:

«Нужно запереть всех участников конференции в Париже в комнате и никого не выпускать, пока они не начнут работать над билетами».

Ссылки

Репозиторий Deku на GitHub.

Краткая документация Deku на GitHub.

Трансляция в Твиттере. Таймкоды:

  • 13:00 — о Deku;
  • 32:00 — Deku-P и Deku-C;
  • 42:00 — текущие возможности Deku;
  • 46:00 — WASM в Deku;
  • 53:00 — пропускная способность Deku;
  • 1:14:00 — билеты в Deku и Tezos;
  • 1:33:00 — о разработке роллапов и сайдчейнов;
  • 1:37:00 — о развитии блокчейна и разработчиках.

Подписывайтесь на социальные сети Tezos Ukraine, чтобы ничего не пропустить:

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

Изначально мы опубликовали этот материал в блоге Tezos Ukraine.

Обсудить в Discord!