垃圾交易悖论,为什么你的Solana交易总会失败?
作者: 投资币 时间: 2024-11-24 20:37 阅读: 799
相信不少用户还不清楚,为什么最近他们在 Solana 上的交易总是失败?
让我们从最基础的内容开始分析——从用户的角度来看,当我们进行交易时,基本上会发生三件事:
你可能会疑惑,网络层是什么?
放心,稍后我们就会讨论这些未送达的交易,以及它们为何是当前 Solana 拥堵的主要原因。在此之前,让我们来聚焦那些失败的交易,因为理解为什么失败的交易不是主要问题这一点,很重要。
如果仔细观察,你可能会惊讶地发现,这些失败交易中只有大约 8% 来自真实用户,其余的都是链上机器人执行套利交易失败的案例:套利者会向 Solana 大量发送垃圾交易,因为与成功套利带来的回报相比,发送垃圾交易的成本微不足道。
例如,他们可以每天多次向 Solana 发送垃圾交易,这将花费他们几百美元(因为 Solana 的费用很低),而他们只需要完成一笔交易就可以赚取高达 10 万美元的利润。
因此,重要的一点是,这些失败的交易并不意味着 Solana 的活跃度出现问题——Solana 网络正在按预期运行,所以这些失败的交易只是由于 Bot 们的交易条件不满足而最终导致的,并不是目前 Solana 用户体验不佳的主要原因。
事实上,自去年 11 月以来,Solana 的交易失败率一直保持在 50% 左右,如果你回顾一下我上面列出的失败与成功图表,你会发现之前的情况也差不多。
那现在就让我们讨论一下过去几天 Solana 拥堵的主要原因——「未送达的交易」,正如前面提到的,这些交易未能到达「区块领导者」,并且由于网络层的问题而被丢弃。
网络层是互联网的通信层,用于在不同的连接之间发送数据包,例如:TCP(传输控制协议)、UDP(用户数据报协议)、QUIC(由谷歌设计)等。
而 Solana 最近刚刚升级 QUIC 作为其网络层,它有助于在用户和「区块领导者」之间建立连接,而且由于 Solana 具有持续的区块生产能力并且没有内存池,因此丢失连接将意味着交易不会写入区块。
QUIC 使「区块领导者」能够根据特定标准切断某些用户的连接或限制其速率,因此,「区块领导者」现在可以在链上需求高企时放弃某些连接,也就是说,这种新架构可防止 Solana 在网络活动增加时停止运行——虽然网络这时可能会非常拥挤,但至少不会停下来。
所以你可能会问,如果 QUIC 的一切都设计得如此好,为什么 Solana 现在这么糟糕?
因此问题是,即使「区块领导者」现在可以限制某些连接,但具体「要限制哪些连接」的逻辑却执行得很差,而且存在缺陷。
为了更好地理解,让我们想象一下,如果正常情况下每个「区块领导者」都有 X 个可以对话的连接,那在活动高峰期,「区块领导者」就会开始接收 10-100 倍数量的连接请求……
这时「区块领导者」可以选择放弃某些连接,但是问题在于,这些连接目前并不是根据一组既定的标准被丢弃(比如丢弃所有费用低于 X 的连接),而是被随机丢弃……
所以本质上,要想你的交易被打包,你必须比其他人发送更多垃圾交易,而且由于有多个机器人会向网络发送连接请求,普通用户建立连接和完成交易变得越来越困难。
这就是主要问题的要点,Firedancer、Anza、Solana 等团队正在努力修复网络层,这些补丁正在陆续推出,一些主要补丁据说将在未来几周内推出。
这就能解决问题了吗?Solana 会再次腾飞吗?并不完全是,导致未来还有很长的路要走的原因有三个: