Dusk Reinforced Concrete (RC) — это новая хэш-функция, которая очень быстра в доказательствах с нулевым разглашением (таких как ZK-SNARKs или STARKs). Она не похожа на обычные хэш-функции (такие как SHA-256). Скорее, она разработана для работы непосредственно в математических полях (полях простых чисел), чтобы доказательства нуждались в меньшем количестве умножений и были намного быстрее.

Сначала давайте поймем это: Что такое хеш?

Хэш — это как машина, которая принимает данные любого размера и производит отпечаток фиксированного размера.

Этот отпечаток настолько чувствителен, что даже небольшое изменение в данных полностью меняет отпечаток.

Чтобы сгенерировать этот отпечаток, $DUSK RC использует конструкцию губки.

Думайте о губке так: она впитывает воду, а затем выжимаете ее.

Dusk RC использует тот же принцип для генерации отпечатка.

Данные поступают во время фазы поглощения, а выход хэша выходит во время фазы сжатия.

Вот простая идея губки:

Левая сторона: ввод поглощается (вы продолжаете подавать сообщение)

Правая сторона: вывод сжимается (вы извлекаете дайджест / хэш)

Это простая диаграмма губки – зеленая часть это скорость (где вы помещаете сообщение), а красные цилиндры это раунды перестановки, которые смешивают его.

Хеш — это как машина, которая принимает данные любого размера и производит отпечаток фиксированного размера.

Это линейный шаг смешивания.

Представьте, что в 3 стаканах есть вода. Вы умножаете их на матрицу, чтобы все смешалось, а затем добавляете несколько констант.

Это помогает изменениям быстро распространяться по всему состоянию (сильная диффузия)

Бруски

Это нелинейная фаза (аналогично S-боксам).

Dusk Reinforced Concrete (RC) — это новая хеш-функция, которая работает супербыстро в доказательствах с нулевыми знаниями (таких как ZK-SNARKs или STARKs). Она не похожа на обычные хеш-функции (такие как SHA-256). Скорее, она предназначена для работы непосредственно над математическими полями (полями простых чисел), так что для доказательств требуется меньше умножений и они гораздо быстрее.

Алгебраическая степень поддерживается высокой (5), чтобы сделать атаки дорогостоящими и нецелесообразными.

Бруски

Это фактическое ускорение Dusk!

Число разбивается на маленькие кусочки (например, 256-битное число на 32-битные кусочки).

Простая нелинейная операция выполняется на каждом кусочке (с использованием таблицы поиска), а затем все кусочки снова комбинируются.

Причина, по которой таблицы поиска так дешевы в доказательствах с нулевым разглашением, заключается в том, почему Dusk RC примерно в 10-15 раз быстрее.

Вся эта концепция происходит из SPN (Сеть Подстановок-Перестановок):

Сначала замените на нелинейную замену

Затем переставьте значения

Вы можете представить себе простой раунд SPN таким образом:

Фиолетовые коробки представляют собой S-боксы (нелинейные компоненты), а линии представляют собой перестановку и диффузию.

Почему все это важно для Dusk Network?

В обычной хэш-функции, такой как Poseidon, каждый раунд содержит много умножений, поэтому она медленная в доказательствах с нулевым разглашением.

$DUSK RC, благодаря Брускам, заменяет многие умножения таблицами, поэтому она намного быстрее.

Кроме того, Бруски + Бетон поддерживают высокий уровень безопасности, который устойчив как к алгебраическим атакам, так и к статистическим атакам.

Чтобы добавить немного дополнительного понимания: вы когда-нибудь слышали о дереве Меркла?

В блокчейнах транзакции хэшируются и помещаются в структуру дерева так, чтобы доказательство было маленьким.

Dusk RC используется именно в этих типах доказательств.

Это простая диаграмма дерева Меркла – данные находятся внизу, и по мере подъема вы комбинируете хэши шаг за шагом.

#dusk $DUSK @Dusk