Cointime

扫码下载App
iOS & Android

Solana交易的生命周期

作者:@0xShitTrader @buffalu__ 编译:CoinTime 237

本文重点介绍了Solana交易的生命周期。我们探讨了Solana运行时如何处理交易,并强调了交易执行和排序。我们还探索了Solana与以太坊在交易执行方面的差异。文章假定读者对区块链机制有一定的了解。本文的目的是为后续讨论Solana上的MEV打下基础。

Solana交易的结构

Solana交易由以下三部分组成:

1、一个或多个指令,指定交易应在链上运行的代码。例如“从账户A向账户B转移5 SOL”。

2、所需的账户数组(离散状态块),每个账户都有读写标志。例如,“账户A [可写],账户B [可写]”。

3、一个或多个交易所需的签名。例如,“来自账户A所有者的签名”。

对于开发人员而言,事先指定状态规范可能会很繁琐,但这种代码和状态的分离对于Solana的并行执行模型(类似于EIP-2930)是必要的。

Solana交易的生命周期

用户通过他们的钱包启动交易。交易可以是代币转移、DeFi协议上的交易、NFT铸造或Solana区块链上提供的任何其他操作。在单击“批准交易”和UI报告交易已经确认之间会发生什么?

1、启动交易

一旦用户在他们的钱包中签署了交易,钱包就会将交易发送到Solana RPC服务器。RPC服务器可以由任何验证者运行。收到交易后,RPC服务器检查 leader schedule(每个时期确定一次,约为2天长)并将交易转发给当前leader以及下两位leader。leader负责为当前时间段生成一个块,并被分配四个连续时间段。时间段通常持续约400毫秒。

2、交易执行和排序

一旦签署的交易到达当前leader,leader会验证交易的签名,并在调度执行之前执行其他预处理步骤。

目前大多数验证者使用Solana Labs构建的Solana客户端提供的调度程序实现。但是,如果他们愿意,验证者可以运行不同的块构建算法。

默认调度程序实现是多线程的,每个线程维护等待执行的交易队列。交易随机分配到单个线程的队列中。每个队列按优先费用(以请求的计算单位支付的费用计量)和时间排序。

请注意,没有全局排序的待执行交易队列;每个线程的队列中只有本地排序。

回想一下,交易包括需要为执行锁定的状态的规范。当线程执行交易时,它首先尝试获取必要的账户锁定,然后执行交易。处理无法获取所需锁定的进程的交易会被重新排队以稍后重试。

在上述图表中,每个框表示一个单独的交易。每个交易都带有其锁定的账户标签。执行线程1锁定账户[a,b,c],[d],无法锁定[c,j]和[f,g]。执行线程2锁定账户[w],[x,y,z],无法锁定[c]和[v]。其余交易计划在未来执行。

这是Solana实现比竞争链更高性能的一种方法。当多个交易不需要触及相同的状态时,它们可以并行执行,这提高了链的吞吐量。然而,这对开发人员有成本,因为任何可能被交易所需的状态必须事先指定。

有了这种默认调度程序实现,交易按FIFO和优先费用的大致组合顺序排序在块中。但是,交易排序存在固有的非确定性,因为交易有点随机地分配给执行线程-即使没有网络抖动,不同的发送也可能落在多线程调度程序中的不同位置。这种调度程序抖动会增加交易在块中落位的差异,因此大量发送以落位紧急交易可能是有益的。

这也意味着如果搜索器最快到达特定交易,他们可能能够在相关状态(市场账户)变热之前执行交易,因此不需要使用优先费用以获得包含。

人们可以想象具有不同特征和不同向验证者支付的不同奖励的替代调度程序设计。这仅仅是块打包问题,除了由于Solana支持的高吞吐量,执行是一个显著的瓶颈,因此在交易流中逐步构建块。

3、交易传播和状态更新

一旦leader执行交易,它立即记录到验证者的帐本副本中并传播到网络的其余部分。在一个块从共识获得必要的投票之后,交易被视为“已确认”。最后,当31个或更多已确认的块建立在上面时,块被认为是“最终确定”的。这些阶段通过RPC返回给前端,允许用户查看其交易的状态。我们将在未来的文章中探讨Solana的块传播和共识机制。

Solana和以太坊之间的差异

Solana和以太坊的交易生命周期有很多不同之处。

1、一个主要的区别是Solana没有公共内存池。与由点对点传输构建的分布式内存池的待处理交易不同,它们直接转发给当前的leader和下几个领leader。

2、Solana默认的验证器实现还具有连续块生成功能。交易持续流入验证器进行执行,然后进行块生成,最后进行交易传播。在以太坊上,待处理交易被验证者或块构建者阻塞,直到完整块在12秒间隔内构建完成。连续块生成意味着优先费用不能保证在块内的位置。这意味着相对于以太坊上的离散状态拍卖(在MEV-boost和Jito拍卖中特色)来说,在竞争性交易中延迟更加重要。

3、Solana交易需要每个签名的固定网络费用(通常为每个交易一个签名),为0.000005 SOL,约为出版当时的$0.0001。还可以包含可选优先级费用,以请求的计算单位支付费用(执行中使用的计算单位数量的上限)计量,并在Solana调度程序中提供更高的优先级,如上所述。Solana的块大小限制基于使用的计算单位而固定,类似于以太坊块具有的Gas目标。网络费用的一半被烧毁,另一半归leader所有。相比之下,以太坊的交易费用由Gas价格和Gas限制组成,其中Gas价格是以太币(ETH)的数量,而Gas限制是交易执行所需的Gas总量。Gas价格和Gas限制的乘积是以太坊上交易费用的总量。在以太坊上,即使没有计算单位或网络费用,交易也需要支付最小金额的Gas费。

