Cointime

扫码下载App
iOS & Android

a16z:构建Cicada,利用时间锁谜题和零知识证明实现链上私密投票

个人专家

所有投票系统都需要完整性和透明度才能真正发挥作用。从表面上看,这使得区块链成为构建这些系统的理想平台 —— 实际上,许多去中心化组织已经采用无许可投票来表达集体意愿,通常是在动用大量资金或调整关键协议参数的情况下。然而,链上投票也存在缺陷,尤其是隐私问题尚待解决,这对 web3 投票系统不利。在目前大多数链上投票协议中,选票和计票都是完全公开的。没有隐私保护,投票结果容易受到操纵和选民激励失衡,可能导致不民主的结果。

正因如此,我们推出了Cicada:一个全新的开源Solidity库,利用时间锁谜题(time-lock puzzles)和零知识证明(zero-knowledge proofs)实现链上私密投票。与现有系统相比,Cicada具有独特的隐私特性,最小化信任假设,并且效率足够高,可以在以太坊主网上运行。

在本文中,我们将探讨投票隐私的现状,并提供关于Cicada工作原理的概要说明。同时,我们鼓励开发者查阅GitHub。Cicada可以通过多种方式进行调整和扩展,以支持不同的投票方案和功能,我们希望与社区共同探讨这些可能性。

私密投票简要探讨

在任何投票系统(链上或其他),我们需要关注多种不同的隐私层次。个人选票的公开程度、实时计票以及选民身份都会以各种方式影响选民激励。所需的隐私属性取决于投票的具体场景。以下是密码学和社会科学文献中经常涉及的一些方面:

  • 选票隐私:无记名投票,又称“澳大利亚式选票”,是为现实世界投票系统设计的,旨在保护个人选民的偏好隐私,减少贿赂和胁迫(在链上环境中,我们可能需要比选票隐私更强的属性——见下文的“无收据”)。选票隐私还能减轻社会期望偏差,即人们根据他人对其选择的看法来投票的压力降低。
  • 实时计票隐私:许多投票系统对实时计票结果进行隐藏,或者在选民仍在投票时不公开各个选项的票数,以避免影响投票率和选民激励。我们在现实世界中已经看到了这种情况。例如,美国晚投票的参议员比早投票的参议员更有可能与他们的政党保持一致。在链上环境中,在代币加权投票中,大鳄可以通过让自己领先(有人可能因认为自己无论如何都会赢而懒得投票),给对手制造虚假的安全感,然后在最后一刻投票决定胜负。
  • 选民匿名:在许多现实世界投票系统中,虽然你的投票是保密的,但你投票的事实通常是公开的。这对于防止选民欺诈至关重要,因为公开有关谁进行投票的记录,可以让人们检查是否有人冒用他们的名义投票。然而,在链上环境中,我们可以在使用加密原语保持匿名的同时防止选民欺诈。例如,使用信标,你可以在零知识情况下证明你是一个尚未投票的合格选民。
  • 无收据:个人选民提供选票的“收据”,以证明他们是如何向第三方投票的,否则可能导致选票被出售。一个密切相关但更强大的属性是抗胁迫性,它可以防止某人强迫选民以某种方式投票。这些属性在去中心化环境中尤为有吸引力,因为在这种环境中,投票权可以通过智能合约市场实现流动。遗憾的是,这些属性也很难实现。实际上,Juels等人认为,在没有可信硬件的情况下,在未经许可的环境中实现这些属性是不可能的。

Cicada主要关注实时计票隐私,不过它可以与零知识成员证明相结合,以实现选民匿名和选票隐私。

Cicada简介:同态时间锁谜题在保护隐私方面的应用

为了实现投票计数的隐私保护,Cicada采用了一种加密原语,据我们所知,此原语以前从未在链上应用过。

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

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

正如论文作者所指出的,线性同态时间锁谜题是一种非常适合私密投票的原语:选票可以被编码为谜题,然后通过同态方式组合它们,从而得到一个包含最终投票计数编码的谜题。这意味着只需进行一次计算,就可以揭示最终的投票结果,而无需为每张选票单独解决一个谜题。

