月亮链 月亮链
Ctrl+D收藏月亮链
首页 > SHIB > 正文

SBT:Spartan Labs研报:基础SBT以及隐私性SBT的实现_NFT币区块链工程专业学什么

作者:

时间:1900/1/1 0:00:00

这是一个由三部分组成的系列文章,介绍SBT的基础知识、对SBT的愿景、其技术实施以及利用ZK技术的可能性。系列文章的目标是揭开SBT技术思想的神秘面纱,并提供一种实现来构建具有社会身份集成的Web3未来。第1部分讨论什么是SBT及其基本特征。第2部分讨论其基础实现以及如何使用SBT添加隐私。第3部分将讨论如何使用ZK技术来改善SBT隐私。

本文为其第2部分,将根据第一部分提出的设计指导原则谈一谈SBT的实现。

内容

1、实现思路1.1与NFT的比较1.2基础SBT→1.2.1铸币和销毁→1.2.2链下存储→1.2.3验证SBT属性→1.2.4更新SBT数据→1.2.5基本使用SBT→1.2.6SBT对隐私的需求2、具有私有数据存储的SBT2.1将数据存储在链上但对地址进行散列→2.1.1示例用法→2.1.2讨论具有链上散列的SBT2.2存储IPFS等第三方提供商的链下项目→2.2.1将链下数据与链上哈希链接连接→2.2.2链下秘密的风险。3、结论

1、SBT实现思路

在本小节内容中,我们将讨论SBT的实现及其利弊权衡。

1.1SBT与NFT的比较

既然NFT和SBT听起来确实很相似,那么在具体实现方面,这些数据结构之间的关键区别是什么呢?

不可转移性

与被设计为可交易的NFT不同,SBT在本质上应该与灵魂绑定在一起,应该是不可转移的。

隐私保护

NFT的数据是公开的。然而,SBT项目可能希望保留其数据的私有性。

ParaSpace:即将上线ZkSync网络:7月28日消息,ParaSpace发推称,即将上线ZkSync网络,将支持ETH、USDC、WBTC。[2023/7/28 16:04:23]

隐私可以通过各种不同方法实现。

可组合性

SBT的数据应该很容易被其他链上或链下项目读取。

以SBT特性为指导原则,我们在Solidity中实现了SBT。

我们将在下面小节内容中讨论我们的实现。

1.2基础SBT

基础SBT可以作为模板供其他希望在SBT上构建的项目使用。基础实现不涉及隐私方面的讨论,隐私相关内容将在本文的第2节中展开。

1.2.1铸造和烧毁

合约是这样设计的:铸造应由项目所有者把关。这是为了防止用户可以铸造任何SBT信息带来的潜在漏洞,比如用户会铸造一个良好的信用评分,但这并不是项目的意图。这个想法是,项目应该确定、验证和铸造与SBT相关的正确数据。

同样,对于与地址相关联的SBT的烧毁,我们也认为用户不应该具备轻易删除其数据的能力,特别是当该数据包含某个负面属性时。用户应该能够提议烧毁他们的SBT,但烧毁的执行应该由项目所有者决定。

那些希望允许用户选择删除数据的项目可以实现烧毁。例如,如果一个用户出于与项目的目标不一致,想要从项目中删除所有信息,那么他应该拥有这样的选项。

另一个需要考虑的问题是,项目可能希望管理他们的SBT社区,并在用户违反他们的社区管理条款、条件时删除用户。例如,在一个发布SBT的社区中,也许会有用户不遵守规则并表现出不适当的行为。因此,社区可以决定是否从其项目中删除用户的SBT。这样的社区可能希望进一步实现一个建议机制,以允许删除数据的自燃建议或烧毁其他人SBT的建议。

马斯克:祝贺SpaceX团队完成了令人兴奋的星舰发射测试:金色财经报道,马斯克在社交媒体上表示,祝贺SpaceX团队完成了令人兴奋的星舰发射测试,为几个月后的下一次发射测试学到了很多东西。此前SpaceX表示,星舰的试飞似乎还不够令人满意,星舰飞船发生了非计划内的解体。团队将继续审查数据并为我们的下一次飞行测试努力。[2023/4/21 14:16:57]

1.2.2链下存储

