NBS:a16z 详解 Cicada 原理:如何通过时间锁谜题与 ZK 证明实现隐私链上投票?

原文作者:Michael Zhu  ,a16z crypto 研究工程师 来源:a16zcrypto  翻译:DeFi之道

一般来说,所有投票系统都依赖于良好完整性和透明度,以此才能以任何有意义的方式发挥作用。从这点来看,区块链成为了构建这一系统的理想实现路径,事实上许多去中心化组织已经通过采用无许可投票来表达集体意图,一般是在通过动用大量资金或调整关键协议参数的情况下来实现。但链上投票也有缺点,即隐私性不足,这对 web3 投票系统尤其不利,在当前的大多数链上投票协议中,选票和计票都是完全公开的,没有隐私,那么投票结果容易受到操纵和选民激励失调,最终可能导致不民主的结果。

这就是我们发布 Cicada 的原因:一个新的开源 Solidity 库,它利用时间锁定谜题和ZK零知识证明进行链上投票。与现有系统相比,Cicada 具有新颖的隐私属性,最小化信任化假设,并且足够高效,可以在以太坊主网上使用。

在这篇文章中,我们调查了投票隐私的概况,并阐述了 Cicada 工作原理(将提供正式证明)。我们还鼓励开发人员查看 GitHub 存储库——Cicada 可以通过多种方式进行调整和扩展,以支持不同的投票方案和功能,我们希望与社区合作探索这些可能性。

a16z创始人:比特币创新“基本上停止发展”,将重点关注以太坊:金色财经报道,a16z 创始人 Marc Andreessen 在最新接受采访时表示,比特币虽然是一种技术创新,但“基本上已停止了发展”,他现在将目光投向了以太坊并认为以太坊将会成为转型核心。Marc Andreessen 解释说:“现在最大的项目是以太坊,不是比特币,或者我会说是加密货币或 Web3 而不是比特币。Web3 中可以开展业务、可以获利、可以进行交易并获得信任,随着区块链技术突破,我们现在知道该怎么做,现在已拥有能够做到这一点的技术基础。”(blockworks)[2023/2/9 11:57:31]

在任何投票系统中,都需要考虑许多不同的隐私层。个人选票数据的披露、连续计票和选民身份都会以不同方式影响选民激励,哪些隐私属性是必需的取决于投票的具体规则。以下是密码学和相关科学文献中经常出现的一些内容:

选票隐私:无记名投票,也称为“澳大利亚选票( Australian ballot)”,是为物理现实世界的投票系统开发的一种投票方式,目的是保护个人选民的偏好,并减少贿赂和胁迫(在链上设置中,我们可能需要比选票隐私更强大的属性——参见下面的“无收据”)。投票隐私也减轻了社会期望偏差——即人们根据别人对自己选择的看法进行投票的压力较小。

计票结果隐私:许多投票系统在选民仍在投票时会隐藏计票结果,每个选项已投了多少票是未知的,以免影响投票率和选民激励。我们在现实世界中可以看到很多类似的情况,例如:晚些时间开始投票的美国参议员相比早些时间投票的参议员,前者之间更有可能与自己的政党结盟。链上:在代币加权投票中,鲸鱼可以让对手保持领先,让他们产生一种虚假的安全感(有些人可能懒得投票,认为他们无论如何都会赢),然后在最后一刻投票,以改变结果。

A16z投票反对在BNB Chain上部署Uniswap V3的提案:金色财经报道,OxPlasma实验室提出了在BNB链上部署Uniswap V3的建议,使用Wormhole进行部署。A16z使用所有的1500万UNI代币投票反对该提案。投票将于2月10日结束。

Andreessen Horowitz的加密货币部门a16z支持LayerZero作为桥梁,而Jump则投资于Wormhole。a16z的合伙人Eddie Lazzarin表示,如果技术上支持,我们会把1500万代币投给LayerZero。在未来的快照投票中,我们也会这样做。[2023/2/6 11:49:07]

选民匿名投票:在许多现实世界的投票系统中,个人的投票是私密的,但您投票的事实通常是公开的,这对于防止选民欺诈很重要,因为公布谁投票的记录可以让人们检查是否有其他人以他们的名义投票。然而,在链上,我们可以在使用加密原语保持匿名的同时防止选民欺诈——例如使用Semaphore,您可以在零知识的情况下证明您是尚未投票的合格选民。

