重要公告 | 关于88号公投和近期Moonbeam区块生产中断的根本原因分析

[Web3] 基础第4篇: 区块链的组织结构 适用于大规模数据过滤(如 区块链、数据库、搜索引擎)低存储需求、高速查询的场景需要注意不能删除数据(标准版本) → 计数布隆过滤器解决存在误判(False Positive) → 适用于 非精确查询布隆过滤器以 高效存储和快速查询 在 区块链、分布式存储和大数据处理 领域有广泛应用。 阅读详情

2023年4月5日,Moonbeam网络经历了短暂的区块生产暂停问题,这是已批准的88号公投带来的意外结果。该问题源于链上公投的批准结果先于runtime升级发布,然而对这次公投的调用顺序却被安排在了runtime升级之后的区块。本文提供了对该事件的详细事后分析,概述了导致网络中断的事件顺序,以及为解决该问题并防止其再次发生而采取的后续措施。

事件摘要

一个包含system.remark调用的88号公投已在区块3276000上通过社区治理获得批准,并计划于区块3291300上执行。

在执行88号公投之前的一些区块(区块 3290853)已成功应用于runtime 2201升级。新的runtime包含了一个Substrate中的底层更改——变更了system.remark的调用索引,造成其与system.setHeapPages的调用索引匹配。

由于此更改,计划中的system.remark调用无意中切换为system.setHeapPages调用。新的调用有一个无效值,阻止了收集人生产区块,并且最终导致网络停止。

网络停止前的最后一个区块(即区块3291299)生产于2023年4月5日14:43:24 UTC。后续区块(即区块3291300)无法被生产,因为其区块中包含了一个计划中的,且带有错误配置的新HEAP_PAGES参数的调用。

Moonbeam开发贡献者和Parity立即着手调查,迅速发布了一个可供所有节点使用的新客户端,在接近4小时的中断后,网络重新恢复区块生产。

根本原因

Runtime 2201包含了一个Substrate中的底层更改——改变了system.remark的调用索引,造成其与system.setHeapPages的调用索引匹配。按照正常情况,这本来不是问题,因为一个基于新的runtime升级中的调用可以被分配给另一个新的调用索引。

88号公投包含了一个system.remark调用,这次公投本应该在Runtime2100上启动。对于该runtime,被分配了一个调用索引1。公投获得批准后,网络自动计划了把此公投的调用派送到区块3291300上执行。然而,该区块是Runtime2201的一部分。

当开始生产区块3291300时,新映射的system.setHeapPages的执行意味着一个非重要的链上配置值被更改,以至于收集人无法生产区块。最终导致在2023年4月5日14:43:24 UTC,网络停止生产区块。

Runtime升级会通过几个测试网络,在Moonbeam主网升级之前会通过完整测试。此次事件与runtime升级本身无关,而是因为一个错配在不同runitime升级的调用,导致执行关系发生了变化,调用索引在两者间发生了改变,才造成此次问题。

解决方案

Moonbeam团队发布了新客户端version 0.30.3以解决问题。更新的客户端可忽略链上储存的错误的HEAP_PAGES值,允许收集人继续生产区块。

在当天18:55:48 UTC(约问题产生后4小时12分24秒),随着区块3291300创建,网络恢复区块生产。

在收集人更新至新客户端(v0.30.3)后,网络开始以固定节奏生产区块,并逐渐恢复正常。反应迅速的升级离不开社区收集人对新客户端信息的重视,也是帮助网络区块生产恢复正常的关键。

未来计划

公投88号批准后的影响,以及后续从system.remark调用意外切换到system.setHeapPages调用而导致Moonbeam网络暂停事件,对社区来说是一次重要的经验教训。

Moonbeam开发贡献者们迅速发布新客户端,准确解决问题,体现了Moonbeam致力于维护安全可靠网络的承诺。来自Parity团队成员Basti对Moonbeam网络的恢复提供了重大帮助。该事件凸显了全面测试、runtime升级本身,以及基于不同场景的链上治理方案重要性。

