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 的编辑工作。

评论

所有评论

推荐阅读

  • 消息人士:特朗普政府正制定方案以夺取伊朗核材料储备

    3 月 21 日,据美国哥伦比亚广播公司(CBS)报道,多位知情人士透露,特朗普政府一直在谋划获取或转移伊朗核材料的方法和选项。此时,由美国和以色列领导的针对伊朗的军事行动正进入一个更加不确定的阶段。关于特朗普是否会下令实施此类行动,目前时机尚不明确。一位消息人士表示,他尚未做出任何决定。但两位消息人士表示,相关规划的核心是可能部署来自联合特种作战司令部的部队,该部队是精英军事单位,常负责最敏感的防扩散任务。

  • 中东冲突与加息预期共振:全球资产大震荡,美股四连跌、债市「血洗」、黄金创43年最大周跌幅

    3 月 21 日,中东局势持续升级叠加 Federal Reserve 加息预期骤然升温,全球市场遭遇系统性冲击。美股连续第四周下跌创一年最长跌势,纳指单日跌超 2%,科技股全线承压;全球债市收益率大幅飙升,美债、英债、德债均创多年新高,资金大规模去杠杆。大宗商品剧烈分化,黄金跌破 4500 美元关口,单周暴跌超 10%,创 1983 年以来最大跌幅,避险属性遭质疑;原油则因中东供应风险暴涨,布油重返 110 美元上方,迪拜原油期货单日飙升超 16%。与此同时,比特币在 7 万美元附近获得支撑,连续三周跑赢黄金。市场分析认为,地缘冲突推升能源价格并加剧通胀预期,迫使货币政策路径重定价,全球金融条件快速收紧,风险资产仍处于下行与再定价过程中。

  • 美团开源560B参数定理证明模型:72次推理通过率97.1%,刷新开源模型SOTA

    据 1M AI News 监测,美团 LongCat 团队开源 LongCat-Flash-Prover,一个 5600 亿参数的 MoE 模型,专攻形式化定理证明语言 Lean4 的数学推理任务。模型权重以 MIT 协议发布,已上线 GitHub、Hugging Face 和 ModelScope。模型将形式化推理拆解为三项独立能力:自动形式化(将自然语言数学问题转化为 Lean4 形式语句)、草图生成(产出引理风格的证明框架)和完整证明生成。三项能力均通过 Agent 工具集成推理(TIR)与 Lean4 编译器实时交互验证。训练方面,团队提出 Hybrid-Experts Iteration Framework 生成冷启动数据,并在强化学习阶段引入 HisPO 算法稳定 MoE 模型的长程任务训练,同时加入定理一致性和合法性检测机制防止 reward hacking。基准测试显示,LongCat-Flash-Prover 在开源权重模型中刷新了自动形式化和定理证明两项 SOTA。MiniF2F-Test 上仅用 72 次推理即达 97.1% 通过率,ProverBench 和 PutnamBench 分别达到 70.8% 和 41.5%,每题推理次数不超过 220 次。

  • Erik Voorhees再次增持1.44万枚ETH,总持仓量突破11.7万枚

    3 月 21 日,据 AI 姨监测,ShapeShift 创始人、比特币早期支持者 Erik Voorhees 关联地址,过去 11 小时买入 14,424.53 ETH,总持仓突破 11.7 万枚,持仓均价 2,160.24 美元,当前浮亏 114.5 万美元。

  • 消息人士:特朗普政府正制定方案以夺取伊朗核材料储备

    Cointime 报道,3月21日消息,据美国哥伦比亚广播公司(CBS)报道,多位知情人士透露,特朗普政府一直在谋划获取或转移伊朗核材料的方法和选项。此时,由美国和以色列领导的针对伊朗的军事行动正进入一个更加不确定的阶段。 关于特朗普是否会下令实施此类行动,目前时机尚不明确。一位消息人士表示,他尚未做出任何决定。但两位消息人士表示,相关规划的核心是可能部署来自联合特种作战司令部的部队,该部队是精英军事单位,常负责最敏感的防扩散任务。(金十)

  • GameFi板块市值暂报45.15亿美元,FLOKI排名第一

    3 月 21 日,据 Coingecko 数据,GameFi 板块市值暂报 45.15 亿美元,FLOKI 以 2.86 亿美元市值排名第一,排在第二第三位的分别为:The Sandbox(2.18 亿美元)、Undeads Games(2.11 亿美元)。此前 Solana 基金会主席 Lily Liu 表示,区块链游戏「不会再回归」。她认为,尽管行业曾寄望通过链上资产与开放世界推动 Web3 与元宇宙发展,但实际表现远未达预期。市场观点称链游长期依赖「Play-to-Earn」等代币激励模式,却缺乏真正吸引核心玩家的游戏性与内容构建能力,导致用户留存与生态可持续性不足。包括 Andreessen Horowitz(a16z)、Framework Ventures、Animoca Brands 在内的机构曾向该领域投入数十亿美元,但回报表现不佳。

  • Karpathy:大多数App不该存在,3个提示词让AI接管整个智能家居

    据 1M AI News 监测,Andrej Karpathy 在 No Priors 播客中称,应用商店里的大多数智能家居 App「根本不该存在,一切都该是 API 端点,Agent 才是智能粘合层」。他分享了今年 1 月构建的家庭 Agent「Dobby the elf claw」:只用三个提示词,Agent 自行扫描局域网发现了 Sonos 音响,逆向工程其协议后接管播放控制。如今 Dobby 通过 WhatsApp 对话统一控制灯光、空调、窗帘、泳池、安防系统,取代了此前六个独立 App。他还接入了视觉模型监控安防摄像头,有人到访时自动推送图片消息到 WhatsApp。「这在一两年内应该是免费的,不涉及任何 vibe coding,这是基本功,」Karpathy 说,「客户不再是人类了,而是代替人类行事的 Agent。这场重构的规模将相当可观。」

  • OpenAI创始成员:12月以来没写过一行代码,Agent用不好?「那是你菜」

    据 1M AI News 监测,「vibe coding」概念提出者、OpenAI 创始成员 Andrej Karpathy 在 No Priors 播客中透露,去年 12 月是他工作方式的分水岭。此前他自己写代码与委托 Agent 的比例约为 80:20,12 月之后反转为 20:80,「到现在可能已经不止了」,「我大概从 12 月起就没打过一行代码」。他将这种状态称为「AI 精神病」(AI psychosis):Agent 的能力边界尚未被充分探索,「一切皆有可能,而一切失败归根结底都是技能问题(skill issue)」。他开始像 PhD 时期看 GPU 利用率一样关注 Token 吞吐量,「订阅额度没用完就意味着你没有最大化产出」。他还描述了 Agent 的「锯齿感」:「我同时感觉在和一个极其聪明的、做了一辈子系统编程的博士生对话,又在和一个十岁小孩对话。」

  • 日媒:伊朗准备允许日本船只通过霍尔木兹海峡

    3 月 21 日,据日本共同社报道,伊朗外长阿巴斯·阿拉格奇表示,经两国官员协商,伊朗已准备好允许与日本相关的船舶通过霍尔木兹海峡。日本石油进口严重依赖中东地区。伊朗战争促使日本本月动用石油储备。日本一直面临特朗普要求其协助保卫该海峡的压力。本周早些时候,日本首相高市早苗在华盛顿与特朗普当面会晤时,向其说明了日本参与此类行动在法律上的限制。同时,她也强调了双方共识领域,包括承诺增加从美国进口石油以及就导弹研发开展合作。(金十)

  • Solana基金会主席:链游已「死亡」,行业数十亿美元投入或成最差赌注之一

    3 月 21 日,Solana 基金会主席 Lily Liu 表示,区块链游戏「不会再回归」。她认为,尽管行业曾寄望通过链上资产与开放世界推动 Web3 与元宇宙发展,但实际表现远未达预期。Solana 曾被视为最有潜力支撑大规模链游的公链之一,凭借高性能和低成本支持实时交互。然而,包括 Star Atlas、Stepn 等项目虽一度获得关注,但整体 GameFi 赛道自 2021 年高峰后持续下滑。市场观点指出,链游长期依赖「Play-to-Earn」等代币激励模式,却缺乏真正吸引核心玩家的游戏性与内容构建能力,导致用户留存与生态可持续性不足。包括 Andreessen Horowitz(a16z)、Framework Ventures、Animoca Brands 在内的机构曾向该领域投入数十亿美元,但回报表现不佳。不过,部分公司仍在探索转型路径,例如 Mythical Games 与 Gunzilla Games,逐步弱化区块链要素,将其作为可选功能而非核心机制,以提升用户体验与市场接受度。