Ведущая революция в области конфиденциальности блокчейна: глубинный анализ последнего алгоритма $Aleo
@AleoHQ — это проект блокчейна, ориентированный на защиту конфиденциальности, который достигает повышенной приватности и масштабируемости с помощью технологии нулевых знаний (#ZKP). Основная идея #$Aleo заключается в том, чтобы позволить пользователям подтверждать свою личность и обрабатывать данные без раскрытия личной информации.
В этой статье в основном представлен обзор проекта $Aleo и его последних достижений, с детальной интерпретацией обновления алгоритма головоломки, которое вызывает большой интерес на рынке. Если это поможет вам лучше понять @AleoHQ, не стесняйтесь поставить лайк.
Краткий обзор последнего алгоритма ;) TLDR
Сеть $Aleo генерирует ZK-цепочку случайным образом каждый час;
Шахтёры должны пробовать различные нонсы в качестве входных данных для цепочки в течение этого часа, вычислять свидетелей (т.е. все переменные в цепочке, этот процесс вычисления также называют синтезом), а затем определять корень Меркла свидетеля, чтобы проверить, соответствует ли он требованиям по сложности добычи.
Из-за случайности цепочки этот алгоритм майнинга не дружелюбен к GPU, что представляет собой значительные вызовы в области ускорения вычислений.
Фон финансирования
$Aleo завершил свой раунд финансирования серии A в 2021 году, собрав 28 миллионов долларов под руководством a16z, и завершил раунд финансирования серии B в 2024 году на сумму 200 миллионов долларов, с участием инвесторов, включая Kora Management, SoftBank Vision Fund 2, Tiger Global, Sea Capital, Slow Ventures и Samsung Next. Этот раунд финансирования оценил $Aleo в 1.45 миллиарда долларов.
Обзор проекта
Конфиденциальность
Суть $Aleo заключается в технологии нулевых знаний (ZKP), которая позволяет проводить транзакции и выполнение смарт-контрактов с сохранением конфиденциальности. Детали транзакций пользователей, такие как отправитель и сумма транзакции, по умолчанию скрыты. Этот дизайн не только защищает конфиденциальность пользователей, но и позволяет выбирать, когда раскрывать информацию, что делает его очень подходящим для разработки DeFi-приложений.
Основные компоненты включают в себя:
#$Leo Programming Language: Адаптированный от языка #Rust, он специально разработан для создания приложений с нулевым знанием (ZKApps), снижая требования к знаниям в области криптографии для разработчиков.
snarkVM и snarkOS: snarkVM позволяет выполнять вычисления вне цепочки, при этом на блокчейн загружаются только результаты проверки, что улучшает эффективность. snarkOS обеспечивает безопасность данных и вычислений и позволяет выполнять функции без разрешений.
zkCloud: Предоставляет безопасную и приватную среду для вычислений вне цепочки, поддерживая программные взаимодействия между пользователями, организациями и DAO.
$Aleo также предлагает интегрированную среду разработки (IDE) и комплект средств разработки программного обеспечения (SDK), что позволяет разработчикам быстро писать и разворачивать приложения; кроме того, разработчики могут размещать свои приложения в реестре программ $Aleo без привлечения третьих лиц, что снижает риски платформы.
Масштабируемость
$Aleo применяет подход к обработке вне цепочки, при котором транзакции сначала вычисляются на устройствах пользователей, а затем на блокчейн загружаются только результаты проверки. Этот метод значительно увеличивает скорость обработки транзакций и масштабируемость системы, избегая перегрузок сети и высоких сборов, аналогичных Ethereum.
Механизм консенсуса
$Aleo представляет AleoBFT, гибридный механизм консенсуса, который объединяет мгновенную окончательность валидаторов с вычислительными возможностями провайдеров. AleoBFT не только улучшает децентрализацию сети, но и повышает производительность и безопасность.
Быстрая окончательность блоков: AleoBFT гарантирует, что каждый блок немедленно подтверждается после генерации, улучшая стабильность узлов и опыт пользователей.
Гарантия децентрализации: Разделяя производство блоков от генерации coinbase, валидаторы отвечают за создание блоков, в то время как провайдеры выполняют вычисления доказательств, что предотвращает монополизацию сети несколькими сущностями.
Механизм стимулов: Валидаоры и провайдеры делят блоковые вознаграждения; провайдеры поощряются ставить токены для того, чтобы стать валидаорами, тем самым увеличивая уровень децентрализации и вычислительной мощности сети.
$Aleo позволяет разработчикам создавать приложения без ограничений по газу, что делает его особенно подходящим для приложений, требующих длительных процессов, таких как машинное обучение.
Текущие разработки
$Aleo запустит свою тестовую сеть стимулов 1 июля, и вот несколько важных обновлений:
Голосование по ARC-100 прошло: Голосование по предложению ARC-100 ("Лучшие практики соблюдения требований для разработчиков и операторов $Aleo", касающееся соблюдения норм, блокировки средств и задержанных транзакций в сети $Aleo для мер безопасности) завершилось с одобрением. Команда вносит окончательные поправки.
Программа стимулов для валидаоров: Эта программа начнется 1 июля и направлена на проверку нового механизма головоломок. Она будет действовать до 15 июля, в течение которого будет распределено 1 миллион $Aleo очков в качестве вознаграждений. Процент очков, генерируемых узлами, будет определять их долю в вознаграждениях, при этом каждому валидаору необходимо заработать как минимум 100 токенов, чтобы иметь право на вознаграждения. Конкретные детали еще не окончательно определены.
Начальный объем и обращаемый объем: Начальный объем составляет 1.50 миллиарда токенов, с первоначальным обращаемым объемом примерно 10% (еще не окончательно). Эти токены в основном поступают от задач Coinbase (75 миллионов), которые будут распределены в течение первых шести месяцев, также включая вознаграждения за стекинг, запуск валидаоров и проверку узлов.
Сброс бета-тестовой сети: Это последний сброс сети, и после его завершения новые функции добавлены не будут; сеть будет похожа на основную сеть. Сброс предназначен для добавления ARC-41 и новой функциональности головоломок.
Заморозка кода: Заморозка кода была завершена неделю назад.
План расширения узлов валидаоров: Первоначальное количество узлов валидаоров составляет 15, с целью увеличить это число до 50 в течение года и в конечном итоге достичь 500.Стать делегатором требует 10 тысяч токенов, в то время как для того, чтобы стать валидатором, необходимо 10 миллионов токенов; эти суммы будут постепенно снижаться со временем.
Интерпретация обновления алгоритма
$Aleo недавно объявила новости о последнем тестнете, а также обновление последней версии алгоритма задач. Новый алгоритм больше не фокусируется на генерации результатов zk proof, исключая расчеты MSM и NTT (оба являются вычислительными модулями, широко используемыми в zk для генерации доказательств; участники предыдущего тестнета оптимизировали эффективность этого алгоритма для повышения вознаграждений за майнинг) и вместо этого сосредотачивается на генерации промежуточных данных-свидетелей перед производством доказательств. Мы предоставляем краткое введение в последний алгоритм, основанное на официальной спецификации задач (https://t.co/7Kk5OMfKX7) и коде.
Процесс консенсуса
На уровне протокола консенсуса процесс включает провайдеров и валидаторов, которые ответственны за производство вычислительных результатов (решений) и создание блоков, одновременно агрегируя и упаковывая решения. Процесс выглядит следующим образом:
1/ Провайдер вычисляет задачи для построения решений и транслирует их в сеть.
2/ Валидатор агрегирует транзакции и решения для следующего нового блока, гарантируя, что количество решений не превышает лимит консенсуса (MAX_SOLUTIONS).
3/ Законность решения необходимо проверить относительно epoch_hash, поддерживаемого валидатором, сравнивая его с latest_epoch_hash, обеспечивая соответствие вычисленного proof_target с latest_proof_target, поддерживаемым валидатором в сети, и что количество решений, включенных в блок, находится ниже лимита консенсуса.
4/ Действительные решения могут зарабатывать вознаграждения за консенсус.
Синтез задачи
Основой последнего алгоритма является Синтез задачи, который сосредоточен на производстве общего EpochProgram для каждой эпохи. Путем построения R1CS proof цепей для входных данных и EpochProgram он генерирует соответствующие R1CS назначения (обычно называемые свидетелями), которые служат в качестве листовых узлов Меркле-дерева.После вычисления всех листовых узлов, генерируется Merkle root, который преобразуется в proof_target для решения. Подробный процесс и спецификации для построения Synthesis Puzzle следующие:
1/ Каждое вычисление головоломки называется nonce, который формируется из адреса, получающего майнинговые вознаграждения, epoch_hash и случайного счетчика. Каждый раз при вычислении нового решения можно получить новый nonce, обновив счетчик.
2/ В течение каждого эпизода все провайдеры в сети вычисляют одну и ту же EpochProgram, которая выбирается из набора инструкций на основе случайного числа, сгенерированного текущим epoch_hash. Логика выборки следующая:
· Набор инструкций фиксирован, каждая инструкция содержит одну или несколько вычислительных операций, каждая из которых имеет предустановленный вес и количество операций.
· Во время выборки случайное число генерируется на основе текущего epoch_hash, и инструкции извлекаются и упорядочиваются из набора инструкций в соответствии с весом, пока общее количество операций не достигнет 97, после чего выборка останавливается.
· Все инструкции затем объединяются для формирования EpochProgram.
3/ nonce используется в качестве случайного семени для генерации входных данных для EpochProgram.
4/ R1CS, соответствующее EpochProgram и входным данным, агрегируется для выполнения вычислений свидетелей (назначение R1CS).
5/ После вычисления всех свидетелей эти свидетели преобразуются в соответствующую последовательность листовых узлов Merkle дерева, которое является 8-уровневым 8-арным Merkle деревом.
6/ Вычисляется Merkle root и преобразуется в proof_target для решения, проверяя, соответствует ли он текущему latest_proof_target эпизода. Если критерии выполнены, вычисление завершается успешно, и адрес вознаграждения, epoch_hash и счетчик для построения входа подаются как решение и транслируются.
7/ В пределах одного и того же эпизода может быть выполнено несколько вычислений решений путем итерации счетчика для обновления входных данных для EpochProgram.
Изменения и Влияния на Майнинг
После этого обновления задача изменилась с генерации доказательств на генерацию свидетелей. Логика вычислений для всех решений в каждом эпохе остается постоянной, однако существуют значительные различия в логике вычислений между разными эпохами.
На предыдущем тестнете мы обнаружили, что многие методы оптимизации сосредотачивались на использовании GPU для оптимизации расчетов MSM и NTT во время генерации доказательств с целью повышения эффективности майнинга. Это обновление полностью исключает эту часть вычислений. В то же время процесс генерации свидетелей основан на выполнении программы, которая учитывает изменения в эпохах, где некоторые инструкции будут иметь зависимости последовательного выполнения. Таким образом, достижение параллелизации представляет собой значительные трудности.