无收据投票:个人选民自己提供他们选票的“收据”以证明他们是如何投票给第三方的,不然可能会导致选票出售。一个相关性很强的属性是 coercion-resistance,它可以防止某人以某种方式强迫选民投票。这些属性在去中心化环境中特别有吸引力,在这种环境下,可以通过智能合约市场使投票权流动,不幸的是,它也很难实现,事实上 Juels 等人声明在没有可信硬件的情况下,在未经许可的环境中是不可能实现的。Cicada 专注于运行计票隐私,它可以与零知识组证明相结合,以获得选民匿名和选票隐私等功能。

元宇宙项目Creatora完成1000万美元A轮融资,a16z领投:1月16日消息,元宇宙项目Creatora完成1000万美元A轮融资,a16z领投,该笔资金致力于打造以Z世代为中心的元宇宙平台。据悉,Creatora是一个用户生成内容(UGC)元节引擎,使创作者能够创建、分发和MetaFi游戏。

Creatora为用户提供独有的加密原生自治世界,其功能包括交叉播放和即时访问。此外,平台内所有建立在土地上的东西都是可交易的。这包括模型、游戏、API等。[2023/1/16 11:13:56]

为了实现计票结果,Cicada 借鉴了(据我们所知)以前从未在链上使用过的加密原语。

首先,时间锁谜题 (Rivest, Shamir, Wagner, 1996) 是一种加密谜题,它封装了一个秘密,只有经过一段预定的时间后才能揭示——更具体地说,这个谜题可以通过重复执行一些操作来解密不可并行计算。时间锁定谜题在投票的背景下非常有用,可以实现计票结果隐私:用户可以将他们的选票作为时间锁定谜题提交,这样他们在投票期间是完全隐私的,但可以在投票后公开。与大多数其他私人投票结构不同,这可以在不依赖计票机构(如选举工作人员清点纸质选票或数字选票)、阈值加密(threshold encryption 其中多个受信任方必须合作解密消息)或任何其他受信任方情况下,任何人都可以运行计票隐私可以解决时间锁定难题,来确保在投票后公布结果。

a16z报告:以太坊在Web3中占主导地位,但Solana、Polygon等竞争对手也在努力追赶:5月17日消息,Andreessen Horowitz(a16z)在发布的2022年加密货币概括报告中指出,加密货币正处于第四个“价格创新”周期的中间;对于创作者来说,Web3比Web2要好得多;加密货币正在对现实世界产生影响,包括创作者支付、改善碳信用以及控制自己的身份等;以太坊在Web3中占主导地位,但Solana、Polygon、BNBChain、Avalanche和Fantom等竞争对手也在努力追赶,目前以太坊上每月有近4000名活跃开发者,Solana上有1000名,比特币上有大约500名开发者。a16z称,加密货币的发展还为时过早,估计目前以太坊上活跃用户有700万到5000万。[2022/5/17 3:22:43]

其次,同态时间锁谜题 (Malavolta Thyagarajan, 2019) 具有额外的属性,即在知道密钥、解密谜题或使用后门的情况下,可以对加密值进行一些计算。特别是,线性同态时间锁谜题允许我们将谜题组合在一起,产生一个新的谜题,封装了原始谜题的秘密值。

正如该论文的作者所指出的那样,线性同态时间锁谜题是一种特别适合私人投票的原语:选票可以编码为谜题,并且可以将它们同态组合以获得对最终计票进行编码的谜题。这意味着只需要一次计算就可以揭示最终的计票结果,而不是为每张选票解决一个独特的难题。

动态 | a16z合伙人启动基于Arweave的去中心化社交平台FEEDweave:a16z crypto合伙人Denis Nazarov宣布启动基于Arweave区块链的去中心化社交网络平台FEEDweave,旨在在 Arweave 区块链生态系统中进行「数据乐高」的开发测试。根据 block123 显示,Denis Nazarov 是 a16z crypto 合伙人,在加入 Andreessen Horowitz 之前,参与创办 Mediachain Labs,于2017年被Spotify收购。[2020/2/9]

要使投票方案在链上切实可行,还需要考虑更多的因素。首先,攻击者可能会尝试通过投出编码不正确的选票来操纵投票。例如,我们可能希望每个选票的时间锁定谜题都编码一个布尔值:“1”表示支持投票的提案,“0”表示反对。该提案的热心支持者可能会尝试编码,例如“100”来放大他们的有效投票权。

我们可以通过让选民与选票本身一起提交选票有效性的零知识证明来防止这种攻击。尽管零知识证明在计算上可能很昂贵——为了尽可能降低选民参与的成本,证明应该是 (1) 客户端可有效计算和 (2) 链上可有效验证。

