Представляем Provers в Aleo Testnet 3

Мы рады объявить о втором этапе Aleo Testnet 3! В этом выпуске мы будем развертывать многие ключевые функции, описанные в нашей первоначальной дорожной карте для Testnet 3, такие как развертывание и выполнение определяемых пользователем программ, а также puzzle для стимулирования разработки оборудования для проверки zkSNARK.

Что такое Aleo?

Aleo — это новый L1-блокчейн, который использует криптографию с нулевым разглашением для создания масштабируемых и частных децентрализованных приложений. В нашей архитектуре приложения не выполняются в сети; скорее, пользователи выполняют приложение вне сети и публикуют в сети zkSNARK (короткие доказательства с нулевым разглашением), которые подтверждают правильность выполнения с сохранением конфиденциальности. Затем цепочка проверяет эти короткие доказательства во времени, *независимом* от времени работы приложения.

Этот план работает хорошо, за исключением одной заминки: создание доказательства правильного выполнения приложения с нулевым разглашением может быть *намного* дороже, чем просто непосредственное выполнение приложения. Для многих полезных программ (например, платежных) эти накладные расходы можно контролировать даже при проверке на обычном устройстве, таком как мобильный телефон или ноутбук. Однако для других, более ресурсоемких приложений, таких как машинное обучение, игры или проверка подлинности, накладные расходы на проверку на стандартных устройствах могут быть непомерно высокими, что, по-видимому, делает эти варианты использования недосягаемыми.

Тем не менее, дизайн Aleo позволяет клиентам выбирать, передавать ли генерацию доказательств сторонней «службе проверки», которая может иметь больше вычислительных ресурсов для помощи в вычислении zkSNARK для больших вычислений, таких как многоядерные процессоры, большие объемы оперативной памяти или даже специальное оборудование для испытаний. Тогда проблема становится проблемой стимулирования разработки лучших архитектур доказывания. Решение этой последней проблемы является одним из ключевых мотивов разработки нового алгоритма консенсуса Aleo, AleoBFT. На высоком уровне AleoBFT представляет собой гибридную архитектуру, которая использует доказательство доли для достижения мгновенной окончательности подтверждения блока и использует «головоломку с монетной базой» типа доказательства работы, которая вознаграждает разработку более быстрых методов для генерации доказательств. В этом посте мы углубимся в детали этой головоломки.

Coinbase Puzzle

Coinbase Puzzle — это puzzle типа доказательства работы, которая предназначена для стимулирования разработки более быстрого программного и аппаратного обеспечения для создания доказательств с нулевым разглашением. Для этого наш puzzle с монетами имеет две уникальные особенности:

  1. Криптография: в отличие от традиционного PoW, который вы найдете в сетях биткойна или эфириума, coinbase puzzle требует создания эффективных процедур для «полезных» алгоритмов для основных подкомпонентов проверки zkSNARK.
  2. Экономический: в отличие от традиционного PoW, где каждый блок может содержать только одно действительное решение puzzle, наш coinbase puzzle принимает несколько действительных решений на блок, предотвращая «победитель получает все» и приводя к более широкому распределению вознаграждений за доказательство.

Давайте углубимся в дизайн puzzle, начав с криптографической части:

Дизайн puzzle

Краткое руководство по дизайну zkSNARK: время создания доказательства в современных zkSNARK определяется временем доказательства двух подкомпонентов: полиномиального IOP и полиномиальной схемы фиксации. Наш puzzle с монетами эффективно стимулирует ускорение именно этих подкомпонентов. Давайте посмотрим, как он это делает, взглянув на поток протокола, который состоит из двух шагов:

  1. Генерация решений-кандидатов (Prover)
    Чтобы сгенерировать решение-кандидат, доказывающий генерирует (из одноразового номера) и умножает случайно выглядящий полином, а затем фиксирует полученный полином произведения с помощью схемы полиномиальной фиксации (схема KZG10, в нашем случае ). Полученное в результате обязательство затем хэшируется, и если этот хеш соответствует целевой сложности, это действительное решение, которое можно отправить агрегатору (вместе с подтверждением оценки для обеспечения эффективного агрегирования). Полученный puzzle состоит из 2 групповых элементов и 1 элемента поля, адреса и одноразового номера, и ее можно проверить с помощью D умножений полей и пары, где D — степень сгенерированного полинома.
  2. Агрегирование правильных решений (Leader BFT)
    В то время как правильное решение puzzle может быть проверено кем угодно как есть, добавление каждого решения puzzle в сеть приведет к раздуванию состояния. Чтобы избежать этого, наш puzzle с монетами позволяет Leader BFT объединять действительные решения. Мы не будем вдаваться в подробности того, как это делается, но общий результат заключается в том, что в хранилище в сети преобладает стоимость n + 1 групповых элементов, а 1 элемент поля является существенным улучшением. В качестве дополнительного преимущества проверка puzzle также выполняется быстрее.

Вывод

AleoBFT — это новый механизм консенсуса, который сочетает в себе окончательность доказательства доли с мощным механизмом стимулирования доказательства работы. В нашем случае coinbase puzzle стимулирует ускорение проверки zkSNARK. Эта работа полезна, потому что она переносится непосредственно на выполнение любой другой программы в Aleo. С помощью этого механизма мы надеемся стимулировать сильную доказывающую экосистему, которая приносит пользу пользователям Aleo за счет снижения затрат и уменьшения задержки выполнения программы.

И последнее замечание: эта фаза тестовой сети будет стимулироваться. Однако публикация этого сообщения в блоге не означает начало программы поощрения. Присоединяйтесь к нашему сообществу в Discord и следите за нами в Twitter, чтобы получать последние обновления о графике поощрений.

Created by wonder.jpiggy#7100

--

--