区块链投票在不知情的人群中被过誉,但在知情的人群中却被低估

本文讨论了区块链投票的潜力与挑战,指出人们对其看法因信息量差异而不同。作者强调,区块链能确保投票过程的透明性与保护性,但现有技术仍存在隐私和抵制强迫的问题。通过结合密码学等技术,可以打造更安全的选举系统,尽管仍需进行小规模实验以验证其有效性和安全性。

区块链投票在信息不足的人中被高估,但在知情的人中被低估

区块链投票在信息不足的人中被高估,但在知情的人中被低估

特别感谢 Karl Floersch、Albert Ni、Mr Silly 和其他人的反馈和讨论

投票是一个对过程完整性有着非常重要需求的程序。投票的结果必须是正确的,这必须通过一个透明的过程来保证,以便每个人都能相信结果的正确性。任何人都不应该能够成功地 干扰任何人的投票尝试 或防止他们的投票被计算。

区块链是一种关于提供过程完整性保证的技术。如果一个过程在区块链上运行,该过程将被保证按照某些预先约定的代码运行,并提供正确的输出。没有人能够阻止执行,没有人能够篡改执行,没有人能够审查和阻止任何用户的输入被处理。

所以乍一看,区块链似乎正好提供了投票所需的东西。而我并不是唯一有这种想法的人;许多 潜在的 用户 对此感兴趣。但事实证明,有些人对此持有非常不同的看法。。。。。

尽管投票需求与区块链所提供的技术优势似乎完美匹配,但我们经常看到可怕的文章 反对将两者结合。而不仅仅是一篇文章:这是来自《科学美国人》的反区块链投票文章,这是 CNet 的另一篇文章,还有一篇来自 ArsTechnica 的文章。而不仅仅是随机的科技记者:Bruce Schneier 也反对区块链投票,麻省理工学院的研究人员也 撰写了一篇完整的论文,认为这是个坏主意。那么这是怎么回事呢?

大纲

两个关键的批评意见 通常由区块链投票协议的批评者提出:

  1. 区块链是错误的软件工具 来运行选举。它们提供的信任性质与投票所需的性质不匹配,其他类型的软件工具具有不同的信息流和信任特性,可能更有效。
  2. 一般来说,无法信任软件 来进行选举,无论软件是什么。不可探测的软件和硬件缺陷风险太高,无论该平台如何组织。

本文将依次讨论这两种主张(“反驳”一词太强,但我明显更不同意这两种主张。) 首先,我将讨论现有区块链投票尝试的安全问题,以及 正确的解决方案不是放弃区块链,而是将其与其他密码技术相结合。其次,我将讨论软件(和硬件)是否可以被信任的问题。答案是:计算机安全实际上正在变得越来越好,我们可以努力继续保持这一趋势。

从长远来看,坚持使用纸质投票将是我们改善投票能力的一个 巨大的 缺陷。一次投票 N 年一次是一种 250 年历史的民主形式,如果投票变得 much 更方便和简单,我们的民主将会更加优越,做得更频繁。

不必说,整个帖子都是基于良好的区块链扩展技术(例如 分片)的可用。 当然,如果区块链无法扩展,这一切都无法实现。但到目前为止,这项技术的发展进展迅速,我们没有理由相信这无法实现。

糟糕的区块链投票协议

区块链投票协议经常被黑客攻击。两年前,一家名为 Voatz 的区块链投票科技公司曾广受关注,许多人对此感到非常兴奋。但去年,一些麻省理工学院的研究人员发现了他们平台上的一系列 关键安全漏洞。与此同时,在莫斯科,一个将被用于即将来临的选举的区块链投票系统 被攻破,庆幸的是是在选举进行的一个月前。

这些黑客行为相当严重。以下是分析 Voatz 的 研究人员 发现的攻击能力表:

这并不能单独成为反对 永远 使用区块链投票的论据。但这确实是一个论据,说明区块链投票软件应该设计得更加谨慎,并应缓慢逐步扩展。

隐私与抗强迫能力

但即使是那些在技术上没有破损的区块链投票协议往往也不理想。要理解原因,我们需要深入了解 区块链提供哪些特定的安全属性 以及投票需要哪些具体的安全属性——当我们这样做时,我们会看到它们之间的不匹配。

