Binius: Прорывная оптимизация двоичных доменов STARKs

Анализ принципов Binius STARKs и размышления об их оптимизации

1 Введение

Одной из основных причин низкой эффективности STARKs является то, что большинство значений в реальных программах довольно малы, например, индексы в циклах for, логические значения, счетчики и т.д. Однако для обеспечения безопасности доказательств на основе дерева Меркла, при использовании кодирования Рида-Соломона для расширения данных, многие дополнительные избыточные значения занимают всю область, даже если сами оригинальные значения очень малы. Для решения этой проблемы уменьшение размера области стало ключевой стратегией.

Как показано в таблице 1, ширина кодирования STARK первого поколения составляет 252 бита, ширина кодирования STARK второго поколения составляет 64 бита, ширина кодирования STARK третьего поколения составляет 32 бита, но 32-битная ширина кодирования все еще имеет большое количество неиспользуемого пространства. В сравнении, двоичное поле позволяет выполнять операции над битами напрямую, кодирование компактно и эффективно, без какого-либо неиспользуемого пространства, то есть STARK четвертого поколения.

Таблица 1: Пути производных STARKs

| Алгебра | Ширина кода | Пример | |------|----------|------| | 1-е поколение | 252 бит | Ethereum STARKs | | Второе поколение | 64bit | Plonky2 | | 3-е поколение | 32bit | BabyBear | | 4-е поколение | 1 бит | Binius |

По сравнению с такими новыми исследованиями ограниченных полей, как Goldilocks, BabyBear, Mersenne31, которые были обнаружены в последние годы, исследования двоичных полей восходят к 80-м годам прошлого века. В настоящее время двоичные поля широко применяются в криптографии, типичные примеры включают:

  • Стандарт высокоскоростного шифрования (AES), основанный на поле F28
  • Galois сообщение аутентификации ( GMAC ), основанное на поле F2^128
  • QR-код, использующий кодирование Рида-Соломона на основе F28
  • Исходные протоколы FRI и zk-STARK, а также хэш-функция Grøstl, вышедшая в финал SHA-3, основанная на поле F28, является очень подходящим хэш-алгоритмом для рекурсии.

При использовании меньших полей операция расширения поля становится все более важной для обеспечения безопасности. А бинарное поле, используемое Binius, полностью зависит от расширения поля для обеспечения своей безопасности и практической пригодности. В большинстве вычислений Prover полиномы не требуют перехода в расширенное поле, а работают только в базовом поле, что обеспечивает высокую эффективность в малых полях. Однако, случайная проверка точек и вычисления FRI все же требуют углубления в более широкое расширенное поле для обеспечения необходимой безопасности.

При построении системы доказательств на основе бинарной области существуют 2 реальные проблемы: при вычислении представления трассировки в STARKs размер используемой области должен быть больше степени многочлена; при обязательном использовании дерева Меркла в STARKs необходимо выполнять кодирование Рида-Соломона, размер используемой области должен превышать размер после расширения кодирования.

Binius предложил инновационное решение, которое обрабатывает эти две проблемы отдельно и реализует это, представляя одни и те же данные двумя разными способами: во-первых, используя многомерный (, в частности, многолинейный ) многочлен, вместо одномерного многочлена, представляя всю вычислительную траекторию через его значения на "гиперкубах" (; во-вторых, поскольку длина каждого измерения гиперкуба равна 2, стандартное расширение Рида-Соломона, как в STARKs, невозможно, но гиперкуб можно рассматривать как квадрат ), на основе которого можно производить расширение Рида-Соломона. Этот метод значительно увеличивает эффективность кодирования и вычислительную производительность, обеспечивая при этом безопасность.

2 Анализ принципов

В настоящее время большинство систем SNARKs обычно состоит из двух частей:

  • Информационно-теоретическое полиномиальное интерактивное оракульное доказательство ( Information-Theoretic Polynomial Interactive Oracle Proof, PIOP ): PIOP как ядро системы доказательства преобразует входные вычислительные отношения в проверяемые полиномиальные равенства. Разные протоколы PIOP позволяют доказателям поэтапно отправлять полиномы через взаимодействие с проверяющим, позволяя проверяющему проверять правильность вычислений, запрашивая лишь несколько оценок полиномов. Существующие протоколы PIOP включают: PLONK PIOP, Spartan PIOP и HyperPlonk PIOP и т.д., которые по-разному обрабатывают полиномиальные выражения, что влияет на производительность и эффективность всей системы SNARK.

  • Полиномиальная схема обязательств ( Polynomial Commitment Scheme, PCS ): Полиномиальная схема обязательств используется для доказательства того, является ли верным полиномиальное уравнение, созданное PIOP. PCS — это криптографический инструмент, с помощью которого доказатель может обязаться на определенный полином и позже проверить результаты его оценки, одновременно скрывая другую информацию о полиноме. Распространенные схемы полиномиальных обязательств включают KZG, Bulletproofs, FRI ( Fast Reed-Solomon IOPP ) и Brakedown. Разные PCS обладают разными характеристиками, безопасностью и областями применения.

