Enso: виртуальная машина, которая учит блокчейн хранить логику

Оригинал: "Enso: A general-purpose virtual machine"
· Bruno França
arXiv:1903.01590 · 2019-03-04 · CC BY-SA 4.0 · 3 мин
Блокчейн, где правила игры записаны в самом состоянии, а не вшиты в код узла.

Контекст

Блокчейн сегодня — это распределённая виртуальная машина, размазанная по тысячам компьютеров. Её стек состоит из сети, консенсуса, состояния и функции перехода состояний (STF). В классических цепочках, таких как Bitcoin или Ethereum, логика приложения жёстко зашита в STF, а менять её приходится через форки — болезненные расколы сети, которые трудно организовать и которые порождают конкурирующие ветки. Рядом с этой работой в архиве лежат исследования квантовых дата-центров, запутанности и квантовых алгоритмов: они решают свои задачи, но тоже крутятся вокруг того, как устроены вычисления в распределённых системах. Enso стоит на отшибе этой карты, потому что предлагает не очередной протокол, а смену парадигмы: перенести логику из кода узла в данные, которые можно менять штатными транзакциями.

Методы

Автор строит Enso на основе модели акторов, опубликованной в 1973 году. В этой модели всё вычисление — это обмен сообщениями между объектами, у каждого из которых есть адрес, код и хранилище. Enso упрощает модель: убирает параллелизм и личные почтовые ящики, оставляя одну глобальную очередь сообщений. Состояние блокчейна — это просто множество акторов. Внешняя транзакция (extrinsic) — это сообщение, отправленное пользователем. Блок — упорядоченный список таких сообщений. Узел обрабатывает блок, последовательно извлекая сообщения из очереди, передавая их акторам-получателям и добавляя новые сообщения, порождённые в процессе, пока очередь не опустеет. Акторы делятся на ядерные (kernel), созданные при запуске и определяющие правила, и пользовательские, создаваемые по шаблонам. Ядерные акторы хранят логику приложения, пользовательские — данные.

Результаты

Главный результат — сама спецификация Enso: минимальная виртуальная машина, в которой логика и данные равноправно живут в состоянии. Это позволяет менять поведение блокчейна, отправляя транзакции, а не переписывая код узла. Автор утверждает, что такой подход резко сокращает потребность в форках: обновления консенсуса или самой виртуальной машины всё ещё требуют согласованных действий, но изменения логики приложения становятся рядовой операцией. В статье нет численных экспериментов или бенчмарков: это концептуальная работа, описывающая архитектуру и правила работы. Зато она даёт чёткий рецепт: как превратить блокчейн из машины с жёсткой прошивкой в подобие универсального компьютера.

Значение

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

Развитие

Направление может развиваться в сторону добавления контролируемого параллелизма: автор допускает, что конкурентность в теории возможна, хотя в текущей версии её нет. Другая ветка — формальная верификация таких виртуальных машин, чтобы гарантировать безопасность обновлений логики. Возможно появление языков программирования, заточенных под модель акторов в блокчейне, и инструментов для миграции существующих цепочек на подобную архитектуру.

Влияние

Практическая польза видна для разработчиков блокчейнов: меньше форков, проще обновления, ниже порог входа. Может повлиять на дизайн платформ смарт-контрактов и децентрализованных приложений.

Следующие шаги

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

Ключевые проблемы

Для области блокчейнов ключевая нерешённая проблема — как обновлять протокол без расколов сообщества и сети. Enso напрямую атакует её, сводя частые обновления логики к обычным транзакциям. Остаётся открытым вопрос, как обновлять саму виртуальную машину и консенсус, если потребуется радикальное изменение.

Название Enso отсылает к дзен-буддийскому кругу, который рисуют одним движением кисти: простота и завершённость в одном жесте. Виртуальная машина тоже стремится к минимализму: всего два типа сущностей — акторы и сообщения.

Ключевые числа

  • Год публикации модели акторов: 1973
  • Количество типов сущностей в Enso: 2 (акторы и сообщения)
  • Количество очередей сообщений: 1 (глобальная)
Понятия
открытый исходный код квантовый компьютер квантовый переключатель шифрование сжатое состояние эталон электромобиль состояние квантовая операция дрон квантовый процессор IBM перенос обучения суперкомпьютер