APP
区块链投票在不知情者中被高估 但在知情者中被低估
2021-07-22 59247 0

特别感谢 Karl Floersch、Albert Ni、Mr Silly 等人的反馈和讨论投票是一个非常需要流程完整性的过程。投票的结果必须是正确的,而且必须有一个透明的程序来保证这一点,这样每个人都可以相信这个结果是正确的。对投票者加以干扰或使他们的投票不被统计都应是不可能成功的。选民压制详见:https://en.wikipedia.org/wiki/Voter_suppression区块链... American)的一篇反区块链投票的文章,有来自CNet的一篇,还有有来自ArsTechnica的一篇···此外还有一些来自科技人员的反对:布鲁斯.斯奈尔(Bruce Schneier)反对区块链投票,麻省理工学院的研究人员写了一整篇论文争辩这是一个坏主意。那么,到底发生了什么?《为什么基于区块链的投票制度可能威胁民主》详见:https://www.computerworld.com/article/3430697/why-... 来字Cnet的《不,区块链不是解决我们投票系统问题的办法》详见:https://www.cnet.com/news/blockchain-isnt-answer-t... Schneier)的《关于区块链投票》详见:https://www.schneier.com/blog/archives/2020/11/on-blockchain-voting.html麻省理工学院的研究人员论文《从糟糕到更糟:从网络投票到区块链投票》详见:https://people.csail.mit.edu/rivest/pubs/PSNR20.pdf大纲区块链投票协议的批评者通常会提出两种关键的批评:区块链不是用来进行选举的软件工具。它们提供的信任属性与投票需要的属性并不匹配,具有不同信息流和信任属性的其他类型软件工具会更好地运作。一般来说,不能信任软件来运行选举,不管它是什么软件。无论平台是如何组织的,软件和硬件缺陷不可检测的风险都太高了。本文将依次讨论这两种观点(“反驳”这个词太过强烈,但我当然是不同意这两种观点的)。首先,我将讨论使用区块链进行投票的现有尝试的安全问题,以及正确的解决方案不是放弃区块链,而是将其与其他加密技术结合起来。其次,我将解决软件(和硬件)是否可信的问题。答案是:计算机安全实际上正在变得更好了,我们可以努力保持这一趋势。从长远来看,纸上谈兵只会成为改善我们投票系统的巨大障碍。每隔N年的大选投票是一种有近250年历史的民主形式,但如果投票方式更方便和简单,我们就可以拥有更好的民主,以便我们能更频繁地这样做。不用说,这篇文章都是基于可用的区块链扩展技术(例如:分片技术)。当然,如果区块链无法扩展,这些则不会发生。但到目前为止,技术的发展十分迅速,我们没有理由去怀疑。《为什么分片技术很棒:揭开技术属性的神秘面纱》详见:https://vitalik.ca/general/2021/04/07/sharding.html糟糕的区块链投票协议区块链投票协议总是被黑客攻击。两年前,区块链投票技术公司Voatz风靡一时,很多人对此非常感兴趣。但去年,麻省理工学院的一些研究人员在他们平台上发现了一系列关键的安全漏洞。与此同时,在莫斯科,一个即将用于选举的区块链投票系统被黑,幸运的是,这发生在选举开始的前一个月。《选票在区块链之前被破坏:美国联邦选举中使用的第一个互联网投票应用程序 Voatz 的安全分析》详见:https://internetpolicy.mit.edu/wp-content/uploads/2020/02/SecurityAnalysisOfVoatz_Public.pdf《为什么莫斯科区块链投票系统在大选前一个月被破解?》详见:https://medium.com/swlh/why-was-moscows-blockchain-voting-system-cracked-a-month-before-an-election-6da5e6d9abbb黑客的攻击相当严重。以下是研究人员分析 Voatz 后发现的潜在攻击性表:详见:https://internetpolicy.mit.edu/wp-content/uploads/2020/02/SecurityAnalysisOfVoatz_Public.pdf这本身并不是反对使用区块链投票的论据。但有人认为随着时间的推移,区块链投票软件应该设计得更仔细,并逐步扩大规模。 隐私和抗审查但即使是技术上没有被破坏的区块链投票协议通常也很糟糕。为了理解其中的原因,我们需要更深入地研究区块链到底提供了怎样特定的安全属性,以及投票需要怎样的安全属性——当我们这样深入时,我们将看到其中的不匹配性。区块链提供了两个关键属性:正确执行(correct execution)和抗审查(censorship resistance)。正确的执行只是意味着区块链接受用户的输入(即“交易”),根据一些预定义的规则处理它们,并返回正确的输出(或以正确的方式调整区块链的“状态”)。抗审查也很容易理解:任何想要交易并愿意支付足够高的gas费的用户,都可以发送这笔交易并期待它很快上链。这两个属性对于投票来说是非常重要的:你想要的选票输出实际上是计算每个候选人的票数的结果,以及选出得票最多的候选人。你也肯定希望任何有资格投票的人都能投票,而不希望一些有权势的人阻止他们。然而,这个投票系统还需要一些区块链没有提供的关键属性:隐私:你不应该知道某个特定的候选人投了谁的票,甚至他们是否投了票。抗审查:你不应该向别人证明你是如何投票的,即使你想这样做。第一个属性的必要性是显而易见的:你希望人们根据他们的个人感受来投票,而不是由他们周围的人、他们的雇主、警察或街上随机出现的暴徒对他们的选择造成了影响。防止“出售选票”需要第二个属性:如果你能证明你是如何投票的,那么“出售”你的选票就变得非常容易。当强制者要求看到投票给他们喜欢的候选人的证据时,选票的可证明性会使这种强制成为可能。大多数人,即使是那些知道第一个属性要求的人,也不会考虑第二项属性要求。但第二个要求也是有必要的,而且在技术上做到也是很重要的。毋庸置疑,你在不知名的地方看到的平均“区块链投票系统”甚至不会尝试提供第二个属性,而且也通常无法提供第一个属性。没有区块链的安全电子投票以密码学安全执行社会机制的概念并不是区块链的极客们发明的,实际上早在他们之前就存在了。在区块链领域之外,密码学家研究安全电子投票问题已有20年的历史,而且已经有了解决方案。朱尔斯(Juels),加泰罗尼亚( Catalano)和雅各布森(Jakobsson)在2002年发表的《抗审查的电子选举》论文在过去20年里已在文献中被多次引用:《抗审查的电子选举》详见:https://eprint.iacr.org/2002/165.pdf从那时起,这个概念经历了多次... board )(这就是上图中的 "BB")。公告板是一个任何选民都可以发送信息的地方,保证(1)任何人都可以阅读公告板,以及(2)任何人都可以向公告板发送被接受的信息。你能找到的大多数抗审查投票论文都会随口提到公告板的存在(例如,"正如电子投票方案中常见的那样,我们假设有一个可公开访问的仅有附录的公告板"),但谈及这个公告板如何能真正实现的论文要少得多。在这里,你可以看到我的想法:实现公告板的最安全的方式是直接使用现有的区块链!这是我的想法。使用区块链安全进行电子投票当然,在区块链之前,已经有很多人试图制作一个公告板(bulletin board)。2008年的这篇论文就是这样的尝试;它的信任模型是一个标准的要求,即“n个服务器中的k个必须是可靠的”(k = n/2是常见的)。这篇从2021年开始的论文综述涵盖了一些在公告板上使用区块链之前的尝试,以及探索区块链在工作中的使用;之前的区块链解决方案同样依赖于“k-of-n”信任模型。2008年的论文《仅限附录的网络公告板》详见:https://epubs.surrey.ac.uk/107392/5/append-only.pd... 2021年的论文《一项调查—布告栏的演变及其在电子投票中的应用》详见:https://eprint.iacr.org/2021/047.pdf区块链也是一个“k-of-n”信任模型:它要求至少有一半的矿工或股权证明验证者遵循协议,如果这个假设失败,往往会导致 "51%攻击"。那么,为什么区块链比特殊用途的公告板(bulletin board)更好呢?答案是:建立一个真正可信的“k-of-n”系统是很难的,而区块链是唯一已经解决了这个问题的系统,而且是大规模的。假设某个政府宣布它正在制作一个投票系统,并提供了一份15个地方组织和大学的名单,它们将运行一个特殊用途的公告牌。作为一个外部观察者,你怎么知道政府是不是根据他们愿意与情报机构秘密勾结,然后从1000个组织的名单中选择这15个组织的呢?另一方面,公共区块链有任何人都可以参与的无许可经济共识机制(POW或POS),而且它们有一个现有的多样化和高度激励的区块探索者、交易所和其他观察节点的基础设施,以不断地实时验证没有糟糕的事发生。这些更复杂的投票系统不只是使用区块链;它们依靠密码学,如零知识证明来保证正确性,并依靠多方计算来保证抗审查性。因此,它们避免了更多简单系统的弱点,即仅仅是 "把投票直接放在区块链上",而忽略了由此产生的隐私和抗审查问题。然而,区块链公告板仍然是整个设计中安全模型的关键部分:如果委员会被破坏,但区块链没有被破坏,抗审查性就会丧失,但围绕投票过程的所有其他证明仍然存在。《关于zk-SNARKs如何可能的大致介绍》详见:https://vitalik.ca/general/2021/01/26/snarks.htmlMACI:以太坊中的抗审查区块链投票以太坊生态系统目前正在试验一个名为MACI的系统,该系统将区块链、ZK-SNARKs和一个保证抗审查性的单一中心行为者结合在一起(但没有权力损害抗审查性以外的任何属性)。MACI在技术上并不十分困难。用户通过使用他们的私钥签名,通过中央服务器把加密的签名消息发布到公钥中,并将加密的签名信息发布到区块链上。服务器从区块链上下载消息,解密它们,处理它们,并将结果与ZK-SNARK一起输出,以确保他们的计算正确。用户无法证明他们是如何参与的,因为他们有能力发送一个 "密钥变更 "信息来欺骗任何试图审计他们的人:他们可以先发送一个密钥变更信息,将他们的密钥从A变更为B,然后发送一个用A签名的 "假信息",服务器会拒绝该信息,但其他人没有办法知道密钥变更信息曾经被发送。对服务器有一个信任的要求,尽管只是为了保护隐私和抗审查;服务器不能通过错误的计算或审查信息来发布一个不正确的结果。从长远来看,多方计算可以用来在一定程度上分散服务器,以保证加强隐私和抗审查性。在clr.fund有一个这个方案的工作演示,被用于二次方融资(quadratic funding)。它使用以太坊区块链来确保投票的抗审查性,这与依赖委员会相比,审查阻力的程度要高得多。clr.fund详见:https://clr.fund/#/ 回顾投票过程有四个重要的安全要求以此来满足投票的安全性:正确性(correctness)、抗审查性(censorship resistance)、隐私性(privacy)和抗胁迫性(coercion resistance)。区块链在前两个方面很好,但在后两个方面很糟糕。对放在区块链上的投票进行加密可以增加隐私。零知识证明可以带回正确性,尽管观察者无法直接将票数加起来,因为它们是加密的。多方计算解密和检查投票可以提供抗胁迫性,如果将用户可以多次与系统互动的机制相结合;要么第一次互动使第二次无效,要么反之。使用区块链可以确保你有非常高安全的抗审查性,即使委员会串通一气,破坏了抗胁迫性,你仍然能保持这种抗审查性。引入区块链可以显著提高系统的安全水平。但是技术是否能信任?但现在我们回到了对任何类型的电子投票的第二种、更深层次的批评,不管是不是区块链:技术本身太不安全,不值得信任。最近麻省理工学院批评区块链投票的论文包括这个有用的表格,描述了任何形式的无纸化投票从根本上来说都太难保障。详见:https://people.csail.mit.edu/rivest/pubs/PSNR20.pdf作者关注的关键属性是软件独立性(software-independence),他们将其定义为 "系统软件中未被发现的变化或错误不能导致选举结果发生不可察觉的变化的属性"。基本上,代码中的一个错误不应该能够意外地使Prezzy McPresidentface成为国家的新总统(或者,更现实的是,一个故意插入的错误不应该能够将某些候选人的份额从42%增加到52%)。但也有其他方法来处理bug。例如,任何基于区块链的投票系统,如果使用可公开验证的零知识证明,可以独立验证。有人可以编写自己的证明验证器的实现,并自己验证Zk-SNARK。他们甚至可以编写自己的软件来投票。当然,真正做到这一点的技术复杂性超出了任何现实的选民群体的99.99%,但如果成千上万的独立专家有能力做到这一点并验证它的工作,这在实践中是绰绰有余的。然而,对麻省理工学院的作者来说,这还不够:因此,在可预见的未来,任何只有电子的系统,即使是可以端对端验证的(end-to-end verifiable),似乎也不适合用于政治选举。美国投票基金会注意到E2E-V方法在提高在线投票安全性方面的前景,但发布了一份详细报告,建议避免将其用于在线投票,除非并且直到该技术更加成熟并在投票站投票中得到充分测试[38]。其他人提出了这些想法的扩展。例如,Juels等人的提议强调使用密码学来提供一些形式的 "抗胁迫"。Clarkson等人的Civitas提案实现了额外的抗审查机制,Iovino等人在他们的Selene系统中进一步整合和阐述了这些机制。从我们的角度来看,这些建议是创新的,但也是不现实的:它们相当复杂,最严重的是,它们的安全性依赖于投票者的设备不受损害并按预期运行,这是一个不现实的假设作者关注的问题不是投票系统的硬件是否安全;这方面的风险实际上可以通过零知识证明来缓解。相反,作者关注的是一个不同的安全问题:用户的设备甚至在原则上都能做到安全吗?鉴于消费者设备的各种漏洞和黑客的长期历史,人们有理由认为答案是 "不"。引用我自己在2013年写的关于比特币钱包安全的文章。《比特币的自我防卫,第一部分:钱包保护》详见:https://bitcoinmagazine.com/culture/bitcoin-self-d... - 我被提示运行java。我做了(以为这是一个合法的chatoom),但什么也没有发生。我关闭了窗口,什么也没想。大约14分钟后,我打开我的比特币-qt钱包,看到一个我没有批准的交易进入钱包1Es3QVvKN1qA2p6me7jLCVMZpQXVXWPNTC,几乎我的整个钱包......还有:2011年6月,Bitcointalk成员 "allinvain "在一个未知的入侵者以某种方式直接进入他的电脑后,损失了25,000 BTC(当时价值50万美元)。攻击者能够访问allinvain的wallet.dat文件,并迅速清空钱包--要么从allinvain的电脑本身发送交易,要么直接上传wallet.dat文件并在他自己的机器上清空钱包。但这些灾难掩盖了一个更大的事实:在过去二十年里,计算机安全实际上一直在缓慢而稳定地改进。攻击更难发现,往往需要攻击者在多个子系统中找到漏洞,而不是在一大段复杂的代码中找到一个漏洞。备受瞩目的事件比以往任何时候都要多,但这并不表明任何事情都变得不那么安全;相反,这只是一个迹象,表明我们对互联网的依赖性越来越大。《相信它:网络安全正在变得更好,而不是更坏》详见:https://www.infosecurity-magazine.com/opinions/cyb... hardware)是最近非常重要的改进来源。一些新的 "区块链手机"(例如HTC)在这项技术上走得很远,在可信硬件芯片上放置了一个以安全为重点的极简操作系统,允许对安全要求高的应用程序(例如加密货币钱包)与其他应用程序分开。三星已经开始使用类似的技术制造手机。甚至那些从未被宣传为 "区块链设备 "的设备(如iPhone)也经常拥有某种可信的硬件。加密货币硬件钱包实际上是同样的东西,只是受信任的硬件模块在物理上位于计算机之外,而不是在计算机之内。可信硬件(当之无愧!)在安全圈,特别是区块链社区经常被说得很糟糕,因为它只是不断地被打破,又一次。而事实上,你绝对不想用它来取代你的安全保护。但作为一种增强手段,它是一个巨大的改进。可信硬件详见:https://link.springer.com/referenceworkentry/10.10... Weyl发明的任何恐怖的支持。像可信硬件这样的工具的好处是它们能够将简单的东西与复杂的、可能坏掉的东西隔离开来,而这些工具正在取得一些成功。《二次方支付》详见:https://vitalik.ca/general/2019/12/07/quadratic.html《二次投票表决》详见:https://ethresear.ch/t/quadratic-voting-with-sortition/6065风险可能会随着时间的推移而减少,但好处是什么呢?安全技术的这些改进表明,未来消费者硬件可能比现在更值得信赖。过去几年在这一领域的投资可能会在未来十年不断得到回报,我们可以期待进一步的重大改进。但是,使投票电子化(基于区块链或其他)的好处是什么,证明探索这整个空间是合理的?我的答案很简单:投票将变得更加有效,使我们能够更频繁地进行投票。目前,对组织(政府或公司)的正式民主投入往往仅限于每1-6年一次的投票。这实际上意味着,每个选民每年只向系统提供了不到一点的投入。也许在很大程度上是由于这个原因,我们社会中的分散决策被严重地分为两个极端:纯民主和纯市场。民主要么是非常低效的(公司和政府投票),要么是非常不安全的(社交媒体的喜欢/转发)。市场在技术上更有效,比社交媒体更安全,但其基本的经济逻辑使其不适合许多种类的决策问题,特别是与公共物品有关的问题。是的,我知道这又是一个三角形,我真的非常抱歉不得不使用它。但是,请容忍我这一次....。好吧,我确信我将来会做出更多的三角形;只是结合起来处理它:)如果我们能建立更多介于民主和市场之间的系统,从前者的平均主义、后者的技术效率和两者之间的经济属性中获益,我们可以做很多事情。二次融资就是一个很好的例子。流动民主( Quadratic funding )是另一个很好的例子。即使我们不引入新奇的委托机制或二次数学,我们也可以通过更多地进行投票来做很多事情,并且在更小的范围内更适应每个选民可以获得的信息。但所有这些想法的挑战是,为了有一个计划,持久地保持任何democraticness水平,你需要某种形式的抵抗女巫攻击的性能(sybil resistance)和买票缓解(vote-buying mitigation):正是这些幻想ZK-SNARK + MPC +区块链投票方案试图解决的问题。加密空间可以提供帮助加密空间的一个被低估的好处是,它是一个极好的 "虚拟经济特区",可以在一个高度对抗的环境中测试经济和加密理念。无论你建立和发布什么,一旦它所控制的经济力量超过一定规模,一大批不同的,有时是利他主义的,有时是受利益驱动的,有时是恶意的行为者,其中许多人是完全匿名的,将降临到这个系统,并试图将这种经济力量扭曲为他们自己的各种目标。攻击者的动机很高:如果攻击者从你的加密经济小工具中窃取了100美元,他们往往可以得到全部100美元的奖励,而且他们往往可以逃脱。但对防御者的动机也很高:如果你开发一个工具,帮助用户不失去他们的资金,你可以(至少有时)把它变成一个工具,赚取数百万美元。Crypto是最终的训练区:如果你能建立一个能在这种环境中大规模生存的东西,它可能也能在更大的世界中生存。这适用于二次方融资,它适用于多重签名( multisig)和社会恢复钱包(social recovery wallets),它也可以适用于投票系统。区块链空间已经帮助推动了重要安全技术的崛起:《Gitcoin赠款第九轮:成长的下一个阶段》详见:https://vitalik.ca/general/2021/04/02/round9.html多重签名项目gnosis-safe详见:https://gnosis-safe.io/《为什么我们需要广泛采用社会恢复钱包?》详见:https://vitalik.ca/general/2021/01/11/recovery.html硬件钱包高效的通用零知识证明形式化验证工具带有可信硬件芯片的 "区块链手机"反女巫攻击方案,比如Proof of HumanityProof of Humanity详见:https://www.proofofhumanity.id/在所有这些案例中,该技术的某些版本在区块链出现之前就已经存在。但难以否认的是,区块链在推动这些努力方面产生了重大影响,而该领域固有的巨大激励作用在提高赌注方面发挥了关键作用,足以使该技术的发展真正发生。结论在短期内,任何形式的区块链投票肯定应该继续限制在小规模的实验中,无论是为更多的主流应用进行小规模试验,还是为区块链空间本身进行试验。目前,安全问题肯定还没有好到一切都要依靠计算机的程度。但它正在改善,如果我错了,安全无法改善,那么不仅是区块链投票,而且是整个加密货币,都很难成功。因此,该技术有很大的动力继续改进。我们都应该继续关注技术和各地正在进行的努力,试图提高安全性,并慢慢地在非常重要的社会进程中更自如地使用技术。技术已经是我们金融市场的关键,而大部分经济的加密化(甚至是取代黄金)将把更大一部分的经济放在我们的加密算法和运行它们的硬件手中。我们应该仔细观察并支持这一进程,随着时间的推移,利用其优势,将我们的治理技术带入21世纪。来源 | https://vitalik.ca/general/2021/05/25/voting2.html作者 | Vitalik Buterin(2021-05-25)翻译 | Stella

本文链接:https://www.coingogo.com/news/55131

内容来源:Vitalik Buterin(2021-05-25)翻译 | Stella

版权声明:本文仅为传播消息之用,不代表币源社区立场,文章不构成投资建议。如需转载,请务必注明文章原作者以及来源,部分图片来源于网络,我们尊重版权,如有疑问敬请联系,我们将核实并删除。

我要评论
字数上限500
评论(0)