金色观察 | Spartan Labs研报:SBT基础知识和潜在案例全解析
文/Spartan Labs,标题:The Construction of the Soul Part 1: The ABCs of SBT
内容
1、什么是SBT,为什么它很重要?
1.1 Web3行业中的问题
1.2 SBT作为社会可组合性的解决方案
1.3 SBT用例
1.3.1 SBT的现实案例
2、Spartan Labs对SBT的愿景
2.1 SBT的愿景如何在现实世界中发挥作用?
2.2 第三方属性验证
2.3 交易方Souls(灵魂)对SBT的使用
3、SBT的主要特征
3.1 不可转让性
3.1.1 治理
3.1.2 身份
3.1.3 正确实施不可转让性的重要性
3.2 不可替代
3.2.1可替代SBT
3.2.2不可替代SBT
3.3 SBT中的隐私
3.3.1我们应该对哪些数据保密?
3.3.2我们如何在 SBT 中保持数据的私密性?
3.4 链下存储
3.5 灵魂(Soul)的发行和验证
3.5.1 灵魂(Soul)的验证
3.5.2 SBT数据的更新
3.5.3 SBT的发行
4、SBT的关键特性如何用于Web3 项目?
5、结论
1、什么是灵魂绑定代币?它为什么如此重要?
V神 是 以太坊 的联合创始人之一,他与Glen Weyl和Puja Ohlhaver共同撰写了名为《去中心化社会:寻找Web3的灵魂(Soul)》的白皮书,详细描述了他们对完全去中心化社会(DeSoc)的愿景,以及如何让“灵魂绑定”代币(SBT)从概念发展为现实。
1.1 Web3世界存在的问题
世界的经济价值很大程度上是由人类及其相互依存的关系产生的。作为一个完全由数学和密码函数运行的系统,Web3缺乏表示这种社会关系和身份的原语,导致Web3需要依赖其最初旨在颠覆的中心化Web2基础设施。
信任和所有权的核心内容应该在链上,以增强智能合约世界中的社会可组合性,这可能为去中心化应用程序开启许多可能性。
1.2 SBT是社会可组合性的解决方案
灵魂(Soul)被定义为持有SBT的钱包。SBT是数字代币,代表“灵魂(Soul)”的凭证、承诺和从属关系。它可以将实体经济的信任网络编码为链上声誉和信用系统。
例如,在去中心化金融领域,如果像Aave这样的借贷平台部署一个SBT,每个地址(灵魂)都可以有一个唯一的链上身份,从而实现基于信用评分的贷款。
这意味着,如果Aave部署了SBT,将允许Aave自身基于信用评分贷款,或允许其他Dapp进行整合。
信用评分现在是由信用局等政府实体机构集中掌控。
SBT之所以强大,是因为它去中心化了信用评分等基本概念。每个去中心化应用程序(Dapp)都被授权选择他们信任的信用系统,形成自己的判断,而不是仅仅因为信用局是持有此类信息的唯一实体而不得不信任它们。
更重要的是,SBT支持各种其他关键应用程序和用例,如社区钱包恢复、抗女巫攻击治理、去中心化机制和具有可分解的共享权利的新市场。
1.3 SBT用例
使用SBT可能产生诸多影响。以下是V神合著的白皮书中强调的一些相关用例:
(1)验证艺术家在NFT项目中的合法性。
(2)大多数NFT艺术家依赖于 OpenSea 和Twitter这样的中心化平台以承诺藏品的稀缺性和来源。
(3)如果艺术家可以将他们的NFT项目与他们的SBT联系起来,SBT就可以帮助提供来源。
(4)通过声誉开启低抵押贷款市场。
(5)SBT可代表教育凭证、工作经历和租赁合同而作为信用相关历史的持久记录,使灵魂(Soul)可以赌上有意义的声誉,以避开抵押要求获得贷款。
(6)减少对DAO治理的攻击并改进治理协调。
(7)缓解女巫攻击。
(8)动态领导分配。
(9)多样性治理。
(10)创建具有可分解、共享权利的新市场。
(11)衡量去中心化。
1.3.1 SBT的真实用例
已有项目开始将SBT作为链上身份解决方案。
2022年8月19日,币安准备推出币安账户绑定(BAB)代币,这是该公司基于其原生BNB链的灵魂绑定代币或不可转让、非金融化的代币版本。通过该平台的KYC程序验证身份的用户可以直接在其数字币安钱包上铸造SBT。BAB将用作KYC的凭证,表明用户身份已被验证。第三方协议也可以利用BAB空投NFT和防止机器人攻击。去中心化的自治团体也可以使用BAB来实现二次投票。
其他NFT项目也做出了尝试与SBT整合。例如,Arc Community正在向社区成员发行其Pyxis NFT,作为链上识别和未来奖励的一种方式。
2、Spartan Lab对SBT的愿景
尽管V神的文章为SBT奠定了基础,但SBT的关键特性、实现和用例还没有被充分定义。在本节内容中,我们将概述我们对SBT的愿景,以及不同的项目如何与该系统嵌入的社会信任进行协作。
我们设想了一个将声誉系统与零知识(ZK)机制相结合的社会,以保护个人隐私。创造并推广了“假名经济”(pseudonymous economy)一词的Balaji Srinivasan是对这一概念呼声最大的支持者。
我们相信SBT可以在Web3世界里整合假名经济理念和社会可组合性。SBT不仅为匿名个体可信的可组合性提供了额外机会,而且还支持跨项目、跨协议的互操作性,从而重塑我们目前的Web3生态系统。
2.1 SBT的愿景如何在现实世界中发挥作用?
想象这样一个世界,其中大多数参与者都拥有灵魂(钱包),存储与各种关联关系、成员资格和凭证相对应的SBT。或者每个人都可以有一个灵魂,存储代表不同属性的SBT,比如教育凭证、信用评分和成就。
2.2 第三方属性验证
如何验证SBT中的属性并将其链接到链上身份?
这些可信第三方验证者的功能类似于认证机构(CA),其目的是验证身份并将身份链接到数字证书。这些证书用于保护信息、加密数十亿的交易,并实现安全通信。在签发数字证书之前,CA会对申请人进行若干身份核验。
在SBT的情况中,可能存在一个可信的去中心化第三方中介DAO,其利益与属性的准确验证保持一致。寻求SBT的个人可以向DAO支付初始验证费用。在允许SBT数据铸造之前,一个由DAO中不相关个体组成的小组会进行检查核验工作,验证者将为自己的验证工作收取相应费用。
2.3 对手方灵魂(Soul)的SBT用例
在最基本的SBT形式中,SBT中的数据可以由个人声明,就像我们在简历中透露自己的信息一样。然而,当一个灵魂持有的SBT可以由链接的对手方其他灵魂签发或证明时,该系统的真正潜力便会凸显。这些对手灵魂可以是个人、企业、机构或其他Web3项目。
对手方灵魂(Soul)可以向他们的用户空投SBT。然后,用户将与SBT项目交互,SBT项目会更新SBT数据。其他经授权许可的协议可以使用SBT来读取和验证个体的属性。这使Web3项目具有社会可组合性,允许它们基于个体属性实施不同的机制,例如允许属于特定组织的地址使用其产品,或向经其SBT验证的关键利益相关者授予更高级别的投票权。
例如,具有影响力的个体或机构可以作为一个灵魂向其长期支持者发行SBT。大学可以是一个灵魂,向毕业生发放SBT。活动组织者也可以是一个灵魂,向活动参与者发放SBT。
在下一节中,我们将展示SBT的核心原理是如何从设计本身中自发产生的。
3、SBT的关键特性
目前对于SBT的关键特性还没有正式的定义。为了将SBT推广到Web3项目中,我们确定了SBT应该具备的重要品质。
3.1 不可转移性
不可转移性意味着SBT应该留在用户的灵魂(钱包)中或被标记到用户的地址。应该有严格的检查来预防SBT的可转移性。
但我们为什么要让它不可转让呢?
3.1.1 治理
SBT的可转移性可能会导致治理问题。
(1)如果可转移性的目的是使治理权力可以广泛分配,将适得其反,因为中心化的利益方更倾向于从其他各方获得治理权利。
(2)如果目标是将权力委托给有能力的领导者,那么可转移性也会适得其反,因为没有什么能阻止一个只有动机但无技能的人获得治理能力。
3.1.2 身份
SBT代表个体身份。因此,防止冒名顶替是至关重要的。身份不应转移,特别是在SBT包含敏感数据时。我们不希望出现这样的情况,即有人可以通过在二级市场上获得SBT而轻易获得有利的属性。
3.1.3 正确实施不可转移性的重要性
正如V神在他的文章中所提到的,如果“天真地”实施不可转移性,可转移性问题依然会存在。例如,用户可以轻易构建一个包装账号,保存SBT,然后出售账号所有权。
预防可转移性
所以,可能有必要进行其他检查,例如检查链上当前所有者是否与原始所有者处于相同的地址,在认为有必要的情况下,还会随着时间推移进行更复杂的检查。项目还可以要求SBT是原始的SBT,这可能会减少创建和利用包装器的动机,此类包装器旨在欺骗系统获利。
3.2 不可替代性
SBT既可以是可替代的,也可以是不可替代的,因此对应的功能会有很大不同。
3.2.1可替代的SBT
可替换的SBT对于投票权和治理非常有用,在这种情况下,通过一种容易确定的方法来找出投票权可能非常重要。可替代灵魂的一个简单实施用例是取消转移代币功能,与ERC20非常相似,除了合约或所有者本身有所不同。
3.2.2 不可替代的SBT
另一方面,不可替代的SBT则允许更多的可能性,因为所有的灵魂都是唯一的,我们将每个灵魂的独特性与该灵魂相关联。信用历史、负面声誉和教育凭证都可与SBT关联,可以选择将这些细节保密。
3.3 SBT中的隐私
任何记录在链上的关系都可以立即被全世界所有人看到,而不仅仅只向参与者开放。通过关联SBT数据,恶意行为者可以从其他用户的灵魂中还原用户的真实身份。
Web3生态系统的成功依赖于隐私性。在某些情况下,由于项目所代表的基础实体本身就是公共的,所以没有必要添加隐私。然而,在许多其他情况下,人们可能不希望透露他并们拥有的所有数据,因为这可能对他们构成潜在威胁。
例如,如果一个人的疫苗接种状态变成了SBT,我们能做的最糟糕的行为之一就是建立一个系统,在这个系统中,SBT会自动公开给所有人看,这给人们的医疗决定带来了社会压力。
通过在设计中包含隐私,我们可以防止持有链上身份带来的这些负面影响,并提高创建绝妙好产品的可能性。
3.3.1我们应该保护哪些数据的隐私?
敏感数据或那些使恶意行为者能够关联并还原个体身份的数据。例如:
-
个人资料
-
医疗数据
-
财务数据
-
基于声誉的数据
3.3.2如何保护SBT内部数据隐私?
保护这些数据的隐私有很多方法,例如:
3.3.2.1哈希数据
*哈希数据是保持数据私有的一种相对简单的方法。
* 哈希是将输入数据进行固定长度的单向转换。
* 例如,如果我们在哈希函数中输入一个秘密的“Spartan Labs”。
* 哈希函数则会将此数据转换为一系列十六进制数,如“ca9210da4bd8dda215176e8621b84f477da40ffa2158eeff7ef5d14613dfa695”。
* 该十六进制数是固定长度的,这意味着所有哈希结果都具有相同的长度,从统计上来说不可能从其中推导出“Spartan Labs”。
* 此处使用的哈希函数为SHA-256。
* 如果哈希数据与链上哈希值对应,则可以验证用户的属性。
* 其他各方将无法在链上查看SBT数据,如果哈希结果相同,则可以证明数据的有效性。
3.3.2.2对称密钥加密
项目可以向用户颁发密钥,秘钥可以加密他们的数据,项目可以与其他可能需要验证他们数据的项目共享密钥。
然而,这并不是一个简单的方法,这要求用户将他们的对称秘钥保持私有,并要求其他需要使用用户SBT数据的Web3项目实施相同的解密过程。
3.3.2.3 零知识证明
零知识证明(zk-Proofs)允许人们证明任意论断,而无需透露论断本身以外的任何信息。
零知识证明可以在SBT上计算,以证明灵魂的特征(例如,具有某类成员资格),而不揭示具体特征是什么。
零知识证明通常应用于使用ZK-Rollup技术的L2中,如zkSync、 Polygon Hermez和Scroll。
我们将在本系列的第二篇和第三篇文章中探讨SBT中的隐私实现。
3.4 链下存储
SBT数据可以存储在链上或链下,这取决于项目的需要。如果存储在链上,可以存储在一个引用另一个地址的单独合约中,也可以存储在SBT合约本身中。
然而,在链上存储数据的计算成本很高。因此,我们主张SBT的一个关键特性是集成链下数据存储的能力,类似于ERC721 NFT存储其链下数据的方式。这使得与SBT相关联的数据成本更低,类型更丰富。
3.5 Souls的发行和验证
SBT属性的发行和验证对于可组合性至关重要。
3.5.1Souls的验证
SBT接口的设计应该使其他项目能够轻松与用户的SBT交互。对于其他Web3项目来说,设计一个链上机制来验证用户的属性应该并不复杂。这意味着可以很容易在链上查询和验证灵魂的属性。
如果SBT存储在链下位置,那么应该提出一个标准来说明其他项目如何根据链下存储的数据结构来查询数据。
如果SBT含有隐私数据,那么应该有一种简单的方法来(1)验证用户提供的URI,或者(2)证明用户具有某个属性,只暴露隐私本身的哈希值而不暴露URI,其参考了零知识技术的应用。
3.5.2 SBT数据更新
为了防止用户伪造数据,只有合约所有者有权更新用户的SBT数据。然而,项目应该使其能够对其SBT数据提出修改建议。
3.5.3 SBT的发行
项目可以很轻松地向用户发行SBT。这可以通过类似于铸造NFT或空投的方式来完成。
4、SBT的关键特性如何在Web3项目中发挥作用?
假设一个项目想要有一个智能合约,该合约只允许拥有KYC信息的用户与其交互。这个智能合约可以基于用户数据的属性执行不同的操作。其他项目应该能够对用户的链上数据进行验证和执行操作。
然而,在区块链上,一切都是匿名的,用户只有他们的地址作为公开可验证的属性。
该项目可以考虑使用SBT作为链上识别和存储用户KYC数据的机制。
为了使用SBT机制,该项目可以采取以下行动。
(1)用户提交他们的KYC信息,由现实世界的实体机构验证。一旦该信息得到验证,项目将为用户生成SBT。用户提供的信息被加密并存储在链下。
(2)其他对手方项目也可以验证用户是经过KYC验证的,具有一定的属性,但并不知道用户的具体信息。通过加密,这些链上KYC属性是私有的。然而,用户可以向这些对手方项目提供隐私信息,这为他们提供了查看和验证链上私人信息的能力。
(3)用户可以通过向主要负责项目提出变更请求来更新他们的链下信息。
在本系列的下两篇文章中,我们将介绍项目如何实现这样的SBT机制。
5、结论
SBT是基于声誉的不可转让、不可替代的代币,其数据只能由选定的各方访问。将社会身份与去信任的可组合性结合起来,如果做得好的话,很可能会改变Web3生态系统的未来。
在本文中,我们列出了对SBT的愿景、SBT潜在用例,以及应该为SBT实施的关键特性。我们已经草拟了SBT的设计原理,但一切才才刚刚起步。
在下一篇文章中,我们将基于本文讨论的设计原理介绍SBT的实现。