区块链提供两个关键特性:正确执行抗审查。正确执行只是意味着区块链从用户接收输入(“交易”),根据一些预定义的规则正确处理它们,并返回正确的输出(或以正确的方式调整区块链的“状态”)。抗审查也很容易理解:任何希望发送交易的用户,只要愿意支付足够高的费用,就可以发送交易,并期待它很快被包含在链上。

这两个特性对投票都非常重要:你希望投票的结果实际上是对每个候选人投票数量的计算结果,并选择得票最多的候选人,你的确希望任何有资格投票的人都能够投票,即使有一些强大的行为者试图阻止他们。但投票还需要一些区块链 不提供 的关键特性

  • 隐私:你不应该知道某个特定候选人的投票情况,甚至无法知道他们是否投票。
  • 抗强迫能力:你不应该能 向别人证明 自己投了人家的票,即使你想证明

第一个要求的必要性显而易见:人们希望根据个人感受投票,而不是根据周围人、雇主、警察或街头流氓对他们选择的看法。第二个要求是为了防止投票买卖:如果你能够证明投票怎么投票,卖票变得非常简单。投票可证明性也会导致强迫的形式、强迫者要求查看某种对其偏好候选的投票证明。即便是那些了解到第一个要求的重要性的人,大多数人也不会考虑第二个要求。但第二个要求同样是必要的,并且提供它在技术上是相当复杂的。不必说,你在现实中看到的普通“区块链投票系统”甚至没有尝试提供第二个特性,通常在提供第一个特性时也失败。

无区块链的安全电子投票

社交机制加密安全执行的概念并不是区块链极客发明的,实际上早在我们之前就存在。除了区块链领域之外,有20年的加密学传统在安全电子投票问题上工作,值得庆幸的是已经有 解决方案。很大一部分近二十年文献引用的关键论文是 Juels、Catalano 和 Jakobsson 于2002年撰写的论文 "抗强迫电子选举":

从那时起,这个概念有很多迭代;Civitas是一个著名的例子,尽管还有 许多其他 。这些协议都使用一套类似的核心技术。有一组达成一致的“计票员”,并假设计算的多数计票员是诚实的。每个计票员都有一个私钥的“份额”,在他们之间秘密共享,公开对应的公钥。选民将投票发布到加密为计票员的公钥上,计票员使用 安全多方计算 (MPC) 协议 来解密和验证投票并计算结果。计票计算在“MPC内部”完成:计票员从不学习他们的私钥,并在不了解任何个人投票的信息的情况下计算最终结果,只能从查看最终结果本身中得知相关信息。

对投票进行加密提供了隐私,结合其他基础设施,如 mix-nets 可进一步增强隐私。为了提供抗强迫能力,使用其中两种技术。一个选项是,在注册阶段(计票员学习每个注册选民的公钥期间),选民生成或接收一个秘密密钥。对应的公钥在计票员之间秘密共享,计票员的 MPC 只有在用秘密密钥签名时才会计算投票。选民没有办法向第三方证明他们的秘密密钥,因此如果他们受到贿赂或威逼,可以简单地展示并投票,但签名用的是错误的秘密密钥。另一种选民可能有能力发送消息以 更改 自己的秘密密钥。选民不可能向第三方证明他们没有发送过这样的消息,从而得出同样的结果。

第二种选择是一种技术,选民可以投票多次,而第二次投票会覆盖第一次投票。如果选民受到贿赂或骚扰,他们可以针对贿赂者/强迫者首选候选人投票,但稍后可以发送另一张投票来覆盖第一次投票。

现在,我们来谈谈这些协议中的一个重要细微之处。它们都依赖于外部原语来完成其安全保证:公告板(这是上面图中的“BB”)。公告板是任何选民都可以发送消息的地方,保证 (i) 任何人都可以读取公告板,(ii) 任何人都可以向公告板发送被接受的消息。大多数抗强迫投票论文会随意提及公告板的存在(例如 “与电子投票方案常见的做法一样,我们假设有一个公开可访问的仅附加公告板”),但很少有论文讨论如何实际 实现 这个公告板。而在这里,你大概可以看出我的意思:实现公告板的最安全方法 就是 使用现有的区块链!

带区块链的安全电子投票

