Во время игры: проектирование модульной контроверсиальной игры для системы защиты от сбоев OP Stack

Продвинутый12/17/2023, 6:13:44 PM
В данной статье анализируется роль игр в разрешении споров в децентрализованной системе обнаружения ошибок в суперцепочке, а также обсуждается создание и потенциал игр в разрешении споров без ошибок. В статье также рассматривается важность этих игр в обнаружении ошибок в первой системе безошибочного стека OP.

Глубокий анализ противоречивой игры и ее роль в обнаружении ошибок в первой системе обеспечения безопасности OP Stack.

Не случайно одним из самых интересных компонентов Системы Надежной Защиты OP Stack (FPS) является ее спорная игра. Предыдущая статья о FPS изложила, как модульность стека OP отделяет программу надежной защиты (FPP) от виртуальной машины доказательства ошибки (FPVM), обеспечивая следующий уровень комбинируемости и эффективные параллельные обновления двух компонентов. Не преувеличено сказать, что это также относится к спорным играм.

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

Если вы хотите получить больше подробностей о спорной игре, прочтите этот более подробный пост, который я опубликовал на своем личном блоге несколько недель назад.

Что такое игра-спор?

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

Поиск игр Curious на двух строках свойств:

Игра контроверзии сама по себе опирается на два основных атрибута:

  1. Система поощряет совместимость: система наказываетложные утверждения и вознаграждает истинные утверждения для обеспечения справедливого участия.
  2. Решение:В каждой игре есть механизм явной проверки или отклонения корневых утверждений.

В договорных соглашениях можно создавать, управлять и улучшать различные типы игр по разрешению споров черезDisputeGameFactory. Это открывает дверь для инновационных функций, таких как агрегированные системы доказательств и расширенные протоколы для учета спорных вопросов вне статуса протокола уровня 2, таких как FaultDefenteGame, которая направлена на проверку бинарных данных on-chain.

Двухочковая игра

Это игра в споры, специфическая для жанра, и первая, построенная на соглашении по спорам OP Stack. В этой игре игрок делит траекторию выполнения вперед и назад, пока не достигнет каждого шага. После достижения дихотомии обещанного состояния на каждой инструкции отслеживания,Игра Стойкая Неисправностьиспользует общую виртуальную машину для выполнения одного шага инструкции на цепочке. Функция перехода состояния ВМ (давайте назовем этоT ) может быть любой функцией, пока она следует формеT (s, i) - > s',где s= согласованное предшествующее состояние,я = ввод состояния перехода, s= пост-состояние .

Для нашей первой полной реализации общей виртуальной машины в игре из двух, мы реализовали один контекст потока MIPS поверх EVM для выполнения одной инструкции в сгенерированной цепочке выполненияпоПушкаи op-программа.

утверждения

Инструкция указывает на обязательство по состоянию серверной виртуальной машины в соответствии с заданной инструкцией. Они могут быть настоящими или поддельными, а подлинность определяется после этапа разрешения. Если контратаки нет, утверждение считается правильным. ,

Местоположение

Объявляет позицию, которая существует в двоичном дереве. Эта позиция указывает, к какой инструкции относится оператор.Позиция - это обобщенный индекс, который можно определить как 2^{depth} + индекс_на_глубине.

шахматные часы

Действия игрока ограничены по времени. В этой игре не требуется лицензия, и в нее может вступить любой желающий. Каждая сторона начинает с 3,5 дня игры, что в сумме составляет 7 дней игрового времени. Если вы создаете новый путь или делаете заявление там, где уже получили заявление, это уровень шахматных часов старшего поколения.

действие

Игроки делятся на две части до тех пор, пока состояние утверждения не будет только для одной VM-инструкции. Затем они выполняют эту инструкцию on-chain, чтобы подтвердить или опровергнуть утверждение. Действия могут быть атакой (оспаривание родительского утверждения) или защитой (согласие с родительским утверждением). Когда игроки соглашаются с хэшем утверждений, которые они наблюдали (что означает, что обе стороны находятся в одном и том же состоянии при данной команде), но не согласны с итоговым результатом, к которому они пытаются прийти на основе относительного согласия с наблюдаемым утверждением, используется базовое утверждение для защиты.

Шаги команды

На листовом узле дерева местоположений каждое утверждение подтверждает статус только одной инструкции ВМ. Остается только выполнить инструкции ВМ, чтобы подтвердить или опровергнуть родительское утверждение.

Если шаг команды подтверждает ожидаемое послестепенное состояние, то утверждение не соблюдается. Если есть неожиданный статус выпуска или код выхода, родительское утверждение будет опровергнуто.

решения

Этот вид игры, скорее всего, будет решен после истечения всех установленных шахматных часов, с минимальным периодом в 3,5 дня.Каждое утверждение в игре является корнем своей собственной подигры (Sub Game).Подигра является DAG с глубиной 1. Все подигры, указывающие на корень (которые сами являются корнями подигры), являются его счетчиками, и подигру можно решить только в том случае, если все ее дочерние подигры также были разрешены. Корень подигры может быть рассмотрен как контратакованный только в том случае, если одна или несколько подигр корня были разрешены и не были контратакованы, и этот атрибут продолжает проникать в заявление корня игры.

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

0:00

Играйте в игру алфавита с двумя точками

Для всех заинтересованных также есть инструмент визуализации для FaultDefenteGame, который направлен на отслеживание имитации выполнения с всего 16 инструкциями в длину. Эта симуляция использует отдельную виртуальную машину с другим контекстом от потока MIPS, называемую AlphabetVM, которая возвращает только следующую букву в алфавите, когда на вход подается определенная буква.

Если вас интересует изучение правил игры с более легким бэкендом, вот как играть:

Клонируйте монохранилище Оптимизма, установите зависимости и создайте бинарники devnet distribution /cannon/op-program.

Необходимые зависимости:

  1. Foundry
  2. Инструментарий Golang
  3. Docker
git clone git@github.com: ethereum-optimism/optimism.git & &\\ cd optimism & &\\ pnpm i & &\\ (cd packages/contracts-bedrock & & forge install) & &\\ Make up cannon-prestate & &\\ Make up devnet-allocs

Запусти игру в алфавит:

CD OP-CHALLENCHER & & СДЕЛАТЬ АЛФАВИТ
  1. Перейдите на https://disputify.optimism.io/ или через клон https://github.com/clabby/dispute-viz Запустите визуальный фронт-енд локально и введите адрес агента FaultDefenteGame, развернутого в локальной сети разработки выше.

Спорные соглашения помогут защитить стек OP

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

Существует множество способов создания спорных игр, достигающих тех же целей. Мы надеемся, что когда FPS OP Stack будет развернут на OP Goerli, строители в нашей экосистеме будут весело и креативно строить свои собственные спорные игры. Каждая созданная спорная игра может сыграть роль в социальной децентрализации OP Stack и предоставить участникам экосистемы варианты того, как разрешить споры по поводу любого данного заявления о определенной информации.

Утверждение:

  1. Эта статья была перепечатана из [ оплабс], и авторские права принадлежат оригинальному автору[Клэбби]. Если у вас есть возражения к повторному изданию, пожалуйста, свяжитесь с командой Gate Learn (gatelearn@gate.io),и команда разберется с этим как можно скорее в соответствии с соответствующими процедурами.
  2. Отказ от ответственности: Взгляды и мнения, высказанные в этой статье, представляют только личное мнение автора и не являются инвестиционными советами.
  3. Статьи на других языках переводятся командой Gate Learn, и переведенные статьи не могут быть скопированы, распространены или скопированы без упоминания Gate.io.

Во время игры: проектирование модульной контроверсиальной игры для системы защиты от сбоев OP Stack

Продвинутый12/17/2023, 6:13:44 PM
В данной статье анализируется роль игр в разрешении споров в децентрализованной системе обнаружения ошибок в суперцепочке, а также обсуждается создание и потенциал игр в разрешении споров без ошибок. В статье также рассматривается важность этих игр в обнаружении ошибок в первой системе безошибочного стека OP.

Глубокий анализ противоречивой игры и ее роль в обнаружении ошибок в первой системе обеспечения безопасности OP Stack.

Не случайно одним из самых интересных компонентов Системы Надежной Защиты OP Stack (FPS) является ее спорная игра. Предыдущая статья о FPS изложила, как модульность стека OP отделяет программу надежной защиты (FPP) от виртуальной машины доказательства ошибки (FPVM), обеспечивая следующий уровень комбинируемости и эффективные параллельные обновления двух компонентов. Не преувеличено сказать, что это также относится к спорным играм.

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

Если вы хотите получить больше подробностей о спорной игре, прочтите этот более подробный пост, который я опубликовал на своем личном блоге несколько недель назад.

Что такое игра-спор?

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

Поиск игр Curious на двух строках свойств:

Игра контроверзии сама по себе опирается на два основных атрибута:

  1. Система поощряет совместимость: система наказываетложные утверждения и вознаграждает истинные утверждения для обеспечения справедливого участия.
  2. Решение:В каждой игре есть механизм явной проверки или отклонения корневых утверждений.

В договорных соглашениях можно создавать, управлять и улучшать различные типы игр по разрешению споров черезDisputeGameFactory. Это открывает дверь для инновационных функций, таких как агрегированные системы доказательств и расширенные протоколы для учета спорных вопросов вне статуса протокола уровня 2, таких как FaultDefenteGame, которая направлена на проверку бинарных данных on-chain.

Двухочковая игра

Это игра в споры, специфическая для жанра, и первая, построенная на соглашении по спорам OP Stack. В этой игре игрок делит траекторию выполнения вперед и назад, пока не достигнет каждого шага. После достижения дихотомии обещанного состояния на каждой инструкции отслеживания,Игра Стойкая Неисправностьиспользует общую виртуальную машину для выполнения одного шага инструкции на цепочке. Функция перехода состояния ВМ (давайте назовем этоT ) может быть любой функцией, пока она следует формеT (s, i) - > s',где s= согласованное предшествующее состояние,я = ввод состояния перехода, s= пост-состояние .

Для нашей первой полной реализации общей виртуальной машины в игре из двух, мы реализовали один контекст потока MIPS поверх EVM для выполнения одной инструкции в сгенерированной цепочке выполненияпоПушкаи op-программа.

утверждения

Инструкция указывает на обязательство по состоянию серверной виртуальной машины в соответствии с заданной инструкцией. Они могут быть настоящими или поддельными, а подлинность определяется после этапа разрешения. Если контратаки нет, утверждение считается правильным. ,

Местоположение

Объявляет позицию, которая существует в двоичном дереве. Эта позиция указывает, к какой инструкции относится оператор.Позиция - это обобщенный индекс, который можно определить как 2^{depth} + индекс_на_глубине.

шахматные часы

Действия игрока ограничены по времени. В этой игре не требуется лицензия, и в нее может вступить любой желающий. Каждая сторона начинает с 3,5 дня игры, что в сумме составляет 7 дней игрового времени. Если вы создаете новый путь или делаете заявление там, где уже получили заявление, это уровень шахматных часов старшего поколения.

действие

Игроки делятся на две части до тех пор, пока состояние утверждения не будет только для одной VM-инструкции. Затем они выполняют эту инструкцию on-chain, чтобы подтвердить или опровергнуть утверждение. Действия могут быть атакой (оспаривание родительского утверждения) или защитой (согласие с родительским утверждением). Когда игроки соглашаются с хэшем утверждений, которые они наблюдали (что означает, что обе стороны находятся в одном и том же состоянии при данной команде), но не согласны с итоговым результатом, к которому они пытаются прийти на основе относительного согласия с наблюдаемым утверждением, используется базовое утверждение для защиты.

Шаги команды

На листовом узле дерева местоположений каждое утверждение подтверждает статус только одной инструкции ВМ. Остается только выполнить инструкции ВМ, чтобы подтвердить или опровергнуть родительское утверждение.

Если шаг команды подтверждает ожидаемое послестепенное состояние, то утверждение не соблюдается. Если есть неожиданный статус выпуска или код выхода, родительское утверждение будет опровергнуто.

решения

Этот вид игры, скорее всего, будет решен после истечения всех установленных шахматных часов, с минимальным периодом в 3,5 дня.Каждое утверждение в игре является корнем своей собственной подигры (Sub Game).Подигра является DAG с глубиной 1. Все подигры, указывающие на корень (которые сами являются корнями подигры), являются его счетчиками, и подигру можно решить только в том случае, если все ее дочерние подигры также были разрешены. Корень подигры может быть рассмотрен как контратакованный только в том случае, если одна или несколько подигр корня были разрешены и не были контратакованы, и этот атрибут продолжает проникать в заявление корня игры.

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

0:00

Играйте в игру алфавита с двумя точками

Для всех заинтересованных также есть инструмент визуализации для FaultDefenteGame, который направлен на отслеживание имитации выполнения с всего 16 инструкциями в длину. Эта симуляция использует отдельную виртуальную машину с другим контекстом от потока MIPS, называемую AlphabetVM, которая возвращает только следующую букву в алфавите, когда на вход подается определенная буква.

Если вас интересует изучение правил игры с более легким бэкендом, вот как играть:

Клонируйте монохранилище Оптимизма, установите зависимости и создайте бинарники devnet distribution /cannon/op-program.

Необходимые зависимости:

  1. Foundry
  2. Инструментарий Golang
  3. Docker
git clone git@github.com: ethereum-optimism/optimism.git & &\\ cd optimism & &\\ pnpm i & &\\ (cd packages/contracts-bedrock & & forge install) & &\\ Make up cannon-prestate & &\\ Make up devnet-allocs

Запусти игру в алфавит:

CD OP-CHALLENCHER & & СДЕЛАТЬ АЛФАВИТ
  1. Перейдите на https://disputify.optimism.io/ или через клон https://github.com/clabby/dispute-viz Запустите визуальный фронт-енд локально и введите адрес агента FaultDefenteGame, развернутого в локальной сети разработки выше.

Спорные соглашения помогут защитить стек OP

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

Существует множество способов создания спорных игр, достигающих тех же целей. Мы надеемся, что когда FPS OP Stack будет развернут на OP Goerli, строители в нашей экосистеме будут весело и креативно строить свои собственные спорные игры. Каждая созданная спорная игра может сыграть роль в социальной децентрализации OP Stack и предоставить участникам экосистемы варианты того, как разрешить споры по поводу любого данного заявления о определенной информации.

Утверждение:

  1. Эта статья была перепечатана из [ оплабс], и авторские права принадлежат оригинальному автору[Клэбби]. Если у вас есть возражения к повторному изданию, пожалуйста, свяжитесь с командой Gate Learn (gatelearn@gate.io),и команда разберется с этим как можно скорее в соответствии с соответствующими процедурами.
  2. Отказ от ответственности: Взгляды и мнения, высказанные в этой статье, представляют только личное мнение автора и не являются инвестиционными советами.
  3. Статьи на других языках переводятся командой Gate Learn, и переведенные статьи не могут быть скопированы, распространены или скопированы без упоминания Gate.io.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!