﻿---
title: "鏈 ID"
description: "以驗證為優先的指南，涵蓋 EVM 鏈 ID、EIP-155 傳統交易重播域、類型化交易、CHAINID、錢包與 RPC 核驗、EIP-712 域及非 EVM 網路識別碼。"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 鏈 ID

> 僅供教育參考，不構成投資、法律或安全建議。鏈 ID 相符可降低特定重播風險，但不能驗證 RPC、網路、合約、資產、簽章請求或最終狀態的真實性。

<a id="answer"></a>

## 直接答案

在 EVM 生態系統中，鏈 ID 是一個設定整數，用作重播域參數。EIP-155 將其綁定至受保護的傳統交易簽章；類型 2 等類型化交易格式將其編碼在各自的簽章負載中；`CHAINID` 在 EVM 執行期間公開該值；`eth_chainId` 則透過 JSON-RPC 回報該值。這些是相互關聯的介面，而不是通用的身分證明。

鏈 ID 不保證在全球範圍內唯一或永久不變。私有網路與爭議性分叉可以重複使用該值，RPC 也可能提供虛假資訊；同一地址在不同鏈上可能具有不同程式碼與狀態。EIP-712 的鏈 ID 域欄位是選用項目，而原始訊息與非 EVM 系統採用不同的重播防護及網路身分規則。因此，正確使用鏈 ID 還必須核驗具體簽章機制、端點、創世狀態或檢查點以及應用程式域。

<a id="mechanism"></a>

## 運作機制

1. 首先識別生態系統與識別碼語義：EVM EIP-155 整數、EIP-712 域、CAIP-2 命名空間參照、Cosmos 字串鏈 ID、Solana 創世雜湊或其他機制。切勿跨生態系統比較沒有命名空間的數字。
2. 固定可信網路快照：RPC URL、預期鏈 ID 的十進位與十六進位表示、創世狀態或已最終確認的檢查點、鏈頭區塊、用戶端設定、關鍵合約 `codeHash` 及來源時間戳記。錢包中的網路名稱與圖示是不可信的中繼資料。
3. 對 EVM 簽章查詢 `eth_chainId`，並在不損失精確度的前提下解析十六進位 JSON-RPC 數量。將標準化整數與預期設定及錢包供應者狀態比較；不得以 `net_version` 取代，並應在建立簽章前拒絕任何不相符情況。
4. 重建確切的簽章域。區分不受保護的傳統交易、受 EIP-155 保護的傳統編碼與類型化封裝；對 EIP-712，應核驗域欄位、`verifyingContract`、nonce 與截止時間；對中繼意圖或智慧帳戶意圖，應檢查協定內部雜湊。
5. 核驗目前鏈上的執行目標：收款方、價值、呼叫資料、代幣地址、合約程式碼或代理實作、帳戶 nonce、費用及模擬狀態。鏈 ID 可以隔離簽章域，但不能證明其中任何物件真實無誤。
6. 將 EIP-1193 `chainChanged`、帳戶變更與斷線視為嚴格狀態邊界。捨棄快取的報價、授權額度、nonce、模擬結果及簽章請求，重新讀取鏈與目標，並且只把經過複核的原始交易廣播至已固定的端點。
7. 在目標鏈上核對交易：原始簽章位元組及雜湊、RPC 接收結果、收據狀態、區塊編號與區塊雜湊、nonce 使用情況、狀態變化及所需最終性。監控鏈分裂、ID 變更、L1/L2 域混淆及供應者漂移；遇到無法解釋的差異時應預設拒絕繼續。

<a id="example"></a>

## 算例

- **十六進位與十進位 RPC 門檻。** Base 的十進位鏈 ID 為 `8453`，`eth_chainId` 將其表示為 `0x2105`：`2 * 4096 + 1 * 256 + 0 * 16 + 5 = 8453`。以太坊主網為 `1 = 0x1`，Arbitrum One 為 `42161 = 0xa4b1`。如果錢包預期值為 `8453`，收到的卻是 `0x1`，就必須在簽章前中止，而不能信任畫面顯示的網路名稱。
- **受保護傳統交易的 v 值。** 對 EIP-155 傳統交易，`v = 35 + 2 * chainId + yParity`。鏈 ID 為 `1` 時，v 值為 `37` 或 `38`；鏈 ID 為 `61` 時，v 值為 `157` 或 `158`。反向計算時，`floor((37 - 35) / 2) = 1`。該算法不適用於類型化交易的 y-parity 欄位，也不適用於使用 `27` 或 `28` 的不受保護傳統簽章。
- **類型化交易與錯誤鏈拒絕。** 類型 2 負載綁定 `chain_id=8453`。假設使用 `21,000 gas`，基礎費為 `20 gwei`，最高優先費為 `2 gwei`，最高費用為 `30 gwei`，則有效燃料價格為 `min(30, 20 + 2) = 22 gwei`，費用為 `21,000 * 22 gwei = 0.000462 ETH`。正確執行規則且設定為 ID `1` 的鏈會因簽章域不符而拒絕該負載，因此拒絕本身不會在該鏈上耗用燃料費；即使在 ID 8453 上，該交易仍可能因其他原因失敗。
- **非 EVM 與雙重識別碼。** Cosmos EVM 部署可以同時採用 Cosmos SDK 字串 ID `local-1` 與獨立的 EVM 整數 ID `262144 = 0x40000`。Cosmos 原生簽章使用該字串及其帳戶編號與序號；EVM 交易簽章使用整數域。Solana 則公開創世雜湊，並在交易訊息中使用近期區塊雜湊或持久 nonce，而不是 EIP-155 整數。

