WEB:简析Aave团队打造的web3社交协议 LensProtocol_WEB3

BlockBeats 注:Aave打造的 LensProtocol 社交协议并非一个社交产品,而是协议服务层,帮助开发者在其上构建各类社交产品。目前Web3社交产品虽然给予了用户数据所有权,但仍没有解决用户数据在不同 web3 社交产品中互通性的问题。对此,BuidlerDAO 创始人 Jason Chen 在推特对 LensProtocol 社交协议进行简要分析,  BlockBeats 整理如下:

浅研了一下 LensProtocol, 由 Aave 团队打造的 web3 社交协议,它本身不是一个前端的社交产品,而是一个中后端的协议服务层,开发者基于其提供的 API 可以在上面低成本构建出社交产品,这应该也就是为什么 lens 的 logo 是一束花的原因吧,它希望自己成为这片社交花园里的根和土壤,开发者们可以在其之上种出鲜花 。

相信大多数人对于 web3 的主要叙事都在于痛斥 web2 的 facebook、twitter 等公司垄断用户数据权,制造数据孤岛,用户拥有自己的社交数据和关系链也是 web3 原生的重要叙事,于是也冒出了很多号称 web3 twitter 的产品,但到现在为止 web3 的社交产品依然没有出现杀手级应用。

Beosin:ULME代币项目遭受黑客攻击事件简析:金色财经报道,10月25日,据Beosin EagleEye 安全预警与监控平台检测显示,ULME代币项目被黑客攻击,目前造成50646 BUSD损失,黑客首先利用闪电贷借出BUSD,由于用户前面给ULME合约授权,攻击者遍历了对合约进行授权的地址,然后批量转出已授权用户的BUSD到合约中,提高价格ULME价格,然后黑客卖掉之前闪电贷借出的ULME,赚取BUSD,归还闪电贷获利离场。Beosin安全团队建议用户用户取消BUSD对ULME合约的授权并及时转移资金减少损失。[2022/10/25 16:38:21]

Web3 社交杀手级应用还未出现,我觉得抛开行业成熟度原因主要在于两点 :

第一,在此之前多数 web3 社交产品依然在走制造数据孤岛的老路。怎么理解呢?基于区块链的社交产品确实可以让用户成为他数据的 owner,但产品数据的边界依然是合约,如果用户使用了 10 个产品,则用户的数据会散落在 10 个独立合约中,且每个产品合约的数据格式和标准都不一样,虽然透明了,但孤岛依然存在。

安全团队:获利约900万美元,Moola协议遭受黑客攻击事件简析:10月19日消息,据Beosin EagleEye Web3安全预警与监控平台监测显示,Celo上的Moola协议遭受攻击,黑客获利约900万美元。Beosin安全团队第一时间对事件进行了分析,结果如下:

第一步:攻击者进行了多笔交易,用CELO买入MOO,攻击者起始资金(182000枚CELO).

第二步:攻击者使用MOO作为抵押品借出CELO。根据抵押借贷的常见逻辑,攻击者抵押了价值a的MOO,可借出价值b的CELO。

第三步:攻击者用贷出的CELO购买MOO,从而继续提高MOO的价格。每次交换之后,Moo对应CELO的价格变高。

第四步:由于抵押借贷合约在借出时会使用交易对中的实时价格进行判断,导致用户之前的借贷数量,并未达到价值b,所以用户可以继续借出CELO。通过不断重复这个过程,攻击者把MOO的价格从0.02 CELO提高到0.73 CELO。

第五步:攻击者进行了累计4次抵押MOO,10次swap(CELO换MOO),28次借贷,达到获利过程。

本次遭受攻击的抵押借贷实现合约并未开源,根据攻击特征可以猜测攻击属于价格操纵攻击。截止发文时,通过Beosin Trace追踪发现攻击者将约93.1%的所得资金 返还给了Moola Market项目方,将50万CELO 捐给了impact market。自己留下了总计65万个CELO作为赏金。[2022/10/19 17:32:31]

从而导致用户的社交数据依然无法打通,用户在各个产品中产生的数据虽然属于其自己,因为独立的合约和不一致的数据格式,依然无法「带走」,假设一个产品挂了,那在此之前所产生的社交数据也很难被利用起来,除非其他的产品专门投入资源去做数据同步,所以目前 web3 社交产品只解决了拥有的问题,而非连接。

