以太坊的隐私保护研究
以太坊的研究人员正在探索一种他们今年早些时候首次提出的协议,该协议有望通过零知识证明显著提升隐私保护。以太坊开发者阿尔捷姆·奇斯季亚科夫(Artem Chystiakov)在周一的以太坊社区论坛上分享了他的研究,题为《零知识秘密圣诞老人(Zero Knowledge Secret Santa,ZKSS)》,提出了一种三步“秘密圣诞老人”算法。该论文最早于一月份在arXiv上发布。
“秘密圣诞老人”游戏的概念
“秘密圣诞老人”是一种在圣诞节期间流行的匿名赠礼游戏,参与者之间互相交换礼物。每个人为另一位参与者购买礼物,作为他们的“秘密圣诞老人”,同时也会收到来自其“秘密圣诞老人”的礼物。礼物的接收者永远不会知道自己的“秘密圣诞老人”是谁。
在以太坊上玩游戏的挑战
奇斯季亚科夫表示,在以太坊上玩“秘密圣诞老人”面临三大主要挑战,而该协议有望解决这些问题。以太坊上的所有信息对所有人可见,因此需要一种方法来隐藏赠送者与接收者之间的关系,以维护隐私。此外,区块链缺乏真正的随机性,因此参与者必须提供自己的随机选择,并且游戏设计必须防止任何人重复参与或给自己送礼。
以太坊的潜在应用场景
随着加密货币日益融入传统金融,区块链隐私已成为热门话题。隐私协议可以应用于匿名投票和治理场景,包括去中心化自治组织(DAO)或其他组织,在这些场景中,用户需要证明自己是成员并投票,但又希望保持选择的私密性。它还可以应用于举报系统,用户需要证明自己是授权员工,同时匿名提交信息,或用于私密空投或分配,确保代币分发时不透露接收者的身份。
当被问及开源实现或部署时,奇斯季亚科夫表示:“我们正在努力。”
零知识秘密圣诞老人如何运作
该概念验证的Solidity协议利用零知识证明建立礼物发送者与接收者之间的关系,同时保持发送者的隐私和机密性。ZK证明是一种在不透露具体信息的情况下证明知识的密码学方法。ZKSS协议还利用了交易中继器,作为中介提交交易,从而隐藏发送者的身份。
参与者需要在智能合约中注册他们的以太坊地址,创建所有参与者的列表。然后,每个参与者承诺使用特定的数字签名。这可以防止作弊攻击,即某人通过创建不同的签名多次参与。每个参与者随后通过中继器秘密地将他们的随机数字添加到共享列表中,因此没有人知道谁添加了什么。这使得接收者能够加密他们的送货地址,只有他们指定的“圣诞老人”可以读取。
最后,每个参与者从共享列表中选择其他人的随机数字,之后接收者的身份将被揭示。