Cortina:X 链线性化

Cortina
2023年5月19日 12:13
收藏
我们在这里为集成商准备了一份迁移指南,重点介绍了支持 Cortina 所需的 AvalancheGo API 的所有更改。

作者:Cortina

 

2023 年 4 月 3 日星期一,将发布 Avalanche Cortina 升级的预发布代码。此升级将于上午 11 点激活。 2023 年 4 月 6 日星期四,美国东部时间(UTC 下午 3 点)。请注意,此预发布代码仅适用于 Fuji。如果您在主网上运行代码,它将在启动时退出。

在 Fuji 上成功完成 Cortina 升级之前,将公布 Avalanche 主网激活时间,并发布官方 Cortina AvalancheGo 版本 (v1.10.0)。

Cortina 升级包括与 AvalancheGo 版本 < v1.10.0 不兼容的协议优化。如果您在 Fuji 上运行节点,则必须在 Fuji 上的激活时间之前将您的软件升级到 AvalancheGo >= v1.10.0。如果您是主网节点运营商,则在官方 AvalancheGo@v1.10.0 代码发布之前无需执行任何操作。

 

X链线性化

 

X-Chain 运行 Avalanche Consensus,这是一种基于 DAG 的无领导者协议,允许以高吞吐量并发处理非冲突 UTXO,而无需建立活动的总顺序。另一方面,C-Chain、P-Chain 和所有 Avalanche 子网都运行 Snowman++,这是一种基于链的完全有序的协议,可以在数千名参与者之间对无冲突的块生产进行排序,而无需基于时间的插槽。

X-Chain 的现有语义阻止或显着复杂化 Avalanche Warp Messaging (AWM) 的集成、复杂 X-Chain 交易的添加、状态同步的启用以及广泛的交换支持。 AWM 集成需要 Snowman++ 来验证来自其他 Avalanche 子网的传入消息的 BLS 多重签名。

这种限制意味着当前形式的 X-Chain 无法与子网交互,并且它运行的基于 DAG 的共识无法广泛应用于子网,而子网绝大多数希望与其他子网无缝通信。 X-Chain 上的部分排序意味着在顶点验证期间没有规范状态(顶点是 X-Chain 上批处理交易的容器,类似于区块链中的块)并且顶点在设计上经过处理在不同的节点上以不同的顺序。

在没有规范状态的情况下,与共享的链上对象(例如交易所)交互以及将状态同步到网络尖端(以避免重新处理所有历史活动)成为一个重要且容易出错的问题社区可以花费进一步发展子网的时间。

最后,链上活动的不确定排序极大地阻碍了许多传统交易所以其当前形式与 X 链集成的能力,因为大多数传统交易所都是为比特币和以太坊等完全有序的区块链设计的,并且他们很难在部分有序的区块链上协调不同时间点的余额

Cortina 迁移 X-Chain 以运行 Snowman++ 共识,并在称为“线性化”的过程中作为完全有序的区块链运行。当线性化开始时,将不再可能向 X-Chain DAG 添加额外的顶点。 DAG 的最终状态现在是不可变的,然后将用作由 Snowman++ 提供支持的线性化 X 链的创始状态。 X-Chain 上使用的交易格式和提交交易、获取交易状态和获取余额的 API 在这个过程中不会改变,因此大多数钱包不需要做任何改变来支持这个线性化事件。

然而,支持 X-Chain 的探索者将需要迁移到解析 X-Chain 区块而不是解析 X-Chain 顶点,这看起来与 P-Chain 区块非常相似。线性化是无缝的,不应导致 P 链、C 链或任何子网的任何停机。然而,X-Chain 将暂时无法访问。

如上所述,这种迁移为 Avalanche Warp Messaging 集成铺平了道路,新的交易类型修改了共享的 X-Chain 状态,提供了一个直接的路径来实现状态同步,并使交易所能够支持 X-Chain,其中将包含许多在弹性子网上使用的令牌。

虽然可以在 DAG 上引入总排序,但在 X-Chain 上这样做需要重写现有的 Avalanche 共识引擎,并且对任何子网都没有用。迁移到整个 Avalanche 网络的单一共识引擎,减少可信计算基础的规模并增加现有研发工作的杠杆作用,将实现更快的开发和更广泛适用的创新。

我们在这里为集成商准备了一份迁移指南,重点介绍了支持 Cortina 所需的 AvalancheGo API 的所有更改。

 

批量委托奖励

 

自 Avalanche 网络启动以来,验证者有机会向委托给他们节点的任何人收取服务费。如果验证者在委托期间的 80% 在线,他们将获得委托者所赚取的奖励(费用)的百分比。 P-Chain 在每个委托期间将此费用作为单独的 UTXO 进行分配。

image

随着过去几个月网络上委托人数量的大幅增加(截至 2023 年 3 月 20 日达到约 80k),验证者可能收到的作为费用的 UTXO 数量也大幅增加。这通常意味着验证者最终会得到数以千计的小 UTXO,这些 UTXO 必须聚合起来才能用于任何事情。在浏览器和钱包中跟踪数以千计的 UTXO 也使得提供出色的用户体验比需要的更具挑战性。

Cortina 修改了这些委托费用如何分配给在 Cortina 激活后开始质押的所有验证者(之前质押的验证者将看不到任何变化)。费用现在不是在每个成功的委托期发送费用 UTXO,而是在节点的整个验证期内分批处理,并在节点取消质押时分配。

 

增加 C 链气体限制

 

自 Apricot Phase 1 以来,C-Chain 区块的 gas 限制已设置为 8M gas。 C 链上的区块每约 2 秒生成一次,因此此设置将每 10 秒可消耗的最大气体量限制为约 40M 气体。但是,每个滚动 10 秒窗口的气体目标设置为 15M 气体。这意味着当在 10 秒窗口内使用超过 15M 的 gas 时,gas 价格将会上涨(当使用少于 15M 时会下降)。

除了限制以任何 gas 价格在某个窗口中可以消耗的 gas 量之外,区块 gas 限制还限制了可以在单个区块中发布的交易的复杂性。随着 Avalanche 上的不同开发人员开始部署更复杂的 dApp,他们表示每个区块 800 万气体对于他们的用例来说是不够的。 Cortina 将 C-Chain 区块气体限制增加到 1500 万气体。为避免增加验证主网络所需的资源量,gas 目标将保持在每 10 秒 15M gas 不变。

链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 站内所有内容仅系市场信息或相关方观点,不构成任何形式投资建议。如发现站内内容含敏感信息,可点击 “举报”,我们会及时处理。
ChainCatcher 与创新者共建Web3世界