Пороговое управление ключами: ключ, которого не существует
Если состояние зашифровано, напрашивается вопрос: у кого ключ? Ответ Celar: ни у кого и никогда. Ключ расшифрования TFHE существует только в виде долей, распределённых между 100 местами комитета: он создаётся распределённой церемонией и никогда не восстанавливается, нигде и ни при каких условиях, в том числе при аварийном восстановлении.
Как это работает
- Распределённая генерация ключа. Публично проверяемая церемония создаёт доли ключа с публикуемыми протоколами; недобросовестные участники исключаются до генезиса.
- Пороговая расшифровка. Любая расшифровка или повторное шифрование требует совместной работы кворума мест. Каждая частичная расшифровка подписана, атрибутируема и пригодна как доказательство нарушения — за несанкционированное обслуживание следует серьёзный слэшинг. Порог конфиденциальности ключевого комитета составляет 24 из 100 в развёрнутой конфигурации по итогам производственных церемоний — любые 24 места не узнают ничего, а для восстановления требуется строго больше. Отдельный запуск в режиме разработки при c = 100 использовал порог 33. Целевой показатель — 79 из 100, и разрыв между ними обусловлен применяемым движком предобработки, а не самой конструкцией: способ отвязать степень разделения от порога сессии описан в литературе, реализован в другой библиотеке порогового FHE, и Celar ведёт эту инженерную работу. Whitepaper §7.1 приводит обе цифры и путь между ними.
- Упреждающее переразделение долей. Доли обновляются каждую эпоху, и старые становятся бесполезными. Атакующий обязан скомпрометировать полный кворум расшифровки в пределах одной эпохи, причём места ротируются со смещёнными сроками в 25 эпох.
- Расшифровка с зашумлением. Разрешённые частичные расшифровки несут калиброванный шум, поэтому повторные расшифровки остаются безопасными даже против шифротекстов, специально созданных противником.
Показатель безопасности, который можно проверить
Большинство блокчейнов говорят «децентрализовано». Celar называет границу: вероятность того, что противник, владеющий 55% допущенного стейка, захватит кворум расшифровки в скользящем десятилетнем окне, составляет ≤ 1 in 10,000 — это конституционная константа, пересчитываемая ежегодно и при любом изменении параметров; ослабить её можно только хардфорком. Поверх неё действует правило здоровья в реальном времени ℋ ≥ 2: атака всегда должна обходиться минимум вдвое дороже того, что она может принести.