数据可以存储在链上或链下。在我们的实现中,我们假设SBT的数据存储在链下,由IPFS作为供应方。在我们的实现中,链下存储的URI可以与数据结构“StructSoul”中的标识符相结合。

项目能够根据他们是想在链下还是链上存储SBT属性来调整提议结构。

1.2.3SBT属性验证

其他交易对手项目应该能够轻松检索SBT数据。

这对于想要验证用户SBT属性的交易对手来说很有用。其他项目将能够查验一个地址是否绑定了灵魂,并验证该灵魂所包含的属性。

这对于SBT与不同项目的可组合性非常重要,其他项目可能希望进行交互并验证用户的属性。但是,用户和项目可能不希望公开数据,有一些方法是可以保护数据隐私的。

1.2.4SBT数据的更新

我们不希望用户或其他方更新灵魂,我们希望由经许可的权威方来更新,因为我们希望对数据的更改能得到验证。

Web3游戏平台Spacebar开发公司AO Labs完成450万美元融资,YGG领投:8月2日消息,Web3 游戏平台Spacebar背后的开发公司AO Labs宣布完成450万美元融资,本轮融资由Yield Guild Games领投,天使投资人包括YGG首席执行官Gabby Dizon、Polygon 的 Balaji Srinivasan 和 Sandeep Nailwal、Axie Infinity 制造商 Sky Mavis 的 Jeff“Jiho”Zirlin 以及 Com2uS 的 Kyu Lee 等。

Spacebar 是一款太空主题的区块链游戏,集成了去中心化识别系统、DeFi、NFT、游戏公会等 Web 3 工具,AO Labs 表示,他们希望将 Spacebar 打造成一个社区拥有的开源游戏平台。(VentureBeat)[2022/8/2 2:54:20]

由项目来实现合约,这样用户可以在链下提议对灵魂的更改,再由项目来验证更改是否有效并更新链上更改内容。

1.2.5基础SBT用例

SBT的基础实现适用于希望将数据分配给非私有用户的项目。例如,想要奖励白名单对NFT收藏的支持的项目可以使用基础SBT。在未来,这类项目可以空投奖励到这些SBT地址。

在之前的文章中,我们提出了如何将SBT作为识别NFTLocker的潜在用例。

例如,当NFT在TimeLock.sol中被锁定时,Locker可能仍然希望“显示”他们确实拥有这样一个锁定的NFT。然而,从开发人员的角度来看,引用锁定的NFT是很奇怪的。因此,“灵魂绑定”代币可以表示出用户锁定NFT的时间,它们可以被允许进入“halloffame”。在解锁时,一个不可转移的包装代币需要被“燃烧”来解锁NFT,并且Locker将不再具有“halloffame”地位。

SpaceX在探索太空广告业务 并只支持加密货币支付:8月9日消息,据外媒报道,加拿大初创企业几何能源公司(GEC)证实,其正在SpaceX的帮助下,使在太空中打广告成为可能。?GEC首席执行官兼联合创始人塞缪尔·里德表示,该公司正在建造所谓的立方体卫星(CubeSat)。这种卫星的侧面有个像素化的显示屏,可以展示广告、标志和艺术品等。该公司计划使用SpaceX的猎鹰9号火箭将其立方体卫星送入预定轨道,随后附着在立方体卫星侧面的自拍杆将拍摄显示屏。里德说,这些视频将在YouTube或Twitch上直播,这样任何人都可以看到卫星的屏幕。人们将能够使用以太坊等加密货币购买GEC的卫星广告牌。未来,GEC还希望引入狗狗币。(金十)[2021/8/9 1:43:27]

1.2.6SBT的隐私需求

然而,上述的基础SBT并没有考虑到隐私方面的需求。

正如在前一篇文章中提到的,web3的未来必将要与你的真实身份进行一定程度的集成。因此,链上集成后保持个人身份的隐私是至关重要的,这样才能保护自己免受来自恶意行为者的伤害,比如,恶意行为者可查看区块链的公共数据,还原个人身份。

任何记录在链上的关系都可以立即被全世界的任何人看到,而不仅仅是参与者。通过关联SBT数据,恶意行为者可以从灵魂中还原用户的真实身份。

例如,如果人性证明得到更广泛的应用,保护隐私将变得更加关键,因为另一种景象是,我们所做的一切都将在链上直接与一张人脸相连。

2、SBT数据的私有存储

V神在其研究文章中提出了一些可能实现的具有隐私性的SBT,可以通过链上存储和链下存储来实现。

99Ex SpaceStation X第二期项目DAC将于6月22日上线交易:据99Ex官方公告,其打新销售平台“SpaceStation X” 第二期项目 DAC将于6月22日17:00 SGT正式上线交易,并开放DAC/USDT交易对;6月22日14:00 SGT开放DAC充值;6月22日19:00 SGT开放提现;99Pool与99Ex之间的DAC充提将于6月22日16:00 SGT开放。

据悉,但丁密码DAC 基于蚁群算法的启迪,采用改良优化而得的排序加权算法,作为共识算法的基本运行逻辑,目的是打造一个完备的区块链金融基础设施平台。99Ex是一个基于区块链技术应用的多语言创新数字资产交易平台,由OK CAPITAL、科银资本、连接资本、链兴资本战略投资,累计注册用户近百万,日均交易用户突破20万。[2020/6/18]

在本节内容中,我们将讨论SBT数据私有存储的可能实现方式。

2.1链上存储数据,但要“哈希”地址

将数据项存储在一个地址中,该地址是以下数据的哈希值:索引、收件人地址和专属于收件人的秘密。

你可以向一个接口透露你的秘密,然后它会搜索属于你的所有可能的数据项,但没有人会知道哪些具体项是你的,除非你自己泄密。

用户提供的秘密将允许平台找到与用户的SBT相关的所有数据。

这种方法也称为密钥散列消息身份认证。它是通过对数据和共享密钥运行加密哈希函数获得的消息身份验证码。

为什么这个方法会奏效?以太坊地址由Keccak-256散列生成,并以十六进制数表示。Keccak-256散列的最后20个字节用于生成地址。

因为一个十六进制数是4位,所以我们将Keccak256散列的最后40位作为我们的地址。我们可以在这个地址部署我们的项目。

但是,请注意,带有隐私数据的哈希应该在链外执行,因为区块链上的所有内容都是公共的。

因此,在进行部署或铸造时,应该只提供哈希值,而不提供隐私数据。

2.1.1范例

例如,Bob希望使用基于信用的借贷dApp铸造一个SBT。

借贷平台首先对Bob执行KYC验证。

部署地址是由Bob的客户ID、他的链上地址和他的名为“Peanut”的秘密生成的。

Bob的客户ID、地址和秘密被哈希在一起,以获得一个用于数据部署地址的地址。

然后在部署地址链上部署一个包含Bob的KYC数据的SBT。

除了知道Bob秘密的人,没有人可以查看Bob的KYC数据。

当一个项目想要查看Bob的KYC数据时,Bob需要做的就是提供他的秘密“Peanut”,这样他们就能够获得Bob的所有KYC数据了。

2.1.2关于SBT链上哈希的讨论

优点:

该方法允许与协议轻松互操作,因为我们所需要的只是检索数据项所需的秘密、索引和地址。

缺点:

然而,将数据项部署到特定地址是件麻烦事,而且要消耗的大量的gas费。

此外,将所有与SBT相关的数据都存储在链上没有意义,有些数据可能更适合存储在链下。

更重要的是,用户的秘密掌握在项目方手中;长期使用可能会导致泄密,类似于如今常见的密码泄露。

2.2使用第三方供应方如IPFS,链下存储数据项

正如上一节提到的,把大多数数据存储在链上成本太大。因此,更好的方法是将数据链下存储在第三方平台上。这种在链下存储数据的方法非常类似于NFT,NFT的数据通常也是存储在链下的。

不同之处在于,为了确保隐私,我们首先必须使用加密哈希函数对URI字符串进行哈希。URI数据的哈希应该在链下完成,因为区块链上的所有数据都是公开的,甚至是私有的状态变量也是如此。

为了防止暴力攻击识别包含链下数据的链接,哈希值不应该仅仅是链接本身的哈希值。它可以是用户秘密的函数,与链下数据存储链接,或者使用递归哈希或其他方法。这也被称为salting。

下面是使用SHA256的Python实现示例:

这只是一个实现示例。还有许多其他方法可以模糊URI,例如随机附加秘密、生成随机秘密、peppering,以及使用专门为安全存储密码而设计的其他算法。

然后使用数据的哈希值进行SBT的链上部署,而不是使用数据本身。

2.2.1连接链下数据与链上哈希链接

我们怎样才能将链下数据与链上哈希链接连接起来呢?

对合约所有者来说,一种可能的方法是将存储在链下位置的数据结构标准化。因此,SBT的所有者可以透露链下数据的链接,而项目可以哈希链接,以检查它是否与链上哈希值相同。如果哈希值相同,项目可以进行查询来检索存储在链下位置的数据。

为了保护用户的秘密,对包含用户数据的链接的验证必须由可信的、安全的第三方在链下完成。

2.2.2链下秘密风险

链下传输秘密可能使用户暴露于漏洞和各种攻击之下。

项目必须确保秘密传输的安全,并防止常见的攻击,如回放攻击、中间人攻击和许多其他常见攻击。

一旦处理SBT检索的第三方的安全性遭到破坏,个人的秘密就会公开。

项目还应注意网络钓鱼攻击,因为用户可能会被提示在复制原始密码的恶意网站上输入密码。

此外,证明用户具有某种属性的唯一方法就是公开秘密。但是,为了创建SBT的匿名组合性,使不同的协议可以检索SBT数据,用户应该公开必要的最小数据量。

如果项目所需的只是验证某个属性,那么用户不应该透露全部秘密。用户应该将他们的秘密向尽可能少的项目披露。

因此,我们需要考虑另一种方法,在这种方法中,项目能够验证用户具有某个属性,而用户则不会泄露他们的秘密。

3、结论

在本文中,我们基于本系列第1篇文章中介绍的设计指导原则,介绍了SBT的实现。我们实现了基础SBT以及具有链上和链下私有存储的SBT。然而,链下存储可能并不是真正的私有,因为用户将不得不公开他们的秘密,以证明他们拥有某种属性。

ZK技术的使用可以帮助我们减少用户的秘密分享量,以保持他们的SBT数据真正的私有性。这就引出了本系列文章的第3篇内容,在第3篇文章中,我们将介绍使用zk-SNARK实现的SBT,在这种实现中,用户的秘密可以保持隐藏状态,防止受到各种方式的攻击。

标签:SBTNFT区块链SBT价格SBT币NFT价格NFT币区块链工程专业学什么区块链存证怎么弄区块链技术发展现状和趋势

SHIB热门资讯
DAO:通过工作组在DAO中展开更有效的治理_以太坊DAO币

这篇文章的灵感来自一条推文“你想了解更多关于DAO的信息吗?你紧迫的问题是什么?”Frisson回答,他有兴趣从Trustware和Socialware的角度了解工作组是如何实施的.

1900/1/1 0:00:00
区块链:为什么Web3需要DeFi原生链?_以太坊

“DeFi原生链”这一名词在Berachain和Sei初露头角时被市场窥见一隅,Sei定义自己为第一条真正意义上的DeFi专用链.

1900/1/1 0:00:00
人工智能:Crypto和AI的融合:四个关键交叉点_GPT币

注:这篇文章的绝大部分内容,包括大部分标题,都是由ChatGPT撰写的。作者写的文字是斜体的。你可以在这里看到作者与ChatGPT的对话过程.

1900/1/1 0:00:00
ETH:什么是模块化账户抽象?_ETHD

在为以太坊增加智能合约钱包的原生支持的多个提案被拒绝或停滞后,ERC-4337已被接受为标准,以实现账户抽象而无需对EVM进行协议级别的修改.

1900/1/1 0:00:00
稳定币:流动性视角中 CeFi 的功与过_稳定币是由哪个国家提出的

Crypto市场美元化之后,流动性主要是通过外部输入来供给,来支持行业内的投资、投机和经营需求.

1900/1/1 0:00:00
STO:「代币化的未来」的STO的机遇 是在淘金热中卖铲子_代币化是什么NFT价格

在香港Web3嘉年华的闭幕式中,万向区块链董事长、HashKeyGroup董事长肖风发表了压轴演讲《Web3应用的三代币模式》,结论是「Web3创业项目应该选择STO」.

1900/1/1 0:00:00