以太坊研究人员正在研究如何部署他们在今年早些时候首次提出的一种协议,该协议可通过零知识证明大幅提升隐私。
以太坊开发者Artem Chystiakov于周一在以太坊社区论坛分享了他的研究,题为“Zero Knowledge Secret Santa(ZKSS)”,该研究提出了 一个三步的“秘密圣诞老人”算法。该论文 于1月在arXiv上首次发布。
“秘密圣诞老人”是一个在临近圣诞节时流行的匿名送礼游戏,一群人彼此匿名交换礼物。每个人会为另一人购买礼物,作为对方的“秘密圣诞老人”,同时自己也会收到来自其“秘密圣诞老人”的礼物。
收礼人永远不知道他们的“秘密圣诞老人”是谁。
在以太坊(ETH)上进行游戏的挑战
Chystiakov表示,在以太坊上进行“秘密圣诞老人”有三大难题,而该协议可以解决这些问题。
在以太坊上,一切对所有人都是可见的,因此需要一种方式来隐藏谁向谁赠送并保持隐私。
区块链没有真正的随机性,因此参与者必须贡献各自的随机选择,并且游戏必须设计成防止任何人重复参与或给自己送礼。
以太坊(ETH)的潜在用例
随着加密与传统金融日益融合,区块链隐私 近期成为热门话题。
隐私协议可应用于匿名投票和治理等场景,包括DAO 或组织,在这些场景中,用户需要证明自己是成员并投出一票,但保持其选择的私密性。
它也可用于举报系统,用户需要在匿名提交信息的同时证明自己是授权员工;或用于私密空投或分配,需要在不透露谁收到了什么的情况下分发代币。
当被问及开源实现或部署时,Chystiakov表示:“我们正在推进。”
零知识秘密圣诞老人如何运作
这一概念验证的Solidity协议使用零知识证明,在保持发送方隐私 与机密性的同时,建立礼物发送者与接收者之间的关系。
ZK证明 是一种无需披露具体信息即可证明知识的密码学方法。ZKSS协议还使用交易中继者,作为提交交易的中间人,从而隐藏发送方身份。
要参与,参与者在智能合约中登记其以太坊地址,生成所有参与者的列表。随后,每位参与者承诺使用特定的数字签名。
这可防止通过创建不同签名来多次参与的作弊攻击。
接着,每位参与者通过中继者将自己的随机数秘密添加到共享列表中,因此无人知道是谁添加了什么。这使收礼人可以加密其收货地址,只有分配给他们的“圣诞老人”能读取。
最后,每位参与者从共享列表中选择他人的随机数,随后收礼人的身份被揭示。