Friend.tech 的持续爆火让市场再一次注意到了 SocialFi 赛道。目前,各条链的Friend.tech 竞品层出不穷,Linea 链的 TOMO 和 NOS 链的 New Bitcoin City 凭借自身创新,在短时间内其TVL均突破1百万美元,成为 SocialFi 赛道新秀。
在此类 SocialFi 项目如火如荼地发展时,相关的安全风险受到了社区的广泛关注。8月底 Friend.tech 因API访问设计导致了隐私泄漏;10月7日,Avalanche 链上的 Stars Arena 存在重入漏洞,黑客在其合约中重入调用0x5632b2e4函数,导致 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%的手续费率来暂停买入卖出功能。
source: https://lineascan.build/address/0x9e813d7661d7b56cbcd3f73e958039b208925ef8
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 合约执行具体操作,随后上链。流程如下图所示:
source: https://eips.ethereum.org/EIPS/eip-4337
通过ERC-4337的工作流程,我们可以知道账户抽象钱包有以下潜在的风险点:
合约风险
Entry Point 合约和 Wallet 合约需要由项目方自行实现,目前 TOMO 并未开源相关合约。Entry Point 合约负责验证 Bundler 提交的交易的合法性,并根据交易调用特定的 Wallet 合约。如果 Entry Point 合约和 Wallet 合约存在业务逻辑漏洞,则黑客可以通过构造特定的交易进行攻击。
私钥相关风险
在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。
link: https://pro.newbitcoincity.com/
New Bitcoin City风险分析
1. 业务风险
New Bitcoin City 也同样采用了与 Friend.tech 类似的定价模型,代码中的 PRICE_KEYS_DENOMINATOR为264000,NUMBER_UNIT_PER_ONE_ETHER为10。相比TOMO,价格增加得更加缓慢。
source: https://explorer.l2.trustless.computer/address/0x9b5A4a3cF82F6860fB26c2626b0278071e7997a9/contracts#address-tabs
2. 网络风险
除了和 TOMO 部分存在一样的中心化风险外,根据 New Bitcoin City 团队描述,NOS 使用 Trustless Computer Layer2 技术以运行其合约。而Trustless Computer 也是由 New Bitcoin City 团队开发的,在执行层基于 OP Stack 开发兼容以太坊,在比特币网络完成数据验证。
source: https://docs.trustless.computer/blockchain-architecture/rollups-on-bitcoin
目前该网络上只有 New Bitcoin City 的社交应用活跃,网络的稳定性和安全性未经过检验。
3. 私钥管理
New Bitcoin City 与 Friend.tech 类似,用户在第一次用推特授权给应用后生成一个EOA钱包。但生成钱包是在 New Bitcoin City 后台完成的,其私钥生成和保管流程依然是未知的。
总结
Friend.tech 竞品在 Friend.tech 的基础上进行了改良和创新。核心的定价模型基本不变,在用户交互方面进行了改进,但未能很好地解决用户钱包私钥的存储问题。合约的中心化风险明显,用户在交互时需做好项目调研。