作者:路畅
来源:律动研究院
链上除了可以记录交易,每笔交易更可附上自定义的文本。借助一最简单又最基础的功能,人们可以做很多有趣的事情。举一个最简单的例子——链上聊天。此前,律动曾撰文介绍过使用以太坊传递信息的情况,详情可见《其实有很多人在用以太坊聊天》。
而由于以太坊自身网络的特性,链上交易gas费用高昂。虽然有人在使用以太坊进行聊天,但这种使用方式难以普及。有多少用户愿意为了发送一条消息而支付十美元呢?
通过区块链聊天,这的确是一个有趣的想法,但在以太坊上似乎并不可行,但如果使用别的网络呢?建立在Solana之上的Jabber就在尝试实践这个有趣的构想。
11月底,Jabber上线了app的测试版。Jabber是一款「Telegramlike」的聊天App,而它有趣之处在于,每一条消息,都是一笔在Solana链上发送的交易。受益于Solana的高性能和低成本,将消息作为交易发送,并不会让用户的成本高到难以承受。
Beosin:EthTeamFinance项目遭受到了漏洞攻击事件简析:据Beosin EagleEye 安全预警与监控平台检测显示,ETH链上的EthTeamFinance项目遭受漏洞攻击,攻击合约0xCFF07C4e6aa9E2fEc04DAaF5f41d1b10f3adAdF4通过LockToken合约的migrate函数没有正确验证_id和params的漏洞,将WTH,CAW,USDC,TSUKA代币从V2流动性池非法升级到V3流动性池,并且通过sqrtPriceX96打乱V3流动池的Initialize的价格,从而获取大量refund套利。共计套利了约1300多万美元。[2022/10/27 11:49:12]
慢雾简析Qubit被盗原因:对白名单代币进行转账操作时未对其是否是0地址再次进行检查:据慢雾区情报,2022 年 01 月 28 日,Qubit 项目的 QBridge 遭受攻击损失约 8000 万美金。慢雾安全团队进行分析后表示,本次攻击的主要原因在于在充值普通代币与 native 代币分开实现的情况下,在对白名单内的代币进行转账操作时未对其是否是 0 地址再次进行检查,导致本该通过 native 充值函数进行充值的操作却能顺利走通普通代币充值逻辑。慢雾安全团队建议在对充值代币进行白名单检查后仍需对充值的是否为 native 代币进行检查。[2022/1/28 9:19:19]
当我们进入主界面,一个简洁的聊天列表呈现在眼前,基本操作逻辑与Telegram并无较大差异。用户需点击右上角的写信按钮,自行键入信息接收人的地址,就可以开始进入聊天了。除标准的钱包地址外,该App还支持.sol域名。
慢雾:Avalanche链上Zabu Finance被黑简析:据慢雾区情报,9月12日,Avalanche上Zabu Finance项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家参考:
1.攻击者首先创建两个攻击合约,随后通过攻击合约1在Pangolin将WAVAX兑换成SPORE代币,并将获得的SPORE代币抵押至ZABUFarm合约中,为后续获取ZABU代币奖励做准备。
2.攻击者通过攻击合约2从Pangolin闪电贷借出SPORE代币,随后开始不断的使用SPORE代币在ZABUFarm合约中进行`抵押/提现`操作。由于SPORE代币在转账过程中需要收取一定的手续费(SPORE合约收取),而ZABUFarm合约实际接收到的SPORE代币数量是小于攻击者传入的抵押数量的。分析中我们注意到ZABUFarm合约在用户抵押时会直接记录用户传入的抵押数量,而不是记录合约实际收到的代币数量,但ZABUFarm合约在用户提现时允许用户全部提取用户抵押时合约记录的抵押数量。这就导致了攻击者在抵押时ZABUFarm合约实际接收到的SPORE代币数量小于攻击者在提现时ZABUFarm合约转出给攻击者的代币数量。
3.攻击者正是利用了ZABUFarm合约与SPORE代币兼容性问题导致的记账缺陷,从而不断通过`抵押/提现`操作将ZABUFarm合约中的SPORE资金消耗至一个极低的数值。而ZABUFarm合约的抵押奖励正是通过累积的区块奖励除合约中抵押的SPORE代币总量参与计算的,因此当ZABUFarm合约中的SPORE代币总量降低到一个极低的数值时无疑会计算出一个极大的奖励数值。
4.攻击者通过先前已在ZABUFarm中有进行抵押的攻击合约1获取了大量的ZABU代币奖励,随后便对ZABU代币进行了抛售。
此次攻击是由于ZabuFinance的抵押模型与SPORE代币不兼容导致的,此类问题导致的攻击已经发生的多起,慢雾安全团队建议:项目抵押模型在对接通缩型代币时应记录用户在转账前后合约实际的代币变化,而不是依赖于用户传入的抵押代币数量。[2021/9/12 23:19:21]
Harvest.Finance被黑事件简析:10月26号,据慢雾区消息 Harvest Finance 项目遭受闪电贷攻击,损失超过 400 万美元。以下为慢雾安全团队对此事件的简要分析。
1. 攻击者通过 Tornado.cash 转入 20ETH 作为后续攻击手续费;
2. 攻击者通过 UniswapV2 闪电贷借出巨额 USDC 与 USDT;
3. 攻击者先通过 Curve 的 exchange_underlying 函数将 USDT 换成 USDC,此时 Curve yUSDC 池中的 investedUnderlyingBalance 将相对应的变小;
4. 随后攻击者通过 Harvest 的 deposit 将巨额 USDC 充值进 Vault 中,充值的同时 Harvest 的 Vault 将铸出 fUSDC,而铸出的数量计算方式如下:
amount.mul(totalSupply()).div(underlyingBalanceWithInvestment());
计算方式中的 underlyingBalanceWithInvestment 一部分取的是 Curve 中的 investedUnderlyingBalance 值,由于 Curve 中 investedUnderlyingBalance 的变化将导致 Vault 铸出更多的 fUSDC;
5. 之后再通过 Curve 把 USDC 换成 USDT 将失衡的价格拉回正常;
6. 最后只需要把 fUSDC 归还给 Vault 即可获得比充值时更多的 USDC;
7. 随后攻击者开始重复此过程持续获利;
其他攻击流程与上诉分析过程类似。参考交易哈希:0x35f8d2f572fceaac9288e5d462117850ef2694786992a8c3f6d02612277b0877。
此次攻击主要是 Harvest Finance 的 fToken(fUSDC、fUSDT...) 在铸币时采用的是 Curve y池中的报价(即使用 Curve 作为喂价来源),导致攻击者可以通过巨额兑换操控预言机的价格来控制 Harvest Finance 中 fToken 的铸币数量,从而使攻击者有利可图。[2020/10/26]
除了点对点聊天外,该App还支持小费打赏、创建群聊、收费收信等功能。收费收信是其中一个较为新颖的设计。
链上信息传输因为其无需许可的特点,只要知道地址,任何人皆可发送任意的信息。假设这样一个场景,若Jabber成为像微信一样广泛普及的聊天应用,而你又恰好是一个地址已被公开的KOL,那你的聊天列表会被多少无效信息充斥呢?
通过收费收信的功能,这一问题得到了解决。在设置界面我们看到「SOLpermessage」这一项目,这一数值代表着向你发送信息每条需向你支付多少SOL。这一设计非常有趣。
而在群聊中也存在着类似的机制,用户加入群聊后需支付一定的SOL才可发送消息。这一机制可创造更多的用例,譬如付费社群、线上答疑等等。但目前在Web2的同类产品中,尚无有类似机制的用例。这一需求是否能产生真实的使用场景,仍然有待观察。
这款App与其他聊天软件最根本的区别,即所有数据全部链上传输。而这也是用户对其最大的担忧所在,链上数据公开透明,如何保证聊天内容的隐私性?
我们以真实的使用情况作为演示。笔者使用Jabber向某地址发送了「GM」两个字符,该笔交易收取了0.000005SOL的gas。
而在这笔的转账的log详情中,我们可以看到一些更细节的内容。
Jabber尽管会将全部信息上链,但消息是加密的并不会将你的聊天内容公开,用户无需担心聊天全部上链所使得隐私泄露。
而全部上链的缺点也是显而易见的,每次操作都要付出一定的gas是在所难免的。在进行多次尝试之后可以发现,修改个人资料、更改头像图片、设置是否显示SOL域名等等,在设置中的每一项操作几乎均需要进行链上交互,并付出gas费。而在实际的聊天过程中,发送不同数量的字符,付出的gas费用也都相同,与更改各项设置所需gas相同,均为0.000005。
Jabber由Bonfida团队开发,目前并无独立官网,现已提供iOS和Android版本。Bonfida是基于Solana建立的一款完整产品套件,其旗舰产品为基于Serum中央订单簿的DEX前端。目前Bonfida提供的功能除了基于Serum的基础交易功能以外,还有程序化交易机器人、SerumAPI、Solana链上永续合约协议、SOL域名等。
Jabber是基于Solana建立的第一个移动消息应用。Bonfida认为,Jabber最重要的价值在于它为用户提供了一种无需信任、去中心化的方式来将他们的交互货币化。这个特性或可为NFT和GameFi带来更多的用例。?
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。