A soul-run community where ideas on web3 identity emerge.
A soul-run community where ideas on web3 identity emerge.
Share Dialog
Share Dialog

Subscribe to Identity's Discourse

Subscribe to Identity's Discourse
<100 subscribers
<100 subscribers


2022 年 5 月,Glen Weyl、Puja Ohlhaver 和 Vitalik Buterin 发表了《去中心化社会》一文,阐述了“灵魂绑定”代币这一概念,认为 Web3 可以通过灵魂绑定避开时下过度的金融化。同时,人们可以建立起可信任的网络,从而跨越差异,达成深层次的连接与合作。目前关于灵魂绑定代币(Soulbound Token, SBT)、可验证凭证(Verifiable Credential, VC),以及其他去中心化身份的讨论络绎不绝。此文旨在对比 SBT 和 VC ,探索在应用层建立身份的方式。
(文章内容由 Litentry 平行链工程师 Kailai Wang 的演讲内容整合而来)

Web1: 用户通过用户名和密码获取查看内容的权限,即用户在网站上的个人档案或数据仅个人可见。
Web2: 中心化的大型科技公司利用联合身份管理系统让登录程序更简便。只需一个账户,例如微信账号,就可以登录其他网站,使用其他网络服务。
Web3:只需钱包地址就能登录网站,解锁一站式服务,获取专享功能与数据。
用钱包地址登录当然无可厚非,这也说明了钱包在Web3的重要性—— 钱包地址代表了一个人的身份,人们通过钱包地址来了解钱包背后的人。由此以来,人们网络身份变得扁平化。
然而,人的形象应该是具象的、立体化的。0x 开头的十六制编码只是一串杂乱的符号,由此构成的钱包地址并不能完全代表使用该钱包的人。此外,人们多使用钱包于交易——转移资金、质押、借贷、流动池里挖矿。人们在参与这些活动中所形成的个人属性被模糊,你是否果决?是否值得信赖?是否活跃于某个圈子?
因此,我们必须拓展钱包的功能,用钱包来记录或者关联我们的社会属性。这就是去中心化身份标识 (DIDs) 会发挥作用的地方,也是灵魂代币和可验证凭证尝试解决的问题。
灵魂绑定代币(SBT)是代币 (token) 的一种,和非同质化代币 (NFT) 类似,所以也有对应的以太坊标准;可验证凭证(VC)则是由第三方验证发放,用于证明某人做出的声明,该证明人即为可验证凭证持有方。
严格来看,SBT 的标准还尚未衡定。目前主要是依据 EIP-5114 和 EIP-4974 ,但这两类标准仍在完善中。可验证凭证由万维网联盟 (W3C) 制定,有 W3C 的数据模型,对去中心化身份中的不同角色、责任,以及数据传输、数据模式做出规定,并给出了具体的定义和例如展示、证据、主体等术语的解释。

以 EIP-5114 代币标准为例,它和人们熟知的 ERC-20 和 ERC-71 类似,定义了事件及代币功能。由上图代码段落可以看到,其定义的事件和功能包括铸造事件(记录每次代币的新实体被铸造)以及用于获取代币信息和持续有效的 URI 的功能。简而言之,这些事件和功能被用于智能合约的实施,而智能合约又会被用于铸造或管理这一代币形式。

在 W3C 的 VC 数据模型中,里面有许多不同的参与者。
发行方:负责发行凭证。
持有方:获取并储存可验证凭证,提取其中的信息,甚至合并所有信息为数据“展示”,将该“展示”发送给验证方。
验证方:验证并利用凭证。
除此之外,W3C 的 VC 模型中还包含一个常见的基础设施——可验证数据注册系统。该系统用于管理不同的标识符和标识方案,例如包含可验证凭证储存的注册系统。W3C的这一模型具有高度概括性,没有提到任何智能合约的实施细节。这也留出极大的灵活性和个性化空间,没有把去中心化身份限制于某一固定的技术协定,比如在先行网路中,若不遵守 TCP, IP, 或 HTTP 协定,就无法正常运作。

