【Виталик: основа эффективных вычислений ZK-продавцов заключается в том, что не нужно делать обязательства по любым промежуточным данным】Виталик Бутерин написал, что "если вы постоянно следите за направлением криптографии в области криптоактивов, то, вероятно, вы уже слышали о сверхбыстрых ZK-продавцах (ZK-provers): например, можно реализовать мгновенное доказательство ZK-EVM-продавца Ethereum с помощью всего лишь около 50 графических процессоров потребительского класса; на обычном ноутбуке можно доказать 2 миллиона хешей Poseidon в секунду; и система zk-ML постоянно ускоряет процесс доказательства для вывода больших языковых моделей (LLM).
В этой статье я подробно объясню семействопротоколов, используемых в этих高速证明系统ах: GKR. Я сосредоточусь на реализации GKR в доказательстве хеша Poseidon (а также других вычислений с аналогичной структурой). Если вы хотите узнать о контексте GKR в вычислениях с универсальными схемами, вы можете обратиться к заметкам Джастина Талера и к этой статье от Lambdaclass.
Что такое GKR и почему он такой быстрый?
Представьте, что у вас есть вычисление, которое “очень велико в обоих измерениях”: оно должно обрабатывать по крайней мере среднее количество (низкостепенных) “слоев”, одновременно многократно применяя одну и ту же функцию к большому количеству входных данных. Вот так:
Оказалось, что многие крупные вычисления, которые мы проводим, соответствуют этой модели. Инженеры-шифровщики заметят, что многие вычислительно интенсивные задачи доказательства связаны с большим количеством хеш-операций, и внутренняя структура каждого хеша как раз и есть эта модель. Исследователи ИИ также заметят, что нейронные сети (основные строительные блоки LLM) также имеют такую структуру (они могут параллельно доказывать выводы нескольких токенов, также потому что каждый токен состоит из послойных нейронных слоев и глобальных слоев матричного умножения — хотя матричные операции не совсем соответствуют «независимой от входа» структуре на рисунке, на самом деле их можно легко встроить в систему GKR).
GKR — это криптографический протокол, специально разработанный для этой модели. Он эффективен, потому что избегает обязательств (commitment) ко всем промежуточным уровням: вам нужно сделать обязательства только по входу и выходу. Здесь «обязательство» означает размещение данных в какой-либо криптографической структуре данных (например, KZG или дереве Меркла), что позволяет доказать связь с определенными запросами, связанными с этими данными. Самый дешевый способ обязательства — использование дерева Меркла с кодами коррекции ошибок (то есть способ в STARK), но это также требует, чтобы вы выполняли хеширование каждых 4–16 байтов для каждого представленного байта — это означает выполнение сотен операций сложения и умножения, в то время как фактически вам нужно доказать только одно умножение. GKR избегает этих операций, кроме первого и последнего шага.
Важно отметить, что GKR не является «нуль-узнанием»: он гарантирует только краткость, не обеспечивая конфиденциальность. Если вам нужна нуль-узнаваемость, вы можете обернуть доказательство GKR в ZK-SNARK или ZK-STARK.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Виталик: Ключ к эффективным вычислениям ZK-Provers заключается в отсутствии необходимости делать обязательства по любым промежуточным данным.
【Виталик: основа эффективных вычислений ZK-продавцов заключается в том, что не нужно делать обязательства по любым промежуточным данным】Виталик Бутерин написал, что "если вы постоянно следите за направлением криптографии в области криптоактивов, то, вероятно, вы уже слышали о сверхбыстрых ZK-продавцах (ZK-provers): например, можно реализовать мгновенное доказательство ZK-EVM-продавца Ethereum с помощью всего лишь около 50 графических процессоров потребительского класса; на обычном ноутбуке можно доказать 2 миллиона хешей Poseidon в секунду; и система zk-ML постоянно ускоряет процесс доказательства для вывода больших языковых моделей (LLM). В этой статье я подробно объясню семействопротоколов, используемых в этих高速证明系统ах: GKR. Я сосредоточусь на реализации GKR в доказательстве хеша Poseidon (а также других вычислений с аналогичной структурой). Если вы хотите узнать о контексте GKR в вычислениях с универсальными схемами, вы можете обратиться к заметкам Джастина Талера и к этой статье от Lambdaclass. Что такое GKR и почему он такой быстрый? Представьте, что у вас есть вычисление, которое “очень велико в обоих измерениях”: оно должно обрабатывать по крайней мере среднее количество (низкостепенных) “слоев”, одновременно многократно применяя одну и ту же функцию к большому количеству входных данных. Вот так: Оказалось, что многие крупные вычисления, которые мы проводим, соответствуют этой модели. Инженеры-шифровщики заметят, что многие вычислительно интенсивные задачи доказательства связаны с большим количеством хеш-операций, и внутренняя структура каждого хеша как раз и есть эта модель. Исследователи ИИ также заметят, что нейронные сети (основные строительные блоки LLM) также имеют такую структуру (они могут параллельно доказывать выводы нескольких токенов, также потому что каждый токен состоит из послойных нейронных слоев и глобальных слоев матричного умножения — хотя матричные операции не совсем соответствуют «независимой от входа» структуре на рисунке, на самом деле их можно легко встроить в систему GKR). GKR — это криптографический протокол, специально разработанный для этой модели. Он эффективен, потому что избегает обязательств (commitment) ко всем промежуточным уровням: вам нужно сделать обязательства только по входу и выходу. Здесь «обязательство» означает размещение данных в какой-либо криптографической структуре данных (например, KZG или дереве Меркла), что позволяет доказать связь с определенными запросами, связанными с этими данными. Самый дешевый способ обязательства — использование дерева Меркла с кодами коррекции ошибок (то есть способ в STARK), но это также требует, чтобы вы выполняли хеширование каждых 4–16 байтов для каждого представленного байта — это означает выполнение сотен операций сложения и умножения, в то время как фактически вам нужно доказать только одно умножение. GKR избегает этих операций, кроме первого и последнего шага. Важно отметить, что GKR не является «нуль-узнанием»: он гарантирует только краткость, не обеспечивая конфиденциальность. Если вам нужна нуль-узнаваемость, вы можете обернуть доказательство GKR в ZK-SNARK или ZK-STARK.