原文标题:《AZTEC vs PGC or the quest for confidential transactions》
作者:Seres István András
译者:FYJ
在公链的世界中,除了可用性和可扩展性之外,隐私也是一个一直以来被广泛探讨的问题——传统公链中的所有数据都是链上可见的,这使得有心之人可以通过地址的追踪来推算网络使用者个人信息的蛛丝马迹。本文中,我将介绍并比对以太坊上两种小有名气的保密方案:AZTEC 和 PGC。
在以太坊中,保密交易是指转账金额被“隐藏”的交易,但交易的有效性仍可以公开验证。 这种交易并不像 Monero 和 ZCash 一样能够提供原原生的保密性和匿名性。在某些用例中甚至不需要隐藏各方的身份,只是将交易金额作为商业机密进行保密。
毫无疑问,解决此类问题的拳头产品是由 Zachary Williamson 提出的的AZTEC协议(Anonymous Zero-Knowledge Transactions with Efficient Communication)。 首先,Zac提出了一种新颖的完美隐藏和算力约束的承诺机制,该机制专门用于接纳有效的范围证明。后来,他又定义了 Joinsplit 协议和 NIZK(非交互式零知识)证明系统,以证明 Joinsplit 事务的正确性。
什么是 Joinsplit 交易? AZTEC 将一定数量的代币用 note 表示,note 可以被认为是一个UTXO(区块律动BlockBeats注:未花费交易输出)。在 Joinsplit 事务中,输入的 note 被销毁,而后输出的 note 被重新创建,每个 note 的价值都被加密,并且输入和输出的 note 总价值相等。
AZTEC 的效率是有代价的。它依赖于受信任的设置,其协议详细信息尚未公开,但我鼓励任何人协议细节发布后尝试使用。基本上在可信设置中,参与者需要以某种方式在区间[0..2³²-1]中的所有 note 上创建 Boneh-Boyen 签名,密钥在参与者之间共享,没有参与者知道完整的密钥。数字2³²-1在协议中被定义为最高可分割的 AZTEC note 粒度。
另一个值得注意的协议是内嵌了问责制的 Pretty Good Confidential 交易系统,也被 Yu Chen 和 Xuecheng Ma 称为 PGC。 它采用与 AZTEC 不同的方法,因此提供了一组有趣的权衡。 他们有意创建了一个不依赖于可信设置的机密交易系统,并且只进行古典密码学假设,例如Decision Diffie-Hellman(DDH)假设。此外,PGC是不需要有状态的,即他们不一定需要跟踪其 note 的价值。
与 AZTEC 类似,PGC 还引入了自己的 Sigma 协议—— ZK 证明系统,以证明 PGC 交易的有效性和正确性。 有趣的是,它只使用相当标准的加密构建块:ElGamal 加密,Chaum-Pedersen 证明(离散日志相等)和子弹证明(范围证明)。PGC 只允许简单的价值转移,即只能有一个发送者和一个接收者。不幸的是,提出者没有附上PGC的实现,所以我们只能参考以下比较:
我真的很期待看到 AZTEC 及其加密引擎的发展,这将极大地促进以太坊的保密资产的实施和使用。
我也很高兴看到其他保密/匿名协议被更多关注,以便更好地探索隐私增强解决方案的权衡空间。 让我知道是否有人正在考虑实施PGC,或者是否有人有兴趣在没有可信设置的情况下在以太坊上创建通用,高效,保密的资产。
扫码下载律动APP
专业区块链研究机构 与资讯平台