我最近一直在设计一个区块链应用程序,它需要具有一些复杂的可扩展性要求。对此我很高兴查看了最近推出的Aptos区块链,并与Aptos和Solana的团队进行了交谈。
在这篇文章中,我将阐释Aptos可扩展性的局限性,以及Solana为什么不会受到Aptos的这些限制。尽管标题可能暗示了什么,但我不是Solana的最大股东,且我在这两个区款链中都不持有很多股份。
条件
以太坊上的所有交易都是独立事件记录执行的。你可以把这些交易想象成单行道上的汽车。
系统在一个"区块"时间内只能处理一定数量的汽车。在交通堵塞时期,系统必须决定哪些汽车需纳入在一个"区块"中,以及哪些需拒绝纳入。我们把这个过程称为"汽车辆选择"。
Thala Labs加入Aptos和Google Cloud加速器计划:2月10日消息,Aptos生态DeFi协议Thala Labs发推称,现已加入Aptos和Google Cloud加速器计划,并收到10万美元赠款,用于使用GCP节点服务,为DApp基础设施提供支持,并为用户提供低延迟体验。[2023/2/10 11:59:00]
独立事件的执行在某些情况下是很重要的。例如,在铸造NFT时,每个NFT得到一个独特的数字1,2,3,4等,这很重要。出于这个原因,所有这些车必须一次次处理。
现在想象一下,有两个不同的NFT集合在同一时间铸币。在这种情况下,同一集合的所有NFT必须按顺序铸币,但每个集合的NFT都有可能被赋予自己的车道。你可以把这想象成一条双车道的高速公路。
Aptos v1.2版本将上线主网,新增支持新的整数类型等功能:2与2日消息,据官方消息,Aptos Node v1.2版本将上线主网,新增指数回退(exponential back-off)、支持新的整数类型(u16、u32、u256)、视图函数、事务参数的编译时检查等功能,以及启用AIP 1、AIP 2、AIP 3、AIP 4治理提案概述的功能。[2023/2/2 11:42:52]
而以太坊只有一条车道,这意味着所有的车都必须堆在一条车道上。
Aptos和Solana采取了不同的方法来提供多车道的高速公路,以大大提升系统的整体吞吐量。我们将在本文中比较这些方法。
Aptos链上总交易数突破500万笔:10月20日消息,据欧科云链OKLink Aptos浏览器数据显示,当前Aptos主网链上总交易数已突破500万笔,总交易数为5,145,808笔。
据悉,欧科云链OKLink多链浏览器已上线Aptos浏览器及Aptos生态项目库,累计收录超100个项目。[2022/10/20 16:32:07]
Solana
Solana强制汽车必须预先指定其车道。系统将交易分组到车道上,然后再发送给他们执行。这种多车道的高速公路大大增加了系统的容量。
要预先指定你需要哪条车道可能有点令人难受。出于这个原因,Aptos希望能像Solana一样在多个车道上处理交易,而不需要指定车道。
Aptos
Aptos:测试网空投超2007.6万枚APT将分发给超11万社区参与者:10月19日消息,Aptos基金会官方宣布,将通过airdrop@aptosfoundation.org向110,235位测试网参与者发布共计20,076,150枚APT Token空投的通知,这是其第一次根据现有社区数据进行空投。
据悉,完成了APTOS激励测试网或铸造“APTOS:ZERO testnet NFT”的用户有资格申领APT Token(铸造NFT的原始用户有资格申领,而非NFT的当前所有者)。有资格申领APT Token的用户将在接下来的几个小时内收到电子邮件通知。[2022/10/19 17:31:56]
Aptos的算法被称为"BlockSTM",在不知道这些汽车将使用哪条车道的情况下,将汽车添加到一个"区块"。这些汽车是按顺序排列的——尽管它们都共享一条车道。
当Aptos执行器收到订购的汽车块时,执行器能够在执行过程中把汽车分成车道。可以使用不同车道的汽车将被执行者放在不同的车道上。
Aptos的Block-STM的问题
在车流量大的时候,系统必须决定哪些车要纳入该区块中,哪些要拒绝。在做这个决定的时候,Aptos并不知道这些车的车道。相反,Aptos选择出价最高的汽车,并将其纳入该区块。
让我们假使有4条车道,但是所有出价最高的人都需要使用同一条车道。
系统为该区块选择了3个交易。所有的交易最终都需要使用同一个车道
我们可以看到,有几个车道是未使用的。系统仅在以其1/4的能力运行。如果系统在选车时能提前知道车道情况,它便可以把额外的车送到这些空车道。
但不幸的是,Aptos在执行车辆选择时并没有这些信息。简而言之,该系统仍然有单车道的瓶颈,只是发生在不同的地方。
同样不幸的是,在?block-STM中,无论你增加多少车道,都很难增加一个区块中的汽车数量。
为什么Solana的表现更好
Solana强制汽车必须预先指定其车道。虽然这可能会使开发更加难受,但它允许"汽车选择"系统根据车道信息来选择汽车。Solana的"车辆选择器"可以在每条车道的基础上限制一个街区的汽车数量。
这允许系统对拥挤的车道进行限制,但在不拥挤的车道上允许交通。我们可以在图中看到这如何增加系统的总吞吐量。
Solana也接受按车道计算的优先权费用。在上图中,第二条车道上的汽车可能会提供额外的费用,以便被移到第二条车道的前面,但最后一条车道上的汽车没有理由提供这种费用。
这也鼓励开发者不断编写可利用到空闲车道的代码。而不需要使用繁忙车道的汽车将有更少的竞争和更低的费用。因此,开发商会加大利用到空闲车道,总系统会更高。
而Aptos则不然。在Aptos,即使你的代码是为了利用空车道而编写的,在"选车"过程中,所有的汽车都被平等对待。你的用户将不得不与所有的车道竞争,以获得"车辆选择"队列的前面。这意味着开发商没有动力去使用和开发空闲车道。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。