灵魂绑定代币(SBT):任何人——我们的家人、朋友,甚至陌生人都可发行 SBT。SBT强调的是身份的社会交往属性:对每个人来说,最了解他们的人都有所不同,因此没有任何一个群体能单独作为所有人的验证方,然而,其去中心化的属性和低门槛的发行标准让欺诈甚至恶意攻击有机可乘,导致灵魂代币潜在被滥用的风险。当然,发行方可以设置一个拒绝机制,要求代币接收方同意后才能完成转移。
可验证凭证(VC):相比之下,VC 通常由可信任的权威方(例如去中心化应用)来验证,其信任建立在验证者的信誉、去中心化或某种担保之上。适用于一些涉及高度的信任和授权个人信息的场景。
灵魂绑定代币(SBT): SBT 是可撤销的。也就是说,如果关于 SBT 持有方的某一陈述不再真实(如成员身份失效),发行方可以撤销其拥有的 SBT。这一属性可及时保证SBT数据的有效性,但其可撤销性隐含了被利用的风险。例如,当发行方遭受攻击,其发行的SBT都有可能被撤销。
可验证凭证(VC):VC 是不可撤销的。也就是说,即使 VC 的数据失效了,你仍可以继续持有此无效的VC,声称自己是某个健身房的会员。因此 VC 或者实体证书上通常会加上时间限制,写明其凭证的有效期。
灵魂绑定代币(SBT):由于 SBT 仅是一种代币形式,它可以无缝聚合到已有的链上协定中。已有的NFT基础设置,如链上NFT管理的工具,可以轻松做出调整,运用灵魂货币。
可验证凭证(VC):由于W3C 的数据模型具有高度概括性,VC 可以被看作是一个容器,装有链上数据、链下数据、以及其他不同的类型的数据。实施起来也十分灵活,无需遵守任何界面或提前预设好API,而可直接编写。
可验证凭证(VC):可验证凭证涵盖了更精细化的隐私管理。VC 持有者可以任意选择展示某个凭证,或只展示凭证的一部分。例如要验证某VC持有方从某一学校毕业,该持有方可以提取凭证的部分信息,证明他/她确实从这一学校毕业,但却不透露自己的其他信息。
灵魂绑定代币(SBT):灵魂代币本身并不具有VC这一属性,但可以利用零知识证明达到类似的隐私保护作用。
SBT 具有公开性,但哪种类型的 SBT 将会被公开?公开后是否会过度曝光个人信息?这些问题引起人们对其公开性的担忧,但目前已经有一些隐私解决方案。
方法一:赋予 SBT 其哈希值:通过给代币附上哈希值,将隐私数据交付于保护隐私的链上或隐私加密的数据存储中,只有白名单上的地址才能有解密钥匙。但是,这一方法会导致 SBT丢失灵魂象征的属性,外界无法看到其“灵魂”。
方法二:将数据分为链上存储和链下隐私数据存储,还可以编写一份智能合约程序化隐私规则,一旦某些条件被触发,就可以展示某部分内容。例如,只有特定的 DAO 成员才能查看我的参与证明(POA)。这样,SBT就是可程序化、可定制的,SBT 持有方就能决定自己的隐私规则。
另一方面,VC 受制于隐私的单方授权。当获取 VC、验证 VC 上的数据时,验证方通常要求VC持有方在场,并且同意其中的授权规则,方可获取数据。
解决方案之一:在一些情况下,将部分或全部的VC信息授权、委托给可信任的第三方管理。和可编程的SBT类似,你可以添加规则,有选择性地授予可信任的访问者权限,并用智能合约或编程逻辑自动化这一过程。此外,VC 持有者应当只生成、获取涵盖所需信息的 VC,而不涵盖其他多余的信息。
这些针对隐私问题的解决方案都遵循着相同的原则,即在个人数据和公共数据间找到平衡点。
SBT 的链上数据是完全公开的,所以要将敏感的个人信息转移到私下存储,再选择性地授予权限。利用可验证凭证时,可以将部分数据控制权限呈交给第三方,这样这些数据有更高的公开性,开放给更多的参与者。
通常而言,隐私性与便捷性似乎并不相融。安全度、隐私性提高后,整个程序过程会变得更加繁复。我们要做的就是在二者之间找到平衡点。
总而言之,没有一个解决方案或理论是完美无缺、并适用于任何情况的,但VC和SBT可以相互补足。
我们认为,VC 和 SBT 之间可以互补,例如结合 SBT 的社会恢复机制和 VC 处理隐私的方式。只要对实际应用有效,我们就可以将二者结合起来,简单的例子是将 SBT 的链接放到 VC 里,以 VC 作为 SBT 的容器。
在未来,我们希望能解决信息兜售的问题。目前看来这一问题很难解决,并且两者在这一方面都做得不是很好。尽管 SBT 和一些通用凭证都是可撤销的,我们却无法撤销已经被曝光的信息。同时,我们需要致力于标准化 SBT 和 VC,以更好地实施相关细节与让更多的用户受益。
参考资料
如有疑问或想加入话题讨论,请联系 kailai.wang@litentry.com 或 推特DM @Kai_Litentry。
2022 年 5 月,Glen Weyl、Puja Ohlhaver 和 Vitalik Buterin 发表了《去中心化社会》一文,阐述了“灵魂绑定”代币这一概念,认为 Web3 可以通过灵魂绑定避开时下过度的金融化。同时,人们可以建立起可信任的网络,从而跨越差异,达成深层次的连接与合作。目前关于灵魂绑定代币(Soulbound Token, SBT)、可验证凭证(Verifiable Credential, VC),以及其他去中心化身份的讨论络绎不绝。此文旨在对比 SBT 和 VC ,探索在应用层建立身份的方式。
(文章内容由 Litentry 平行链工程师 Kailai Wang 的演讲内容整合而来)