当然,在区块链之前,已经有很多尝试建立公告板的尝试。这篇2008年的论文就是这样的尝试;它的信任模型是要求“kn 服务器必须诚实”(k = n/2 是常见情况)。这篇2021年的文献综述探讨了一些之前的公告板尝试,并探讨了利用区块链来完成此工作的能力;回顾的区块链前解决方案同样依赖于 k-of-n 信任模型。

区块链也是 k-of-n 信任模型;它要求至少一半的矿工或权益证明验证者遵循协议,如果该假设失败,往往将导致“51% 攻击”。那么,区块链优于专用公告板的原因是什么呢?答案是:建立一个真正被信任的 k-of-n 系统是困难的,而区块链是唯一已经解决这个问题并且达到规模的系统。想象一下,某个政府宣布准备制定一个投票系统,并提供一个将运行专用公告板的15个地方组织和大学的名单。作为外部观察者的你,怎样知道政府没有仅仅依据与情报机构的秘密勾结选择这15个组织中的1000个呢?

而公共区块链则具有不需要许可的经济共识机制(工作量证明或权益证明),任何人都可以参与,并且拥有现有的多样性和高度激励的基础设施,如区块浏览器、交易所和其他监视节点,实时验证没有恶性操作正在发生。

这些更复杂的投票系统并不仅仅使用区块链;它们依赖于诸如 零知识证明 的密码学来保证正确性,以及多方计算以保证抗强迫能力。因此,它们避免了更简单系统的缺陷,这些简单系统仅仅“将投票直接放在区块链上”而忽视了所导致的隐私和抗强迫问题。然而,区块链公告板在整个设计的安全模型中仍然是一个关键部分:如果委员会被破坏,但区块链没有被破坏,抗强迫能力丧失,但围绕投票过程的所有其他保证仍然保持有效。

MACI:以太坊中的抗强迫区块链投票

以太坊生态系统目前正在实验一个名为 MACI 的系统,它将区块链、ZK-SNARKs 和一个单一的中心化行为者结合在一起,以保证抗强迫能力(但没有权力妥协其他属性)。MACI 在技术上并不复杂。用户通过用他们的私钥签署消息、用中央服务器发布的公钥加密签名消息,并将加密的签名消息发布到区块链上参与。服务器从区块链下载消息,解密、处理,并输出结果以及 ZK-SNARK,以确保它们正确执行了计算。

用户无法证明他们的参与方式,因为他们可以发送“密钥更改”消息来欺骗试图审计他们的人:他们可以首先发送密钥更改消息,将其密钥从 A 更改为 B,随后发送一条用 A 签名的“假消息”。服务器将拒绝该消息,但其他任何人都无法知道密钥更改消息曾经被发送。服务器确实有信任要求,但仅限于隐私和抗强迫能力;服务器不能通过计算错误或审查消息来发布不正确的结果。从长远来看,多方计算可以用于稍微分散服务器,增强隐私和抗强迫能力的保证。

这个方案的演示正在 clr.fund 用于二次资助。使用以太坊区块链确保投票的抗审查能力,确保了比依赖委员会更高的抗审查程度。

回顾

  • 投票过程有四个重要的安全要求,必须满足以确保投票的安全性:正确性抗审查性隐私抗强迫性
  • 区块链擅长前两个。它们不擅长后两个。
  • 加密 将放在区块链上的投票可以增加隐私。零知识证明 可以在观察者无法直接计算投票总数的情况下恢复正确性,因为它们是加密的。
  • 多方计算 解密和检查投票可以提供抗强迫能力,如果与一种机制结合使用,用户可以多次与系统进行互动;要么第一次互动使第二次无效,要么反之亦然
  • 使用区块链确保你具有非常高安全性的抗审查能力,你甚至在委员会勾结并破坏抗强迫能力的情况下仍然保持此抗审查能力。引入区块链可以显著提高系统的安全级别。

但技术能被信任吗?

但现在我们回到对任何形式的电子投票(无论是区块链投票还是非区块链投票)的第二更深入的批评:技术本身不够安全,无法被信任。

最近的麻省理工学院论文 批评区块链投票包括这个有用的表格,描绘 任何 形式无纸化投票被认为根本上太难以确保:

