Aлгоритм Blake3: монеты, майнинг, особенности
BLAKE3 базируется на оптимизированном экземпляре известной хэш-функции BLAKE2 и в режиме оригинального дерева Бао. Спецификации и обоснование дизайна доступны в документе BLAKE3. Размер выхода по умолчанию составляет 256 бит. В тесте генерации хэша для файла размером 16 КБ BLAKE3 с 256-битным ключом превосходит SHA3-256 в 17 раз, SHA-256 - в 14 раз, SHA-512 - в 9 раз, SHA-1 - в 6 раз и BLAKE2b - в 5 раз. Это значительный отрыв, который сохраняется даже при обработке больших объемов данных, например, BLAKE3 оказался в 8 раз быстрее SHA-256 при вычислении хэша для 1 ГБ случайных данных.
Производительность алгоритма
Прирост производительности был достигнут за счет уменьшения числа раундов с 10 до 7 и разделения хэшируемых блоков на чанки размером 1 КБ. По словам создателей, они нашли убедительное математическое доказательство того, что можно обойтись 7 раундами вместо 10, сохранив при этом тот же уровень надежности.
Хэш-функция предназначена для таких приложений, как проверка целостности файлов, аутентификация сообщений и генерация данных для криптографических цифровых подписей. BLAKE3 не предназначена для хеширования паролей, так как нацелена на максимально быстрое вычисление хешей (для паролей рекомендуется использовать медленный хеш и функции escrypt, bcrypt, scrypt или Argon2).
Алгоритм разработан известными криптографами, продолжает развитие алгоритма BLAKE2 и использует механизм Bao для кодирования дерева блокчейна. В отличие от BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 предлагает единый алгоритм для всех платформ, который не привязан к ширине бит и размеру хэша.
Что касается разбиения на блоки, то в BLAKE3 поток разбивается на фрагменты размером 1 КБ и каждый фрагмент хэшируется независимо. Большой хэш формируется на основе хэшей фрагментов на основе бинарного дерева Меркла.
Такое разделение позволяет решить проблему распараллеливания обработки данных при вычислении хэша; например, можно использовать 4-проводные SIMD-инструкции для одновременного вычисления 4-блочных хэшей. Традиционные хэш-функции SHA- * обрабатывают данные последовательно.
Особенности BLAKE3
- Применение в режимах PRF, MAC, KDF, XOF и в качестве обычного хэша;
- Алгоритм для всех архитектур, быстрый как на системах x86-64, так и на 32-разрядных процессорах ARM.
Какие есть отличия алгоритма BLAKE3 от BLAKE2?
- Использование структуры двоичного дерева для достижения неограниченного параллелизма при вычислении хэша.
- Сокращение числа раундов с 10 до 7.
- Три режима работы: Хеширование, Хеширование с ключом (HMAC) и Генерация ключа (KDF).
- Отсутствие дополнительных накладных расходов при хэшировании ключа за счет использования области, ранее занимаемой блоком параметров ключа.
- Встроенный механизм работы в виде расширяемой выходной функции (XOF), позволяющий
- Распараллеливание и позиционирование (поиск).
Какие монеты можно майнить на алгоритме BLAKE3?
На текущий момент доступно 3 монеты, которые доступны для майнинга:
- Iron Fish - IRON
- Alephium - ALPH
- Decred - DCR
- UNM - Blake3
Программы для майнинга Blake3
- BZMINER - Nvidia/AMD
- LOLMINER - Nvidia/AMD
- RIGEL - Nvidia
- SRBMINER-MULTI - Nvidia/AMD
- TREX - Nvidia
Каким железом майнить?
В основной массе доступны софты для майнинга на видеокартах, однако уже есть доступные вариантов асиков. Разумеется при определенной настройке, любое устройство можно заставить майнить, но предпочтительнее видеокарты.
- Комментарии