В зависимости от конкретных требований выбирайте разные PIOP и PCS, а также сочетайте их с подходящими конечными полями или эллиптическими кривыми, чтобы создать доказательные системы с различными атрибутами. Например:

• Halo2: сочетание PLONK PIOP и Bulletproofs PCS, основанное на кривой Pasta. При проектировании Halo2 акцент был сделан на масштабируемость и на устранение доверенной настройки в протоколе ZCash.

• Plonky2: использует комбинацию PLONK PIOP и FRI PCS, основанную на области Goldilocks. Plonky2 предназначен для достижения эффективной рекурсии. При проектировании этих систем выбранные PIOP и PCS должны соответствовать используемому конечному полю или эллиптической кривой, чтобы обеспечить правильность, производительность и безопасность системы. Выбор этих комбинаций влияет не только на размер доказательства и эффективность верификации SNARK, но и определяет, может ли система достигнуть прозрачности без необходимости в доверенной настройке, а также поддерживать такие расширенные функции, как рекурсивные доказательства или агрегированные доказательства.

Binius: HyperPlonk PIOP + Brakedown PCS + двоичные поля. Конкретно, Binius включает пять ключевых технологий для достижения своей эффективности и безопасности. Во-первых, основанная на башенных двоичных полях (towers of binary fields) арифметическая структура составляет основу его вычислений, что позволяет выполнять упрощенные операции в двоичных полях. Во-вторых, Binius в своем интерактивном Oracle доказательном протоколе (PIOP) адаптировал HyperPlonk для проверки произведений и перестановок, что обеспечивает безопасную и эффективную проверку согласованности между переменными и их перестановками. В-третьих, протокол вводит новое многочленное смещение доказательства, оптимизирующее эффективность проверки многочленных отношений на малых полях. В-четвертых, Binius использует улучшенное Lasso доказательство поиска, обеспечивая гибкость и высокую безопасность для механизма поиска. Наконец, протокол использует схему многочленных обязательств на малых полях (Small-Field PCS), что позволяет ему реализовать эффективную систему доказательств в двоичных полях и снизить накладные расходы, обычно связанные с большими полями.

( 2.1 Ограниченное поле: арифметика на основе башен двоичных полей

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

где «канонический» относится к уникальному и прямому представлению элемента в двоичной области. Например, в самой простой двоичной области F2 любая k-битная строка может быть отображена непосредственно на k-битный элемент двоичной области. В отличие от поля простых чисел, которое не может обеспечить такое каноническое представление в данной позиции. Хотя 32-разрядное поле простых чисел может содержаться в 32-разрядной системе, не каждая 32-разрядная строка однозначно соответствует элементу предметной области, и двоичные поля имеют удобство такого взаимно-однозначного отображения. В простой области Fp общие методы редукции включают редукцию Барретта, редукцию Монтгомери и специальные методы редукции для конкретных конечных полей, таких как Мерсенна-31 или Златовласка-64. В бинарной области F2k обычно используемые методы редукции включают специальные ) редукции, такие как использование ### в AES, Редукционные ( Монтгомери, такие как POLYVAL, используют ) и рекурсивную редукцию (, такие как Tower). В статье "Exploring the Design Space of Prime Field vs. Binary Field ECC-Hardware Implementations" указывается, что двоичная область не нуждается во внедрении переноса как в сложении, так и в умножении, и что квадратная операция двоичной области очень эффективна, поскольку она следует (X + Y )2 = X2 + Y 2.

Как показано на рисунке 1, строка длиной 128 бит: эту строку можно интерпретировать несколькими способами в контексте двоичного поля. Она может рассматриваться как уникальный элемент в 128-битном двоичном поле или быть интерпретирована как два элемента 64-битного башенного поля, четыре элемента 32-битного башенного поля, 16 элементов 8-битного башенного поля или 128 элементов F2 поля. Эта гибкость представления не требует никаких вычислительных затрат, просто преобразование типа строка битов (typecast) является очень интересным и полезным свойством. В то же время, элементы меньшего поля могут быть упакованы в более крупные элементы поля без дополнительных вычислительных затрат. Протокол Binius использует эту особенность для повышения вычислительной эффективности. Кроме того, статья «On Efficient Inversion in Tower Fields of Characteristic Two» обсуждает вычислительную сложность операции умножения, возведения в квадрат и инверсии в n-битном башенном двоичном поле (, которое может быть разложено на m-битное подполе ).