新结构:效率与权衡

要确保链上投票方案切实可行,我们还需要考虑更多因素。

首先,攻击者可能试图通过提交编码错误的选票来操纵投票结果。例如,我们可能希望每张选票的时间锁谜题都编码一个布尔值:“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 仅在投票期间确保选票的隐私——如果有人好奇地想要解密特定选民的选票,他们可以这样做。解密任何个人选票的成本与解密最终投票总数一样高昂,因此,天真地想要完全解密拥有 n 个选民的选票需要 O(n) 的工作量。但是,所有这些选票可以并行解密(假设有足够多的计算机),所花费的时钟时间与解密最终投票总数所需的时间相同。

对于某些选票来说,这可能是不可接受的。虽然我们对投票过程中的暂时性隐私保护感到满意,但我们可能希望选票的隐私保护无限期地持续。为了实现这一目标,我们可以将 Cicada 与匿名选民资格协议相结合,通过零知识组成员证明实例化。这样,即使选票被解密,它所揭示的信息也仅仅是有人以这种方式投票——而这一点我们已经从投票总数中了解到了。无需计票机构在设计 Cicada 时,我们的一个主要目标之一是避免依赖计票机构:许多私人投票方案需要一个半信任的计票机构(或权力委员会,通过安全的多方计算进行协调)来接收和汇总选票。在区块链环境中,这意味着这些方案不能仅通过智能合约实施,而需要一些人为干预和信任。

在大多数方案中,计票机构的诚实性不被信任(他们无法操纵选票计数),但他们的活跃度是可信的——如果他们离线,就无法计算最终结果,从而使投票结果无限期地延迟。在某些方案中,他们还被信任以维护隐私——即他们知道每个人的投票方式,但预计会在不泄漏此信息的情况下公布投票结果。

尽管在许多现实世界的场景中,计票机构是一个合理(且必要)的假设,但在区块链环境中,它们并不理想,我们的目标是尽可能减少信任并确保抗审查性。

Cicada 探索了链上投票隐私领域的多个方向之一,并与其他团队正在进行的大部分研究相互补充。如前所述,Cicada 与信号量、ZK 存储证明和限速无效器等匿名组成员技术密切相关。Cicada 还可以集成 Nouns Vortex 团队提出的乐观证明检查器,以减轻选民的 gas 负担。

有可能调整 Cicada 以支持不同的投票方案(例如代币加权投票、二次投票)——更复杂的方案对于以太坊主网来说计算成本可能过高,但它们在 L2s 上可能是实用的。考虑到这一点,我们欢迎您为 Cicada 的未来发展提供贡献、分叉和建议。

致谢:Cicada 是与 Joseph Bonneau 共同开发的。感谢 Andrew Hall 提供关于投票隐私历史背景的信息。同时要感谢 Robert Hackett 对本文的反馈。特别感谢 Stephanie Zinn 的编辑工作。

评论

所有评论

