作者:sydney,加密KOL;翻译:金色财经xiaozou
Worldcoin上线了。它在隐私保护方面是如怎么做的?让我们具体看下Semaphore协议和ZK-SNARKs。
Worlkcoin使用Orbs专用硬件,它可以扫描用户虹膜来验证用户身份。Worldcoin是一个运行在以太坊上的L2,扩展了Semaphore(稍后会详细介绍)并使用ZK-SNARKs。
由于Worldcoin使用ZKP,用户可以在不泄露相应公钥的情况下证明自己对数据库私钥的所有权。这意味着没有人能将任何操作与特定的身份相关联。
Orb扫描你的虹膜并发布一个哈希值。这不是典型的SHA256哈希值。它使用一种基于Gabor过滤器的算法,因为同一虹膜的两张照片并不会完全相同。
除非经你批准,否则原始生物识别数据不会离开Orb,并且哈希值与你的profile或钱包是分开存储的。最糟糕的情况是,如果攻击者扫描了你的虹膜,他们就可以知道你是否在数据库中。
Semaphore协议是一种匿名身份验证工具,其工作原理如下:
(1)用户创建身份;
(2)身份被提交给一个默克尔树;
(3)当用户想要执行一个操作时,会生成一个ZK-SNARK;
(4)任何人都可以根据默克尔树的根来进行验证。
Worldcoin使用ZK rollup扩展Semaphore,具体如下:
(1)身份承诺被转发到signup sequencer(签名排序器);
(2)signup sequencer将承诺插入队列;
(3)单个固定batcher处理队列(当前)并计算默克尔树更新证明;
(4)Prover使用初始根、最终根和insertion start索引计算一个Groth16证明;
(5)Batcher创建交易并将其提交给relayer(中继器);
(6)Relayer分配费用,签署交易,并将其提交给区块链节点;
(7)World ID合约验证来自排序器的交易;
(8)Groth16验证者合约检查ZKP的完整性;
(9)旧根被弃用,新根被置入合约。
V神在其关于Worldcoin的博文中就如何改善隐私性提出了两条建议:
· 一是改进虹膜哈希算法,减小扫描差值。这将通过使用“helper data”(辅助数据)而非存储完整的哈希值来减少存储的数据量。
· 二是将虹膜哈希数据库存储在一个只能由Orbs访问的多方计算(MPC)系统中。这使得数据不可访问,但会带来治理复杂性。
就我个人而言,我不会扫描我的眼球,但这项技术很有趣。我确实认为当前这种末日论有点言过其实了。