。因此,它们避免了那些更为「天真」的投票系统的弱点,即只是「把选票直接投给区块链」而忽略由此产生的隐私保护和抗胁迫问题。但区块链布告栏仍然是整个设计的安全模型的关键部分:如果委员会被攻破了,但区块链没有被攻破,抗胁迫的特性就会消失,尽管围绕投票过程的所有其他保证仍然存在。MACI:以太坊上的抗胁迫区块链投票以太坊生态系统目前正在试验一种名为 MACI 的系统 [14],该系统结合了区块链、ZK-SNARKs 和一个确保抗胁迫性的中央参与者 (但除了保证抗胁迫特性之外,没有能力破坏任何特性)。MACI 在技术上不是很困难。用户可以通过以下方式参与:使用自己的私钥签名消息,然后通过中央服务器发布的公钥来对该签名消息进行加密,并将经加密的签名消息发布到区块链。服务器从区块链下载这些消息,对其进行解密和处理,并输出一个结果和一个 ZK-SNARK 证明,以确保正确地进行了计算。 用户无法证明他们是如何参与其中的,因为他们能够发送一个「更改密钥」的信息来欺骗任何试图审计他们的人:他们可以先发送一条更改密钥的消息,将他们的密钥从 A 更改为 B,然后发送一条用 A 签名的「假消息」。服务器会拒绝这条假消息,但其他人没有任何方法知道这条更改密钥的消息被发送了。对服务器上有一个信任需求,尽管只是为了实现隐私保护和抗胁迫;服务器不能通过不正确的计算方式或通过审查消息来发布错误的结果,从长远来看,多方计算可以用于在某种程度上实现该服务器的去中心化,进而加强隐私保护和抗胁迫的保证。 这个方案在 clr.fund[15] 有一个演示,该方案被用于进行二次方融资 (quadratic funding)。通过使用以太坊区块链来保证投票的抗审查,确保了比依赖一个委员会提供了高得多的抗审查程度。 小结
|