Больше не нужно искать — необходимые
обучающие материалы и подсказки всегда под рукой

29 августа команда Zakura анонсировала открытый набор криптографических и протокольных библиотек для экосистемы Zcash. По заявлениям разработчиков, Zakura Common в некоторых сценариях уменьшает время подготовки приватной транзакции в кошельке с более чем трёх секунд до менее 200 миллисекунд.
Важно отметить, что речь идёт не о подтверждении транзакции в блокчейне, а о вычислениях, выполняемых устройством пользователя перед отправкой транзакции в сеть.
Эти оптимизации не требуют обновления протокола Zcash. Библиотеки распространяются под двойной лицензией MIT/Apache 2.0 и могут использоваться разработчиками кошельков в действующей сети.
Генерация доказательств и библиотеки
Согласно собственным тестам Zakura, отдельные компоненты нового стека показали следующие улучшения скорости:
— генерация доказательств — более чем в 14 раз на мобильных устройствах и более чем в 5 раз на настольных компьютерах;
— хеширование Sinsemilla — более чем в 21 раз;
— пробная расшифровка (trial decryption) — более чем в 1,5 раза;
— проверка zk-SNARK — в 4–8 раз.
Разработчики объяснили такой результат не одной крупной оптимизацией, а изменениями сразу в нескольких компонентах. Часть из них основана на известных подходах из криптографии и разработки компиляторов, другие были созданы специально для Zcash.
Основная разработка сосредоточена в монорепозитории zakura-core/common. Он включает модифицированные версии librustzcash и ряда других библиотек на Rust.
Отдельно команда развивает zakura-core/wallet-libraries — набор компонентов для приватных кошельков и сторонних интеграций. В будущем туда планируют добавить инструменты PIR (Private Information Retrieval), которые позволяют запрашивать данные, не раскрывая серверу, какой именно элемент интересует пользователя.
В первоначальном анонсе Zakura 1.3.0 называлась предстоящей версией. В тот же день, 29 августа, разработчики опубликовали релиз v1.3.0.
В анонсе также сообщалось о переходе Zakura на Zakura Common и предлагалось разработчикам сторонних кошельков использовать новый стек вместо прежних библиотек librustzcash. По данным Zakura, на него также перешёл проект Tachyon.
Масштабирование Zcash
Команда Zakura утверждает, что сеть на базе её узлов уже справляется с предложенным для NU7 целевым интервалом между блоками в 25 секунд. Соответствующий ZIP 218 предусматривает сокращение целевого интервала с текущих 75 до 25 секунд. При сохранении сопоставимого уровня защиты от отката фактическое снижение задержки может быть немного меньше трёхкратного.
Кроме того, предложение предусматривает ограничения на количество операций в приватных пулах Sapling и Orchard. По расчётам авторов, это уменьшит максимальный объём данных для синхронизации лёгких кошельков на 37% — с 271 до 169 МБ в сутки, а количество пробных расшифровок — с 4,8 млн до 2,3 млн.
Расчётная пропускная способность Orchard при этом возрастёт с 2,9 до 6,6 транзакции в секунду.
Напомним, 28 июля в Zcash активировали обновление после обнаружения критической уязвимости в Orchard. Апгрейд ограничил прежний пул и запустил новый приватный Ironwood.
Популярные лонгриды: