A decentralized identity system that can provide users with self-sovereign digital identities to facilitate complete control over their own data is paramount to Web 3.0. The accounting system on blockchain is an ideal archetype for realizing Web 3.0 decentralized identity: users can create their accounts without registering with a central agent. Such an identity system is endowed with anonymity property: nobody knows the account's owner because the relationship between an account and the owner is invisible. Thus, user privacy is well protected even though the account's data is public. However, a disadvantage of such complete anonymity is that users can create multiple accounts without authentication to obfuscate their activities on the blockchain. In particular, the current anonymous blockchain account system cannot accurately register the social relationships and interactions between real human users, given the amorphous mappings between users and blockchain identities. Mistrust can be a major hurdle to the large-scale deployment of Web 3.0. This work proposes ZKBID, a zero-knowledge blockchain-account-based Web 3.0 decentralized identity scheme, to overcome endemic mistrust in blockchain account systems. ZKBID links souls (blockchain accounts) to humans (users) in a one-to-one manner to truly reflect the societal relationships and interactions between humans on the blockchain. With ZKBID, the users are accountable for their accounts anonymously, preserving privacy. ZKBID authenticates users using face match and then maps authenticated users to accounts. Zero-knowledge proofs encode the face match results, and user-account mappings employ linkable ring signatures to preserve anonymity. We implemented ZKBID and built a blockchain test network for evaluation purposes. Our tests demonstrate the effectiveness of ZKBID and suggest proper ways to configure ZKBID system parameters.
翻译:能够向用户提供自我主权数字身份的分散化身份系统,为用户提供自我主权数字身份,以便利对自身数据进行完全控制,这是Web 3.0的关键。 块链上的会计系统是实现Web 3. 0 分散化身份的理想原型:用户可以在不向中央代理机构登记的情况下创建账户。 这种身份系统具有匿名属性:没有人知道账户的所有人,因为账户和所有者之间的关系是无形的。因此,即使账户的数据是公开的,用户隐私也得到了很好的保护。然而,完全匿名的缺点是用户可以创建多个账户,而无需认证来混淆其在块链中的活动。 特别是,当前的匿名块链子账户系统无法准确登记真正的人类用户之间的社会关系和互动关系,因为用户和链链链路之间有着不固定的图像。