慢雾:跨链互操作协议Nomad桥攻击事件简析:金色财经消息,据慢雾区消息,跨链互操作协议Nomad桥遭受黑客攻击,导致资金被非预期的取出。慢雾安全团队分析如下:

1. 在Nomad的Replica合约中,用户可以通过send函数发起跨链交易,并在目标链上通过process函数进行执行。在进行process操作时会通过acceptableRoot检查用户提交的消息必须属于是可接受的根,其会在prove中被设置。因此用户必须提交有效的消息才可进行操作。

2. 项目方在进行Replica合约部署初始化时,先将可信根设置为0,随后又通过update函数对可信根设置为正常非0数据。Replica合约中会通过confirmAt映射保存可信根开始生效的时间以便在acceptableRoot中检查消息根是否有效。但在update新根时却并未将旧的根的confirmAt设置为0,这将导致虽然合约中可信根改变了但旧的根仍然在生效状态。

3. 因此攻击者可以直接构造任意消息,由于未经过prove因此此消息映射返回的根是0,而项目方由于在初始化时将0设置为可信根且其并未随着可信根的修改而失效,导致了攻击者任意构造的消息可以正常执行,从而窃取Nomad桥的资产。

综上,本次攻击是由于Nomad桥Replica合约在初始化时可信根被设置为0x0,且在进行可信根修改时并未将旧根失效,导致了攻击可以构造任意消息对桥进行资金窃取。[2022/8/2 2:52:59]

第二,开发一个社交产品的成本也很高。其实这个成本主要还是在中后端,但是中后端的功能确可以被穷举且标准化,不外乎就是点赞、关注、发帖、收藏等功能,而前端业务层看似纷繁复杂也不过就是基于中后端标准功能的组合拼装 。

慢雾:DEUS Finance 二次被黑简析:据慢雾区情报,DEUS Finance DAO在4月28日遭受闪电贷攻击,慢雾安全团队以简讯的形式将攻击原理分享如下:

1.攻击者在攻击之前先往DeiLenderSolidex抵押了SolidexsAMM-USDC/DEI的LP。

2.在几个小时后攻击者先从多个池子闪电贷借出143200000USDC。

3.随后攻击者使用借来的USDC在BaseV1Pair进行了swap操作,兑换出了9547716.9个的DEI,由于DeiLenderSolidex中的getOnChainPrice函数是直接获取DEI-USDC交易对的代币余额进行LP价格计算。因此在此次Swap操作中将拉高getOnChainPrice函数获取的LP价格。

4.在进行Swap操作后,攻击者在DeiLenderSolidex合约中通过borrow函数进行借贷,由于borrow函数中用isSolvent进行借贷检查,而在isSolvent是使用了getOnChainPrice函数参与检查。但在步骤3中getOnChainPrice的结果已经被拉高了。导致攻击者超额借出更多的DEI。

5.最后着攻击者在把用借贷出来DEI兑换成USDC归还从几个池子借出来的USDC,获利离场。

针对该事件,慢雾安全团队给出以下防范建议:本次攻击的原因主要在于使用了不安全的预言机来计算LP价格,慢雾安全团队建议可以参考Alpha Finance关于获取公平LP价格的方法。[2022/4/28 2:37:18]

所以我认为 lens 也是基于这两点认为如果他们再做一个社交产品,也不过就是市面上的 10 个产品变成了 11 个,继续增加孤岛,所以他们把自己向下藏了一层,首先制定了标准,将什么样的行为需要铸造为 NFT,发布的内容需要用什么样的数据格式等问题都标准化,能够保证基于其标准所开发出的产品是不存在孤岛问题。

慢雾:Spartan Protocol被黑简析:据慢雾区情报,币安智能链项目 Spartan Protocol 被黑,损失金额约 3000 万美元,慢雾安全团队第一时间介入分析,并以简讯的形式分享给大家参考:

1. 攻击者通过闪电贷先从 PancakeSwap 中借出 WBNB;

2. 在 WBNB-SPT1 的池子中,先使用借来的一部分 WBNB 不断的通过 swap 兑换成 SPT1,导致兑换池中产生巨大滑点;

3. 攻击者将持有的 WBNB 与 SPT1 向 WBNB-SPT1 池子添加流动性获得 LP 凭证,但是在添加流动性的时候存在一个滑点修正机制,在添加流动性时将对池的滑点进行修正,但没有限制最高可修正的滑点大小,此时添加流动性,由于滑点修正机制,获得的 LP 数量并不是一个正常的值;

