1/ SIMD-0332, написанный @bw_solana, уменьшает количество раундов ChaCha, используемых в взвешенной перетасовке Turbine в Solana, с 20 до 8. Эта оптимизация обеспечивает улучшение производительности в распространении блоков, сохраняя при этом криптографическую безопасность для генерации дерева валидаторов 🧵
2/ Что означают раунды ChaCha? Раунды ChaCha работают как детерминированный шифратор, где каждый раунд применяет серию функций для перемешивания данных. Большее количество раундов приводит к большему перемешиванию и более сильной безопасности, но также требует больше времени на вычисления.
3/ Сегодня Turbine использует ChaCha20 для детерминированного перемешивания валидаторов с учетом доли стейка при построении деревьев распространения блоков. Это предотвращает атаки цензуры, но добавляет вычислительные затраты.
4/ С переходом Agave на XDP, который делает повторные отправки почти мгновенными, взвешенная перетасовка теперь занимает большую часть времени. При ~1µs на шред, ChaCha8 обеспечивает эффективность этого этапа, не позволяя ему стать узким местом.
7,06K