4、在Solana上,最近推出了不受协议控制的区块空间拍卖(Jito),市场份额较以太坊上的MEV-boost(85%)要小得多(25%)。这说明了两个生态系统在块生成和处理MEV方面存在一些根本性差异。

结论

Solana的高速交易处理是其高性能的基础之一。通过删除公共内存池和使用多线程调度程序运行交易,Solana可以实现高吞吐量并将交易处理时间最小化。然而,这种并行执行的模型可能会对开发人员造成负担,因为他们必须指定可能被交易所需的状态。在未来的文章中,我们将探讨Solana与以太坊在MEV捕获和打击方面的差异。

评论

所有评论

推荐阅读

  • 福布斯富豪榜:赵长鹏超张一鸣再成华人首富,资产达 657 亿美元

    据福布斯富豪榜最新数据币安创始人赵长鹏(CZ)再度成为华人首富,资产达 657 亿美元,不过,《福布斯》将赵长鹏的国籍列为加拿大,他目前位列第24位。

  • 摩根士丹利:预计到2026年底 人民币对美元的升值幅度将相对温和 可能达到7.05

    今日上午,MSCI中国指数上涨,较4月低点涨幅扩大至20%。从目前的情况来看,中国股市的多头趋势的确在增强。摩根士丹利表示,投资者尤其关注中国市场中的新技术和新商业模式,特别是新消费主题以及人工智能/科技相关主题。对于中国在全球技术竞争中能力的提升,例如在人工智能领域的突破以及电动车、电池、人形机器人等领域的进展,投资者也给予了更多认可,并开始重新思考在多极世界中同时投资中美市场的策略。汇率方面,摩根士丹利已将人民币兑美元的观点从贬值转为升值。这一转变反映了其对美元走弱的预期,预计到2026年底,美元指数可能跌至89。同时,欧元兑美元预计也将升值超过10%。不过,摩根士丹利预计到2026年底,人民币对美元的升值幅度将相对温和,可能达到7.05。

  • 美国现货比特币ETF昨日净流出3.8547亿美元

    据TraderT监测,美国现货比特币ETF昨日净流出3.8547亿美元。

  • 6月9日晚间重要动态一览

    12:00-21:00关键词:Turnkey、美国加州、Strategy、Tether 1.Tether在Tron网络铸造10亿枚USDT 2.加密钱包Turnkey完成3000万美元B轮融资 3.美国加州州长纽森:将对特朗普政府提起诉讼 4.Strategy上周耗资1.1亿美元购入1045枚比特币 5.中美经贸磋商机制首次会议在英国伦敦开始举行 6.Tether计划第四季度开源比特币矿机操作系统MOS 7.CoinShares:上周数字资产投资产品净流入2.86亿美元 8.The Blockchain Group联合TOBAM启动3亿欧元比特币增资计划

  • 中美经贸磋商机制首次会议在英国伦敦开始举行

    当地时间6月9日,中共中央政治局委员、国务院副总理何立峰与美方在英国伦敦开始举行中美经贸磋商机制首次会议。

  • 特朗普:密切关注洛杉矶,将向任何地方派军

    美国总统特朗普8日就加利福尼亚州洛杉矶骚乱表示,联邦政府“将向任何地方派遣军队”。美国军方同一天说,大约500名海军陆战队人员正在待命。特朗普告诉媒体记者,洛杉矶的抗议活动是“暴乱”,“我们将向任何地方派遣军队”,“不会让施暴者逍遥法外”。

  • 花旗:预计美联储将在2026年1月和3月(累计)降息50个基点

    花旗:预计美联储将在2026年1月和3月(累计)降息50个基点。

  • 特朗普称决不允许国家撕裂

    美国总统特朗普当地时间6月8日下午在新泽西州换乘“空军一号”登机前对媒体表示,洛杉矶存在“暴力分子”,“还冲执法人员吐口水、投掷东西”,但他们“吐口水就得挨揍”,“他们休想逍遥法外”。当被问及是否计划向洛杉矶派遣军队时,特朗普回应称,“我们将在各地部署军队,绝不允许国家被撕裂,不会重蹈拜登任内的覆辙。”特朗普同时警告称,阻挠非法移民驱逐行动的加州官员将面临指控。

  • 美联储任命 Michael Horowitz 担任新一任监察长,负责内部监督

    美联储近日宣布,迈克尔·霍洛维茨(Michael Horowitz)将出任美联储新任监察长。霍洛维茨接替自 2011 年起担任该职并于今年4月退休的Mark Bialek。作为美联储监察长,他还负责对消费者金融保护局(CFPB)进行独立监督。他此前的职务是司法部监察长(IG)。美联储的监察长是由主席挑选的,这在政府监管机构中不同寻常。一些参议员认为,这种安排使监察长无法对美联储进行真正的监督,他们已提出立法,要求由总统来挑选监察长,然后经参议院确认。在美联储内幕交易风波后,美联储监察长成为公众关注的焦点,该机构负责评判一些联储官员的交易行为是否符合道德要求。

  • 空投爱好者必备的开发知识有哪些?

    懂得开发部署知识,让用户小白成为BUIDL。