Перевод оригинальной статьи на английском.
Аналитика
Optimistic Execution: как договориться о том, о чём договориться нельзя
Toni Lukic5 мин чтения

Можно ли назвать «Мону Лизу» самой красивой картиной в мире? А этот пост лучшим из всех, что когда-либо были написаны? Эти вопросы, как и многие другие, с которыми мы сталкиваемся каждый день, субъективны. Мнения о таких вещах у разных людей сильно расходятся, и прийти к консенсусу непросто.
Блокчейны не умеют обрабатывать такую субъективность, потому что работают только с так называемыми детерминированными транзакциями. А субъективные вопросы недетерминированы: даже на одни и те же входные данные можно получить разные результаты.

Субъективность и недетерминированность
Обычный блокчейн просто не может ответить, можно ли назвать «Мону Лизу» самой красивой картиной в мире. Не справится он и с любым другим недетерминированным сценарием, например с чтением данных из постоянно меняющегося источника вроде Всемирной паутины. Для такой работы нужен блокчейн нового типа!
Может ли GenLayer решить проблему недетерминированности? Для начала, откуда вообще берётся эта «проблема»?
(Спойлер: может)
Оптимистичный подход: баланс эффективности и надёжности
Посмотрим на проблему недетерминированности, или «проблему субъективности», с точки зрения GenLayer и вспомним, что мы уже знаем. GenLayer состоит из множества валидаторов: у каждого есть токены GEN в стейкинге и доступ к большой языковой модели.
Подробнее о механизме консенсуса между валидаторами в GenLayer.

Взаимодействие лидера и валидаторов
Валидация транзакций в GenLayer оптимистична: не каждый валидатор обязан проверять каждую транзакцию. По умолчанию каждую транзакцию проверяет случайно выбранная группа из пяти валидаторов. Но магию в GenLayer творят разработчики. Они могут увеличить минимальное число валидаторов для своего проекта и получить более сильные гарантии безопасности, хотя транзакции при этом подорожают.
Такой оптимистичный подход позволяет эффективно обрабатывать транзакции: для консенсуса нужна лишь небольшая группа валидаторов. Но как валидаторы на самом деле приходят к согласию по недетерминированным транзакциям?
Решаем проблему недетерминированности с помощью эквивалентности
В основе механизма консенсуса GenLayer лежит принцип эквивалентности. Без него не справиться с недетерминированной природой транзакций на базе LLM.
Вернёмся к субъективному (и недетерминированному) вопросу из начала статьи: можно ли назвать «Мону Лизу» самой красивой картиной в мире? Разные LLM могут ответить на него по-разному, и у каждого ответа будет своё обоснование.
- Да, потому что цвета идеально сочетаются.
- Да, потому что у «Моны Лизы» самая красивая улыбка.
- Нет, «Звёздная ночь» Ван Гога красивее.
Как прийти к консенсусу в такой ситуации, не определив, что считать равноценным?
Как всегда, в GenLayer мы оставляем решение за разработчиками: принцип эквивалентности позволяет им самим определить, какой ответ считать приемлемым в их конкретном сценарии.

Весы как символ эквивалентности
Возьмём, например, платформу параметрического страхования на GenLayer, которая производит выплаты по событиям реального мира. Разработчик может настроить принцип эквивалентности так, чтобы ответы валидаторов, которые ищут информацию в разных новостных источниках, считались эквивалентными, если все они сходятся в том, что ураган случился. Ответ одного валидатора «да, ураган есть» может считаться эквивалентным ответу другого валидатора «да, ураган выходит на сушу».
Разница небольшая, но важная. Как вы, возможно, уже знаете, на GenLayer можно построить платформу параметрического страхования, которая выплачивает страхователям деньги при наступлении катастрофы. И то, вышел ураган на сушу или нет, может оказаться очень важной деталью.
Подробнее о том, что в GenLayer считается эквивалентным.
Механизм консенсуса: валидация предложения лидера
Когда транзакция поступает в сеть, один из выбранных валидаторов назначается лидером. Лидер исполняет транзакцию и предлагает результат, а остальные валидаторы оценивают его по принципам эквивалентности, заданным разработчиком. Консенсус в рамках заданного принципа эквивалентности гарантирован, потому что число валидаторов всегда нечётное.
Каждый валидатор независимо обрабатывает транзакцию и сравнивает результаты, полученные при каждом недетерминированном вызове, с тем, что предложил лидер. Если большинство валидаторов соглашается с результатами лидера, транзакция считается действительной. Этот процесс гарантирует, что результаты, пусть и не идентичные, эквивалентны с точки зрения требований проекта.
Процесс апелляции: вплоть до Верховного суда
Поскольку число валидаторов всегда нечётное, по транзакции обычно удаётся договориться независимо от того, сколько случайно выбранных валидаторов нужно для консенсуса. Тем не менее неопределённые транзакции всё же возможны, и о них мы расскажем в другой статье.
Любой, кто не согласен с решением первоначальной группы валидаторов, может подать запрос на апелляцию в течение окна финальности. Окном финальности называется период после отправки транзакции, в течение которого по ней можно подать запрос на апелляцию. С каждой новой апелляцией окно финальности отсчитывается заново.

Процесс апелляции
При каждой апелляции транзакцию заново оценивает более крупная группа валидаторов. В стандартном случае, когда участвуют как минимум пять валидаторов, группа увеличивается до 11. Выбирается новый лидер, а число остальных валидаторов удваивается.
Процесс продолжается, пока не будет достигнут консенсус или пока в нём не примут участие все валидаторы. Стоит отметить, что пользователь, которому нужна высокая надёжность, может заранее оплатить газ, чтобы по этой конкретной транзакции договаривались сразу все валидаторы. Весь процесс апелляций похож на судебную систему, где решения тоже можно обжаловать вплоть до последней инстанции, например Верховного суда. И как к транзакции можно с самого начала привлечь всех валидаторов, так и человек, чьи конституционные права нарушены, может обратиться напрямую в Верховный суд.
Инициировать апелляцию может любой, кто внесёт дополнительные токены GEN на оплату газа. Такой открытый порядок апелляций гарантирует, что система способна сама исправлять свои ошибки. Это похоже на роль апеллянта в судебной системе: чтобы вышестоящая инстанция рассмотрела его дело, он должен оплатить расходы на апелляцию.
Баланс между финальностью и пропускной способностью
GenLayer не ставит главной целью соревноваться с другими блокчейнами в скорости транзакций или пропускной способности. Платформа ставит на первое место точность и надёжность, как судебная система, для которой справедливость важнее эффективности.
Транзакции в GenLayer считаются окончательными, когда окно апелляции истекло и никто их не оспорил. За это окно финальности у участников достаточно времени, чтобы изучить транзакцию и при необходимости высказать возражения. Например, в случае с параметрическим страхованием окно финальности позволит заинтересованным сторонам ещё до выплат оспорить утверждение о том, что ураган вышел на сушу.
Финальность при таком подходе может наступать позже, чем в других сетях, зато каждая транзакция проходит строгую валидацию. Пропускная способность и задержка сети уравновешиваются потребностью в точности и безопасности.
Консенсус в субъективном мире
Модель Optimistic Execution (оптимистичное исполнение) от GenLayer, которая опирается на принцип эквивалентности и процесс апелляций, предлагает действенное решение для достижения консенсуса по субъективным и недетерминированным транзакциям. Позволяя разработчикам самим определять, какой исход приемлем в их конкретном сценарии, GenLayer открывает путь к множеству приложений, которые были невозможны на традиционных блокчейн-платформах.
Наш мир становится всё субъективнее, и GenLayer даёт инструменты и фреймворк, чтобы строить надёжные системы, не требующие доверия и способные справиться со сложностями недетерминированности.
От редакции: статья написана в марте 2024 года. О том, как GenLayer сегодня решает, когда два ответа считаются одним и тем же, читайте в исследовательском руководстве GenLayer Labs.
Присоединяйтесь к нашей миссии!
Сайт | Блог | Discord | X (ранее Twitter) | Telegram | Simulator | Документация | Whitepaper