作者关注的关键属性是 软件独立性,即“系统软件中未检测到的变化或错误不能导致选举结果中不可检测的变化”的属性。基本上,代码中的错误不应该意外地使 Prezzy McPresidentface 成为新总统(或者,更现实地说,故意插入的错误不应该能够将某个候选人的份额从 42% 增加到 52%)。

但有其他方法可以解决错误。例如,任何使用公开可验证的零知识证明的基于区块链的投票系统都可以进行独立验证。有人可以编写自己的证明验证器的实现并自行验证 Zk-SNARK。他们甚至可以编写自己的投票软件。当然,实际做到这一点的技术复杂性超过了 99.99% 的任何现实选民,但如果数千个独立专家能够做到这一点并验证其可行性,那么在实践中就已经足够好。

然而,对麻省理工学院的作者而言,这还不够:

因此,任何完全电子的系统,即使是端到端可验证的,似乎在可预见的未来也不适合政治选举。美国投票基金会已注意到E2E-V方法在提高在线投票安全性方面的承诺,但已发布详细报告,建议避免在在线投票中使用这些方法,直到这些技术更加成熟并在投票现场充分测试为止[38]。

其他人提议对这些想法进行扩展。例如,Juels 等人的提案 [55] 强调使用密码学提供多种形式的“抗强迫能力”。Clarkson 等人的 Civitas 提案 [24] 实现了抗强迫能力的额外机制,而 Iovino 等人 [53] 进一步结合并完善其 Selene 系统。从我们的角度来看,这些提案是创新性的,但不现实:它们相当复杂,最重要的是,它们的安全依赖于选民的设备未被损害并如预期的那样运行,这一假设不切实际。

作者关注的问题并不是 投票系统的硬件 是否安全;在这一方面的风险实际上可以通过零知识证明进行缓解。相反,作者关注的是另一个安全问题: 用户的设备 在原则上能否安全?

考虑到所有种类的消费设备漏洞和黑客攻击的漫长历史,人们非常有理由认为答案是“否”。引用我自己关于比特币钱包安全的 文章

昨晚大约晚上9点,PDT,我点击了一个链接,进入 CoinChat[.]freetzi[.]com——我被提示运行 Java。我运行了(觉得这是一个合法的聊天室),什么也没发生。我关闭窗口,没有留意。约 14 分钟后,我打开我的 bitcoin-qt 钱包,看到了一笔我 未批准 的交易,转入账户 1Es3QVvKN1qA2p6me7jLCVMZpQXVXWPNTC,几乎取走了我整个钱包。

还有:

2011年6月,Bitcointalk成员“allinvain”在不明攻击者进入他的电脑后损失了25000 BTC(当时价值50万美元)。攻击者能够访问 allinvain 的 wallet.dat 文件,并迅速清空该钱包——无论是通过从 allinvain 的计算机本身发送交易,还是通过简单地上传 wallet.dat 文件,直接在自己的机器上清空钱包。

但这些灾难掩盖了一个更大的真相:在过去20年中,计算机安全实际上正在 缓慢而稳步地改善。攻击变得更难被发现,通常需要攻击者发现多个子系统中的漏洞,而不是在一个大型复杂的代码中找到一个漏洞。高调事件比以往更大,但这并不是安全性下降的迹象;相反,这仅仅是表明我们在互联网环境中变得更加依赖。

可信硬件 是近期重要改善的来源之一。一些新的“区块链手机”(例如 这款HTC的)在这项技术上走得很远,在可信硬件芯片上放置一个简约的安全操作系统,使得对高安全性应用(例如加密货币钱包)保持隔离。三星已经开始使用 类似的 技术。即使是永远没有被标榜为“区块链设备”的设备(例如 iPhone)也常常具有某种形式的可信硬件。加密货币硬件钱包实际上也是同样的事情,只是它们的可信硬件模块物理上位于计算机外部而不是内部。可信硬件(理所当然!)在安全圈和特别是区块链社区中往往名声不好,因为它 不断 被攻破 一次又一次。而且,确实,你肯定不希望把它用来 替代 安全保护。但作为一种 增强,这是一个巨大的提升。

