当前位置: 首页 > news >正文

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

1. 引言 本文关键术语为: Decentralized Identity (DID,去中心化身份) or self-sovereign identity (SSI,自治身份) :是一个基于开放标准的框架,使用自主、独立的标识符和可验证证书,实现可信的数据交换。…...

基于SWAT-MODFLOW地表水与地下水耦合

耦合模型被应用到很多科学和工程领域来改善模型的性能、效率和结果,SWAT作为一个地表水模型可以较好的模拟主要的水文过程,包括地表径流、降水、蒸发、风速、温度、渗流、侧向径流等,但是对于地下水部分的模拟相对粗糙,考虑到SWAT…...

2023拒绝内卷!两年转行网络安全真实看法!

我目前转行网络安全两年,没啥天分,全靠努力,基本能够得上中级的水平了。看到大家对转行网络安全挺感兴趣,也有挺多争议,想把我的建议和经验告诉大家。 有很多人觉得网络安全已经饱和了,现在选择这个工作&a…...

【SA8295P 源码分析】57 - libDSI_MAX96789_0.so驱动库 之 QDI_Panel_Init 显示屏初始化函数 代码分析

【SA8295P 源码分析】57 - libDSI_MAX96789_0.so驱动库 之 QDI_Panel_Init 显示屏初始化函数 代码分析 一、QDI_Panel_Init() 显示屏初始化函数:Panel_DSI_MAX96789_0_Init()二、QDI_Panel_SetPower() 显示屏初始化:Panel_DSI_MAX96789_0_PowerLCD()三、QDI_Panel_GetInfo() …...

IDEA偶尔编译的时候不识别lombok

偶尔IDEA启动项目的时候会识别不到lombok,识别不到get()跟set()方法 方案 在settings添加下面代码 -Djps.track.ap.dependenciesfalse...

rust学习-构建服务器

单线程server 服务器会依次处理每一个请求,在完成第一个连接的处理之前不会处理第二个连接 // cat main.rs use std::io::prelude::*; use std::net::TcpListener; use std::net::TcpStream;fn main() {let listener TcpListener::bind("127.0.0.1:7878&quo…...

Java并发----进程、线程、并行、并发

一、进程与线程 进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的 当一个程序被运行…...

【计算机网络】第 4 课 - 物理层

欢迎来到博主 Apeiron 的博客,祝您旅程愉快 ! 时止则止,时行则行。动静不失其时,其道光明。 目录 1、物理层的基本概念 2、物理层协议的主要任务 3、物理层任务 4、总结 1、物理层的基本概念 在计算机网络中,用来…...

深入理解MVVM架构模式

MVVM原理 MVVM是一种用于构建用户界面的软件架构模式,它的名称代表着三个组成部分:Model(模型)、View(视图)和ViewModel(视图模型)。MVVM的主要目标是将应用程序的UI与其底层数据模…...

配置IPv6 over IPv4手动隧道示例

组网需求 如图1所示,两台IPv6主机分别通过SwitchA和SwitchC与IPv4骨干网络连接,客户希望两台IPv6主机能通过IPv4骨干网互通。 图1 配置IPv6 over IPv4手动隧道组网图 配置思路 配置IPv6 over IPv4手动隧道的思路如下: 配置IPv4网络。配置接…...

Vue3--->组合式API与Pinia

目录 使用create-vue搭建 1、使用create-vue创建项目 2、项目目录和关键文件 组合式API 1、组合式API - setup选项 2、组合式API - reactive和ref函数 3、组合式API - computed 4、组合式API - watch 1、基础使用 - 侦听单个数据 2、基础使用 - 侦听多个数据 3、immediate&…...

三言两语说透柯里化和反柯里化

JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是两种很有用的技术,可以帮助我们写出更加优雅、泛用的函数。本文将首先介绍柯里化的概念、实现原理和应用场景,然后介绍反柯里化的概念、实现原理和应用场景,通过大量的代码示例帮助读…...

细讲TCP三次握手四次挥手(四)

常见面试题 为什么TCP连接的时候是3次?2次不可以吗? 因为需要考虑连接时丢包的问题,如果只握手2次,第二次握手时如果服务端发给客户端的确认报文段丢失,此时服务端已经准备好了收发数(可以理解服务端已经连接成功)据…...

HarmonyOS/OpenHarmony元服务开发-配置卡片的配置文件

卡片相关的配置文件主要包含FormExtensionAbility的配置和卡片的配置两部分: 1.卡片需要在module.json5配置文件中的extensionAbilities标签下,配置FormExtensionAbility相关信息。FormExtensionAbility需要填写metadata元信息标签,其中键名称…...

mac安装nacos,M1芯片

第一步,官网下载 》nacos官网 去github中下载对应的版本,本人下载的是1.4.1版本 在这儿选择其他的版本,下面这里选择 tar.gz 压缩包 解压后放到一个非中文的目录下,我选择在 user目录下面创建一个other目录,将使用的环…...

老板说把跳针改过去,什么是主板跳针

最近骑车拍了很多视频,把电脑磁盘堆满了,想着买一条固态SSD卡扩展一下。 一咬牙一跺脚,直接安排,毫不犹豫。顺带加装了无限网卡和蓝牙5.2。 收到后立马安装。安装完发现识别不到新磁盘 确认安装没问题。然后就去问固态硬盘的客服 …...

PyTorch代码实战入门

人这辈子千万不要马虎两件事 一是找对爱人、二是选对事业 因为太阳升起时要投身事业 太阳落山时要与爱人相拥 一、准备数据集 蚂蚁蜜蜂数据集 蚂蚁蜜蜂的图片,文件名就是数据的label 二、使用Dataset加载数据 打开pycharm,选择Anaconda创建的pytorch环…...

TSINGSEE青犀视频汇聚平台EasyCVR多种视频流播放协议介绍

众所周知,TSINGSEE青犀视频汇聚平台EasyCVR可支持多协议方式接入,包括主流标准协议GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。今天我们来说一说,EasyCVR平台支持分…...

Vivado进行自定义IP封装

一. 简介 本篇文章将介绍如何使用Vivado来对上篇文章(FPGA驱动SPI屏幕)中的代码进行一个IP封装,Vivado自带的IP核应该都使用过,非常方便。 这里将其封装成IP核的目的主要是为了后续项目的调用,否则当我新建一个项目的时候,我需要将…...

开放自动化软件的硬件平台

自动化行业的产品主要以嵌入式系统为主,历来对产品硬件的可靠性和性能都提出很高的要求。最典型的产品要数PLC。PLC 要求满足体积小,实时性,可靠性,可扩展性强,环境要求高等特点。它们通常采用工业级高性能嵌入式SoC 实…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

conda相比python好处

Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理&#xff1a…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...