一条与 EVM 兼容的 Layer 1:余额、金额与合约状态可置于协议级门限 FHE 之下 —— 机密与否由你选择,任何人都可验证;另有为 v2 设计的 ZK 屏蔽池。
Celar(瑟拉) 的隐私并非附加合约 —— 它就是协议的数据平面。每一层都针对明确定义的攻击者类别做出规范,并以公开的泄露矩阵取代形容词。
金额、余额与合约数值均为 TFHE 密文,通过可编程自举在链上求值。开箱即用的 ConfidentialERC20。
双密钥隐形地址(ERC-5564 模式)为每一笔付款生成全新的一次性地址;质押中继方则混淆发送方。
基于 BLS12-381 的 Groth16 屏蔽池:即便验证者集合完全串通,发送方、接收方与金额的隐私依然成立。
标准的 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 } }
无论是否成功,每一笔保密转账在共识上都是有效的。统一的 Gas 档位、不回滚、事件无差异 —— 外部观察者无法从结果中获知任何信息。
加密比较:发送方余额是否充足?答案本身保持加密。
第二重加密检查用于保护接收方余额;ok = ok₁ ∧ ok₂。
被转移的金额要么是该数值,要么是一个加密的零。任何分支都不会执行。
两种情形下余额的更新方式完全相同。只有发送方能通过自我重加密得知结果。
The TFHE secret key exists only as shares across the committee; no single seat holds it. Decryption and re-encryption require a threshold quorum of seats to cooperate. The committee configuration is 50 seats, threshold 12 — run and verified end-to-end in a test ceremony, and not yet securing value. Up to 12 seats learn nothing; 13 colluding seats could reconstruct the key, and we publish that rather than hide it. Larger committees are not reachable on this engine, and no work is scoped to reach them. Whitepaper §7.1 states the configuration and its limits.
一次稳健的分布式密钥生成,配合公开的记录与链上申诉裁决,产出线性份额 —— 以及用于输入证明的公共参考串。行为不当的参与方会在创世之前被剔除。
经授权的解密会合并 t 份部分解密结果,每一份都注入经过标定的噪声,从而在攻击者可影响密文的情形下(IND-CPA-D)反复解密依然安全,并设有每个周期的查询预算。
Proactive refresh is implemented and validated: the committee re-randomizes every share without changing the key. Once attested erasure of superseded shares is built, refresh will also limit how long an attacker has to assemble a quorum. Seat rotation on staggered terms is designed but deferred.
每一份部分解密都是一个带签名、可独立成立的欺诈证明 —— 未经授权的服务将被重罚。灾难恢复是一个仅能重新分享份额的封闭仲裁组,受链上带时间锁的激活条件约束:从结构上就是公开的,绝不隐蔽。
多数隐私链兜售的是形容词。Celar 公开一份针对具名攻击者类别的完整泄露矩阵 —— 其中也包含 v1 版本明确声明不予解决的目标。
| 数据项 | 公开层 | FHE 层(v1) | ZK 屏蔽池(v2) |
|---|---|---|---|
| 金额 | 可见 | 隐藏* | 隐藏 |
| 余额 / 状态 | 可见 | 隐藏* | 不适用 —— 以票据形式 |
| 发送方身份 | 可见 | 由中继方混淆 | 隐藏 |
| 接收方身份 | 可见 | 一次性隐形地址 | 隐藏 |
| 转账成功 / 失败 | 可见 | 隐藏 —— 无分支 | 内容隐藏 |
| 合约调用目标 | 可见 | 可见 —— 列入 v1.x 路线图 | 不适用 —— 屏蔽池预编译 |
后量子保密性,经典的匿名性与认证。 Celar 的保密性建立在格困难问题之上,而非椭圆曲线。今天记录下来的金额、余额与合约状态,即使攻击者将其保存到具备密码学威胁的量子计算机问世之时,依然保持保密。而它的匿名性与认证层是经典安全的 —— 我们如实说明这一点。
| 层 | 所用原语 | 后量子 |
|---|---|---|
| 金额、余额、合约状态 | TFHE / CGGI (LWE / RLWE) | 安全 —— 本就基于格 |
| 门限解密与重加密 | 基于 LWE 的门限方案 | 安全 |
| KMS mesh transport (DKG, reshare) | TLS 1.3, X25519MLKEM768 | Secure — PQ-hybrid |
| 输入证明 | (R)LWE ZKPoK | 安全 |
| 哈希 | Poseidon2, Keccak-256 | 安全 —— 具备 2 倍余量 |
| 身份与签名 | secp256k1 ECDSA | 受 Shor 算法威胁 → 迁移至 ML-DSA |
| 隐形地址 | secp256k1 ECDH | 受 Shor 算法威胁 → 迁移至格基 KEM |
| 重加密目标 | X25519 | 受 Shor 算法威胁 → 迁移至后量子 KEM |
| 屏蔽池证明 | Groth16 / BLS12-381 | 受 Shor 算法威胁 → 迁移至 STARK / 格基 SNARK |
身份层、签名层与 ZK 层的迁移是一条已规划的硬分叉路线,以 NIST 后量子密码标准的成熟度为前提 —— 并非上线时的交付项。密码敏捷性建设在真正关键之处:带版本号的证明封装可以在不回退曲线的前提下接纳后量子证明系统,而基于句柄的预编译 ABI 与具体方案无关。 查看逐层完整分析 →
增发、质押与隐私保证由一条公开的健康度规则绑定在一起:攻陷足以解密的席位所需成本,必须始终保持在链上被保护价值的 2 倍以上 —— 持续重新计算,并具有宪法级约束力。
在 f < n/3 条件下具备 BFT 安全性与即时最终性;供应量不变式每个区块都由机器校验。
面对任何未达到解密所需人数的联盟,金额、余额与合约状态始终保持隐藏。
隐形地址与中继转发使观察者所能看到的仅剩中继方、一次性地址、层级与时间。
即便所有验证者串通,屏蔽池的匿名性依然成立 —— 依靠的是密码学,而非对委员会的信任。
总供应量在任何时刻都可被公开验证:加密状态绝不能凭空增发或隐藏通胀。
每次解密都需要所有者或合约的授权;部分解密在设计上可签名、可归因,因此违规行为可被证明并罚没,而唯一的恢复路径在构造上即为公开的。