Кардано: новости 04.2018

Кардано: новости 04.2018, image #1

25 Апреля 2018 года CEO компании «IOHK» Чарльз Хоскинсон выложим в своём твиттере вот запись с текстом «Cardano Update» (Свежие новости о Кардано) и ссылкой на 15-минутную видеозапись, в которой он рассказывает про текущие события в разработке проекта Кардано:

https://twitter.com/IOHK_Charles/status/989224665909465089

В это заметке мы перечислим и, по возможности, объясним основные рассказанные моменты.

Кардано 1.2 (следующая версия)

Сейчас все отдельные команды разработчиков работают вместе над финальным «полированием» релиза, и решают как именно релиз будет собран из огромного множества доработок, которые были сделаны за это время. На это уходит очень много работы.

У них есть примерное представление, когда они будут готовы собрать весь релиз воедино. Как только они это сделают — релиз будет передан «Релиз менеджеру» и командам тестировщиков. Команды QA (тестировщики), и внутренние и внешние, прогонят релиз через батарею тестов: смоук-тесты, тесты отдельного функционала, регресс-тесты, а так же тесты по информационной безопасности, потому что в системе появились бумажные кошельки. Обычно всё это тестирование занимает около месяца.

Так что, в зависимости от того, насколько команда сможет всё автоматизировать, и от того, насколько быстро будет продвигаться тестирование — разработки, завершенные на прошлой неделе выйдут в свет примерно к середине мая.

IOHK надеются, что со временем они смогут увеличить долю полностью автоматизированных тестов, и что департамент тестирования оптимизирует собственные процессы, т.ч. период между завершением разработки очередной версии и выходом её в свет будет уменьшаться. Это один из пунктов в который IOHK планирую вложить достаточно много работы с течением времени — чтобы убедиться, что пользователи быстрее получают готовый продукт при каждом релизе, но при этом тестирование и качество не пострадают.

В целом, касательно версии 1.2:

  1. Весь код написан
  2. Бумажные кошельки доделаны и прошли аудит безопасности
  3. Фоновое восстановление кошельков выглядит отлично. Ещё много всего, что можно сделать в этом направлении, но это будет в будущих версиях.
  4. Есть улучшения работы с сетью
  5. Исправления ошибок во всей системе и в Дедале в частности

Ожидайте выхода всего этого в мае. Точная дата будет объявлена позже, но теперь всё уже в зелёной зоне.

Продукт-менеджмент

В сентябре 2017-го года, когда вышел первый релиз Кардано, в IOHK работал всего один продуктовый менеджер — Айлин Фитцджеральд. Её задача в компании заключалась как раз в том, чтобы создать департамент продуктового менеджмента.

Департамент продуктового менеджмента занимается тем, что берёт весь глобальный проект, который мы разрабатываем, смотрит на него, а затем разбивает его на отдельные «рабочие модули». Каждым таким модулем занимается отдельная команда со своим продукт-оунером, со своим продуктовым менеджером, техническим лидом, и отдельными разработчиками.

С момента своего прихода в компанию в сентябре того года, Айлин собрала отдельный департамент и целую команду продуктовых менеджеров. Каждый из менеджеров ответственен за отдельную часть разработки Кардано. Например, Жерар работает над «вычислительным слоем» (Cardano-CL). Весь проект: смарт-контракты, сайд-чейны, работа с «Runtime Verification» (разработчики KEVM и IELE) и т.п. В компании теперь несколько продуктовых менеджеров и информацию о каждом из них можно посмотреть на официальном сайте: https://iohk.io/team/#pmo.

IOHK теперь работают над тем, чтобы сделать этих продуктовых менеджеров публичнее, чем сейчас. Последние 6 месяцев компания налаживала внутренние каналы обмена информацией о работе отдельных команд и о прогрессе по проекту — отчёты, репорты, доклады, графики, статистика. Теперь этот процесс налажен, и внутри компании всегда есть хорошее представление, что происходит с проектом на каждой конкретной неделе — какие части отстают от расписания, а какие части — обгоняют его.

Сам Чарльз хочет, чтобы продуктовые менеджеры начали создавать ежемесячные видео-отчёты о проделанной работе, которые будут доступны широкой публике. IOHK испытают такой формат, и первый такой отчёт будет именно от Жерара, где он расскажет про предстоящие тестовые сети для KEVM и IELE.

Смарт-контракты

