From 1c51cd593ae34b37434e95ffd7a9d5be8f6af6d2 Mon Sep 17 00:00:00 2001 From: Angela Gilhotra Date: Tue, 30 Jun 2026 09:11:24 -0400 Subject: [PATCH 1/2] add network upgrades section --- docs/pages/en/reference/network-upgrades.mdx | 99 +++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) diff --git a/docs/pages/en/reference/network-upgrades.mdx b/docs/pages/en/reference/network-upgrades.mdx index 97133f2..61ebe51 100755 --- a/docs/pages/en/reference/network-upgrades.mdx +++ b/docs/pages/en/reference/network-upgrades.mdx @@ -1,8 +1,105 @@ --- title: "Network upgrades" -description: "Release notes and upgrade history for Stable network protocol versions." +description: "Release notes for Stable network protocol versions: what changed in each release and who needs to act." diataxis: "reference" --- # Network upgrades +Each entry below describes what changed in a StableChain release, why it matters, and whether you need to do anything. Releases are listed newest first. For binaries, commit hashes, and upgrade block heights, see the [Mainnet version history](/en/reference/mainnet-version-history) and [Testnet version history](/en/reference/testnet-version-history). + +## How to read these notes + +A few terms appear throughout. Here is what they mean: + +- **State-breaking upgrade**: every node must run the new binary at the same block height, coordinated through a governance proposal. These releases have an upgrade height in the version history table. If you run a validator, you have to upgrade on schedule or your node stops following the chain. +- **Backward-compatible upgrade**: the new binary works with the old one, so there is no coordinated cutover. These releases have no upgrade height. You can upgrade whenever it suits you by replacing the binary. +- **Gas waiver**: a StableChain feature that lets a sponsor cover a transaction's fees, so the sender can transact without holding the gas token. +- **System transaction**: a special transaction the protocol itself issues, rather than a regular user, to run internal operations. +- **Precompile**: a built-in contract at a fixed address that runs native code instead of EVM bytecode, used for common operations that need to be fast. + +To check which version your node runs: + +```bash +stabled version +``` + +```text +v1.3.1 +``` + +## v1.4.0 (upcoming) :badge[Testnet]{warning} + +A performance and predictability release, currently live on Testnet as a release candidate and not yet on Mainnet. It groups four changes under two themes: making blocks process faster, and making transaction inclusion more predictable for priority traffic. + +**What's coming:** + +- **Optimistic parallel execution (OPE)**: executes the transactions in a block in parallel instead of one at a time, then reconciles the results. This is based on Block-STM. +- **Selective RecheckTx**: after a new block, only re-validates the pending transactions actually affected by it, rather than the entire mempool (the pool of transactions waiting to be included). +- **MemIAVL**: a memory-mapped storage layer that replaces the previous LevelDB-based store, reducing a major bottleneck in the block lifecycle. +- **2D nonce and guaranteed blockspace**: parallel nonce channels let one account send transactions on multiple independent lanes, and guaranteed blockspace reserves block capacity for priority workloads instead of leaving inclusion to chance. + +:::note +v1.4.0 is still in audit and testing. Scope and timing may change before the Mainnet upgrade. Track the [Testnet version history](/en/reference/testnet-version-history) for the latest release candidate. +::: + +## v1.3.1 :badge[Current]{success} + +A backward-compatible patch and the current Mainnet version. It ships with no coordinated upgrade height, so node operators can adopt it by replacing the binary at any time. + +## v1.3.0 + +A security-focused, state-breaking upgrade that also made the gas waiver feature more flexible. The gas waiver change lets new partners such as wallets and exchanges be onboarded through a governance proposal later, instead of requiring another state-breaking upgrade each time. + +**Who needs to act:** all node operators upgrade at the scheduled height. See the [Mainnet version history](/en/reference/mainnet-version-history) for the exact height. + +**Security improvements:** + +- Non-public JSON-RPC namespaces are no longer registered, and signing APIs are enabled only when `AllowInsecureUnlock=true`. +- Gas waiver inputs are hardened: addresses must use the EIP-55 canonical format, query inputs are length- and format-restricted, and wrapper type, chain-id, and EIP-7702 inner-transaction validation are strengthened. +- System transactions are now validated against the `to` address and method selector, not just the `from` address. This closes a path that could trigger fee-free execution. +- The Prague precompile address range is added to the blocked-address list, and unknown precompile methods now require query gas. + +**Bug fixes and stability:** + +- Corrected gas accounting for failed stateful precompile calls. +- Resolved a refund-disable state leak after an ERC-20 internal call failure. +- Fixed precompile warm-set tracking and `COINBASE` opcode behavior. +- Aligned EIP-7702 authorization rollback with the spec. +- Fixed system transaction responses that reported `from=0x0`, `feeHistory` error logging, and chain-id consistency in historical full-transaction responses. + +## v1.2.2 + +A backward-compatible, optional upgrade that aligns StableChain with the official upstream consensus release and cleans up two query behaviors. + +**Who needs to act:** no one is required to. This upgrade needs no governance proposal. Node operators can adopt it by replacing the binary whenever convenient. + +**Changes:** + +- Upgraded CometBFT to the official `v0.38.21`. This follows the security patch shipped earlier in v1.1.4 and lets external partners verify the exact consensus version the network runs. +- Removed a duplicate log index in gas waiver transaction queries. +- Added safeguards to RPC responses for system-transaction queries. + +## v1.2.1 + +A backward-compatible hotfix that remediated two issues which, if exploited, could halt the chain. + +**Who needs to act:** validators are required to upgrade. For other node operators, including RPC providers, the upgrade is optional. It needs no governance proposal. + +**Fixes:** + +- Closed a system-transaction spoofing path where a user could set `MsgEthereumTx.From == 0x1` to bypass authentication and call a system-only precompile, then use the spoofed transaction to repeatedly force `ProcessProposal` to reject blocks and stall consensus. +- Fixed a mempool-poisoning chain-halt where `ExtensionOptionsWaiver` transactions could pass `CheckTx` but cause `ProcessProposal` to reject the entire block. + +## Earlier releases + +Detailed release notes start at v1.2.1. For v1.2.0 and earlier, including the genesis release, see the version history tables for binaries, commit hashes, and upgrade heights: + +- [Mainnet version history](/en/reference/mainnet-version-history): every Mainnet version with its binary and upgrade height. +- [Testnet version history](/en/reference/testnet-version-history): every Testnet version, including release candidates. + +## Where to go next + +- [**Upgrade a node**](/en/how-to/upgrade-node): Follow the step-by-step procedure to move your node to a new version. +- [**Mainnet version history**](/en/reference/mainnet-version-history): Look up commit hashes, binaries, and upgrade heights for every Mainnet release. +- [**Mainnet information**](/en/reference/mainnet-information): Get the chain ID, RPC endpoints, and current network parameters. From 94417126091c44f16de952ff2550f014fbd4f6a1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 30 Jun 2026 13:12:38 +0000 Subject: [PATCH 2/2] i18n: auto-translate cn/ko for changed en content --- docs/pages/cn/reference/network-upgrades.mdx | 102 ++++++++++++++++++- docs/pages/ko/reference/network-upgrades.mdx | 102 ++++++++++++++++++- 2 files changed, 200 insertions(+), 4 deletions(-) diff --git a/docs/pages/cn/reference/network-upgrades.mdx b/docs/pages/cn/reference/network-upgrades.mdx index 504e11b..44da215 100644 --- a/docs/pages/cn/reference/network-upgrades.mdx +++ b/docs/pages/cn/reference/network-upgrades.mdx @@ -1,9 +1,107 @@ --- source_path: reference/network-upgrades.mdx -source_sha: 97133f2b4849ff7f8a563ebe249912957a489e93 +source_sha: 61ebe51988bd8aa1a4e15f0325410428a423a8b0 title: "网络升级" -description: "Stable 网络协议版本的发布说明和升级历史。" +description: "Stable 网络协议版本的发布说明:每个版本中更改了哪些内容以及谁需要采取行动。" diataxis: "reference" --- # 网络升级 + +以下每个条目都描述了 StableChain 版本中更改了哪些内容、其重要性以及您是否需要执行任何操作。版本按最新顺序排列。有关二进制文件、提交哈希和升级区块高度,请参阅[主网版本历史](/cn/reference/mainnet-version-history)和[测试网版本历史](/cn/reference/testnet-version-history)。 + +## 如何阅读这些说明 + +本文档中会出现一些术语。以下是它们的含义: + +- **状态破坏性升级**:每个节点都必须在相同的区块高度运行新的二进制文件,通过治理提案进行协调。这些版本在版本历史表中包含一个升级高度。如果您运行验证器,则必须按计划升级,否则您的节点将停止跟随链。 +- **向后兼容升级**:新二进制文件与旧二进制文件兼容,因此没有协调的切换。这些版本没有升级高度。您可以随时通过替换二进制文件进行升级。 +- **Gas 费用豁免**:StableChain 的一项功能,允许发起人支付交易费用,这样发送方无需持有 Gas 代币即可进行交易。 +- **系统交易**:协议本身发出的特殊交易,而非普通用户发出,用于运行内部操作。 +- **预编译**:内置于固定地址的合约,运行原生代码而非 EVM 字节码,用于需要快速执行的常见操作。 + +要检查您的节点运行的是哪个版本: + +```bash +stabled version +``` + +```text +v1.3.1 +``` + +## v1.4.0 (即将推出) :badge[测试网]{warning} + +一个性能和可预测性版本,目前作为发布候选版本在测试网上线,尚未在主网上线。它将四项更改分为两个主题:加快区块处理速度,并使优先级流量的交易包含更具可预测性。 + +**即将推出:** + +- **乐观并行执行 (OPE)**:并行执行区块中的交易,而不是逐个执行,然后协调结果。这基于 Block-STM。 +- **选择性 RecheckTx**:在新区块之后,仅重新验证实际受其影响的待处理交易,而不是整个内存池(等待包含的交易池)。 +- **MemIAVL**:一个内存映射存储层,取代了以前基于 LevelDB 的存储,减少了区块生命周期中的主要瓶颈。 +- **2D nonce 和保证的区块空间**:并行 nonce 通道允许一个账户在多个独立通道上发送交易,保证的区块空间为优先级工作负载保留区块容量,而不是将包含留给偶然。 + +:::note +v1.4.0 仍在审计和测试中。在主网升级之前,范围和时间可能会发生变化。请跟踪 [测试网版本历史](/cn/reference/testnet-version-history) 以获取最新的发布候选版本。 +::: + +## v1.3.1 :badge[当前]{success} + +一个向后兼容的补丁,也是当前的主网版本。它没有协调的升级高度,因此节点运营商可以随时通过替换二进制文件来采用它。 + +## v1.3.0 + +一个注重安全、破坏性状态的升级,也使 Gas 费用豁免功能更加灵活。Gas 费用豁免的更改允许新的合作伙伴,如钱包和交易所,稍后通过治理提案进行入驻,而不是每次都需要另一次破坏性状态升级。 + +**谁需要采取行动**:所有节点运营商都在预定的高度升级。有关确切高度,请参阅[主网版本历史](/cn/reference/mainnet-version-history)。 + +**安全改进:** + +- 非公共 JSON-RPC 命名空间不再注册,并且仅当 `AllowInsecureUnlock=true` 时才启用签名 API。 +- Gas 费用豁免输入已强化:地址必须使用 EIP-55 规范格式,查询输入受长度和格式限制,并且 wrapper 类型、chain-id 和 EIP-7702 内部交易验证得到加强。 +- 系统交易现在针对 `to` 地址和方法选择器进行验证,而不仅仅是 `from` 地址。这堵塞了可能触发免手续费执行的路径。 +- Prague 预编译地址范围已添加到阻塞地址列表,未知预编译方法现在需要查询 Gas。 + +**错误修复和稳定性:** + +- 纠正了失败的有状态预编译调用的 Gas 核算。 +- 解决了 ERC-20 内部调用失败后出现的 refund-disable 状态泄漏。 +- 修复了预编译热集合跟踪和 `COINBASE` 操作码行为。 +- 将 EIP-7702 授权回滚与规范对齐。 +- 修复了报告 `from=0x0` 的系统交易响应、`feeHistory` 错误日志记录以及历史完整交易响应中的 chain-id 一致性。 + +## v1.2.2 + +一个向后兼容的可选升级,使 StableChain 与官方上游共识版本保持一致,并清理了两种查询行为。 + +**谁需要采取行动**:没有人必须采取行动。此升级无需治理提案。节点运营商可以随时通过替换二进制文件来采用它。 + +**更改:** + +- 将 CometBFT 升级到官方 `v0.38.21`。这遵循了早期 v1.1.4 中发布的安全补丁,并允许外部合作伙伴验证网络运行的确切共识版本。 +- 删除了 Gas 费用豁免交易查询中的重复日志索引。 +- 为系统交易查询的 RPC 响应添加了安全措施。 + +## v1.2.1 + +一个向后兼容的热修复,解决了两个问题,这些问题如果被利用,可能会导致链停止。 + +**谁需要采取行动**:验证器必须升级。对于包括 RPC 提供商在内的其他节点运营商,升级是可选的。它不需要治理提案。 + +**修复:** + +- 堵塞了一个系统交易欺骗路径,用户可以在其中设置 `MsgEthereumTx.From == 0x1` 来绕过身份验证并调用一个仅限系统的预编译,然后使用伪造的交易重复强制 `ProcessProposal` 拒绝区块并停止共识。 +- 修复了一个内存池投毒链停止问题,其中 `ExtensionOptionsWaiver` 交易可以通过 `CheckTx` 但导致 `ProcessProposal` 拒绝整个区块。 + +## 早期版本 + +详细的发布说明从 v1.2.1 开始。对于 v1.2.0 及更早的版本,包括创世版本,请参阅用于二进制文件、提交哈希和升级高度的版本历史表: + +- [主网版本历史](/cn/reference/mainnet-version-history):每个主网版本及其二进制文件和升级高度。 +- [测试网版本历史](/cn/reference/testnet-version-history):每个测试网版本,包括发布候选版本。 + +## 接下来去哪里 + +- [**升级节点**](/cn/how-to/upgrade-node):按照分步过程将您的节点升级到新版本。 +- [**主网版本历史**](/cn/reference/mainnet-version-history):查找每个主网版本的提交哈希、二进制文件和升级高度。 +- [**主网信息**](/cn/reference/mainnet-information):获取链 ID、RPC 端点和当前网络参数。 diff --git a/docs/pages/ko/reference/network-upgrades.mdx b/docs/pages/ko/reference/network-upgrades.mdx index 321421c..d6b0ea7 100644 --- a/docs/pages/ko/reference/network-upgrades.mdx +++ b/docs/pages/ko/reference/network-upgrades.mdx @@ -1,9 +1,107 @@ --- source_path: reference/network-upgrades.mdx -source_sha: 97133f2b4849ff7f8a563ebe249912957a489e93 +source_sha: 61ebe51988bd8aa1a4e15f0325410428a423a8b0 title: "네트워크 업그레이드" -description: "Stable 네트워크 프로토콜 버전의 릴리스 노트 및 업그레이드 기록입니다." +description: "Stable 네트워크 프로토콜 버전에 대한 릴리스 노트: 각 릴리스에서 변경된 사항 및 조치 필요 여부." diataxis: "reference" --- # 네트워크 업그레이드 + +아래 각 항목은 StableChain 릴리스에서 변경된 내용, 중요한 이유, 그리고 조치 필요 여부를 설명합니다. 릴리스는 최신 버전부터 나열됩니다. 바이너리, 커밋 해시 및 업그레이드 블록 높이에 대한 자세한 내용은 [메인넷 버전 기록](/ko/reference/mainnet-version-history) 및 [테스트넷 버전 기록](/ko/reference/testnet-version-history)을 참조하십시오. + +## 이러한 노트를 읽는 방법 + +몇 가지 용어가 있습니다. 의미는 다음과 같습니다. + +- **상태를 깨는 업그레이드**: 모든 노드는 거버넌스 제안을 통해 조율된 동일한 블록 높이에서 새 바이너리를 실행해야 합니다. 이러한 릴리스에는 버전 기록 테이블에 업그레이드 높이가 있습니다. 유효성 검사기를 실행하는 경우 예정된 시간에 업그레이드해야 하며, 그렇지 않으면 노드가 체인을 따르지 않습니다. +- **하위 호환 업그레이드**: 새 바이너리가 이전 바이너리와 함께 작동하므로 조정된 전환이 없습니다. 이러한 릴리스에는 업그레이드 높이가 없습니다. 바이너리를 교체하여 원하는 시기에 업그레이드할 수 있습니다. +- **가스 면제**: 스폰서가 트랜잭션 수수료를 부담할 수 있도록 하는 StableChain 기능으로, 발신자는 가스 토큰을 보유하지 않고도 트랜잭션을 처리할 수 있습니다. +- **시스템 트랜잭션**: 일반 사용자가 아닌 프로토콜 자체가 내부 작업을 실행하기 위해 발행하는 특별한 트랜잭션입니다. +- **프리컴파일**: EVM 바이트코드 대신 네이티브 코드를 실행하는 고정 주소의 내장 계약으로, 빠르고 공통적인 작업에 사용됩니다. + +노드가 실행하는 버전을 확인하려면 다음을 수행합니다. + +```bash +stabled version +``` + +```text +v1.3.1 +``` + +## v1.4.0 (예정) :badge[Testnet]{warning} + +현재 테스트넷에 릴리스 후보로 등록되어 있으며 메인넷에는 아직 출시되지 않은 성능 및 예측성 릴리스입니다. 블록 처리 속도를 높이고, 우선 순위 트래픽에 대한 트랜잭션 포함을 더욱 예측 가능하게 하는 두 가지 주제 아래 네 가지 변경 사항을 그룹화합니다. + +**예정된 내용:** + +- **낙관적 병렬 실행(OPE)**: 블록의 트랜잭션을 한 번에 하나씩이 아니라 병렬로 실행한 다음 결과를 조정합니다. 이는 Block-STM을 기반으로 합니다. +- **선택적 RecheckTx**: 새 블록 이후에는 전체 mempool(포함 대기 중인 트랜잭션 풀)이 아닌, 실제로 영향을 받은 보류 중인 트랜잭션만 재검증합니다. +- **MemIAVL**: 이전 LevelDB 기반 스토리지를 대체하는 메모리 매핑 스토리지 계층으로, 블록 라이프사이클의 주요 병목 현상을 줄입니다. +- **2D 논스 및 보장된 블록 공간**: 병렬 논스 채널을 통해 하나의 계정이 여러 독립적인 레인에서 트랜잭션을 보낼 수 있으며, 보장된 블록 공간은 포함을 우연에 맡기지 않고 우선 순위 워크로드에 대한 블록 용량을 예약합니다. + +:::note +v1.4.0은 아직 감사 및 테스트 중입니다. 메인넷 업그레이드 전에 범위와 시기가 변경될 수 있습니다. 최신 릴리스 후보는 [테스트넷 버전 기록](/ko/reference/testnet-version-history)을 추적하십시오. +::: + +## v1.3.1 :badge[Current]{success} + +하위 호환 패치이자 현재 메인넷 버전입니다. 조정된 업그레이드 높이 없이 출시되므로 노드 운영자는 언제든지 바이너리를 교체하여 채택할 수 있습니다. + +## v1.3.0 + +상태를 깨는 보안 중심 업그레이드로, 가스 면제 기능을 더욱 유연하게 만들었습니다. 가스 면제 변경으로 인해 지갑 및 거래소와 같은 새로운 파트너는 매번 다른 상태를 깨는 업그레이드가 필요 없이 나중에 거버넌스 제안을 통해 온보딩될 수 있습니다. + +**조치 필요 대상:** 모든 노드 운영자는 예정된 높이에서 업그레이드합니다. 정확한 높이는 [메인넷 버전 기록](/ko/reference/mainnet-version-history)을 참조하십시오. + +**보안 개선 사항:** + +- 비공개 JSON-RPC 네임스페이스는 더 이상 등록되지 않으며, 서명 API는 `AllowInsecureUnlock=true`인 경우에만 활성화됩니다. +- 가스 면제 입력이 강화되었습니다: 주소는 EIP-55 표준 형식을 사용해야 하며, 쿼리 입력은 길이 및 형식 제한이 있으며, 래퍼 유형, 체인 ID, EIP-7702 내부 트랜잭션 유효성 검사가 강화되었습니다. +- 시스템 트랜잭션은 이제 `from` 주소뿐만 아니라 `to` 주소 및 메서드 선택자에 대해 유효성 검사를 받습니다. 이는 수수료 없는 실행을 유발할 수 있는 경로를 차단합니다. +- 프라하 프리컴파일 주소 범위가 차단된 주소 목록에 추가되었으며, 알려지지 않은 프리컴파일 메서드에는 이제 쿼리 가스가 필요합니다. + +**버그 수정 및 안정성:** + +- 실패한 상태 저장 프리컴파일 호출에 대한 가스 회계를 수정했습니다. +- ERC-20 내부 호출 실패 후 환불 비활성화 상태 누출을 해결했습니다. +- 프리컴파일 웜 세트 추적 및 `COINBASE` opcode 동작을 수정했습니다. +- EIP-7702 권한 부여 롤백을 사양에 맞게 조정했습니다. +- `from=0x0`으로 보고된 시스템 트랜잭션 응답, `feeHistory` 오류 로깅 및 기록 전체 트랜잭션 응답의 체인 ID 일관성을 수정했습니다. + +## v1.2.2 + +StableChain을 공식 업스트림 합의 릴리스와 일치시키고 두 가지 쿼리 동작을 정리하는 하위 호환可选 업그레이드입니다. + +**조치 필요 대상:** 아무도 필요하지 않습니다. 이 업그레이드는 거버넌스 제안이 필요하지 않습니다. 노드 운영자는 편리할 때마다 바이너리를 교체하여 채택할 수 있습니다. + +**변경 사항:** + +- CometBFT를 공식 `v0.38.21`로 업그레이드했습니다. 이는 v1.1.4에 이전에 출시된 보안 패치를 따르며, 외부 파트너가 네트워크가 실행하는 정확한 합의 버전을 확인할 수 있도록 합니다. +- 가스 면제 트랜잭션 쿼리에서 중복 로그 인덱스를 제거했습니다. +- 시스템 트랜잭션 쿼리에 대한 RPC 응답에 안전 장치를 추가했습니다. + +## v1.2.1 + +익스플로잇될 경우 체인을 중단시킬 수 있는 두 가지 문제를 해결한 하위 호환 핫픽스입니다. + +**조치 필요 대상:** 유효성 검사기는 업그레이드해야 합니다. RPC 공급자를 포함한 다른 노드 운영자의 경우 업그레이드는 선택 사항입니다. 거버넌스 제안이 필요하지 않습니다. + +**수정 사항:** + +- 사용자가 인증을 우회하고 시스템 전용 프리컴파일을 호출하기 위해 `MsgEthereumTx.From == 0x1`을 설정할 수 있는 시스템 트랜잭션 스푸핑 경로를 닫고, 스푸핑된 트랜잭션을 사용하여 `ProcessProposal`이 블록을 반복적으로 거부하고 합의를 중단시키도록 강제하는 문제를 해결했습니다. +- `ExtensionOptionsWaiver` 트랜잭션이 `CheckTx`를 통과할 수 있지만 `ProcessProposal`이 전체 블록을 거부하게 만들 수 있는 mempool 오염으로 인한 체인 중단 문제를 수정했습니다. + +## 이전 릴리스 + +자세한 릴리스 노트는 v1.2.1부터 시작됩니다. v1.2.0 및 이전 릴리스(제네시스 릴리스 포함)의 바이너리, 커밋 해시 및 업그레이드 높이에 대한 자세한 내용은 버전 기록 테이블을 참조하십시오. + +- [메인넷 버전 기록](/ko/reference/mainnet-version-history): 모든 메인넷 버전과 해당 바이너리 및 업그레이드 높이. +- [테스트넷 버전 기록](/ko/reference/testnet-version-history): 릴리스 후보를 포함한 모든 테스트넷 버전. + +## 다음 단계 + +- [**노드 업그레이드**](/ko/how-to/upgrade-node): 노드를 새 버전으로 이동하는 단계별 절차를 따릅니다. +- [**메인넷 버전 기록**](/ko/reference/mainnet-version-history): 모든 메인넷 릴리스에 대한 커밋 해시, 바이너리 및 업그레이드 높이를 찾아봅니다. +- [**메인넷 정보**](/ko/reference/mainnet-information): 체인 ID, RPC 엔드포인트 및 현재 네트워크 매개변수를 가져옵니다.