为了防止将来的runtime版本发布中的调用索引再次发生类似问题,已经实施的解决方案被提交。应对于未来,runtime升级期间需要解决两个关键点:

  • 所有技术团队需在更新客户端或runtime至少一天前检查发布条件的清单

  • 改进测试工具,包含借助新客户端和runtime验证未来的公投

展望未来,加强网络的韧性以及确保稳健的性能,Moonbeam团队和社区将继续携手共进。

事件节点

  • 88号公投通过,一个system.remark的extrinsic已计划,准备在区块3291300上执行

  • Runtime 2201已成功在区块3290853上应用

  • 新的runtime包含一个在Substrate中的底层更改,改变了system.remark的调用索引,导致其与system.setHeapPages的调用索引匹配。造成计划中的system.remark调用自动切换为system.setHeapPages调用

  • 新的调用(system.setHeapPages)有一个无效值,阻止了收集人生产区块,并且最终导致网络停止。

  • 在网络停止前的最后一个区块(即区块3291299)生产于2023年4月5日14:43:24 UTC。后续区块(即区块3291300)无法被生产,因其发送了一个计划中包含带有新的错误配置的HEAP_PAGES参数的调用。

  • Moonbeam推出新的客户端(v0.30.3)来解决问题。更新的客户端可忽略链上储存的错误的HEAP_PAGES值,允许收集人继续生产区块。

  • 在当天18:55:48 UTC(约问题产生后4小时12分24秒),区块3291300创建。

  • 在收集人更新至新客户端(v0.30.3)后,网络开始以固定节奏生产区块,逐渐恢复正常。

NXP S32K3 Safety软件生态全解析:RTD、SPD、SAF、SCST到底怎么选? 本文深入解析NXP S32K3系列MCU的安全软件生态,详细对比RTD、SPD、SAF和SCST四大组件的功能定位与选型策略。针对不同ASIL等级需求,提供从架构设计到工程实践的完整解决方案,帮助开发者高效实现功能安全认证,优化汽车电子系统的安全性与可靠性。 阅读详情

相关推荐

生存分析机器学习问题

然而,随着人工智能 (AI) 和机器学习 (ML) 的兴起,科学家现在能够开发更复杂的模型,揭示这些数据集中的模式和特征,从而为癌症的生物学、诊断、预后、治疗和预后提供新的见解。病情更重的患者可能接受更强(或更弱)的治疗,导致治疗方案与不良预后(死亡)强相关。数据集中包含失访或研究结束时仍存活的患者(删失数据),他们的真实生存时间未知,仅知道其存活时间不低于观察到的最后一次随访时间。优先选择参数少、结构简单的模型(如带强正则化的线性模型、简单树模型),避免复杂模型(如深度神经网络)。时刻的状态是未知的。

4AM_明朝百晓生 1223

期货保证金占用变多,怎样找出哪张合约增得最多?

盘中看了两次期货账户,第二次发现保证金占用多了。眼下占用最大的合约很显眼,但它不一定是这段时间增得最多的。如果复盘想知道“先查哪张”,要按前后差额排,不是按第二次的金额排。

weixin_49134609的博客 207

解决OpenCASCADE性能瓶颈:显示加速与三角剖分优化全攻略

本文深入探讨OpenCASCADE在工业设计和CAD建模中的性能优化策略,重点解决显示加速与三角剖分等核心瓶颈问题。通过智能刷新控制、显示数据结构优化和动态LOD技术,显著提升渲染效率和交互体验,适用于复杂场景下的三维可视化应用。

weixin_30752699的博客 344

深入理解 Leaf-Spine:从网络拓扑到 AI 数据中心 Fabric

传统数据中心网络以树形三层架构为主,但随着东西向流量激增,其层级多、路径长、扩展难等问题凸显。为此,Leaf-Spine叶脊架构应运而生,通过全互联的扁平化设计,实现多路径转发、高带宽、低时延与灵活横向扩展。结合ECMP负载分担、Underlay/Overlay分离架构及VXLAN/EVPN技术,该架构有效支撑云计算、AI训练等高密度内部通信需求。其核心价值在于:网络设计需匹配业务流量模型,强调可预测性、可靠性与可扩展性。未来,叶脊架构将持续演进,成为高性能数据中心的基石。