Архитектура Кардано состоит из двух слоёв — очень простой и базовый «слой платежей», который работает сейчас и на котором происходит обмен ADA; и «слой вычислений» — на котором живут смарт-контракты. Сам «слой вычислений» состоит из нескольких чейнов разного типа, это могут быть: чейн типа «Эфириум», чейн типа «IELE», чейн типа «NEO», чейн типа «EOS». Слой вычислений имеет открытую архитектуру, позволяющую легко добавлять новые типы виртуальных машин и новые типы вычислений. Даже офф-чейн вычисления (за пределами блокчейна), такие, например, как «конфиденциальные вычисления» или «распределённые вычисления».

IOHK с нетерпение ждут запуска тестовой сети в релизе «Гоген», потому что это будет первый в истории образец совместной работы двух интересных технологий. Первая часть— это «К-фреймворк» конструирующий виртуальную машину «KEVM», и чуть позже виртуальную машину «IELE» — и это будут верифицированные-при-создании (Correct-by-Construction) полностью сгенерированные на компьютере виртуальные машины. Т.е. это программы, код которых написан компьютером, а не программистами. И вторая часть — это ETC-клиент (Эфириум-Классик) «Мантис», написанный IOHK с нуля.

IOHK очень хотят побыстрее выпустить на рынок что-нибудь, связанное с этими виртуальными машинами, и клиент «Мантис» сейчас в очень стабильном состоянии. Он написан на языке Scala, на 99% чистый функциональный код, около 12 тысяч строк кода. Т.ч. как давно и планировалось, они возьмут «Мантис» и воткнут в него KEVM. И это будет первый публичный пример успешной работы «К-фреймворка».

И вскоре после этого они будут готовы запустить в тестирование «слой вычислений» Кардано. Планируется запустить две тестовые сети — одна для KEVM, и одна для IELE. Обе будут доступны из одного и того же клиента просто переключением флага. Эти тестовые сети дадут IOHK представление о том, насколько хорошо вообще работает базовая часть этих виртуальных машин.

Следующими шагами будет уже расширение IELE и Кардано специфичным функционалом, добавление языка «Плутус» и т.п. Ну и далее уже будет вестись работа над ускорением бекенда KEVM/IELE, чтобы добиться хороший показателей по производительности.

В общем, Жерар сделает очень подробный видео-отчёт, в котором расскажет подробности того, над чем последние 4 месяца работала и их команда, и «Runtime Verification», и даст более точные даты, когда тестовые сети ожидаются к запуску. Они движутся достаточно быстро, особенно всё, что касается KEVM.

В дальнейшем планируется, чтобы все остальные продуктовые менеджеры, которые так или иначе связаны с Кардано (будь то: модуль улучшения производительности, или модуль исправления багов, или модуль технического долга, или модули уже выпущенных продуктов, вроде «Байрона», или люди работающие над «Шелли» и децентрализацией и т.п.), тоже создавали видео-отчёты, как Жерар.

Наука

За последние 7 месяцев очень много исследовательской работы подошло к своей финишной прямой. По правде говоря — это было самое плодотворное время для исследований за всю историю IOHK.

Уроборос

«Уроборос» был невероятно улучшен за это время. В ближайшие пару дней должна выйти научная работа о первой версии «Уробороса», не требующей чекпоинтов. Это Proof-of-Stake система, доказанно-безопасная от самого генезис-блока. Теперь протокол имеет показатели безопасности идентичные Proof-of-Work системам. Это было последней недостающей мелочью. До этого решались вопросы вроде: как нам перейти от синхронной модели к частично-асинхронной, или как нам решить проблему адаптивной коррупции, как решить проблему мотиваций. Было множество открытых вопросов, которые решались постепенно при движении от оригинального «Уробороса» к «Уроборосу Праосу».

Но главный вопрос, который не был решён до этого момента — как человек, пришедший в Proof-of-Stake систему, не имея никакой дополнительной информации кроме генезис-блока, и получив несколько альтернативных возможных веток, сможет определить— какая из них верная? Системы Proof-of-Work имеют встроенное решение этой проблемы, и этот факт делает такие системы особенными. Но если посмотреть на существующие на сегодняшний день системы Proof-of-Stake, то все они решают эту проблему используя чекпоинты в том или ином виде, т.ч. каждый нод должен иметь представление о том, как выглядит история до определённого момента. И в некоторые моменты решать, кому из других нодов он доверяет, чтобы поверить его истории. Это не настоящая децентрализация.

И вот в новой версии протокола, называющейся «Уроборос Праос Генезис», удалось доказать возможность сделать Proof-of-Stake безопасным без чекпоинтов. Эта работа будет представлена в Израиле на криптографической научной конференции «Евро-Крипт 2018». «Уроборос» был принят комиссией для проведения рецензии.