Web1: 用户通过用户名和密码获取查看内容的权限,即用户在网站上的个人档案或数据仅个人可见。
Web2: 中心化的大型科技公司利用联合身份管理系统让登录程序更简便。只需一个账户,例如微信账号,就可以登录其他网站,使用其他网络服务。
Web3:只需钱包地址就能登录网站,解锁一站式服务,获取专享功能与数据。
用钱包地址登录当然无可厚非,这也说明了钱包在Web3的重要性—— 钱包地址代表了一个人的身份,人们通过钱包地址来了解钱包背后的人。由此以来,人们网络身份变得扁平化。
然而,人的形象应该是具象的、立体化的。0x 开头的十六制编码只是一串杂乱的符号,由此构成的钱包地址并不能完全代表使用该钱包的人。此外,人们多使用钱包于交易——转移资金、质押、借贷、流动池里挖矿。人们在参与这些活动中所形成的个人属性被模糊,你是否果决?是否值得信赖?是否活跃于某个圈子?
因此,我们必须拓展钱包的功能,用钱包来记录或者关联我们的社会属性。这就是去中心化身份标识 (DIDs) 会发挥作用的地方,也是灵魂代币和可验证凭证尝试解决的问题。
灵魂绑定代币(SBT)是代币 (token) 的一种,和非同质化代币 (NFT) 类似,所以也有对应的以太坊标准;可验证凭证(VC)则是由第三方验证发放,用于证明某人做出的声明,该证明人即为可验证凭证持有方。
严格来看,SBT 的标准还尚未衡定。目前主要是依据 EIP-5114 和 EIP-4974 ,但这两类标准仍在完善中。可验证凭证由万维网联盟 (W3C) 制定,有 W3C 的数据模型,对去中心化身份中的不同角色、责任,以及数据传输、数据模式做出规定,并给出了具体的定义和例如展示、证据、主体等术语的解释。

以 EIP-5114 代币标准为例,它和人们熟知的 ERC-20 和 ERC-71 类似,定义了事件及代币功能。由上图代码段落可以看到,其定义的事件和功能包括铸造事件(记录每次代币的新实体被铸造)以及用于获取代币信息和持续有效的 URI 的功能。简而言之,这些事件和功能被用于智能合约的实施,而智能合约又会被用于铸造或管理这一代币形式。

在 W3C 的 VC 数据模型中,里面有许多不同的参与者。
发行方:负责发行凭证。
持有方:获取并储存可验证凭证,提取其中的信息,甚至合并所有信息为数据“展示”,将该“展示”发送给验证方。
验证方:验证并利用凭证。
除此之外,W3C 的 VC 模型中还包含一个常见的基础设施——可验证数据注册系统。该系统用于管理不同的标识符和标识方案,例如包含可验证凭证储存的注册系统。W3C的这一模型具有高度概括性,没有提到任何智能合约的实施细节。这也留出极大的灵活性和个性化空间,没有把去中心化身份限制于某一固定的技术协定,比如在先行网路中,若不遵守 TCP, IP, 或 HTTP 协定,就无法正常运作。

