FROST
Коротко
- FROST (Flexible Round-Optimised Schnorr Threshold Signatures) — це протокол порогового підпису та розподіленої генерації ключів: кілька підписантів кожен володіє часткою спільного приватного ключа, і для створення одного підпису має співпрацювати порогова кількість із них.
- Оскільки результатом є один підпис Schnorr, транзакція, створена таким способом, виглядає в мережі як звичайна транзакція.
- Він потребує мінімальної кількості раундів комунікації, може виконуватися паралельно та здатний виявляти й виключати учасника, який поводиться некоректно.
- Для Zcash це означає, що FROST дає змогу кільком географічно розділеним сторонам контролювати право витрачання shielded ZEC — це корисно для кастодіального зберігання, ескроу, некастодіальних сервісів і Zcash Shielded Assets (ZSA).
- Його створили Chelsea Komlo (University of Waterloo, Zcash Foundation) та Ian Goldberg (University of Waterloo).
Основне пояснення
Що таке підпис Schnorr?
Цифровий підпис Schnorr — це набір алгоритмів: (KeyGen, Sign, Verify).
Підписи Schnorr мають кілька переваг. Одна з ключових переваг полягає в тому, що коли кілька ключів використовуються для підпису одного й того ж повідомлення, отримані підписи можна об’єднати в один підпис. Це може суттєво зменшити розмір multisig-платежів та інших транзакцій, пов’язаних із multisig.
Що таке FROST?
Flexible Round-Optimised Schnorr Threshold Signatures -
Створено Chelsea Komlo (University of Waterloo, Zcash Foundation) та Ian Goldberg (University of Waterloo).
FROST — це протокол порогового підпису та розподіленої генерації ключів, який потребує мінімальної кількості раундів комунікації та може виконуватися паралельно. Протокол FROST є пороговою версією схеми підпису Schnorr.
На відміну від підписів у моделі з однією стороною, порогові підписи вимагають співпраці між пороговою кількістю підписантів, кожен з яких володіє часткою спільного приватного ключа.
Що таке порогові підписи? Chelsea Komlo - Zcon3
Отже, створення підписів у пороговому середовищі супроводжується додатковими витратами через мережеві раунди між підписантами, що робить його дорогим у випадках, коли секретні частки зберігаються на пристроях з обмеженнями мережі або коли координація відбувається через ненадійні мережі.
Мережеві накладні витрати під час операцій підписання зменшуються завдяки застосуванню нової техніки, яка захищає від атак підробки та може бути застосована також до інших схем.
FROST покращує протоколи порогового підпису, дозволяючи безпечно виконувати необмежену кількість операцій підпису паралельно (concurrency).
Його можна використовувати або як 2-раундовий протокол, де підписанти загалом надсилають і отримують 2 повідомлення, або як оптимізований однораундовий протокол підпису з етапом попередньої обробки.
FROST досягає підвищення ефективності частково завдяки тому, що дозволяє протоколу перериватися за наявності учасника, який поводиться некоректно, після чого такого учасника можна ідентифікувати та виключити з подальших операцій.
Докази безпеки, які демонструють, що FROST є безпечним проти атак із вибраними повідомленнями за умови, що задача дискретного логарифмування є складною, а супротивник контролює менше учасників, ніж становить поріг, наведені тут.
Як працює FROST?
Протокол FROST містить два важливі компоненти:
По-перше, n учасників запускають протокол розподіленої генерації ключів (DKG), щоб згенерувати спільний ключ перевірки. Наприкінці кожен учасник отримує частку приватного секретного ключа та частку публічного ключа перевірки.
Після цього будь-які t із n учасників можуть запустити протокол порогового підпису, щоб спільно створити дійсний підпис Schnorr.
Візуалізація / Аналогія
Уявіть FROST як сейфову комірку, яка відкривається лише тоді, коли кілька уповноважених власників ключів одночасно повертають свої ключі — але не обов’язково всі власники ключів; достатньо лише певної кількості (наприклад, будь-які 3 із 5). Коли комірку відкрито, зовнішній спостерігач не може визначити, які саме власники ключів були присутні, або навіть те, що був залучений більше ніж один. Так само група може спільно авторизувати транзакцію Zcash, тоді як мережа бачить лише один звичайний на вигляд підпис.
Детальний розбір
Розподілена генерація ключів (DKG)
Мета цього етапу — згенерувати довготривалі частки секретного ключа та спільний ключ перевірки. Цей етап виконується n учасниками.
FROST будує власний етап генерації ключів на основі DKG Pedersen (GJKR03), який використовує як підпроцедури і схему розподілу секрету Shamir, і схему верифікованого розподілу секрету Feldman. Крім того, кожен учасник має продемонструвати знання власного секрету, надіславши іншим учасникам доказ із нульовим розголошенням, який сам по собі є підписом Schnorr. Цей додатковий крок захищає від атак rogue-key, коли t ≥ n/2.
Наприкінці протоколу DKG генерується спільний ключ перевірки vk. Кожен учасник Pᵢ володіє значенням (i, skᵢ ), яке є його довготривалою секретною часткою, а також часткою ключа перевірки vkᵢ = skᵢ *G. Частка ключа перевірки учасника Pᵢ, vkᵢ, використовується іншими учасниками для перевірки коректності часток підпису Pᵢ під час етапу підписання, тоді як ключ перевірки vk використовується зовнішніми сторонами для перевірки підписів, виданих групою.
Порогове підписання
Цей етап ґрунтується на відомих техніках, які використовують адитивний розподіл секрету та перетворення часток для неінтерактивної генерації nonce для кожного підпису. Він також використовує техніки прив’язки, щоб уникнути відомих атак підробки без обмеження concurrency.
На етапі попередньої обробки кожен учасник готує фіксовану кількість пар точок еліптичної кривої (EC) для подальшого використання. Цей етап виконується один раз для кількох етапів порогового підписання.
Раунд підписання 1: Кожен учасник Pᵢ починає з генерації однієї пари приватних одноразових nonce (dᵢ, eᵢ) та відповідної пари точок EC (Dᵢ, Eᵢ), після чого транслює цю пару точок усім іншим учасникам. Кожен учасник зберігає ці пари точок EC для подальшого використання. Раунди підписання 2 і 3 — це фактичні операції, у яких t із n учасників співпрацюють, щоб створити дійсний підпис Schnorr.
Раунд підписання 2: Учасники працюють разом, щоб створити дійсний підпис Schnorr. Ключова техніка цього раунду — t-із-t адитивний розподіл секрету.
Цей крок запобігає атакам підробки, оскільки зловмисники не можуть поєднувати частки підписів між різними операціями підписання або переставляти набір підписантів чи опублікованих точок для кожного підписанта.
Обчисливши challenge c, кожен учасник може обчислити відповідь zᵢ, використовуючи одноразові nonce та довгострокові секретні частки, які є Shamir-частками секрету t-із-n (степеня t-1) від довготривалого ключа групи. Наприкінці раунду підписання 2 кожен учасник транслює zᵢ іншим учасникам.
Прочитати повну статтю
Використання FROST у ширшій екосистемі
FROST у Coinbase
Щоб підвищити ефективність систем порогового підпису Coinbase, вони розробили версію FROST. Ця реалізація Coinbase має невеликі відмінності від початкового чернеткового варіанту FROST.
Вони вирішили не використовувати роль агрегатора підписів. Натомість кожен учасник є агрегатором підписів. Такий дизайн є безпечнішим: усі учасники протоколу перевіряють обчислення інших, тим самим досягаючи вищого рівня безпеки та зменшуючи ризик. Одноразовий етап попередньої обробки також було прибрано для пришвидшення реалізації, а натомість використовується третій раунд підписання.
ROAST від Blockstream
Для використання в Blockstream Liquid Sidechain для Bitcoin запропоновано специфічне для застосування покращення FROST.
“ROAST — це проста обгортка навколо схем порогового підпису, таких як FROST. Вона гарантує, що кворум чесних підписантів, наприклад, функціонери Liquid, завжди можуть отримати дійсний підпис навіть за наявності підписантів, які створюють перешкоди, коли мережеві з’єднання мають довільно високу затримку.”
FROST в IETF
Internet Engineering Task Force, заснована у 1986 році, є провідною організацією зі стандартизації для Інтернету. IETF розробляє добровільні стандарти, які часто приймаються користувачами Інтернету, мережевими операторами та постачальниками обладнання, допомагаючи формувати траєкторію розвитку Інтернету.
FROST версії 11 (двораундовий варіант) було подано до IRTF. Це важливий крок до повної оцінки FROST як нового стандарту схеми порогового підпису для використання в усьому інтернеті, у апаратних пристроях та для інших сервісів у найближчі роки.
Практичні наслідки
Безумовно, так. Запровадження FROST у Zcash дозволить кільком сторонам, розділеним географічно, контролювати право витрачання shielded ZEC. Транзакції, трансльовані з використанням цієї схеми підпису, буде неможливо відрізнити від інших транзакцій у мережі, що зберігатиме високу стійкість до відстеження платежів і обмежуватиме обсяг даних блокчейна, доступних для аналізу.
На практиці це дає змогу створювати в мережі широкий спектр нових застосунків — від ескроу-провайдерів до інших некастодіальних сервісів.
FROST також стане важливим компонентом у безпечному випуску та управлінні Zcash Shielded Assets (ZSA), забезпечуючи безпечніше управління правом витрачання в організаціях розробки та серед кастодіанів ZEC, таких як біржі, а також надаючи цю можливість користувачам Zcash.
Поширені помилки
Плутати FROST із традиційним on-chain multisig. Традиційний multisig може розкривати кількох підписантів або кілька підписів on-chain. FROST створює один агрегований підпис Schnorr, тому транзакцію неможливо відрізнити від транзакції з одним підписом.
Вважати, що підписати може менше учасників, ніж становить поріг. Лише порогова кількість учасників (t-із-n), що діють разом, може створити дійсний підпис; будь-яка менша група не може цього зробити.
Вважати, що FROST приховує абсолютно все off-chain. FROST захищає on-chain підпис, але координація між підписантами все одно відбувається off-chain і потребує власних засобів контролю приватності та безпеки.
Пов’язані сторінки
- Halo — бездовірча рекурсивна система доказів, що використовується в пулі Orchard у Zcash.
- Viewing Keys — вибіркове розкриття для shielded транзакцій.
- Zcash Shielded Assets — сфера, де FROST допомагає керувати правом витрачання/випуску.
- Zcash Wallet Syncing — ще один ключовий елемент інфраструктури приватності Zcash.
Подальше вивчення
Стаття Coinbase - Порогові підписи
Shamir Secret Sharing - Пояснення та приклад
Коротке відео про цифрові підписи Schnorr