为了使证明尽可能高效,我们使用定制的 sigma 协议——一种为特定代数关系设计的零知识证明,而不是通用证明系统。这实现了极快的证明时间:在现成的笔记本电脑上用 Python 生成选票有效性证明需要 14 毫秒。虽然这个 sigma 协议的验证器在概念上很简单,但它需要一些大的模幂运算。 Malavolta和Thyagarajan的线性同态方案使用Paillier加密,因此这些幂运算将对某些RSA模N取模N^2,对于一个合理大小的N,幂运算在大多数EVM链上是非常昂贵的(数百万gas)。为了降低此成本,Cicada 改用指数 ElGamal ,它仍然提供了加性同态,但工作模量要小得多(N而不是N^2)。

使用 ElGamal 的一个缺点是解密计数的最后一步需要暴力破解离散日志(请注意,这是在链下完成并在链上有效验证)。因此,它仅适用于预期的最终票数相当小的情况(例如小于 2^32,或大约 430 万票)。在最初的基于 Paillier 的方案中,无论其大小如何,计数都可以被有效地解密。

选择RSA模N也涉及到权衡。我们的实现使用 1024 位模数来提高gas效率。虽然这远高于有史以来最大的 RSA 模数(829 位),但它低于通常推荐的用于 RSA 加密或签名的 2048 位大小。但是,我们的应用程序不需要长期安全性:一旦选举结束,如果将来考虑 N 就没有风险。假定计票和选票在时间锁定期后公开,因此使用相对较小的模数是合理的。

如上所述,Cicada 提供了运行计票结果的隐私——时间锁定谜题属性在投票期间保持计票的私密性。然而,每个单独的选票也是一个时间锁难题,在相同的公共参数下加密。这意味着就像可以解密计数(通过执行必要的计算)一样,每张选票也可以,换句话说,Cicada 仅在投票期间保证选票隐私——如果好奇的观察者希望解密特定选民的选票,他们可以这样做。解密任何个人选票与解密最终计票一样昂贵,所以它需要O(n)的工作来完全解密一张有n个选民的选票。但是,所有这些选票都可以并行解密(假设有足够多的机器),所需的时间与解密最终计票所需的时间相同。

对于某些选票,这可能是不可取的。虽然我们对临时的运行计票隐私感到满意,但有时我们可能想要无限期的投票隐私。为实现这一点,我们可以将 Cicada 与匿名选民资格协议结合起来,通过零知识组成员身份证明进行实例化。这样,即使选票被解密,它所揭示的只是有人以这种方式投票,而不知道具体是谁。

我们在设计 Cicada 时的首要任务之一是避免需要一个计票机构:许多私人投票结构都需要一个半信任的计票机构(或权力委员会,或通过安全的多方计算进行协调)来接收和汇总选票,如果将其强行映射到区块链环境中,就意味着这些方案不能完全由智能合约执行,需要一些人为干预和中心化的信任。

在大多数结构中,计票机构的完整性不受信任,但他们的活跃度值得信任——如果他们离线,则无法计算最终结果,从而无限期地拖延投票结果。在某些结构中,他们也有一定的隐私性,也就是说,他们了解每个人如何投票,但预计会在不透露此信息的情况下公布投票结果。

在现实世界的场景中,计票机构是一个合理且必要组织,但它在区块链环境中并不需要,我们的目标是最大限度地减少信任并确保一定的审查阻力。 

Cicada 只是探索了链上投票隐私领域众多方向中的一个,并补充了其他团队正在进行的相关研究。如上所述,Cicada 与Semaphore、ZK 存储证明和RLN (Rate-Limiting Nullifier)等匿名技术密切相关,Cicada 还可以集成Nouns Vortex 团队提出的 optimistic proof checker ,以减轻选民的 gas 负担。

另外,还可以调整 Cicada 以支持不同的投票方案(例如代币加权投票、二次投票),更复杂的方案对于以太坊主网来说可能计算成本太高,但它们在 L2 上是很实用的,考虑到这一点,我们欢迎您的贡献、Fork和建议,和我们一起讨论下一步该把Cicada带到何处

DeFi之道

个人专栏

阅读更多

金色荐读

金色财经 善欧巴

迪新财讯

Chainlink预言机

区块律动BlockBeats

白话区块链

金色早8点

Arcane Labs

欧科云链

深潮TechFlow

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

PEPEETH:DAOrayaki:比SBT更有价值的DAO声誉量化模型

与 SBT 提供的单一定性数据点相比,声誉的定量模型可能更有意义。本文主要探讨在DAO网络中,如何量化贡献者声誉。在下一篇文章中,我们将探讨该量化模型框架对 DAO 治理的潜在影响.

[0:31ms0-1:464ms