DID以及社交网络中的ZKP

2023-10-14 20:40
文章标签 网络 社交 zkp

本文主要是介绍DID以及社交网络中的ZKP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

这篇关于DID以及社交网络中的ZKP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/213012

相关文章

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络 服务器端配置 在服务器端,你需要确保安装了必要的驱动程序和软件包,并且正确配置了网络接口。 安装 OFED 首先,安装 Open Fabrics Enterprise Distribution (OFED),它包含了 InfiniBand 所需的驱动程序和库。 sudo

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

网络学习-eNSP配置NAT

NAT实现内网和外网互通 #给路由器接口设置IP地址模拟实验环境<Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]undo info-center enableInfo: Information center is disabled.[Huawei]interface gigabit

H5漂流瓶社交系统源码

一个非常有创意的H5漂流瓶社交系统源码,带完整前端h5和后台管理系统。 环境:Nginx 1.20.1-MySQL 5.6.50-PHP-7.3 代码下载

Golang 网络爬虫框架gocolly/colly(五)

gcocolly+goquery可以非常好地抓取HTML页面中的数据,但碰到页面是由Javascript动态生成时,用goquery就显得捉襟见肘了。解决方法有很多种: 一,最笨拙但有效的方法是字符串处理,go语言string底层对应字节数组,复制任何长度的字符串的开销都很低廉,搜索性能比较高; 二,利用正则表达式,要提取的数据往往有明显的特征,所以正则表达式写起来比较简单,不必非常严谨; 三,使