4. 随后继续进行 swap 操作将 WBNB 兑换成 SPT1,此时池子中的 WBNB 增多 SPT1 减少;

5. swap 之后攻击者将持有的 WBNB 和 SPT1 都转移给 WBNB-SPT1 池子,然后进行移除流动性操作;

6. 在移除流动性时会通过池子中实时的代币数量来计算用户的 LP 可获得多少对应的代币,由于步骤 5,此时会获得比添加流动性时更多的代币;

7. 在移除流动性之后会更新池子中的 baseAmount 与 tokenAmount,由于移除流动性时没有和添加流动性一样存在滑点修正机制,移除流动性后两种代币的数量和合约记录的代币数量会存在一定的差值;

8. 因此在与实际有差值的情况下还能再次添加流动性获得 LP,此后攻击者只要再次移除流动性就能再次获得对应的两种代币;

9. 之后攻击者只需再将 SPT1 代币兑换成 WBNB,最后即可获得更多的 WBNB。详情见原文链接。[2021/5/2 21:17:59]

其次通过阅读其开发者文档会发现 lens 的模块化设计非常充分,将能力拆分的颗粒度很细,尽可能做了解耦,从而便于开发者在上面去灵活的拓展业务逻辑。 

如下图所示,这是 lens 的主合约,可以看到其上面已经产生了 540 万条社交数据,包含了发布、收藏、关注等动作,所以 lens 打造了一个大陆,而不是一个孤岛。 

关于标准,分为接口标准和数据标准,首先说一下接口标准,如下图 1 所示这是 lens 提供的所有一级 API,基本上社交关系的主要能力都包括了,图 2 是单关注这一个能力所拆分出来的二级 API,可见其颗粒度是做的很细的,开发者可以基于这些 API 自由拼装组合。

数据标准则又细分为 NFT 和非 NFT 两类,lens 的核心数据围绕 NFT 展开,首先每个用户需要一个.lens 域名才能拥有个人主页,其他的数据都是挂在这个域名下的,这个域名本身是一个 721 类型的 NFT,从这个角度也算是 DID 的范畴。

除了域名外用户的关注、收藏等动作也会被铸造为 NFT,如图 1 当用户进行关注时,触发了合约的 follow 函数,从所产生的链上数据可以看到 mint 了一个 NFT,如图 2 当取关的话则会将该 NFT 销毁掉 。

社交数据其实是索引关系非常复杂的,lens 的接口对于开发者也非常方便,将链上数据包了一层不需要开发者自己去分析数据,而是如下图为例,如果需要查询某个人的关注者,通过接口可以直接以很清晰的以拉清单的形式将数据获取到并层层下钻。

另外对于 post 内容发布,首先它不是作为 NFT 呈现的,我在此之前还以为用户发的内容都会铸造成 NFT,如图 1 所示就是正常的链上数据写入的过程,这里我还没有理解清楚为什么 lens 不把他们做成 NFT。如图 2 这是 post 的写入数据,包含的数据有挂载在谁身上,挂载的内容是什么,发布内容用 contentURI 一个外链来索引 。

具体内容则是存储在链下的,contentURI 会指向一个存储地址,但是 lens 对于数据的存储格式也是有一套标准规范的,这样就可以达到上文中提到的各产品基于 lens 构建后可以互通的效果,如图 1 为解析出来的一个数据格式,包括名称、内容、类型等。图 2 为枚举的数据格式,图文音视频等都包括,从而结构化内容数据。

以上就是对于 lens 的浅研,不愧是 Aave 出来的,确实对 web3 的原生很透彻,基于 lens 诞生出来 web3 原生 twitter 的可能性还是很大的,也许是研究还不够深,也存一些疑惑,比如个人主页是一个.lens 的 nft 域名,而所有的数据和关系链都挂在上面,但是该 nft 又是可以买卖的,社交关系可以买卖我觉得还是挺奇怪的。    

区块律动BlockBeats

媒体专栏

阅读更多

金色财经

CertiK中文社区

虎嗅科技

web3中文

深潮TechFlow

念青

DeFi之道

CT中文

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

LunaSTR:全面分析FTX事件的后续影响_BSP

来源:老雅痞 随着FTX交易所的毁灭性崩溃,数字资产行业经历了Mt Gox以来最令人震惊的托管公司破产。在这份报告中,我们分析了FTX的银行挤兑、寻求自我托管的安全性,以及比特币最强者的反应.

[0:15ms0-5:546ms