2024-11-25 04:02:29

公链Sui上线后首次停止出块!隔天宣布与Franklin Templeton合作关系

摘要
近日Sui公链也面临了暂时停止出块的窘境,在经历两个半小时的停止出块后,Sui官方也发布了针对此事件的报告。

公链Sui上线后首次停止出块!隔天宣布与Franklin Templeton合作关系

币圈网(Alibtc.com):近日Sui公链也面临了暂时停止出块的窘境,在经历两个半小时的停止出块后,Sui官方也发布了针对此事件的报告。不过主打高性能公链的Sui历经停止出块,也让人联想到先前几年的Solana。比较两者,尽管在代码语言、架构上都大大不同,但同样主打高性能公链,却也被诟病不够去中心化等。

为何一段拥堵控制代码引发了所有验证者的崩溃

报告中指出2024年11月21日凌晨,Sui主网在太平洋时间约凌晨1:15至3:45经历了一次全面停摆。所有验证者进入崩溃循环,导致整个网络无法处理任何交易。此次事件突显了高性能公链在提升性能同时,稳定性仍需高度关注。

而根据官方声明,此次停摆的原因在于Sui网络的拥堵控制(congestion control)代码中的一段「assert!」触发了验证者的崩溃。具体而言,当以下条件同时满足时,会导致网络崩溃:

  • 拥堵控制启用TotalGasBudgetWithCap模式。

  • 接收到包含以下特征的交易:一个可变共享物件作为输入、没有任何MoveCall指令

当这样的交易进入网络,所有验证者同时崩溃,网络陷入停摆。

拥堵控制是什么?

Sui主网的物件导向架构允许大量交易并行处理,这是其实现高性能的方式。然而若多笔交易需写入同一共享物件,仍需依序执行,且此类交易的处理速度受到限制。为避免共享物件造成的拥堵,Sui引入拥堵控制机制以限制单个共享物件的交易速率。

而近期Sui升级了拥堵控制系统,引入TotalGasBudgetWithCap模式以更精准地评估交易复杂度。不过,此模式的代码中出现了导致本次事件的漏洞。Sui团队表示这次发现问题后即迅速采取行动,通过代码修复(PR#20365)推出了主网v1.37.4和测试网v1.38.1版本更新。验证者社群展现了极高的响应效率,从修复发布到网络恢复仅用了15分钟。

Typus协议:Sui的停止出块与Solana完全不同

Sui的停止出块不免让人联想到Solana甚至今年的TON,对此Sui上的DeFi协议Typus的CGO Kyrie也在推特上分享团队成员对此的看法,他直接地指出这与Solana的停止出块是完全不同的事。因为Solana的问题是网络拥堵导致系统崩溃,要解决需要大规模架构改善,而这也表示Solana的问题短期内难以根本解决。而Sui这次是明确的技术问题,不影响系统基础架构。

Kyrie表示这次当机问题出在计算交易成本时的数值溢位(overflow)。简单来说,就像计算机显示位数不够,数字太大时会归零重新计算。系统在这种情况下陷入无限循环,最终导致整个网络停摆。

当系统计算的数值超过可以储存的范围时,原本的设计是超过范围时会计算错误,导致系统一直重复运算。而PR#20365修正后设定了正确的计算上限,避免这种状况发生。他也指出这次事件的关键在于:问题发生在交易成本计算的程式逻辑上,而不是Sui的共识机制或系统架构设计。这也解释了为什么修复能这么快速且直接。

Franklin Templeton与Sui宣布合作关系

在截稿前传来一个消息,在停止出块的隔天,Sui Foundation宣布了与Franklin Templeton的合作关系。在声明中Franklin Templeton点名了Deepbook、Karrier One及ika这三个协议及基础设施。不过根据Franklin Templeton在区块链的操作,或许可以期待Sui这个物件导向,最注重安全性的公链与RWA的结合。

声明:文章不代表币圈网观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!转载请注明出处!侵权必究!
回顶部