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捕获和打击方面的差异。

评论

所有评论

推荐阅读

  • Cointime 5月18日要闻速递

    1. 灰度GBTC截至5月17日AUM重返190亿美元上方,持仓较前一日增加约59枚BTC

  • 某地址向中本聪钱包误转约7000美元的BTC

    据 Arkham 监测,昨晚有人不小心将其持有的 90% BTC 资产发送到了中本聪的钱包地址,他们试图销毁一个 Ordinal 换为@PupsToken,但不小心发送了几乎全部的钱包余额——大约 7000 美元的 BTC。

  • 比特币矿企Phoenix Group公布Q1财报:净利润6620万美元,同比增长166%

    比特币上市矿企和区块链技术提供商Phoenix Group公布Q1财报,主要内容如下:

  • Pudgy Penguins与乐天战略合作拟拓展韩国市场,地板价7日涨幅3.1%

    NFT 系列“胖企鹅”Pudgy Penguins 近日在 X 平台宣布与韩国零售和娱乐巨头乐天集团(Lotte Group)建立战略合作伙伴关系,以扩大其在韩国及周边地区的市场,后续将公布更多信息。CoinGecko 数据显示,Pudgy Penguins 地板价暂报 11.8 ETH,7 日涨幅为 3.1%。

  • CryptoPunks推出“Super Punk World”数字化身系列

    蓝筹NFT项目CryptoPunks在X平台宣布推出“Super Punk World”,这是该项目首次推出的500个数字化身,灵感来自于标志性的 CryptoPunks 特征与 Super Cool World 属性相结合,据悉该系列后续或将启动拍卖,有关该系列的收藏和拍卖更多细节将很快公布。

  • 灰度GBTC截至5月17日AUM重返190亿美元上方,持仓较前一日增加约59枚BTC

    灰度官方数据显示,截至当地时间5月17日,其现货比特币交易所交易基金GBTC 持有288,954.3969枚 BTC,较前一交易日增加 59.3288枚BTC。 此外,GBTC 的资产管理规模(非公认会计原则)升至19,373,184,484.83美元,流通份额小幅上涨到324,810,100份。

  • Core基金会推出500万美元创新基金

    据CoreDAO在X平台发文称,Core基金会宣布推出500万美元创新基金,该基金目前主要面向印度市场,并且和孟买联邦理工学院以及与一些头部风险投资公司达成战略合作伙伴关系,以支持该国发展创新区块链项目,现阶段该基金已开放项目资金申请。

  • Drift基金会:治理机制正逐步完善,DRIFT系组成部分之一

    Drift 基金会在 X 平台发文表示,DRIFT 代币是治理的一个组成部分,也是赋予社区塑造未来的关键。治理机制正在逐步完善,即将公布更多信息。与此同时,用户可在以下 Solana 生态项目中存入 DRIFT:在 Drift Protocol 存款(将在未来的治理举措和计划中得到承认)、通过 Meteora DLMM 池提供流动性、Kamino 的 DRIFT - JitoSOL vault、marginfi、SolBlaze 多个流动性池等。此前消息,DRIFT 代币空投申领已上线,拟于 8 月 17 日凌晨 2 点结束。

  • 证券时报:DDO数字期权在海外已涨到80美元仍在猖狂销售

    据证券时报披露,鼎益丰办公楼已经全部搬空,所在楼层贴满了关于数字期权DDO的风险告示,目的就是为了警示投资人鼎益丰的数字期权涉嫌违法。记者在现场获取的《鼎道数字期权认购协议书》中看到,每个DDO价值为1美元。投资人此前到期未兑付的合同金额将会重新安排签署新的协议书,即将此前持有的“原始股”股权平移至鼎道数字期权,可持有同等金额的DDO数字代币。 目前DDO数字期权上市交易地在新加坡,鼎益丰一部投资经理古明(化名)称价格从最初的1美元已经上涨到80美元,之前签署平移的投资者全都赚到了,已经涨了很多倍。现在仍然有很多投资者想要投资DDO,客户数量已经达到新高。此前深圳地方金融管理局发布风险提示公告,指出鼎益丰名义开展的有关DDO数字期权业务活动,本质上为虚拟货币的发行、交易行为,属非法金融活动,涉嫌非法集资等行为。

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

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