推荐阅读

  • EXOR集团 :拒绝Tether公司收购尤文图斯股份的提议

    EXOR集团 :拒绝Tether公司收购尤文图斯股份的提议,重申无意出售尤文图斯股份。 此前报道,加密货币巨头Tether公司对于收购尤文图斯俱乐部的计划非常认真,他们准备再次开出一份超过20亿欧元的新报价。

  • Tether 开出总估价超过 20 亿欧元的新报价收购尤文图斯

    加密货币巨头 Tether 公司对于收购尤文图斯俱乐部的计划非常认真,他们准备再次开出一份超过 20 亿欧元的新报价。昨天 Tether 已经向 Exor 董事会提交了一份报价,意图收购阿涅利家族控股公司所持有的尤文图斯 65.4% 股份,这一消息由首席执行官保罗-阿尔多伊诺通过社交媒体公布,但这仅仅是谈判的开始。

  • American Bitcoin比特币储备过去7天增加约623枚,现仓位达4941枚BTC

    此前曾披露分析“1011内幕巨鲸”的链上分析师Emmett Gallic在X平台发文披露特朗普家族支持的加密矿企American Bitcoin比特币储备更新数据,过去七天增加约623枚BTC,其中约80枚来自于挖矿收入,542枚来自于公开市场的战略收购,截至目前其比特币总持有量增至4941枚,当前市值约合4.5亿美元。

  • 美国现货以太坊ETF昨日净流出1940万美元

    据TraderT监测,美国现货以太坊ETF昨日净流出1940万美元

  • 华夏基金香港在Solana上推出亚洲最大代币化货币市场基金

    12月12日消息,华夏基金香港(ChinaAMC HK)产品与策略负责人 Katie He 在 Solana Breakpoint 大会上表示,将推出亚洲首个且规模最大的代币化货币市场基金,涵盖港币(HKD)、美元(USD)和人民币(RMB)计价,将传统货币市场工具代币化,为投资者提供安全、链上访问稳定收益的机会,具有完全透明度和实时结算。经过数月与监管机构及 OSL 等伙伴的合作,这一创新将自香港扩展至更广阔地区,并原生部署到 Solana 区块链上。

  • 加拿大皇家银行已购入77,700股American Bitcoin股票

    据市场消息:价值1万亿美元的加拿大皇家银行已购入77,700股American Bitcoin ($ABTC)股票,价值约15万美元。该比特币矿企由特朗普家族成员Eric Trump支持。

  • 中国人民银行:继续实施适度宽松的货币政策,推进人民币国际化

    中国人民银行党委召开会议,会议纪要第三点指出:继续实施适度宽松的货币政策,加快推进金融供给侧结构性改革。把促进经济稳定增长、物价合理回升作为货币政策的重要考量,灵活高效运用降准降息等多种货币政策工具,把握好政策实施的力度、节奏和时机,保持流动性充裕,促进社会综合融资成本低位运行,加强对实体经济的金融支持。畅通货币政策传导机制,优化结构性货币政策工具运用,加强与财政政策的协同,激励和引导金融机构加力支持扩大内需、科技创新、中小微企业等重点领域。保持人民币汇率在合理均衡水平上的基本稳定。会议纪要第五点指出:稳步推进金融高水平开放,维护中国国家金融安全。践行全球治理倡议,积极参与和推进全球金融治理改革完善。务实开展金融外交和多双边货币金融合作。推进人民币国际化。持续建设和发展多渠道、广覆盖的人民币跨境支付体系。稳步发展数字人民币。

  • 日本央行据悉将进行更多加息 部分官员认为中性利率高于1%

    据知情人士透露,日本央行官员认为,在本轮加息周期结束前,利率很可能升至0.75%之上,这表明在下周加息之后,可能还会有更多次加息。这些人士称,官员认为,即使加息至0.75%,日本央行仍未达到中性利率水平。部分官员已认为1%仍低于中性利率水平。知情人士表示,即便日本央行根据最新数据更新中性利率估算,目前也并不认为该区间会显著收窄。目前日本央行对名义中性利率区间的估计约为1%至2.5%。知情人士称,日本央行官员认为该区间上下限本身也可能存在误差。(金十)

  • Nexus 启动“节点之光·先锋理财周”,打造节点用户专属通道

    Nexus 12月12日宣布即将启动为期五天的 “节点之光·先锋理财周”,以“节点身份金融特权” 为核心理念,为生态核心参与者开启一段独立于全平台的专属理财周期。此次活动仅限节点用户参与专属理财包认购,并为随后上线的全平台理财与 NexSwap 注入市场期待。

  • 美 SEC 主席:DTC 参与者可将代币化证券转入其他参与者的注册钱包

    美国证券交易委员会(SEC)主席 Paul Atkins 在 X 平台发文表示,美国金融市场即将向链上转型并将优先考虑创新并积极采用新技术,SEC 已向美国存托信托与清算公司(DTC)发布了一封不采取行动的信函,链上市场将为投资者带来更高的可预测性、透明度和效率,现在 DTC 参与者可以直接将代币化证券转入其他参与者的注册钱包,这些交易将被 DTC 官方记录跟踪。