Rayls 官网的供应商对比表里有九行,我挑了「隐私」这一行。原因很简单:隐私很重要并且 Besu 是开源的,它的文档和代码我都能查。
对比表里,Rayls 在「隔离式隐私」和「密码学隐私」两行都打勾,Besu 只在前一行打勾。我打算去对方自己的文档核实,所以我去查了 Besu 的文档,然后把它的代码拉下来数了一遍。
结论不是「Besu 不行」。真正的差别是:这两家把隐私放在了不同的层,而 Besu 挪走的时间比很多人以为的要早。
Besu 那边:从文档到代码
Besu 官方文档里,隐私相关的页面顶部现在都挂着同一条横幅:基于 Tessera 的隐私功能自 24.12.0 版本起弃用。
真正的移除发生在 25.6.0。这个版本的发行说明把它列为破坏性变更,条目是移除 Tessera 隐私功能,编号 #8369,同一批还移除了链上权限管理。
我自己核实的部分是这样做的。先用三个版本号去取同一个文件:25.4.0 里 PrivateTransaction.java 和 Enclave.java 都返回 200,25.6.0 和 26.2.0 都返回 404。再看接口:25.4.0 的 RpcMethod 枚举里有 23 个 priv_、eea_、privx_ 开头的方法,26.2.0 的同一个文件里一个都没有。命令行也一样,25.4.0 有 12 个 --privacy 开头的启动参数,26.2.0 的 BesuCommand.java 里连 privacy 这个词都搜不到。规模上,25.4.0 里与隐私和 enclave 相关的非测试 Java 文件有 153 个,合计 17,875 行。
Besu 为什么要这么做
这一段必须写,否则就成了挑刺。
Besu 维护者在 2024 年 9 月 24 日的公告里给了理由:代码库变成了一把臃肿的瑞士军刀,Tessera 这类功能在它本来要解决的场景里性能不够,而应用层已经有成熟和新兴的方案。公告里还提到,一个面向 EVM 的可编程隐私开源项目即将提交给 LF Decentralized Trust 实验室。
那个项目就是 Paladin,现在已经从实验室升为 LF Decentralized Trust 的正式项目,Apache 2.0 许可,用零知识证明或发行方预验证两种方式实现隐私代币,跑在任何 EVM 链之上。
所以准确的说法是:Besu 没有放弃隐私,它把隐私从客户端移到了应用层。
两种放法,各自的价钱
Rayls 的做法是把隐私放进协议:Enygma 用 AES-256 加密交易内容、用 Pedersen 承诺记录余额、用 Groth16 证明这笔账是对的,走的是普通交易路径。
这条路的价钱可以量出来。上一篇我实测过证明生成,单核环境下 6 人匿名集每笔 1.96 秒。今天我又量了另一件事:证明本身只有 164 字节,而且 2 人档和 6 人档一样大,因为 Groth16 的证明是定长的。但随证明一起公开的数据不是定长的:2 人档 588 字节,6 人档 1,612 字节。
这个数字顺带纠正了一个常见说法。离开私有环境的不只是「一个证明」,而是加密载荷、证明和必要的公开数据,内容保持隐藏,同时系统仍然能验证和结算。
顺便说一下对比表另一行的事。Rayls 在「隔离式隐私」上打勾,靠的是部署结构:每家机构的 Sovereign 账本装在自己的边界内,官网的说法是私有数据不离开该实例,只有完成一笔交易所必需的最小载荷才会发往外部网络。所以这两行对 Rayls 来说是两层东西,机构之间靠部署隔离,跨机构结算靠密码学。这一点我只看了官网和文档,没有实际部署过。
许可这边也要摆出来。Rayls 的开放栈是 Apache 2.0,但 Enygma 和 Axyl 两个模块是 BUSL 1.1,测试免费、生产需授权,每个版本发布四年后自动转为 Apache 2.0。Paladin 则是 Apache 2.0。
这对一家机构意味着什么
如果一家机构的私有网络跑在 Besu 上,并且用了 priv_ 或 eea_ 接口,那么升到 25.6.0 这一步不是升级,是迁移。23 个接口和 12 个启动参数同时消失,隐私逻辑要搬到应用层重写;不搬就只能停在 25.4 系列,之后所有性能改进和安全修复都与你无关。
如果选 Rayls,隐私和账本属于同一套东西,版本、审计和支持是一条线,不用自己拼。代价是每笔机密交易都要先算证明,匿名集越大公开的数据越多,以及 Enygma 那部分要按 BUSL 授权。
那个「越多」有多多,可以估一下,下面是我算的。一笔 6 人档的机密转账,证明加公开数据合计约 1,776 字节。按英国 CHAPS 2025 年日均 210,483 笔的规模去套,一天约 374 MB,一年约 136 GB。对机构存储来说这不算什么,但它是随笔数线性增长的固定开销,而且匿名集是可调的:降到 2 人档,每笔只有 752 字节。这里假设每笔交易只产生一个证明,没有算存入、提取和 DvP 那几类电路。
从这一行里能抽出来的通用问题只有三个字:在哪层。问供应商隐私功能住在哪一层、由谁维护、它的生命周期和账本是不是绑在一起。Besu 这两年的变化说明,答案会变,而且变起来是破坏性的。
我确认了什么,我推断了什么
确认的部分:文件在不同版本里的存在与否、接口和启动参数的数量、官方公告和发行说明的内容、证明与公开数据的字节数、上一篇的证明耗时。这些都能照着截图里的命令重跑。
推断的部分:升级会中断现有隐私业务,这是从接口消失推出来的,我没有真的把一个 25.4 的私有网络升到 25.6 去试。Paladin 能不能接住某一家机构的具体场景,我也没有评估。
范围上,我只看了转账电路和隐私这一行。Besu 的用户完全可以自己维护分支或写插件,这是它的许可允许的。对比表的其他八行我没有碰。
我的看法
对比表是一张静态的图,而开源项目的能力是会移动的。这一行两年内从「客户端内置」变成了「应用层自理」,表格却只能显示一个勾。
所以我更愿意把这类表当成检查清单的起点:每一行都去对方的仓库里看一眼当前版本。这次花的时间不到一小时,命令都在截图里。下次 Rayls 更新这张表时,值得看的是它是否给 Besu 那一栏加上版本说明。
参考来源:Rayls 官网 Sovereign 产品页与供应商对比表;Besu 官方文档隐私章节的弃用横幅;Besu 25.6.0 发行说明,条目 #8369;LF Decentralized Trust 2024 年 9 月 24 日公告《Sunsetting Tessera and Simplifying Besu》与 Paladin 项目公告;hyperledger/besu 仓库 25.4.0、25.6.0、26.2.0 三个标签(2026 年 9 月 24 日读取);raylsnetwork/rayls-sovereign-gnark-api 提交 67c4c26(本机实测)。
#Rayls $RLS