基于Zerocoin协议将如何解决现有私有事务协议所识别的问题
扫描二维码
随时随地手机看文章
2019年1月15日,NavCoin核心工程师Alex Vazquez发表了他的学术白皮书ZeroCT——一种新的私有链上加密货币交易协议。顾名思义,ZeroCT基于Zerocoin协议和加密事务的组合,但它不仅仅是两个现有协议的组合。
ZeroCT将业界领先的私有事务协议的精华部分与一些新思想结合起来,并将它们集成为部署到区块链上的最先进的隐私协议之一。
ZeroCT的白皮书提前发布,等待同行评阅,并收到了一系列感兴趣的加密货币专家的反馈——Sam Dobson (Bitcoin Core)、Sarang Noether (Monero)、Guy Kloss (SingleSource)、和Jonathan Cressman。虽然他们的评论不应该被认为是对协议的认可,但它证明了Alex希望确认ZeroCT的有效性,也证明了审稿人愿意免费贡献时间对开源学术论文进行反馈。
我在上一篇文章“私有事务——ZeroCT之路”中定义了“私有事务”的确切含义,并带领读者了解了在这类加密货币中使用的技术的发展,从而为ZeroCT的文章提供了一些解释。本文将重点介绍ZeroCT协议本身,并将其特性与业界一些领先的隐私协议进行比较。
ZeroCT试图解决什么问题?
当您能够以加密方式隐藏发送方、接收方和金额,而不泄漏任何关于事务的元数据,并且具有大型匿名集时,可以认为事务是私有的。
目前已有五种主要的隐私协议;CoinJoin、Zerocoin、Zerocash、CryptoNote和Mimblewimble——其中dash、PIVX、Zcash、Monero和Grin分别是这五种协议的主要实现。它们都是有趣的协议,提供了不同级别的匿名性,但是没有一个能完全实现我在上一段中提到的每一点。
这是使隐私协议成为我个人非常感兴趣的领域之一。有很多伟大的想法还没有明确的赢家,王冠仍然是在这个激烈辩论的舞台上争夺。
ZeroCT打算将业内领先的私有交易协议的精华部分结合起来,结果它成为了一个强大的奇美拉(chimera),可能会占据榜首。
引入ZeroCT
ZeroCT实现的技术细节可以在ZeroCT白皮书—ZeroCT:使用加密事务改进Zerocoin。在这里,我将简要介绍它如何解决现有私有事务协议所识别的问题,以及它从实际角度的意义。
隐藏发送者身份
ZeroCT使用基于Zero代币币的RSA累加器来隐藏事务的起源。每次使用该代币时,没有相关的历史和完全的可替代性。
隐瞒接收者的身份
ZeroCT的匿名身份生成的方式与Monero的一次性地址类似。它们来自一个隐式地址,该地址不会泄漏任何关于用户余额或事务历史的元数据,并且不受区块链分析的影响。
隐瞒交易数量
ZeroCT使用机密交易和防弹系统来隐藏交易中使用的代币数量。
增加匿名集
使用Zerocoin 累加器意味着为消费者身份设置的匿名性等于之前记录到累加器的私有事务的数量。ZeroCT允许并鼓励私人下注,这意味着匿名集将稳步增长,随着时间的推移,元分析将变得更加困难。
防止元数据泄漏
ZeroCT代币可以直接铸造到获得匿名身份的接收者手中,也可以直接从一个匿名身份转移到另一个匿名身份。不需要预先混合,一旦在ZeroCT代币不需要离开ZeroCT。这减少了第三方在事务进入和退出累加器时推断它们之间存在关联的可能性。
性能
机密交易的使用消除了对基于面额的累加器的需要,这减少了支出自然金额时所需的证明大小。花费999个ZeroCT事务的证明大小等于4个常规证明的大小,而不是原来的Zerocoin协议要求的27 个大小。
可用性
所有ZeroCT铸造的代币都可以通过主私钥回收,这意味着你不必在每个ZeroCT铸造后备份钱包。
ZeroCT协议提供了一个“查看键”,允许第三方(如您的会计)审核您的私人交易历史,而不会影响您的支出键。
直接将ZeroCT代币铸造到第三方可以通过删除任何预混合步骤或等待时间来降低发送方的复杂性。
关键的安全
ZeroCT的初始参数使用的大素数建议采用1991年RSA保理挑战,该挑战普遍认为密钥已被正确销毁,无法计算。
这一切意味着什么?
有了所有这些部分,ZeroCT协议成功地隐藏了发送方、接收方和金额,而不会泄漏任何重要的元数据。它保留了可伸缩性,使其更容易在功能上使用,并从网络和开发团队中消除了任何信任需求。
实际上,使用ZeroCT既安全又简单。下图以简单的方式解释了ZeroCT事务是如何工作的。
除了这个图,还有一些重要的东西需要理解。
1. 虽然Alice可以从Bob的匿名身份中得到他的累加器身份,但是她无法使用这些信息计算Bob的未来或过去的累加器身份,因此无法绘制事务图。
2. 在步骤3中,Bob不需要从累加器中取出NAV。他可以把资产净值从累加器中取出给第三者,把资产净值直接转移给另一个累加器而不需要取出资产净值,把资产净值用作私人押注的输入,部分地取出资产净值,然后把这些改变交还给累加器或任何这些行动的组合。
这种灵活性极大地减少了通过基于事务量或其他元数据的区块链分析进行推断的机会,即使Bob的最终目标是将NAV恢复到公共区块链上。
ZeroCT与其他隐私协议相比如何?
Reuben Yap最近更新了Zcoin的文章《Zcoin的隐私技术如何与竞争对手进行比较》,其中包括了类似Grin & Beam的Mimble Wimble coin。本文将深入介绍我们将在这里介绍的其他协议。我建议您阅读Reuben的文章,以及我在本系列的前一篇文章《私有事务—通往ZeroCT的道路》,以获得更多的知识。
由于有相当多的隐私币基于相同的底层协议,为了简化问题,我们将选择每个协议的主要实现之一进行比较。一些隐私币还实现了多个协议,因此从整体上看实现比每个协议具体提供什么更有用。
图表的大部分内容都是不言自明的,但有必要进一步讨论一些事情。
在“required Trusted Setup”行中,可以看到Pivx、Zcash和ZeroCT都有Yes,但是Pivx和NavCoin是橙色的,而Zcash是红色的Yes。
这是因为Zerocoin、ZeroCT和Zerocash协议需要一次可信设置来生成用于从累加器中使用私有硬币的初始参数。
Pivx和NavCoin都使用了从1991年RSA分解挑战中获得的初始参数,该挑战普遍认为密钥已被正确销毁。当Zcash生成它们自己的初始参数时,这意味着您必须信任Zcash工程师正确地销毁了密钥,这就是为什么它被标记为红色。
“需要匿名化”行指的是您是否可以立即创建私有事务,或者在能够私有发送之前需要采取一些步骤。在使用Dash之前,你需要先将你的金币和masternodes预混在一起,然后才能使用你的个人余额。使用Pivx,你需要把你的硬币发送到蓄电池和等待一些块之前花他们的私人。对于其他事务,没有初始步骤或等待时间,私有事务立即发生。
总结
ZeroCT是一个很棒的新隐私协议,我认为它有潜力成为隐私币领域的真正挑战者。它使用经过深入研究的方法来满足为加密货币交易提供高水平隐私的所有要求。它不仅提供了技术上的改进,还解决了可用性问题,使保护您的财务隐私比以往任何时候都容易。就我个人而言,我对这个协议及其在NavCoin中的实现感到兴奋。