НовостиКриптовалютыБиблиотеки Common от Zakura сократили генерацию доказательств приватных платежей Zcash до менее чем 200 миллисекунд

Библиотеки Common от Zakura сократили генерацию доказательств приватных платежей Zcash до менее чем 200 миллисекунд

Автор: Coindoo·

Ключевые выводы

  • Open-source библиотеки Common от Zakura сократили генерацию защищённых доказательств с более чем трёх секунд до менее чем 200 миллисекунд в некоторых собственных тестах компании.
  • Генерация доказательств на мобильных устройствах ускорилась более чем в 14 раз, а на настольных — более чем в пять раз на эталонном оборудовании Zakura.
  • Результат менее 200 миллисекунд относится только к локальному построению транзакции; трансляция, подтверждение в блоке и окончательность расчёта по-прежнему зависят от состояния сети.
  • Common также ускорил хеширование Sinsemilla более чем в 21 раз, пробное дешифрование — более чем в 1,5 раза, а верификацию zk-SNARK — в 4–8 раз в тестах Zakura.
  • Библиотеки работают без хард-форка, поэтому их принятие зависит от того, интегрируют ли отдельные разработчики кошельков и протестируют ли этот код.
Библиотеки Common от Zakura сократили генерацию доказательств приватных платежей Zcash до менее чем 200 миллисекунд

Основные выводы

Генерация доказательств на мобильных устройствах ускорилась более чем в 14 раз.

Некоторые тесты транзакций завершались менее чем за 200 миллисекунд.

Подтверждение в сети остаётся отдельным процессом.

От интеграции в кошельки зависит, кто получит эти улучшения.

Задержка возникает до того, как Zcash видит платёж

Прежде чем приватный платёж Zcash достигнет сети, кошелёк отправителя должен выбрать доступные для траты note, подготовить транзакцию, сгенерировать доказательство с нулевым разглашением и подписать результат. Генерация доказательства занимает значительную часть локального ожидания, поскольку она должна подтвердить действительность платежа, не раскрывая отправителя, получателя или переводимую сумму. Этот этап локальных вычислений исторически был одним из практических компромиссов приватных (shielded) платежей по сравнению с прозрачными, где кошелёк выполняет гораздо меньше криптографической работы перед отправкой.

Zakura заявляет, что её open-source библиотеки Common сократили этот процесс с более чем трёх секунд до менее чем 200 миллисекунд в некоторых тестах. На эталонном оборудовании команды генерация доказательств на мобильных устройствах ускорилась более чем в 14 раз, а на настольных — более чем в пять раз.

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

Где заканчиваются 200 миллисекунд

Платёж Zcash по-прежнему проходит три отдельных этапа:

Построение: кошелёк формирует транзакцию и генерирует доказательство приватности на устройстве пользователя. Zakura Common ускоряет именно этот этап.

Трансляция и подтверждение: кошелёк отправляет готовую транзакцию узлам Zcash. Она остаётся неподтверждённой, пока майнер не включит её в блок.

Уверенность в окончательности: каждый последующий блок добавляет новое подтверждение и снижает вероятность отмены из-за реорганизации цепочки.

Документация Zcash определяет первое подтверждение как момент включения транзакции в блок. Результат менее 200 миллисекунд заканчивается до трансляции; производство блоков, состояние мемпула и политика подтверждений получателя по-прежнему определяют, когда платёж считается завершённым.

Улучшения выходят за рамки кнопки «отправить»

Zakura также измерила улучшения в трёх операциях, влияющих на обработку транзакций, синхронизацию кошельков и производительность узлов:

Хеширование Sinsemilla: более чем в 21 раз быстрее в тестах Zakura. Zcash использует эту хеш-функцию внутри своего приватного протокола, поэтому более быстрое выполнение снижает часть криптографической нагрузки.

Пробное дешифрование: более чем в 1,5 раза быстрее. Кошельки используют этот процесс при сканировании блокчейна для определения принадлежащих им защищённых выходов.

Верификация zk-SNARK: в 4–8 раз быстрее. Узлы используют верификацию, чтобы проверить защищённое доказательство, не узнавая защищаемую им информацию.

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

Сроки важны, поскольку всё больше ZEC перемещается в новую защищённую инфраструктуру. Как сообщалось ранее, Ironwood стал крупнейшим защищённым пулом Zcash, обогнав Orchard вскоре после активации. По мере роста защищённой активности медленное построение транзакций в кошельках и синхронизация становятся проблемами, с которыми сталкивается больше пользователей.

Отсутствие хард-форка означает и отсутствие автоматического развёртывания

Zakura Common меняет то, как программное обеспечение выполняет существующую криптографическую работу, не меняя правил консенсуса Zcash. Библиотеки создают доказательства, которые текущая сеть уже понимает, что позволяет разработчикам кошельков использовать их, не дожидаясь активации хард-форка майнерами и узлами. Такой путь обновления только на уровне ПО характерен для недавней протокольной работы Zcash, когда оптимизации на уровне кошельков и библиотек могут доходить до пользователей через обычные релизы приложений, а не скоординированные обновления сети.

Репозиторий Common доступен под лицензиями MIT и Apache 2.0. Отдельный репозиторий wallet-libraries связывает компоненты для кошельков с оптимизированным стеком.

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

Zakura сообщает, что её будущая версия 1.3.0 будет использовать Common. После этого внимание переключится на независимые мобильные кошельки. Их заметки о релизах и тесты на реальных устройствах покажут, выйдет ли улучшение за пределы собственного ПО Zakura.

Принятие кошельками — теперь узкое место

Бенчмарки Zakura показывают, что генерация защищённых доказательств может работать значительно быстрее без изменений в сети Zcash. Практический результат теперь зависит от того, выпустят ли известные кошельки эти библиотеки и воспроизведут ли независимые тесты эти достижения на распространённых телефонах.

Время синхронизации и восстановления также имеет значение. Если эти ожидания сократятся без роста числа ошибок, Common улучшит больше, чем момент нажатия пользователем кнопки «отправить».

Zakura показала, что задержку на стороне кошелька можно сократить, не меняя сам Zcash. Оставшийся вопрос — сколько разработчиков кошельков передадут эту скорость в руки пользователей.

Статья Zcash Wallet Upgrade Makes Private Payments Faster впервые появилась на Coindoo.