<a id="risks"></a>

## 風險

- 連接至錯誤的 RPC 端點或錢包目前鏈。
- 信任惡意 RPC 對鏈 ID、狀態或廣播結果的虛假回報。
- 混淆鏈 ID 的十六進位與十進位表示。
- 使用不安全的數值型別解析大型鏈 ID，造成精確度損失。
- 把 `net_version` 當作始終等於 `eth_chainId`。
- 漏掉 EIP-1193 `chainChanged` 事件或網路切換競態。
- 切換網路後繼續使用快取的 nonce、報價、授權或模擬結果。
- 假設鏈 ID 已在全球登錄且絕不衝突。
- 在重複使用同一鏈 ID 的私有網路或分叉之間簽章。
- 未定義分叉更改或保留 ID 時的處理方式。
- 接受沒有 EIP-155 域的不受保護傳統交易。
- 把傳統交易的 `v` 公式用於類型化交易或其他簽章。
- 假設原始訊息或 `personal_sign` 請求包含鏈域。
- 在 EIP-712 域中遺漏或錯誤編碼鏈 ID。
- 遺漏 `verifyingContract`、應用程式 nonce、截止時間或用途。
- 僅憑合約地址相同就信任它，而不比較程式碼與狀態。
- 混淆 L1、L2、橋接來源端與目的端簽章域。
- 忽略中繼意圖、許可或智慧帳戶操作的內部域。
- 把錢包新增網路中繼資料、區塊瀏覽器標籤或圖示當作網路認證。
- 把 EVM 語義套用到 Cosmos、Solana、Bitcoin 或其他協定。

<a id="misconceptions"></a>

## 常見迷思

- 鏈 ID 是全球唯一且永久有效的官方登錄編號。
- 正確的鏈 ID 可以證明 RPC 端點、網路與合約真實可信。
- 每個以太坊簽章都會自動承諾鏈 ID。
- 不同鏈 ID 可以防止每一種簽章訊息與應用程式意圖被重播。
- 每條區塊鏈都使用 EIP-155 式整數鏈 ID。

<a id="related"></a>

## 相關主題

- [EIP-712 類型化簽章](/zh-tw/crypto/eip712-typed-signature/)
- [錢包簽章](/zh-tw/crypto/wallet-signature/)
- [RPC 節點](/zh-tw/crypto/rpc-node/)

<a id="sources"></a>

## 來源

- [EIP-155: Simple replay attack protection](https://eips.ethereum.org/EIPS/eip-155) - Ethereum Improvement Proposals（查閱日期：2026-08-12）
- [EIP-1559: Fee market change for ETH 1.0 chain](https://eips.ethereum.org/EIPS/eip-1559) - Ethereum Improvement Proposals（查閱日期：2026-08-12）
- [EIP-1344: ChainID opcode](https://eips.ethereum.org/EIPS/eip-1344) - Ethereum Improvement Proposals（查閱日期：2026-08-12）
- [EIP-1193: Ethereum Provider JavaScript API](https://eips.ethereum.org/EIPS/eip-1193) - Ethereum Improvement Proposals（查閱日期：2026-08-12）
- [EIP-3085: wallet_addEthereumChain RPC Method](https://eips.ethereum.org/EIPS/eip-3085) - Ethereum Improvement Proposals（查閱日期：2026-08-12）
- [EIP-712: Typed structured data hashing and signing](https://eips.ethereum.org/EIPS/eip-712) - Ethereum Improvement Proposals（查閱日期：2026-08-12）
- [CAIP-2: Blockchain ID Specification](https://standards.chainagnostic.org/CAIPs/caip-2) - Chain Agnostic Improvement Proposals（查閱日期：2026-08-12）
- [getGenesisHash RPC Method](https://solana.com/docs/rpc/http/getgenesishash) - Solana Documentation（查閱日期：2026-08-12）

Source: https://wiki.fcontext.com/zh-tw/crypto/chain-id/index.mdx
