从安全视角分析SocialFi赛道新项目TOMO和New Bitcoin City
原文来源:Beosin
Friend.tech 的持续爆火让市场再一次注意到了 SocialFi 赛道。目前,各条链的 Friend.tech 竞品层出不穷, Linea 链的 TOMO 和 NOS 链的 New Bitcoin City 凭借自身创新,在短时间内其 TVL 均突破 1 百万美元,成为 SocialFi 赛道新秀。
在此类 SocialFi 项目如火如荼地发展时,相关的安全风险受到了社区的广泛关注。8 月底 Friend.tech 因 API 访问设计导致了隐私泄漏 ;10 月 7 日, Avalanche 链上的 Stars Arena 存在重入漏洞,黑客在其合约中重入调用0x 563 2b 2 e 4 函数,导致 sellShares 函数最终计算的结果异常大,协议损失约 290 万美元。
此前,Beosin 对 Friend.tech 的设计机制和潜在安全风险 进行了详细地分析。今天 Beosin 安全团队为大家分析新秀项目 TOMO 和 New Bitcoin City,帮助大家了解其中的潜在风险。
TOMO 介绍
TOMO 是 Linea 二层网络的 Friend.tech 竞品,在 Friend.tech 的基础上推出了“Vote”机制。Vote 是推特用户在 TOMO 注册前的凭证,其他用户可以直接交易未注册用户的 Vote。在用户注册后,对应的 Vote 会转为 Key 。
Vote 的引入一定程度上避免了抢跑机器人的泛滥,无需监听推特用户进驻并滥发交易。同时交易 Vote 中 5% 的收益会分配给 Vote 对应的推特用户,该用户只要注册 TOMO 便可领取该收益。这为推特用户进驻 TOMO 提供了经济激励。
TOMO 风险分析
Beosin 此前完成了对 Linea 公链上最大的衍生品交易所 Tifo.trade 的审计 。本次我们通过 Beosin VaaS 工具扫描 TOMO 业务合约,结合 Beosin 安全审计专家的分析,发现 TOMO 存在以下风险:
1.业务风险
TOMO 的业务合约已经开源,查看其合约代码可以发现其基础的定价模型与 Friend.tech 类似。若 S 为当前持有量,TOMO 的 Key 价格模型为 S^ 2/43370 ,而 Friend.tech 的价格模型为 S^ 2/16000 。这让 TOMO 的 Key 价格上涨得更加缓慢,一定程度上吸引更多用户参与交易。
但实质并没有改变,由于 Key 总量越大买价和卖价都越高,可能存在早期用户购入大量 Key,后期的用户购买的股权则可能产生亏损,参与投资需注意风险。
TOMO 的定价模型
Friend.tech 的定价模型
2. 中心化风险
与 Friend.tech 风险类似,TOMO 的中心化风险不可忽视。合约的 owner 可以无限制的调整手续费率,从而收取高昂的手续费,甚至可以设置 100% 的手续费让用户收不到卖出的钱,也可以设置超过 100% 的手续费率来暂停买入卖出功能。
3. 私钥风险(ERC-4337 钱包)
根据 TOMO 展示的资料,TOMO 对于用户注册后生成的钱包为 ERC-4337 钱包(账户抽象钱包)。社区对于此类钱包的资产安全性提出了质疑。
首先 Friend.tech 及大部分竞品如 Stars Arena 均使用 EOA 钱包,即普通的外部拥有钱包。EOA 钱包需要对发起的每笔交易都用私钥进行签名,交互应用时相对麻烦。同时用户难以安全地保存私钥,此前 Deribit 热钱包被盗 2800 万美元,Beosin 对如何保障钱包安全进行了详细地分享。
为解决以上种种问题,ERC-4337 提案通过引入称为“UserOperation”的交易对象来实现账户抽象,用户可以使用同时具备智能合约和 EOA 功能的单一钱包账户(账户抽象钱包)。不同的用户将 UserOperation 对象发送到 UserOperation 内存池中。由 Bundler 打包交易并提交到以太坊内存池。被打包的交易会经由 Entry Point 合约进行验证,然后调用特定的 Wallet 合约执行具体操作,随后上链。流程如下图所示:
通过 ERC-4337 的工作流程,我们可以知道账户抽象钱包有以下潜在的风险点:
(1)合约风险
Entry Point 合约和 Wallet 合约需要由项目方自行实现,目前 TOMO 并未开源相关合约。Entry Point 合约负责验证 Bundler 提交的交易的合法性,并根据交易调用特定的 Wallet 合约。如果 Entry Point 合约和 Wallet 合约存在业务逻辑漏洞,则黑客可以通过构造特定的交易进行攻击。
(2)私钥相关风险
在 ERC-4337 方案下,如果用户遗忘私钥,可能有其它解决方案恢复钱包(根据项目方的方案设计)。但私钥被盗/泄漏给他人同样有可能造成用户的资产损失。10 月 18 日,TOMO 开放了导出钱包私钥的功能,用户需导出私钥并防止私钥被盗取。
New Bitcoin City 介绍
New Bitcoin City(或称 Alpha)是基于比特币二层网络 NOS 的类似于 Friend.tech 的社交应用,支持网页端和移动端。用户可以在 New Bitcoin City 中交易 New Bitcoin City 和 Friend.tech 的 Key。此前,New Bitcoin City 团队还推出过 GameFi 项目 Mega Whales 和 DeFi 项目 New Bitcoin DEX。
New Bitcoin City 风险分析
1.业务风险
New Bitcoin City 也同样采用了与 Friend.tech 类似的定价模型,代码中的 PRICE_KEYS_DENOMINATOR 为 264000 ,NUMBER_UNIT_PER_ONE_ETHER 为 10 。相比 TOMO,价格增加得更加缓慢。
2. 网络风险
除了和 TOMO 部分存在一样的中心化风险外,根据 New Bitcoin City 团队描述,NOS 使用 Trustless Computer Layer 2 技术以运行其合约。而 Trustless Computer 也是由 New Bitcoin City 团队开发的,在执行层基于 OP Stack 开发兼容以太坊,在比特币网络完成数据验证。
目前该网络上只有 New Bitcoin City 的社交应用活跃,网络的稳定性和安全性未经过检验。
3. 私钥管理
New Bitcoin City 与 Friend.tech 类似,用户在第一次用推特授权给应用后生成一个 EOA 钱包。但生成钱包是在 New Bitcoin City 后台完成的,其私钥生成和保管流程依然是未知的。
总结
Friend.tech 竞品在 Friend.tech 的基础上进行了改良和创新。核心的定价模型基本不变,在用户交互方面进行了改进,但未能很好地解决用户钱包私钥的存储问题。合约的中心化风险明显,用户在交互时需做好项目调研。