1. 引言
本文关键术语为:
- Decentralized Identity (DID,去中心化身份) or self-sovereign identity (SSI,自治身份) :是一个基于开放标准的框架,使用自主、独立的标识符和可验证证书,实现可信的数据交换。
- Credential / Attestation / Verifiable Credential (VC) / POAP / SBT:为Web2或区块链上的 一段指向详细资格信息的文档。可由权威机构签发,或自行签发。
- Issuer(发行者):颁发credentials、certifications或资格证书的实体、机构或组织。
- Verifier(验证者):查询credentials,并对该身份进行终端营销或参与活动的最终用户。
如:“XYZ studio想要向所有Uniswap v3 LP空投NFT”,则:
- Verifier:为XYZ studio,其想要致力于的终端参与活动为:空投。
- Credential:为仅由Uniswap LP持有的Uniswap V3 NFT。
- Issuer:Credential的issuer为Uniswap Labs。
- DID:为参与Uniswap协议的数字钱包。
当Verifier查询链上所有Uniswap V3 LP NFT时,Verifier可知道所有公开钱包地址——可将其看成是“可验证数据注册表(verifiable data registry)”。
2. Web2中的identity、Verifiable Credential以及社交网络
Meta、Twitter、Instagram、Reddit、Quora、Weibo、TikTok均为社交媒体平台。他们将用户身份、内容和社交网络结合在一个干净的预包装平台中,该平台易于使用,随后成为获取用户个人数据的好地方,如他们的爱好、活动、地点、兴趣等。
商业模式很简单——将匿名用户数据出售给广告商,广告商将利用这些信息进行更智能的活动。Meta和谷歌还启用了一种拍卖模式,使营销人员能够在广告位上出价。
这对平台来说是一种高利润的商业策略——美国顶级社交媒体公司通过广告收入估计为1811亿美元。谷歌和Meta 2021年总收入的81%和97.9%分别来自该渠道。
当这一收入岌岌可危时,没有一家公司会被激励开源他们的身份数据库,并使其更加用户友好。这就是Web3去中心化、透明、防篡改和保护隐私的社交解决方案的理念发挥作用的地方。
3. Web3社交基础设施的演进
区块链上社会基础设施的一些主要原则如下图所示。数据所有权对于完全控制其数字身份的最终用户来说至关重要。
- 1)所有权及防篡改:
- 用户拥有其自身身份,且为唯一可修改其身份的个体。
- 具有基础访问控制特性。
- 用户知道谁访问了其数据。
- 2)隐私:用户可私有地存储其数据,可避免人肉搜索,除非用户自行选择公开某些信息。
- 3)可验证性:
- 第三方可验证其市场营销用于实际的用户,而不是机器人(bots)。
- 第三方可验证其目标客户具有的特征。
- 第三方可验证凭证颁发者的可信度。
- 4)可访问性:
- 第三方可访问各个用户预定义的所有数据。
- 对于dapp开发人员来说,社交网络和用户attestation数据易于使用和构建。
- 5)有趣性:社交网络对用户来说很有趣,而且有一个基本的娱乐角度。
3.1 Web3社交基础设施现状
当前链上社交数据市场分为:
- 1)dStorage方案:如creamic、IPFS、Filecoin等。
- 2)Social Graphs方案:如LENS、CyberConnect、DeSo等。
- 3)SBT(Soulbound Token)+Social Graph方案:如Project Galaxy、Sismo等。
- 4)Applications/Front-ends/Credentials/SBTs/POAPs方案:如DeBank、OpenSea、LearnWeb3、POAP等。
对于工业应用的关键挑战在于: - 1)缺少链上数据粒度:
- 链上数据,如钱包持有量(ERC20&NFT)、交易、dApp交互、交易频率等,是收集的主要数据。
- 除非分析由钱包购买的NFT类型,否则不访问个人数据。
- 2)缺少隐私保护手段来将链下数据引入到链上:
- 如Ceramic将链下数据引入到链上,会将用户数据暴露给区块链公开查询。
- 3)社交网络上缺乏用户留存率,比如缺乏继续传播社交图的应用程序。
3.2 社交基础设施中的ZKP角色
将社交媒体网络(如Meta或Twitter)中的用户数据引入到链上的关键挑战在于缺乏隐私。即使存储在多个匿名节点的加密数据,也有被hack或解密的风险。
基于ZK的应用可:
- 支持trusteless验证用户数据
- 隐私保护用户数据
在DID系统中使用ZK验证,以ZK attestations或credentials形式,用户可引入更多粒度的社交数据到链上,从而在不泄露过多数据或不引入中心化数据库的情况下,实现trustless验证。
4. 现有ZKP + DID 和 ZKP + 社交网络
4.1 Sismo
基于用户/钱包交互,Sismo支持用户claim ZK attestations
利用Sismo的SDK,开发人员现在可以使用Sismo attestations来命中用户群体。
2022年8月上线的Sismo alpha版本(当时未审计)支持用户在Polygon网络上mint其ZK badge。不过,这些attestations为该钱包的以太坊activity。
如下图为Ethereum Power Users ZK Badges示例,每个attestation/badge为non-transferable SBT(ERC1155)。
4.2 First Batch
First Batch定位为将Discord、Twitter、Reddit等链下社交数据引入到链上。
First Batch使用Twitter的OAuth来对用户的链下数据进行索引,这些链下数据运行在其AI系统中。AI将对用户形象打标签with attestations,如”咖啡爱好者“、”运动爱好者“,甚至“Nespresso”和“湖人球迷”。
在不泄露终端用户真实身份的情况下,dApp开发者可与智能合约层进行交互,将这些标签转换为链上的ZK attestations。
4.3 Trinsic ID
Trinsic的flagship产品包含了:
- 供issuers的credential API;
- 供客户的provider API:可访问VC(Verifiable Credential)。
- 供用户和客户的wallet API:用于命中关键用户群,并主导一些链上参与——如空投。
为使用Trinsic:
- 终端用户必须创建一个Trinsic Studio数字钱包,并在该钱包内生成credentials。
- 与credentials一起,用户必须生成表示多种data points的验证策略,如”用户超过了21岁“。
4.4 Notebook Labs
Notebook支持用户设立关于其是人类,以及其他如姓名、地址、社交安全数字(可选)、居住国家等个人数据的”notebook“。用户notebook存储在某AWS服务器上。
若某用户想要证明其是人类,其证实其钱包地址关联其notebook。客户端生成一个证明:其在merkle tree中有一个叶子节点,并将该proof发送给验证智能合约。
该应用程序将是预批准KYC AML并在未来轻松将其集成到dApp中的好方法。使用基于ZK的DID可以很好地保护用户隐私,并允许用户控制编辑其的数据,而无需将整个数据存储在链上。
4.5 Humannode
Humannode为抗女巫攻击的L1链,其基础共识层采用:proof of uniqueness + proof of existence。Humannode为兼容EVM的substrate链。每个节点具有相同的投票权限,并对恶意行为设置黑名单。截止到2022年8月,该团队声称已收集了超过1万个人类的数据。
Humannode团队专门从事加密生物特征认证,将加密安全匹配和活体检测机制相结合,以验证真实人类的唯一性和存在性。其使用ZKP为协议提供唯一性和生动性的证明。
4.6 Polygon ID
Polygon 2022年8月宣布了其Polygon ID产品,并与Sismo类似。Polygon ID专注于对polygon 链上的钱包行为进行attestation,并帮助生成ZK proof作为验证机制。其核心产品为:
-
用户端的Identity App
-
具有相关API的ID client toolkit
-
供开发者、dApps、客户集成的SDK
4.7 Worldcoin
由Open AI联合创始人Sam Altman开发的Worldcoin,定位为:
- 为proof of personhood协议提供隐私保护
- 借助Semaphores(由以太坊AppliedZKP开发的ZK工具)
其开发了名为Orb的硬件产品,来收集人类的眼睛虹膜图像,将其转换为短数字码,使得可验证该人类是否已注册,若未注册,则可收到其对应份额的免费Worldcoin。
5. 结论
社交基础设施是在web3上构建任何形式的可持续社交网络或应用程序的关键。隐私、安全和数据所有权是基础设施领域的关键,有多家公司正在努力解决这个问题。几乎所有专注于身份背景下隐私的公司都以零知识证明作为验证来源。
随着行业的发展,这些公司面临的关键挑战将是占领市场——这主要是用户数据,只能通过要求用户“注册”的社交应用程序进行扩展。Worldcoin是他们走向市场的一个例外,但除此之外;所有公司都在积极争夺开发者和dApp的关注。为自主开发者创建一个功能性SDK对这些基础设施提供商来说至关重要。他们可能在自己的前端进行了一些游戏化,但由于加密货币中的“娱乐”、“内容”或“投机”概念发生了大规模用户迁移,因此规模有限。
参考资料
[1] Ishanee Nagpurkar 2022年8月博客 Zero Knowledge in DiDs and Social Networks