FROST и пороговое хранение Shielded ZEC
Полные криптографические детали протокола FROST см. на технической странице FROST.
Пороговое хранение FROST постоянно всплывает в разговорах о Zcash — это было главное направление на ZecHub Hackathon 2026, — но саму концепцию не всегда объясняют простым языком. На этой странице рассматривается, что это значит, когда это действительно нужно, какие есть компромиссы и какие инструменты поддерживают это сегодня.
Кратко
- FROST позволяет группе держателей ключей совместно управлять shielded-адресом Zcash, при этом ни один человек не владеет полным приватным ключом.
- Порог t-of-n означает: для расходования средств должны совместно подписать t человек; любые t-1 или меньше не могут самостоятельно переместить средства.
- Транзакции выглядят как любые другие shielded-транзакции — в блокчейне нет следов, раскрывающих использование пороговой подписи.
- Это принципиально отличается от transparent multisig (который публичен в блокчейне и давно поддерживается в Zcash) — FROST работает внутри shielded-пула.
- Это полезно для DAO, бирж, кастодиальных сервисов, совместных накоплений и командных казначейств — везде, где недопустима единая точка отказа ключа.
Что такое FROST простыми словами?
Представьте, что у трёх деловых партнёров у каждого есть часть ключа. Чтобы потратить средства из их общего кошелька, любые двое из трёх должны согласиться и совместно подписать транзакцию. Итоговая транзакция выглядит точно так же, как обычная индивидуальная отправка — ни один наблюдатель не сможет понять по блокчейну, что участвовало несколько человек.
FROST (Flexible Round-Optimized Schnorr Threshold Signatures) — это криптографический протокол, который делает это возможным для shielded Zcash. Он был создан Chelsea Komlo (University of Waterloo / Zcash Foundation) и Ian Goldberg.
Ключевые свойства:
- Пороговость: участие требуется только от t из n подписантов (например, 2-of-3, 3-of-5)
- Shielded: работает внутри privacy-пула Orchard — суммы, отправитель и получатель остаются приватными
- Неотличимость: итоговая подпись выглядит как любая другая shielded-транзакция Zcash
- Некастодиальность: ни одна сторона никогда не владеет полным ключом — даже координатор
Когда стоит использовать пороговое хранение?
Пороговое хранение имеет смысл, когда потеря одного ключа или одного человека не должна означать потерю средств.
| Ситуация | Почему пороговое хранение помогает |
|---|
| DAO или командное казначейство | Ни один администратор не может единолично вывести средства; требуется консенсус |
| Биржа или кастодиан | Распределяет риск ключей между зонами безопасности или сотрудниками |
| Личное холодное хранение (с доверенными членами семьи) | 2-of-3 между вами и двумя членами семьи — если вы умрёте или потеряете доступ, средства не будут потеряны |
| Эскроу | Покупатель, продавец и арбитр каждый держат долю; средства освобождаются, когда согласны двое |
| Выплата крупного гранта | В стиле ZCG: требуется несколько независимых подписантов перед выплатой |
| Управление ключами разработчиков | Защита от внутренней угрозы — ни один инженер не может в одиночку вывести средства фонда протокола |
Скорее всего, вам не нужно пороговое хранение для личного кошелька, который вы контролируете в одиночку, для небольших сумм или в ситуациях, где дополнительная нагрузка на координацию перевешивает снижение риска.
Чем это отличается от transparent multisig?
Zcash давно поддерживает transparent multisig — несколько ключей, необходимых для расходования средств с t-адреса. Но у transparent multisig есть значительная цена с точки зрения приватности: структура multisig, все публичные ключи и все подписанты видны в блокчейне.
FROST решает эту проблему, работая внутри shielded-пула:
| Transparent multisig | Пороговый FROST (shielded) |
|---|
| Пул | Transparent (публичный) | Orchard (shielded) |
| Подписанты видны в блокчейне | Да — все публичные ключи раскрыты | Нет — неотличимо от траты с одним подписантом |
| Суммы видны | Да | Нет |
| Требуется координация | Скрипт в блокчейне | Внецепочечный раунд коммуникации |
| Приватность | Отсутствует | Полная shielded-приватность |
Компромиссы и ограничения
FROST — мощный инструмент, но он связан с реальными компромиссами, которые стоит понимать до начала использования:
Нагрузка на координацию
Подписанты должны быть одновременно онлайн (или почти одновременно), чтобы завершить раунд подписания. Если ваши t подписантов находятся в разных часовых поясах или используют ненадёжные соединения, расходование средств требует координации, которой не требует индивидуальный кошелёк.
Невозможно подписать, если кворум недоступен
Если недостаточно держателей ключей доступны (болеют, в поездке, не отвечают), средства временно невозможно потратить. Тщательно выбирайте порог и количество долей — 2-of-3 устойчивее, чем 2-of-2.
Церемония генерации ключей
Настройка FROST требует церемонии распределённой генерации ключей (DKG), где все n участников одновременно находятся онлайн. Это одноразовое событие, но проводить его нужно аккуратно — если участники скомпрометированы во время DKG, безопасность подрывается.
Инструментарий всё ещё развивается
FROST для shielded Zcash появился сравнительно недавно. Стандарт IETF (draft-irtf-cfrg-frost) уже зрелый, но интеграций в кошельки пока немного. Ожидайте шероховатостей по сравнению со стандартным кошельком с одним ключом.
Сложность восстановления
Потеря одной доли — не конец света (в этом и смысл порога), но планы восстановления должны быть задокументированы заранее. Кто хранит резервные копии? Что произойдёт, если одновременно потеряются две доли?
Кто использует FROST в Zcash?
Zcash Foundation — frost.zfnd.org
Zcash Foundation выпустила рабочую реализацию FROST и демо-сайт. Это эталонная реализация, используемая для тестирования и разработки.
Ywallet FROST Demo
Ywallet имел раннюю демо-интеграцию FROST, описанную в руководстве по Ywallet FROST Demo. Ywallet больше не поддерживается и не будет обновлён для Ironwood, поэтому воспринимайте руководство как справочный материал, а не как то, что следует запускать сегодня. Zkool от того же разработчика — поддерживаемый преемник, среди функций которого указана мультиподпись FROST.
ZecHub Hackathon 2026 — проекты направления FROST
Направление FROST было самым конкурентным на ZecHub Hackathon 2026. Примечательные проекты:
- ZecVault — 2-of-3 shielded-эскроу с расчётом в mainnet (порог FROST)
- Steward — пороговое хранение для shielded Zcash с UX, ориентированным на восстановление
Coinbase
Coinbase создала промышленную реализацию FROST для своих систем пороговой подписи (для Bitcoin), с модификациями, которые убирают этап предварительной обработки и распределяют роль агрегатора между всеми участниками. Их опыт подтверждает модель безопасности FROST на промышленном масштабе.
Как работает сеанс подписания (упрощённо)
-
Настройка (один раз): Все n участников проводят церемонию распределённой генерации ключей (DKG). Каждый получает приватную долю; выводится общий публичный ключ. Полный приватный ключ не знает ни одна сторона.
-
Координация подписантов: Когда требуется расходование, координатор (который может быть одним из подписантов) собирает commitments от t участников, готовых подписать.
-
Раунд 1: Каждый участвующий подписант генерирует nonce и публикует commitment (публичный, нечувствительный).
-
Раунд 2: Каждый участвующий подписант вычисляет свою частичную подпись с использованием своей приватной доли и публикует её.
-
Агрегация: Координатор объединяет t частичных подписей в одну итоговую подпись Schnorr — неотличимую в блокчейне от подписи одной стороны.
-
Публикация: Транзакция публикуется в сети Zcash как обычно.
Если какой-либо подписант отправляет некорректную частичную подпись, протокол его выявляет и прерывается (такой участник исключается из будущих сеансов). Координация происходит вне цепочки — блокчейн видит только итоговую транзакцию.
Выбор пороговых параметров
| Setup | Устойчивость | Риск |
|---|
| 1-of-1 | Нет устойчивости — единая точка отказа | Потеря ключа = постоянная потеря |
| 2-of-2 | Нужны оба подписанта — без отказоустойчивости | Один недоступен = средства заморожены |
| 2-of-3 | Одна доля может быть потеряна или недоступна | Меньший запас безопасности, чем у 3-of-5 |
| 3-of-5 | Можно потерять две доли; высокая безопасность | Больше нагрузки на координацию |
| 3-of-7 | Институциональный уровень; допускает два отказа | Высокая стоимость координации |
Практическая отправная точка для большинства команд: 2-of-3 (устойчиво, минимальная координация) или 3-of-5 (институционально, более высокая безопасность).
Связанные страницы
- FROST — Техническое глубокое погружение — криптографические детали протокола (DKG, раунды подписания, доказательства безопасности)
- Руководство по демонстрации Ywallet FROST — справочная информация: Ywallet больше не поддерживается
- Viewing Keys — доступ только для чтения к экранированным адресам (дополняет пороговое хранение)
- Zcash Shielded Assets — FROST также является ключевой инфраструктурой для выпуска ZSA
Ресурсы