Изучение / GLVM
GLVM
Глобальная логическая виртуальная машина
Единый логический слой выполнения, координируемый на множестве машин.
GLVM — ориентированная на разработчика абстракция выполнения, которую ALUX строит на основе своей конкурентной среды. TVM служит конкретным движком на каждой участвующей машине; модель GLVM объединяет состояние выполнения, процессы, воспроизведение, репликацию и консенсус в одном логическом слое.
Основное определение
Одна TVM на машину, координация через единую логическую модель выполнения
TVM — движок исполнения байт-кода на одной машине. GLVM определяет системную абстракцию выполнения для участвующих TVM. Это не ещё одна VM байт-кода: разработчики работают с единой логической моделью, а детерминированное воспроизведение, непрерывность выполнения, репликация, финализация и консенсус координируются под уровнем абстракции.
Виртуальная машина пространства кортежей
Конкретный движок выполнения ALUX. Он исполняет байт-код Tolang, координирует независимые процессы через каналы и события COMM и записывает недетерминированные решения, необходимые для детерминированного воспроизведения.
Конкретный движок внутри одной машиныГлобальная логическая виртуальная машина
GLVM определяет логическую модель для разработчиков, объединяющую участвующие TVM. Она задаёт единую границу состояния выполнения и процессов, оставляя воспроизведение, репликацию, финализацию и консенсус под уровнем абстракции.
Одна логическая система над множеством машинТрёхуровневая архитектура
Три уровня, одна модель выполнения для разработчика
Физические машины запускают TVM; в архитектуре GLVM эти движки участвуют в единой логической модели выполнения. Будущая World OS организует этот слой в обнаруживаемые и оркестрируемые сервисы с явно заданными полномочиями.
Выберите уровень, чтобы увидеть подробности.
Выполнение и атомарность
Транзакция может ожидать несколько блоков, а затем завершиться как единое целое
Модель выполнения развивается от последовательной и параллельной работы к конкурентным процессам, способным общаться, ожидать и возобновляться. Составное выполнение расширяет модель, позволяя нескольким конкурентным транзакциям разделять общую границу фиксации более высокого уровня; непрерывность между блоками служит вертикальной основой этого направления.
Последовательное
Один переход следует за другим.
Параллельное
Независимые переходы продвигаются одновременно.
Конкурентное
Процессы обмениваются данными, ожидают и возобновляются через каналы.
Составное
Несколько конкурентных транзакций разделяют атомарную цель более высокого уровня.
-
01 · Начать
Один запуск
Запустите одну транзакцию с одним набором ограниченных полномочий.
-
02 · Приостановить
Ожидание без частичной фиксации
Если нет ответа или совпадения в канале, сохраните продолжение вместо преждевременной финализации.
-
03 · Записать
Зафиксировать выбор
ReplayTrie записывает недетерминированный выбор или аутентифицированный ответ, необходимый для воспроизведения пути.
-
04 · Возобновить
Продолжить ту же транзакцию
Подходящее событие COMM или записанный ответ пробуждает сохранённое продолжение в последующем блоке.
-
05 · Финализировать
Зафиксировать или отбросить
На границе финализации допустимое состояние фиксируется, а отклонённое предварительное состояние отбрасывается.
Конкурентное выполнение TVM · ожидание и возобновление COMM · ReplayTrie · продолжение между блоками и финализация
Предварительное промежуточное состояние становится подтверждённым лишь при финализации; неудачный путь отбрасывается, а не исправляется позже компенсирующими транзакциями.
Аутентифицированный HTTPS GET может приостановить выполнение, записать ответ, воспроизвести его и возобновить работу. Истинность данных по-прежнему зависит от источника, а необратимые внешние побочные эффекты не охватываются откатом.
Атомарное межшардовое выполнение и композиция с независимыми внешними системами определяют следующий этап расширения модели.
Объектно-полномочная безопасность
Дайте задаче один ключ, а не удостоверение пользователя
В примере с генеральным директором и Бобом доступ на основе идентичности может привнести в задачу неявные полномочия удостоверения директора. При объектных полномочиях задача получает только один ключ к записи Боба. TVM контролирует границы достижимости во время выполнения. Без ссылки на полномочие к другому ранее существующему объекту задача не может назвать его или обратиться к нему.
Удостоверение привносит в задачу посторонние права доступа
Даже если задача касается только Боба, полномочия, представленные удостоверением генерального директора, могут по-прежнему охватывать финансы и записи Алисы, Кэрол и Боба.
Задача получает один ключ, обозначающий запись Боба
Этот ключ представляет неподделываемое имя, обозначающее запись Боба. Без ссылки на полномочие к другому ранее существующему объекту задача не может назвать его или обратиться к нему. TVM проверяет эту границу во время выполнения.
Здесь «ключ» визуально обозначает неподделываемое имя OCAP — ссылку на полномочие. Это не криптографический ключ. Гарантия распространяется на собственные взаимодействия TVM, опосредованные полномочиями; разрешения размещённой EVM и внешних сервисов требуют отдельных механизмов контроля.
Исследование рабочего процесса
Выбирайте среду выполнения по доверию, времени отклика и локальности данных
Рассмотрим ремонт устройства с участием нескольких компаний: эскроу требует независимой проверки, диагностике нужны эластичные вычислительные ресурсы, а локальный доступ должен одобрить владелец устройства. В модели GLVM каждая задача направляется в среду выполнения, соответствующую её требованиям к доверию, задержке и границам данных, при сохранении явных полномочий.
TVM публичного блокчейна + хост EVM
Удерживайте гарантийные средства в эскроу и записывайте путь согласования там, где независимые валидаторы могут проверить переход.
Готово. Запустите симуляцию, чтобы увидеть целевой логический поток.
Ограниченные полномочия
Агент по ремонту получает только права, необходимые для этой задачи.
Спланировать распределение
Рабочий процесс распределяет ограниченные подзадачи между TVM блокчейна, частной или облачной среды и клиентских устройств.
Ожидание / приостановка
В среде выполнения блокчейна отсутствие ответа сохраняет продолжение, а не приводит к преждевременной финализации транзакции.
Совпадение COMM
Полученный результат встречает ожидающее продолжение в канале; рабочий процесс возобновляется.
Доказательство воспроизведения
ReplayTrie записывает решения, позволяющие другому валидатору воспроизвести выполнение.
Граница финализации
BlockGit и Block Merge сводят проверяемые результаты на стороне блокчейна. Распространение единой атомарной фиксации на все среды выполнения — перспектива GLVM.
Устройство среды выполнения
Девять областей возможностей за абстракцией GLVM
GLVM — не вторая VM байт-кода. Эти девять архитектурных представлений — от выполнения TVM, объектных полномочий и воспроизведения до BlockGit, гостевых VM и инструментов разработчика — раскрывают систему возможностей, стоящую за её логической моделью выполнения.
-
01
VM байт-кодаЯдро среды выполнения
TVM · пространство кортежей · COMM
Конкретный конкурентный движок исполняет байт-код и позволяет независимым процессам обмениваться данными и продолжениями через каналы.
-
02
БезопасностьЯдро среды выполнения
Встроенные объектные полномочия
Неподделываемые ссылки делают достижимые полномочия явными и позволяют среде выполнения обеспечивать границы минимальных прав.
-
03
АтомарностьЯдро среды выполнения
Атомарное выполнение между блоками
Контексты выполнения могут оставаться приостановленными между блоками, возобновляться из сохранённых продолжений и достигать отложенной границы финализации.
-
04
ОкончательностьЯдро среды выполнения
BlockGit · фронтир · слияние
DAG блоков, детерминированная ротация лидера и правила слияния сводят конкурентную работу в блокчейне без постоянного лидера.
-
05
ВоспроизведениеЯдро среды выполнения
ReplayTrie · трасса
Записанные недетерминированные решения и трассы выполнения позволяют валидаторам воспроизвести принятый путь.
-
06
СетьЯдро среды выполнения
Сеть узлов и валидаторов
Узловой слой передаёт предложения, блоки, доказательства состояния и координирует валидаторов под уровнем абстракции выполнения.
-
07
ЯзыкЯдро среды выполнения
Tolang → tolangc → .tox
Tolang описывает конкурентные процессы; компилятор преобразует исходный код в байт-код, исполняемый TVM.
-
08
Гостевые VMEVM в ядре · WASM в планах
Хост EVM · WASM в планах
EVM работает как гостевая VM с состоянием через координацию в стиле TSAC. WASM расширяет направление разнородных VM.
-
09
ИнструментыСредства разработчика
Компилятор · LSP · интерактивная площадка
Компилятор, LSP, интерактивная площадка, набор тестов и диагностика включают модель выполнения в рабочие процессы разработчиков.
Горизонт разработки
Ядро среды выполнения формируется по мере расширения GLVM на новые среды
GLVM развивается на основе конкурентной среды выполнения блокчейна ALUX. Частное облако — следующее направление интеграции; выполнение на клиентских устройствах и между шардами остаётся в планах. Карта ниже разделяет ядро среды выполнения, расширяемые сейчас среды и следующую архитектурную цель.
Ядро среды выполнения
- Конкурентная TVM и COMM
- ReplayTrie и трассы выполнения
- Пути приостановки / возобновления между блоками
- Встроенные основы OCAP
- Путь хоста EVM
- DAG, фронтир и слияние BlockGit
Расширение системы
- Развёртывание движка в частной или облачной среде
- Абстракция GLVM для разных сред развёртывания
- Повышение надёжности для промышленного масштаба
- Расширенные политики и контроль защищённых каналов
- Наблюдаемость среды выполнения и инструменты операторов
Планы развития
- Межшардовая горизонтальная атомарность
- Гостевая VM WASM
- Развёртывание TVM на клиентских устройствах
- Абстракция аккаунтов и реестр полномочий
- Повторная синхронизация узлов после сбоя и динамическое изменение набора валидаторов
- Программируемый слой World OS