! Исследование битlayer: анализ принципов и оптимизационное мышление Binius STARKs

( 2.2 PIOP: адаптированная версия HyperPlonk Product и PermutationCheck------подходит для бинарного поля

Дизайн PIOP в протоколе Binius заимствовал HyperPlonk и использует ряд основных проверочных механизмов для верификации корректности многочленов и множеств с несколькими переменными. Эти основные проверки включают:

  1. GateCheck: проверить, удовлетворяет ли секретная свидетельская ω и открытый ввод x вычислительным отношениям C)x,ω###=0, чтобы обеспечить правильную работу схемы.

  2. PermutationCheck: Проверка того, являются ли результаты вычисления двух многочленов f и g на булевом гиперкубе перестановочным соотношением f(x) = f(π)x((, чтобы обеспечить согласованность перестановок между переменными многочлена.

  3. LookupCheck: Проверка того, находится ли значение многочлена в заданной таблице поиска, то есть f)Bµ) ⊆ T(Bµ), чтобы гарантировать, что некоторые значения находятся в заданном диапазоне.

  4. MultisetCheck: Проверка на равенство двух многомерных множеств, т.е. {(x1,i,x2,)}i∈H={(y1,i,y2,)}i∈H, обеспечивая согласованность между несколькими множествами.

  5. ProductCheck: Проверка равенства значения рационального многочлена на булевом гиперкубе с заданным значением ∏x∈Hµ f(x) = s, чтобы обеспечить корректность произведения многочлена.

  6. ZeroCheck: Проверка, является ли произвольная точка многочлена с несколькими переменными на булевом гиперкубе нулем ∏x∈Hµ f(x) = 0, ∀x ∈ Bµ, для обеспечения распределения нулей многочлена.

  7. SumCheck: Проверка того, совпадает ли сумма значений многочлена с несколькими переменными с заявленным значением ∑x∈Hµ f(x) = s. Снижает вычислительную сложность для проверяющей стороны, преобразуя задачу оценки многочлена с несколькими переменными в задачу оценки многочлена с одной переменной. Кроме того, SumCheck также позволяет пакетную обработку, вводя случайные числа и создавая линейные комбинации для реализации пакетной проверки нескольких экземпляров сумм.

  8. BatchCheck: основанный на SumCheck, проверяет правильность оценки нескольких многомерных многочленов для повышения эффективности протокола.

Хотя Binius и HyperPlonk имеют много схожего в дизайне протокола, Binius улучшил следующие 3 аспекта:

  • Оптимизация ProductCheck: в HyperPlonk ProductCheck требует, чтобы знаменатель U был ненулевым на всем гиперкубе, и произведение должно быть равно определённому значению; Binius упрощает этот процесс проверки, задавая это значение равным 1, тем самым снижая вычислительную сложность.

  • Обработка проблемы деления на ноль: HyperPlonk не смог должным образом обработать случаи деления на ноль, что привело к невозможности утверждения, что U не равно нулю в гиперкубе; Binius правильно справился с этой проблемой, даже в случаях, когда знаменатель равен нулю, ProductCheck Binius может продолжать обработку, позволяя обобщение на любое произведение.

  • Перестановочная проверка между столбцами: HyperPlonk не поддерживает этой функции; Binius поддерживает Перестановочную проверку между несколькими столбцами, что позволяет Binius обрабатывать более сложные ситуации с многочленными перестановками.

Таким образом, Binius улучшил гибкость и эффективность протокола благодаря доработке существующего механизма PIOPSumCheck, особенно при обработке более сложных многопеременных многочленов, предоставляя более мощную функциональную поддержку. Эти улучшения не только устраняют ограничения HyperPlonk, но и закладывают основу для будущих систем доказательств на основе двоичных полей.

( 2.3 PIOP: новый многоуровневый сдвиг аргумента------применимо к булевому гиперкубу

В протоколе Binius виртуальные многочлены

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 3
  • Поделиться
комментарий
0/400
ETHReserveBankvip
· 22ч назад
в блокчейне стоимость снизилась, кто не рад?
Посмотреть ОригиналОтветить0
ChainChefvip
· 07-31 16:01
готовим свежий альфа здесь... binius выглядит как идеально уменьшенный соус по сравнению с теми раздутыми 252-битными рецептами, честно говоря
Посмотреть ОригиналОтветить0
DegenWhisperervip
· 07-31 15:38
А это оптимизация действительно пустая.
Посмотреть ОригиналОтветить0
  • Закрепить