虽然比特币通常被主流媒体机构定义为价值转移的匿名媒介,但事实上比特币只是假匿名。
比特币账本是完全透明的,虽然用户身份隐藏在字母数字地址后面,但有一些方法可以跟踪地址和身份之间的相关性。
为了解决这个问题,一些以隐私为重点的加密货币采用了隐私交易(Confidential Transaction),以对交易中转移的金额进行模糊处理。
范围证明
隐私交易过程中,如果交易值不是公开透明的,则验证交易的有效性需要基于范围证明来确保交易输入的总和大于交易输出的总和以及所有交易值都是正的。
但隐含的问题是,如果对每个交易都使用范围证明,会导致交易的体量增大,以及多个输出的交易需要多个范围证明,这会进一步增加交易的体量,并降低验证和存储效率。
其中范围证明是一种验证形式,它允许任何人验证信息是否是在指定的范围内,而不会泄露任何与其相关的信息。
例如,可以使用简单的范围证明来验证某人的年龄是在 28 岁到 35 岁之间,而不会实际显示他的确切年龄。
这对验证隐私交易非常重要,在以匿名为中心的加密货币,如 Monero 中,它用于验证付款金额是否为正数,而不会显示交易中转移的金额。
更精确一点的表述是,它证明提交的输入大于提交的输出总和,而不显示提交的输入与输出。
在隐私证明中,范围证明占据了大部分的交易规模,这阻碍了基于隐私交易的匿名加密货币在用户间的大规模应用,间接影响了节点间的去中心化。
Bulletproof
针对上述特点,Bulletproof 应运而生,它与区块链的分布式以及无信任性相契合,并且与目前的范围证明相比,可以节省大量的空间,降低费用并缩短验证时间。
Bulletproof 依赖于离散对数的安全性,并基于 Fiat-Shamir 启发式以实现非交互式,大大减少隐私交易的规模,同时也减少了费用开销。
它们允许证明者将具备多个输出的交易范围证明聚合成单个并简短的证明,取代了多个输出的交易需要多个范围证明的状况。
此外,Bulletproof 在验证时间上更为迅速。
比较重要的一点是,Bulletproof 不需要可信设置。因为可信设置要求用户隐式信任创建一次性设置密钥的人在事后销毁它们,否则他们可以借此 创建无数的 token 并且不会被检测到,因此可信设置显然存在严重的问题。
非交互式零知识证明优化了 Bulletproof ,并应用于各种多方计算(MPC)协议以及支持复杂的隐私保护智能合约中。
Bulletproof 支持简单的 MPC 协议,该协议允许具有隐私值的多方共同生成单个小范围证明,而不会泄露其隐私值。
它取代了 Provisions 协议中使用的非交互式零知识证明,将交易的整体规模缩减近 300 倍。
Bulletproofs 是零知识证明以及其它保护和混淆交易金额协议研究领域中比较重要的并被广泛应用的创新。
Leave a Reply