Эквивалентный EVM блокчейн Layer 1, где балансы, суммы и состояние контрактов находятся под пороговым FHE на уровне протокола: конфиденциально по построению, проверяемо кем угодно, а экранированный ZK-пул даёт приватность без необходимости кому-либо доверять.
Приватность в Celar — не дополнительный контракт, а плоскость данных самого протокола. Каждый уровень описан относительно явно заданных классов противника, и вместо прилагательных публикуется матрица утечек.
Суммы, балансы и значения в контрактах — это шифротексты TFHE, вычисляемые в сети через программируемый бутстрэппинг. ConfidentialERC20 доступен сразу.
Стелс-адреса с двумя ключами (по схеме ERC-5564) дают каждому платежу новый одноразовый адрес; релееры с залогом скрывают отправителей.
Экранированный пул на Groth16 поверх BLS12-381: приватность отправителя, получателя и суммы сохраняется даже при полном сговоре всех валидаторов.
Стандартная семантика EVM, инструментарий Solidity, модель адресов и JSON-RPC. Конфиденциальные возможности появляются только через прекомпилы — существующие контракты, кошельки и инструменты работают без изменений.
euint8…euint64 и ebool через стандартную библиотеку TFHE.sol; в хранилище лежат хендлы, а шифротексты — в плоскости данных FHE.import {TFHE, euint64, ebool} from "celar/TFHE.sol"; contract ConfidentialVault { mapping(address => euint64) private bal; function transfer(address to, euint64 amt) external { ebool ok = TFHE.and( TFHE.le(amt, bal[msg.sender]), // funds check TFHE.le(amt, TFHE.sub(MAX, bal[to])) // overflow guard ); euint64 m = TFHE.select(ok, amt, ZERO); bal[msg.sender] = TFHE.sub(bal[msg.sender], m); bal[to] = TFHE.add(bal[to], m); // no revert, no branch, no leakage — // outcome visible only to the owner via re-encryption } }
Любой конфиденциальный перевод корректен с точки зрения консенсуса независимо от того, прошёл он или нет. Единый уровень газа, отсутствие отката, одинаковые события — внешний наблюдатель не узнаёт из результата ничего.
Зашифрованное сравнение: хватает ли средств у отправителя? Ответ остаётся зашифрованным.
Вторая зашифрованная проверка защищает баланс получателя; ok = ok₁ ∧ ok₂.
Переносится либо сама сумма, либо зашифрованный ноль. Ни одна ветвь никогда не выполняется.
Балансы обновляются одинаково в обоих случаях. Результат узнаёт только отправитель — через повторное шифрование на себя.
Секретный ключ TFHE существует только в виде долей, распределённых между 100 местами комитета. Расшифровка и повторное шифрование требуют кворума этих мест, каждое действие атрибутируемо и подлежит слэшингу, а граница захвата закреплена конституционно — управление не может её ослабить. Порог конфиденциальности ключевого комитета составляет 24 из 100 в развёрнутой конфигурации по итогам производственных церемоний — любые 24 места не узнают ничего, а для восстановления требуется строго больше. Отдельный запуск в режиме разработки при c = 100 использовал порог 33. Целевой показатель — 79 из 100, и разрыв между ними обусловлен применяемым движком предобработки, а не самой конструкцией: способ отвязать степень разделения от порога сессии описан в литературе, реализован в другой библиотеке порогового FHE, и Celar ведёт эту инженерную работу. Whitepaper §7.1 приводит обе цифры и путь между ними.
Устойчивая распределённая генерация ключа с публикуемыми протоколами и разрешением жалоб в сети даёт линейные доли, а также CRS для доказательств входных данных. Недобросовестные участники исключаются до генезиса.
Разрешённое раскрытие объединяет t частичных расшифровок, каждая из которых зашумлена калиброванным шумом, поэтому повторные расшифровки остаются безопасными даже для шифротекстов, на которые повлиял противник (IND-CPA-D), при заданных на эпоху бюджетах запросов.
Доли обновляются каждую эпоху, старые становятся бесполезными. Противник обязан скомпрометировать полный кворум в пределах одной эпохи. Места комитета ротируются со смещёнными сроками в 25 эпох через VRF-маяк с разделением доменов.
Каждая частичная расшифровка — это подписанное самодостаточное доказательство нарушения; за несанкционированное обслуживание следует серьёзный слэшинг. Аварийное восстановление — закрытый кворум, способный только переразделить доли, за условием активации в сети с временной блокировкой: публично по построению, никогда не скрытно.
Большинство приватных блокчейнов продают прилагательные. Celar публикует сводную матрицу утечек по именованным классам противника — включая то, что версия v1 явно не ставит своей целью.
| Элемент данных | Публичный уровень | Уровень FHE (v1) | ZK-пул (v2) |
|---|---|---|---|
| Сумма | Видна | Скрыта* | Скрыт |
| Балансы / состояние | Видна | Скрыта* | Неприменимо — используются ноты |
| Личность отправителя | Видна | Скрыта релеером | Скрыт |
| Личность получателя | Видна | Одноразовый стелс-адрес | Скрыт |
| Успех / неудача перевода | Видна | Скрыт — без ветвлений | Содержимое скрыто |
| Адрес вызываемого контракта | Видна | Виден — в дорожной карте v1.x | Неприменимо — прекомпил пула |
Постквантовая конфиденциальность, классические анонимность и аутентификация. Конфиденциальность Celar опирается на сложность решёточных задач, а не на эллиптические кривые. Суммы, балансы и состояние контрактов, записанные сегодня, останутся конфиденциальными даже перед противником, который сохранит их до появления криптографически значимого квантового компьютера. Уровни анонимности и аутентификации у нас классические — и мы прямо об этом говорим.
| Уровень | Примитив | Постквантовая стойкость |
|---|---|---|
| Суммы, балансы, состояние контрактов | TFHE / CGGI (LWE / RLWE) | Стойко — уже на решётках |
| Пороговая расшифровка и повторное шифрование | Пороговая схема на основе LWE | Стойко |
| Доказательства входных данных | (R)LWE ZKPoK | Стойко |
| Хеширование | Poseidon2, Keccak-256 | Стойко — двукратный запас |
| Идентификация и подписи | secp256k1 ECDSA | Уязвимо для алгоритма Шора → переход на ML-DSA |
| Стелс-адреса | secp256k1 ECDH | Уязвимо для алгоритма Шора → решёточный KEM |
| Цель повторного шифрования | X25519 | Уязвимо для алгоритма Шора → постквантовый KEM |
| Доказательства экранированного пула | Groth16 / BLS12-381 | Уязвимо для алгоритма Шора → STARK / решёточный SNARK |
Миграция уровней идентификации, подписей и ZK — запланированная ветка с хардфорком, зависящая от зрелости стандартов NIST PQC, и она не входит в объём запуска. Криптографическая гибкость заложена там, где это важно: версионируемая оболочка доказательства допускает постквантовую систему доказательств без смены кривой, а ABI прекомпилов на основе хендлов не зависит от конкретной схемы. Полный анализ по уровням →
Эмиссия, стейкинг и гарантия приватности связаны опубликованным правилом здоровья: стоимость компрометации кворума расшифровки должна оставаться не менее чем вдвое выше стоимости, защищённой в сети, — пересчитывается непрерывно и закреплена конституционно.
Безопасность BFT при f < n/3 с мгновенной финальностью; инвариант эмиссии машинно проверяется в каждом блоке.
Суммы, балансы и состояние контрактов остаются скрытыми от любой коалиции, не достигшей кворума расшифровки.
Стелс-адреса и передача через релеера оставляют наблюдателю только релеера, одноразовый адрес, уровень и время.
Анонимность экранированного пула сохраняется даже при сговоре всех валидаторов — за счёт криптографии, а не доверия комитету.
Общая эмиссия всегда публично проверяема: зашифрованное состояние не может ни создать токены, ни скрыть инфляцию.
Любая расшифровка требует разрешения владельца или контракта; нарушения атрибутируемы и подлежат слэшингу, а единственный путь восстановления публичен по построению.
Узнайте, как это работает — сначала простым языком, затем точным.