一名热爱技术、专注实践的工程师,拥有一项实用新型专利及一项软件著作权。曾获国家级奖项7项、省级奖项30余项。专注网络技术与 AI Infra 领域,持续探索技术创新与工程实践,记录学习成长,分享技术经验,在探索中突破,在实践中精进。 281

BSW:MemMap模块配置及使用

(内存映射(MemMap)模块用于通过内存映射文件将代码和数据映射到特定的内存部分。MemMap生成特定的头文件,其中包含为MemorySection元素和编译器特定指令定义的内存映射预处理器。上面是比较官方的回答,说人话就是把数据和代码放在ECU内指定的地址。初级应用:软件中的bss,data,rodata,code,text,段需要在memory layout中划分具体的物理地址,对于多核系统,要将执行的数据和代码放在目标核的RAM和ROM。

Forever_Oct的博客 3676

速腾RS-LiDAR-16激光雷达ROS环境搭建与点云可视化实战指南

本文提供速腾RS-LiDAR-16激光雷达在ROS环境下的完整搭建与可视化实战指南。从硬件连接、网络配置、驱动安装编译,到核心参数详解与Rviz点云可视化,手把手解决IP设置、坐标系对齐等常见问题,帮助开发者快速实现激光雷达三维点云数据的采集与显示。

weixin_29271263的博客 369

空圈容错・优快云 站点技术架构信任链诊断

本文为基于公开故障现象的黑箱架构推演报告,聚焦“监控健康但用户访问异常”共性问题。提出C/M/V/P四层可达性分析框架,强调V层需满足数据源、方法、环境三异才具仲裁能力。通过R1–R10探针识别架构风险,揭示同源校验、配置共担、降级粗放等隐患。诊断指出:进程存活≠链路通畅,200状态码≠内容正确。配套8问自测清单与∅_safe分级降级方案,推动从“全好/全崩”到“半坏可控”的可观测跃迁。所有推断假说需依赖图谱与压测验证,不构成线上定论。

Liaiyang66的博客 370

芯片硅前验证技术与驱动工程师实战指南

硅前验证是芯片开发流程中的关键环节,通过pre-silicon simulation等技术手段在流片前验证设计正确性。其核心技术包括软件仿真、FPGA原型验证和硬件仿真器解决方案,涉及Linux驱动开发、芯片架构理解和波形分析等核心技能。作为连接芯片设计与系统集成的桥梁,硅前验证能早期发现设计缺陷,节省数百万美元流片成本。以Cadence Palladium为代表的硬件仿真器,通过专用服务器系统实现比纯软件方案快100-1000倍的仿真速度,为驱动工程师提供完整的外设模型验证环境。掌握硅前验证技术可显著提升

weixin_42522857的博客 323

什么是加密货币凭证?

本文探讨了加密货币凭证对数字身份管理的变革性影响,强调了其核心优势,如增强的安全性和即时验证。它通过利用区块链的去中心化技术,解决了与凭证伪造、丢失和低效验证过程相关的问题。读者将了解到加密货币凭证如何在教育、专业认证和医疗等领域提供防篡改和全球可访问的解决方案。文章深入探讨了实际应用,展示了像麻省理工学院、项目管理协会和等组织为什么采用区块链凭证来简化流程并提升信任。

2301_77604523的博客 130

深入解析MOS管电容特性:从基础理论到高频应用

本文深入解析了MOS管的电容特性,从基础物理结构出发,详细拆解了栅氧电容、重叠电容和结电容的成因与影响。文章重点探讨了电容值随工作状态变化的非线性特性,并分析了其在CMOS高频开关电源、射频电路等应用中的关键作用,包括开关损耗、米勒效应、信号完整性挑战以及如何将电容特性转化为可控元件(如MOS变容管)的机遇。最后提供了从选型、仿真到PCB布局的实战设计指南。

weixin_29278805的博客 382

黑猫带你学eMMC协议第22篇:emmc可靠写详解(Write Reliability)

1 前言 1.1 声明 本文依据eMMC JEDEC5.1、网络资料及个人工作经验整理而成,如有部分错误请留言。 本文部分内容可能源自网络,侵删。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 内容提要 1、什么是可靠性写属性(Write Reliability)? 2、可靠写和普通的写有什么区别? 3、设置可靠写的流程及流程框图。 4、可靠写需要遵循哪些规则? 1.3 参考链接 本文主要参考链接:http://www.up48.com/cn/support/8_37.html 2 什么

黑猫奥利奥的博客 3122

期货合约还有历史K线,就表示现在还能交易吗?

打开以前保存的期货研究资料,某个合约的K线仍能正常显示,过去的价格、成交量也都在。看着熟悉的图,容易顺势觉得:既然还能看,这个合约应该仍可作为当前交易对象。但图里保存的是过去发生过什么,当前合约状态回答的是它现在处于什么生命周期。历史K线仍在,与合约已经下市可以同时成立。对研究者来说,更有用的处理不是在“继续盯它”和“删掉旧图”之间二选一,而是把历史档案与当前关注对象分开。TqSdk提供的合约下市标志,可以帮助把这层区别标明白。

weixin_49134609的博客 183

boost::circular_buffer缓行缓冲区

1、circular_buffer实现了一个环形缓冲区,空间大小是固定的,当到达容器末尾时,将自动利用容器另一端的位置空间。 2、当程序需要容纳大量的元素,但多数情况下仅保存较少数量元素时可以使用circular_buffer_space_optimized,他可以有效的减少内存的占用,提高程序的运行效率。 3、主要接口: 4、实现一个生产者---消费者模式示例: #inc...

小米的修行之路 791

FPGA 与加密行业:从算法加速到可信硬件的完整技术图谱

本文系统探讨FPGA与密码学的深度交叉,揭示其在加密加速、区块链基础设施、零知识证明及后量子密码中的关键作用。从底层硬件特性到工程实践,分析对称加密、公钥算法、零知识证明等负载的FPGA加速优势,强调其高能效、低延迟与灵活可重构的特性。结合当前密码学复杂度上升与硬件竞争加剧的趋势,指出FPGA是算法验证与高性能实现的理想载体,为安全计算提供高效硬件支撑。

weixin_49780322的博客 244

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

期货成交额变大,为什么成交手数反而少了?

比较同一期货合约两个交易日的成交情况,可能看到:成交额比前一天高,成交手数却少了。若把成交额大直接理解成“交易得更多”,这两项看起来就会互相打架。其实,金额和手数不是同一把尺子。手数描述成交数量,金额还包含成交价格及相应计量口径的影响。两者反向变化并不构成逻辑矛盾。用TqSdk整理这类观察,关键不是挑一个看起来更大的数,而是把原始量、额及各自口径留下来,回答不同的问题。

shinnyringo的博客 144

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

期货分钟线中间少了一段,怎么查是不是休市?

复盘一份已经保存的期货分钟线,10:14 后直接跳到 10:30,另一处却是 10:42 后跳到 10:44。屏幕上两处都没连起来,处理起来并不一样:如果当天确实在第一段休息,不用补;如果 10:43 落在交易时段里,则要回查原始记录和样本覆盖。

lisiccwss的博客 136

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【量化实战】VeighNa 全图谱:从零到一,由浅入深打通多品种量化

本文系统梳理了VeighNa量化平台的四阶进阶路径:从接口与数据分离(第一阶段),到策略逻辑对齐(第二阶段),再到数据平替与自动化执行(第三阶段),最终拓展至多市场实战(第四阶段)。针对新手常见痛点,提供免费数据源(如AKShare、天勤)、交易规则避坑指南及参数配置建议,强调A股仅支持做多、乘数需匹配品种特性。最后给出可落地的行动路线图,助力用户由浅入深打通全市场量化体系。

qq_72758246的博客 280

美股行情API遇上冬令时:盘前盘后时间怎么对齐?

摘要:负责美股行情页和开盘提醒的产品经理,冬令时切换后需要一起核对交易时段、北京时间和交易日期。本文结合TickDB交易时段、交易日历的真实返回,解释盘前盘后怎样换算,为什么凌晨收盘仍属于美国前一个交易日,并提供时间对照表、可运行换算示例与页面检查清单,处理半日交易等容易遗漏的例外。

2511_94663557的博客 267

国内哪些平台提供比较全的金融数据接口?Python 量化开发如何选型?

国内金融数据接口众多,选型需结合量化需求,避免仅凭名气选择。以QuantDash为例,通过SDK获取前复权日K线后,必须严格校验日期排序、价格有效性及字段完整性,再进行动量计算。关键在于:数据质量决定分析可靠性,接口能力≠实际可用性,需建立数据验证流程,确保研究结果可信。

quantdash_cc的博客 235

从 NEAR Intents 事件看 NEAR 智能合约安全

2026年9月29日至10月1日,攻击者利用NEAR Intents存款退款处理中的校验缺陷,通过填充代币和恶意receiver合约触发超额退款请求,使回调失败后内部余额未被撤销,造成缺乏资产支持的可花费余额。攻击者据此从BNB Chain上的HOT Bridge金库七笔提现共转出3,865,021 USDT。项目方于10月2日部署修复、10月7日移除存款通知功能,并于同日宣布资金全额归还,后续事后报告确认受影响用户已获补偿。

BlockSec的博客 262

去哪里下载股票历史 K 线数据?Python 获取日线行情与本地保存实践

通过QuantDash SDK获取600519.SH历史日K线数据,结合pandas完成字段验证、价格逻辑检查与异常处理,确保数据完整性与一致性后,将清洗后的行情数据保存为CSV文件,并附带元信息(如复权方式、下载时间等),实现可复现、可追溯的量化数据管理。

2601_96694965的博客 226

期货期权想对照看涨和看跌,怎样挑出能配成一对的合约?

想把看涨和看跌放在一起观察,同一个行权价往往能搜出好几条。最容易认错的是标的和行权价都对,只差了到期批次的一条。两边简称看着很像,放进同一行以后,价格差却混进了不同到期条件,已经不是原来想看的那一对。

zhangnihi的博客 70

期货委托对账,该看程序里的委托号还是交易所单号?

程序留存的期货委托号是SDK-A17,回单上却写着000542。两串号码不一样,未必是两笔委托。反过来,两张回单上都有000542,也不能只凭这个就合成一笔。对账前先分清:是要在程序里找回原单,还是要证明外部回单指向这张单?

shinnyringo的博客 140

期货期权复盘,标的那张K线该怎么找?

复盘一张以前观察过的期货期权,自选里可能同时有同品种的近月、远月和主连。哪张走势最热闹,并不决定它是不是这张期权的标的。要解释那段期权记录,先找到它对应的具体期货合约,再找那张合约的图。

zhangnihi的博客 138

[Web3] 基础第7篇: 说透比特币的基本框架与原理

08 年的金融危机,中心金融,美元崩塌会导致全球经济崩溃,全球的国家为美国的经济买单;比特币全球流通性,资产去中心化发行,强调去中心化性和全球性,不会因为局部经济崩塌而崩溃,比特币崩溃全球经济才会崩溃;数字来取代传统金融,提高资产主权和全球性经济问题。比特币是第一个区块项目,也是目前为止去中心化程度最高,市值,受欢迎程度最高公链和数字货币,甚至已经成为全球各国央行的储备货币。Bitcoin 具备银行功能:产币的方式传统银行是中心化的,比特币产币是去中心化的,人人都可以参与的。

OxYGC 435

期货自选表更新后,怎样核对哪张合约的规格记录变了?

期货自选表刷新以后,行顺序可能换了,手头的旧档也未必覆盖今天要核的每张合约。按行号比,容易把两张不同合约的步距和乘数放在一起。

shinnyringo的博客 154
上一篇: Moonbeam Accelerator首批入选项目介绍
下一篇: 重要公告 | 首批Moonbeam Accelerator孵化项目官宣
Web3 MoonBuilder
博客等级 码龄5年 568粉丝 381原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值