一条 EVM 等价的第一层区块链:余额、金额与合约状态均运行在协议层的门限 FHE 之下 —— 从结构上保密,任何人皆可验证,并以 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₂。
被转移的金额要么是该数值,要么是一个加密的零。任何分支都不会执行。
两种情形下余额的更新方式完全相同。只有发送方能通过自我重加密得知结果。
TFHE 私钥仅以份额的形式存在于 100 个委员会席位之中。解密与重加密都需要其中足够数量的席位共同参与,每一次操作都可归因、可罚没,而捕获上限具有宪法级约束 —— 治理机制无法削弱它。密钥委员会的保密门限为 已部署配置下的 24/100 ,此为生产环节仪式中的实测值 —— 任意 24 个席位串通也无法获知任何信息,而重构所需的份额严格多于此数。另有一次 c = 100 的开发态可密钥化运行使用了门限 33。设计目标为 79/100,两者之间的差距源自当前所用的预处理引擎,而非设计本身 —— 将分享次数与会话门限解耦的方法已见于文献,并已在另一个门限 FHE 库中落地,Celar 正在推进这项工程。白皮书 §7.1 同时载明了这两个数字及实现路径。
一次稳健的分布式密钥生成,配合公开的记录与链上申诉裁决,产出线性份额 —— 以及用于输入证明的公共参考串。行为不当的参与方会在创世之前被剔除。
经授权的解密会合并 t 份部分解密结果,每一份都注入经过标定的噪声,从而在攻击者可影响密文的情形下(IND-CPA-D)反复解密依然安全,并设有每个周期的查询预算。
份额每个周期刷新一次,旧份额随即失效。攻击者必须在单个周期之内攻陷足以解密的全部席位。委员会席位通过域分离的 VRF 信标,以错开的 25 周期任期轮换。
每一份部分解密都是一个带签名、可独立成立的欺诈证明 —— 未经授权的服务将被重罚。灾难恢复是一个仅能重新分享份额的封闭仲裁组,受链上带时间锁的激活条件约束:从结构上就是公开的,绝不隐蔽。
多数隐私链兜售的是形容词。Celar 公开一份针对具名攻击者类别的完整泄露矩阵 —— 其中也包含 v1 版本明确声明不予解决的目标。
| 数据项 | 公开层 | FHE 层(v1) | ZK 屏蔽池(v2) |
|---|---|---|---|
| 金额 | 可见 | 隐藏* | 隐藏 |
| 余额 / 状态 | 可见 | 隐藏* | 不适用 —— 以票据形式 |
| 发送方身份 | 可见 | 由中继方混淆 | 隐藏 |
| 接收方身份 | 可见 | 一次性隐形地址 | 隐藏 |
| 转账成功 / 失败 | 可见 | 隐藏 —— 无分支 | 内容隐藏 |
| 合约调用目标 | 可见 | 可见 —— 列入 v1.x 路线图 | 不适用 —— 屏蔽池预编译 |
后量子保密性,经典的匿名性与认证。 Celar 的保密性建立在格困难问题之上,而非椭圆曲线。今天记录下来的金额、余额与合约状态,即使攻击者将其保存到具备密码学威胁的量子计算机问世之时,依然保持保密。而它的匿名性与认证层是经典安全的 —— 我们如实说明这一点。
| 层 | 所用原语 | 后量子 |
|---|---|---|
| 金额、余额、合约状态 | TFHE / CGGI (LWE / RLWE) | 安全 —— 本就基于格 |
| 门限解密与重加密 | 基于 LWE 的门限方案 | 安全 |
| 输入证明 | (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 安全性与即时最终性;供应量不变式每个区块都由机器校验。
面对任何未达到解密所需人数的联盟,金额、余额与合约状态始终保持隐藏。
隐形地址与中继转发使观察者所能看到的仅剩中继方、一次性地址、层级与时间。
即便所有验证者串通,屏蔽池的匿名性依然成立 —— 依靠的是密码学,而非对委员会的信任。
总供应量在任何时刻都可被公开验证:加密状态绝不能凭空增发或隐藏通胀。
每一次解密都需要所有者或合约授权;违规行为可归因、可罚没,而唯一的恢复通道从结构上就是公开的。