Сайд-Чейны

Примерно в мая должна выйти научная работа, связывающая воедино очень много работы, проделанной исследователями из IOHK в этом направлении, такой как «Неинтерактивные доказательства доказательства работы» и «Неинтерактивные доказательства доказательства ставки», а так же описывающая, как именно будут работать сайд-чейны специфичные для Кардано. Должна получиться очень интересная научная работа: и для чтения, и для реализации. В ней и будут описаны ключевые моменты по соединению «слоя платежей» со «слоем вычислений» в Кардано.

Стейк-Пулы

Так же готовится к публикации научная работа про стейк-пулы в Кардано от профессора Элиаса Котсупиаса из университета в Оксфорде. Эту работу все ждут очень давно. Сперва её планировали выпустить в конце февраля, затем в конце марта, и вот теперь в конце апреля работа над неё всё ещё продолжается. В основном такие задержки происходят из-за огромной сложности в построении симуляций достаточных для проведения экспериментов и из-за необходимости учесть миллион мелочей в подобной системе.

В этом направлении работа продвигается очень быстро. Механизм делегации ставки для релиза «Шелли» почти готов. Готово очень много высокоуровневой документации. Теперь ведётся работа над тонкостями низкоуровневой формальной спецификации и имплементации системы. Это конечно же займёт какое-то время, но продуктовые менеджеры должны будут держать публику в известности обо всём происходящем.

Хорошая новость в том, что у команды теперь есть чёткая модель — как будет решаться множество проблем, возникающих при работе с системой делегации. Как оказалось, существовало с полтора десятка конкурирующих бизнес-требований для механизма делегации, т.ч. вся эта затея превращается в нетривиальную задачу. Проблемы вроде: как должны обрабатываться те монеты, которые лежат на бирже, как должны обрабатываться «холодные» ставки с бумажного или аппаратного кошелька. И как показала практика, решить все эти проблемы единым набором решений не так-то просто, но IOHK вроде смогли найти необходимый баланс.

Это всё должно быть доступно в ближайшие месяцы.

Спецификация

В последние несколько месяцев IOHK перешли на «разработку через спецификацию» для Кардано. Например, они создали очень подробную формальную спецификацию бекенда кошелька (нода). Это математическая спецификация, но при этом она создана так, чтобы быть распознаваемой компьютерами. Из неё можно создавать тесты, и она не зависит от деталей имплементации. Так что кто угодно может взять эту спецификацию и создать свою собственную версию бекенда кошелька Кардано.

В мае ожидается релиз новой версии API, а в последующие месяцы ожидаются релизы, переводящие бекенд кошелька на новую версию, написанную в соответствии с этой спецификацией. Это должно заметно улучшить надёжность и производительность системы. И это позволить создать гораздо бОльшую библиотеку автоматических тестов. И если кто-то захочет создать свою собственную версию клиента Кардано, их команда разработчиков сможет взять эту спецификацию и использовать её для проверки своей работы, что должно очень сильно упростить им жизнь, будь то создание мобильного клиента, или полного клиента.

Формальные спецификации очень тяжелы для восприятия, так что IOHK решили взять на себя труд подробной аннотации их спецификации. Полную версию они планируют выпустить с ближайшие недели, а вместе с этим Ларс Брюнес (директор по образованию в «IOHK») выпустит на Ютубе серию уроков по работе с этой спецификацией. Она поделена на различные главы по функционалу, и каждый отдельный урок должен быть про отдельную главу. Он будет рассказывать, как устроена спецификация, как находить в ней информацию, как использовать её для верификации своей программы и т.п.

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

Заключение

Вот такой небольшой обзор последних новостей:

  1. Кардано 1.2 выходит очень скоро. Сейчас релиз на тестировании.
  2. Департамент продуктового менеджмента работает отлично. Чарльзу приносят шесть докладов о прогрессе Кардано каждую неделю.
  3. Релизы начинают выходить по-расписанию, а не когда придётся.
  4. Разработка через спецификацию уже применяется.
  5. IOHK наняли 27 новых человек за последние 3 месяца. Компания растёт и приходится учиться решать новые трудности.
  6. Исследователи из IOHK вместе с Чарльзом едут на конференцию «Евро-Крипт 2018» в Израиль для представления самой свежей научной работы «Уроборос Праос Генезис»
  7. После Израиля Чарльз отправляется в Эфиопию (Африка) для переговоров с местным правительством и бизнесом. Потенциально они хотят открыть курсы по языку программирования «Хаскель» для местных студентов.
37 views·1 share