本文作者:0xJA,co-founder of Data2.Cash

0x00 前言

本篇为Sismo源码解读的第一篇,我们来解读一下Sismo Badge,这也是我认为Sismo最基础的部分。

0x01 Sismo介绍

什么是Sismo

Sismo 是一个去中心化身份和信任协议,旨在构建可验证的身份和可信任的数据生态系统。它基于以太坊区块链技术,并使用零知识证明(Zero-Knowledge Proofs)来实现个人数据的隐私保护和认证。

Sismo 的目标是使个人能够拥有和控制自己的数字身份,并能够选择与其他应用和服务共享特定的身份信息,而无需泄露其他敏感数据。通过使用零知识证明,Sismo 可以提供可验证性,从而允许用户证明自己的身份、属性或行为,而无需直接披露与之相关的详细信息。

Sismo 的主要组件包括:

Sismo 的目标是为用户提供更大的数字权力和控制,同时保护其个人隐私。它可以应用于各种场景,包括去中心化身份认证、数字资产管理、数据共享和社交网络等。

(以上来自ChatGPT)

上面的介绍我觉得不太直观,其实一句话概括,我们可以简单粗暴地理解为Sismo就是一个ZK勋章的协议。

举一个具体例子,假设一个勋章的条件是持有某个NFT,我有A, B两个钱包,其中A钱包持有该NFT,B钱包是我临时生成的新钱包。我登陆Sismo平台,连接我的A钱包,我就可以领取这个勋章。这个勋章领取到哪里呢?我可以新建一个钱包(比如B钱包),把这个勋章Mint到B钱包,那么这个勋章就和A完全没有关系,对外展示勋章时候就不会暴露A地址,而由于他是通过ZK(零知识证明)生成的,我们又能验证勋章的真实性。

为什么我们不想暴露这里的A地址呢?因为一旦A地址被暴露,任何人都可以知道我(A地址)在链上做过的和未来要做的所有事情,便没有隐私可言。所以才会需要通过这种方式隐藏自己地址,但同时又能证明我真的做过某事。

另外,这里的勋章是一个不可转移的ERC1155,可以理解为是一个SBT。

这里涉及到一些概念,比如ZK、ERC1155等,如有不了解的请自行搜索学习。

ZK Badge Protocol