灵魂绑定代币(SBT):任何人——我们的家人、朋友,甚至陌生人都可发行 SBT。SBT强调的是身份的社会交往属性:对每个人来说,最了解他们的人都有所不同,因此没有任何一个群体能单独作为所有人的验证方,然而,其去中心化的属性和低门槛的发行标准让欺诈甚至恶意攻击有机可乘,导致灵魂代币潜在被滥用的风险。当然,发行方可以设置一个拒绝机制,要求代币接收方同意后才能完成转移。
可验证凭证(VC):相比之下,VC 通常由可信任的权威方(例如去中心化应用)来验证,其信任建立在验证者的信誉、去中心化或某种担保之上。适用于一些涉及高度的信任和授权个人信息的场景。
灵魂绑定代币(SBT): SBT 是可撤销的。也就是说,如果关于 SBT 持有方的某一陈述不再真实(如成员身份失效),发行方可以撤销其拥有的 SBT。这一属性可及时保证SBT数据的有效性,但其可撤销性隐含了被利用的风险。例如,当发行方遭受攻击,其发行的SBT都有可能被撤销。
可验证凭证(VC):VC 是不可撤销的。也就是说,即使 VC 的数据失效了,你仍可以继续持有此无效的VC,声称自己是某个健身房的会员。因此 VC 或者实体证书上通常会加上时间限制,写明其凭证的有效期。
灵魂绑定代币(SBT):由于 SBT 仅是一种代币形式,它可以无缝聚合到已有的链上协定中。已有的NFT基础设置,如链上NFT管理的工具,可以轻松做出调整,运用灵魂货币。
可验证凭证(VC):由于W3C 的数据模型具有高度概括性,VC 可以被看作是一个容器,装有链上数据、链下数据、以及其他不同的类型的数据。实施起来也十分灵活,无需遵守任何界面或提前预设好API,而可直接编写。
可验证凭证(VC):可验证凭证涵盖了更精细化的隐私管理。VC 持有者可以任意选择展示某个凭证,或只展示凭证的一部分。例如要验证某VC持有方从某一学校毕业,该持有方可以提取凭证的部分信息,证明他/她确实从这一学校毕业,但却不透露自己的其他信息。
灵魂绑定代币(SBT):灵魂代币本身并不具有VC这一属性,但可以利用零知识证明达到类似的隐私保护作用。
SBT 具有公开性,但哪种类型的 SBT 将会被公开?公开后是否会过度曝光个人信息?这些问题引起人们对其公开性的担忧,但目前已经有一些隐私解决方案。
方法一:赋予 SBT 其哈希值:通过给代币附上哈希值,将隐私数据交付于保护隐私的链上或隐私加密的数据存储中,只有白名单上的地址才能有解密钥匙。但是,这一方法会导致 SBT丢失灵魂象征的属性,外界无法看到其“灵魂”。
方法二:将数据分为链上存储和链下隐私数据存储,还可以编写一份智能合约程序化隐私规则,一旦某些条件被触发,就可以展示某部分内容。例如,只有特定的 DAO 成员才能查看我的参与证明(POA)。这样,SBT就是可程序化、可定制的,SBT 持有方就能决定自己的隐私规则。
另一方面,VC 受制于隐私的单方授权。当获取 VC、验证 VC 上的数据时,验证方通常要求VC持有方在场,并且同意其中的授权规则,方可获取数据。
解决方案之一:在一些情况下,将部分或全部的VC信息授权、委托给可信任的第三方管理。和可编程的SBT类似,你可以添加规则,有选择性地授予可信任的访问者权限,并用智能合约或编程逻辑自动化这一过程。此外,VC 持有者应当只生成、获取涵盖所需信息的 VC,而不涵盖其他多余的信息。
这些针对隐私问题的解决方案都遵循着相同的原则,即在个人数据和公共数据间找到平衡点。
SBT 的链上数据是完全公开的,所以要将敏感的个人信息转移到私下存储,再选择性地授予权限。利用可验证凭证时,可以将部分数据控制权限呈交给第三方,这样这些数据有更高的公开性,开放给更多的参与者。
通常而言,隐私性与便捷性似乎并不相融。安全度、隐私性提高后,整个程序过程会变得更加繁复。我们要做的就是在二者之间找到平衡点。
总而言之,没有一个解决方案或理论是完美无缺、并适用于任何情况的,但VC和SBT可以相互补足。
我们认为,VC 和 SBT 之间可以互补,例如结合 SBT 的社会恢复机制和 VC 处理隐私的方式。只要对实际应用有效,我们就可以将二者结合起来,简单的例子是将 SBT 的链接放到 VC 里,以 VC 作为 SBT 的容器。
在未来,我们希望能解决信息兜售的问题。目前看来这一问题很难解决,并且两者在这一方面都做得不是很好。尽管 SBT 和一些通用凭证都是可撤销的,我们却无法撤销已经被曝光的信息。同时,我们需要致力于标准化 SBT 和 VC,以更好地实施相关细节与让更多的用户受益。
参考资料
如有疑问或想加入话题讨论,请联系 kailai.wang@litentry.com 或 推特DM @Kai_Litentry。
No activity yet