最后,单个应用程序,如加密货币钱包和投票系统,要比整个消费者操作系统简单得多,错误发生的空间也小得多——即使你必须为 二次投票抽签二次抽签 和下一个世代的 Glen Weyl 在2040年所发明的可怕想法提供支持。这些工具的好处在于它们能够 隔离 简单的事情与复杂且潜在失灵的事情,而这些工具正在取得一些成功。

所以风险可能会随着时间的推移而降低。但有什么好处呢?

这些安全技术的进步指向一个未来,消费硬件在未来可能比现在更值得信赖。在过去几年的这一领域的投资可能会在未来十年内继续产生回报,并且我们可以期待进一步的显著改善。但电子投票(无论是基于区块链还是其他形式)的好处是什么,值得我们探索整个领域呢?

我的答案很简单:投票将变得更加高效,使我们能够更加频繁地进行投票。目前,机构(政府 企业)形式的民主参与往往限于每 1-6 年一次的单一投票。这实际上意味着每年每个选民的输入不到一个位元。或许,这在很大程度上导致了我们社会中去中心化决策的两个极端:纯粹的民主和纯粹的市场。民主要么效率极低(企业和政府投票),要么极不安全(社交媒体点赞/转发)。市场在技术上要高效得多,并且比社交媒体的安全性更强,但其基本的经济逻辑使其与许多公共物品相关决策问题不太匹配。

__

如果我们能够建立更多处于民主与市场之间的新系统,既能受益于前者的平等主义,又能享受后者的技术效率,以及两者之间经济属性的多样,前景无比美好。二次资助是一个很好的例子。流动民主是另一个很好的例子。即使我们不引入新颖的代理机制或二次数学,通过更加频繁且小规模适应每位选民信息的投票,我们也能做很多事情。但所有这些想法的挑战是,为了在任何程度上持久维护 民主性,你需要某种形式的抵御 Sybil 攻击和投票买卖的缓解:这正是这些先进的 ZK-SNARK + MPC + 区块链投票方案试图解决的问题。

Crypto 空间可以提供帮助

区块链领域被低估的一个好处是,它是一个极好的“虚拟特殊经济区”,用于在高度敌对的环境中测试经济和密码学观点。你建设并发布的任何东西,一旦其控制的经济能力超出某个规模,一群多样化的,有时出于利他,有时出于盈利动机,而有时出于恶意的行为者会蜂拥而至,试图将那种经济能力朝向他们各种目标的方向扭曲。

攻击者的动机很高:如果一名攻击者从你的加密经济设备中盗取了100美元,他们通常能够得到100美元的完全奖励,而且他们通常能够逃脱。但捍卫者的动机也很高:如果你开发了一个帮助用户 失去资金的工具,你可以(至少有时)将其转变为一种工具并赚取数百万美元。加密领域是终极训练场:如果你能创造出能够在这种环境中扩展生存的东西,它也许可以在更大的世界中生存。

这适用于 二次资助多重签名社交恢复钱包,它也可以适用于投票系统。区块链空间已经促进了重要安全技术的崛起:

  • 硬件钱包
  • 高效通用的零知识证明
  • 形式验证工具
  • 具有可信硬件芯片的“区块链手机”
  • 抵制 Sybil 攻击的机制,如 人类证明

在所有这些情况下,某种程度上该技术在区块链出现之前就存在。但不可否认的是,区块链在推动这些努力方面影响显著,且该空间内固有的激励结构在推动技术实现的发展中发挥了关键作用。

结论

在短期内,任何形式的区块链投票应该当然只限于小范围的实验,无论是用于更主流的应用的小型试验,还是纯粹为了区块链发表的实验。当前,安全显然达不到完全依赖计算机的程度。但它正在改善,如果我错了,而安全未能得到提升,那不仅区块链投票,整个加密货币也将很难取得成功。因此,继续推动科技改进的动机极为强烈。

我们都应该继续关注各种技术和努力,试图提高安全性,慢慢地在非常重要的社会进程中触及技术的使用。技术已经在我们的金融市场上发挥了关键作用,而加密化大部分经济(甚至仅仅替代黄金)将把经济的更大部分置于我们的密码算法及其运行硬件的管理之中。我们应仔细关注并支持这个过程,并在长期内利用其好处将我们的治理技术带入21世纪。

  • 原文链接: vitalik.eth.limo/general...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Vitalik Buterin
Vitalik Buterin
https://vitalik.ca/