主要来自官方文档的翻译和摘录 WorldCoin由基于人格证明的ID系统,和WLD代币构成。它在保护隐私的同时,区分人类和人工智能。每个人都因为是”人“而可以分享WLD。 WorldCoin需要把人和AI区分开,并且人和人之间也要区分开。它通过定制的Orb生物识别设备来识别人,通过ZK完成隐私保护。
<!--StartFragment-->
https://whitepaper.worldcoin.org/\
WorldCoin由基于人格证明的ID系统,和WLD代币构成。它在保护隐私的同时,区分人类和人工智能。每个人都因为是”人“而可以分享WLD。\ WorldCoin需要把人和AI区分开,并且人和人之间也要区分开。它通过定制的Orb生物识别设备来识别人,通过ZK完成隐私保护。\ World ID 是在 Worldcoin 协议上发布的,它允许个人向任何验证者(包括 web2 应用程序)证明他们是人类,同时通过零知识证明维护他们的隐私。World ID 旨在实现个人绑定,这意味着 World ID 只能由其颁发对象的个人使用。窃取或获取 World ID 凭证的欺诈者应该很难使用它。此外,个人应该始终能够重新获得丢失或被盗的世界 ID。\ 可以有很多不同的issuer,发行各种不同的身份凭证。例如:World ID依据生物验证发行,证明持有者是一个人类;Phone Nr由运营商发行,证明是客户;Gov ID由政府发行,证明是公民...\ WorldCoin整体上非常像W3C的DID协议。\
\
基本要求:\
下面图表达了身份发行,验证的关系,非常像W3C的DID\
\ 恢复可以有多种方法:\
其他措施:\
\ \ POP机制设计:生物识别技术可以满足各种关于PoP的要求:\
\ 生物识别是在录入特征后,后续验证时与之前录入的特征进行对比,是1:N的验证。\ 下图是多种生物识别技术与当前目标的对比,虹膜是可行的。WorldID定制了Orb设备来进行虹膜验证。\
\ 一旦通过Orb验证,用户就可以获得一个World ID,可以定期申请一定的WLD,将来其他凭证也可以基于世界币协议发行。\
\ 虹膜代码是在设备本地计算的,但唯一性识别是在服务器进行的,即与已经注册过的所有代码进行比较。随着注册人数越来越多,这个计算量是越来越大的。\ WorldCoin一开始在polygon上部署,后来迁移到了以太坊的RollUp (基于OP Stack)。\ 用户在手机上生成密钥对,Orb将虹膜和公钥配对,然后公钥(地址)被在以太坊上链注册。会被跨链到polygon POS和Optimism。因此 World ID 可以在这些链上本地使用。\ 注册后,用户可以以不信任和私密的方式向第三方证明他们拥有WorldID,从而证明他们的独特人格。由于很多内容是private的,因此通常需要将证明与特定的操作联系起来(例如投票)。我感觉它跟W3C DID一样。\ \ \ 下图高度概括了注册和使用的基本流程。可以看出来,大部分处理是依赖于链下预言机的。\
\ 用户使用:\ 用户本地生成的sk是随机串,pk是sk的hash,用一个从sk到pk的ZKP作为签名。除了注册外,公钥在日常使用中不会被用到,而是使用一个普通的以太坊密钥对进行日常的链上交互。用户可以直接从WorldApp通过扫描二维码或者用深链接来发起验证,验证通过后,会在本地直接生成一个ZyKP(应该是merkle proof),通过World ID SDK直接发送给发起验证请求的DApp.\ 开发者使用:\ 开发者可以使用链上的验证合约来验证用户提供的ZKP,从而与WorldID集成。开发者至少提供app id和action(也这两个合起来就是context,用来生成无效器-nullifier),无效器用来对抗女巫攻击,因为对一个WorldID来说,一个context是唯一的,只会生成一个无效器。用户的WorldID跟无效器hash在一起,生成无效器hash。对同一个用户来说,无论他开多少个context,只要context一样,就会生成一样的无效器hash,从而对抗女巫攻击。例如对于投票来说,用投票提案的id作为上下文,对空投来说,用用户的钱包地址作为上下文,这样就可以防止重复投票或薅羊毛了。\ 同样的流程也可以用在链外身份验证上,只不过proof的验证要通过rpc服务发送至区块链节点来验证。其他都一样。\ \ \ 链上验证流程(比较简单,就不额外解释了):\
\ 多链支持(非常通用的方法,跟ENS的多链支持类似):
\ WorldID被设计为在一处注册(以太坊),可以在各处使用。\
通过以上内容,基本了解其技术方案了。其他一些经济学,治理等就不再赘述了。
<!--EndFragment-->
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!