---
title: "Ethereum 側鏈與 Layer 2：差異是什麼？"
description: "定義、差異，以及如何解決擴容問題"
---

# Ethereum 側鏈與 Layer 2：差異是什麼？

隨著數百萬使用者加入 Ethereum 網路，開發者每天都在[建構 Ethereum 應用程式](https://www.alchemy.com/ethereum/?a=7e5de6cfc2)，Ethereum 卻受限於交易數量。Ethereum 處理交易的能力，也就是交易吞吐量，限制在每秒 15 筆交易，導致費用日益昂貴，且經常過於壅塞，使許多人無法使用。

Ethereum 網路是主鏈，所有直接發生在其上的交易都是「鏈上」交易，其他則被視為「鏈下」。而正是側鏈和 layer 2 這類鏈下解決方案，有助於 Ethereum 擴容，提升交易速度並增加網路可處理的交易資料量。本文將說明側鏈與 layer 2 解決方案是什麼，以及它們如何協助擴容。

## 側鏈與 layer 2 解決了什麼問題？

**側鏈與 Ethereum layer 2 解決方案要解決的，是協助 Ethereum 擴容的問題**。試圖在鏈上提升效能，往往會在 Ethereum 的去中心化與可擴展性之間做出取捨——這就是所謂的可擴展性三難困境（Scalability Trilemma）。

提高 Ethereum layer 1 的複雜度並非理想做法，因為這會加重平台持續辯論、決定並實作新改進的治理負擔。側鏈與 layer 2 解決方案能夠在維持安全性與去中心化的同時，讓創新持續且漸進地進行，使所有人都受惠於 Ethereum 的改善。

### 側鏈與 layer 2 解決方案的主要差異是什麼？

**側鏈與 Ethereum layer 2 解決方案的主要差異在於，layer 2 繼承了 Ethereum 主網路的安全性，而側鏈則依賴自身的安全性。**

## 什麼是 Ethereum 側鏈？

**Ethereum 側鏈是一條與 Ethereum 主鏈並行運作的獨立區塊鏈網路。** 側鏈透過雙向錨定（two-way peg）系統與主鏈連接，讓資產得以在兩條鏈之間互換。

側鏈基本上分為兩種類型：一種是某條鏈依附於另一條鏈，另一種則是彼此獨立。

當一條鏈依附於像 Ethereum 這樣的另一條鏈時，可以將其視為此母鏈的子鏈。通常，子鏈本身不會建立自己的資產，而是從母鏈的轉帳中取得資產。

<ImageBlock
  src="https://media.alchemy.com/1704207927-ethereum-sidechain.png"
  alt="Ethereum 側鏈透過雙向錨定連接主鏈的示意圖"
  width={720}
  height={321}
  caption="來源：EthHub Documentation"
/>

側鏈擁有自己的共識協定，通常是針對特定類型的交易所設計，使其能更快速且更經濟實惠。然而，這也意味著側鏈通常不會繼承 Ethereum 的安全特性，使用側鏈時，你會失去對資金的保管權，並完全依賴側鏈自身的安全性，包括參與其共識協定的節點。

側鏈能降低主鏈的壅塞程度，減少所有人的成本，並提升 [Ethereum 生態系](https://www.alchemy.com/dapps/ecosystem/ethereum)的可用性與可擴展性。開發者也可以利用側鏈來探索並測試主鏈上尚無法使用的新功能與應用案例。

常見的側鏈包括 Polygon PoS、Skale 和 Rootstock。Ethereum 2.0 也有自己的側鏈變體，稱為[分片鏈（shard chains）](https://www.alchemy.com/overviews/ethereum-2-0-your-guide-for-2022#thirteenth_header)，這些分片鏈連接到近期推出的 [Beacon Chain](https://www.alchemy.com/overviews/what-is-the-ethereum-beacon-chain)，其目標是最終成為以 proof of stake（PoS）為基礎的 Ethereum 主鏈。

## 側鏈如何運作？

**側鏈透過雙向錨定系統或橋接（bridge）與主鏈連接來運作。** 從主鏈上，你可以將 Ethereum 傳送到一個出口地址，這個地址作為保管箱，使你無法在其他地方使用這筆資金。

一旦此交易完成，並且為了額外的安全性所設的「爭議期」也已過去，就會提供一份稱為「簡易支付驗證」（Simple Payment Verification，SPV）的憑證。這會觸發側鏈上一個等值保管箱透過智能合約釋出對應價值。當要從側鏈「轉回」主鏈時，會發生完全相同的流程，只是方向相反。

## 如何在側鏈上開發？

側鏈是以 [**Ethereum Virtual Machine（EVM）**](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm) 為基礎，這是 Ethereum 的運算引擎，而這種與 Ethereum Virtual Machine 的相容性意味著開發者想在側鏈上使用其應用程式時，不需要做任何修改。只需部署相同的程式碼即可，因為它們都共享相同的 [Solidity](https://www.alchemy.com/overviews/solidity) 軟體層，並且可以透過相同的 Web3 API 存取！

## 什麼是 layer 2 協定？

Layer 2 協定是存在於 Ethereum 鏈內部的鏈，但能透過次級框架達到更高的可擴展性。這藉由讓大部分活動透過第二層處理，減少了主層的壅塞。與側鏈不同，layer 2 通常會繼承主鏈的安全特性。

Layer 1 是基礎區塊鏈。Ethereum 是一條 layer 1 區塊鏈，因為它是各種 layer 2 區塊鏈建構於其上的底層基礎。簡單來說，layer 2 會將成批交易壓縮，並提交給 Ethereum 主網路。

## 什麼是 layer 2 擴容解決方案？

**Layer 2 擴容解決方案包括 channels、Rollups 和 plasma。** 以下逐一說明這些解決方案。

### 1. State channels

透過 state channels，使用者彼此直接在鏈下進行交易，並將鏈上交易減少到僅保留最重要的資訊。具體來說，區塊鏈的一部分會透過智能合約鎖定，使參與該筆交易的各方必須完全同意才能更新它。

參與者透過建立並簽署交易來彼此更新狀態，這些交易之後可以提交到區塊鏈上。當你想停止使用該 channel 時，你會退出並將最後的狀態更新提交到主鏈，藉此再次解鎖該狀態。

<ImageBlock
  src="https://media.alchemy.com/1704207938-ethereum-state-channels.png"
  alt="Ethereum 狀態通道在參與者之間將交易移至鏈下處理的示意圖"
  width={720}
  height={321}
  caption="來源：EthHub Documentation"
/>

### 2. Rollups

Rollup 會在 Ethereum 主鏈之外執行交易，然後將多筆交易打包在一起，再送回 Ethereum 主網路。Rollups 依賴證明，讓 Ethereum 得以在不處理交易的情況下驗證其正確性。

#### Rollups 有哪兩種類型？

**一般來說，Rollups 分為兩種類型：Zero-knowledge（ZK）Rollups 與 Optimistic Rollups。**

##### **1. Zero-knowledge rollups（ZK rollups）**

**Zero-Knowledge Rollups（ZK rollups）** 使用有效性證明（validity proofs）。每一批交易都包含一個稱為簡潔非互動式知識論證（Succinct Non-Interactive Argument of Knowledge，SNARK）的密碼學證明，由 Ethereum 主層上的合約驗證。

由於主鏈上只需儲存有效性證明，而不需要儲存龐大的交易資料，這種鏈下運算大幅節省了處理時間與算力，使得 [zero-knowledge rollups](https://www.alchemy.com/blog/zero-knowledge-rollups) 更快速、更有效率。

##### **2. Optimistic rollups**

**Optimistic Rollups** 使用詐欺證明（fraud proofs）。如其名稱所示，這類方案樂觀地假設所有交易皆為有效，並在沒有任何初始證明的情況下提交批次交易。設有一段挑戰期，讓其他人能夠偵測並證明某批次中的資料是詐欺性的。

若該批次確實為詐欺性的，Optimistic rollups 會執行詐欺證明，並使用主 Ethereum 鏈上可取得的資料，重新執行正確的交易運算。要求參與者質押會依其行為獲得獎勵或被罰沒的 ETH，藉此激勵良好行為。

像 [Optimism](https://www.alchemy.com/blog/alchemy-optimism) 這樣的公司，透過提供更高的吞吐量、更低的延遲以及更低的 gas 費用，協助 Ethereum 擴容。截至本文撰寫時，Optimism 的 gas 費用最高比 Ethereum 便宜 10 倍！

### 3. Plasma

可以把 Plasma 想成 Ethereum 原生的側鏈，它結合智能合約與 Merkle 樹，建立出無限分支的子鏈。這些子鏈是 Ethereum 主鏈的較小副本，擁有各自的共識機制。

運算所需的頻寬與交易資料會從母鏈卸載，但仍會定期發布到根鏈（root chain）。每條子鏈的安全性都依賴一套詐欺證明系統，其運作方式與 rollups 類似，設有一段時間讓任何人都能質疑其有效性。

與其他側鏈的關鍵差異在於，每個 plasma 鏈區塊的「根」都會發布到 Ethereum 上，這意味著它確實繼承了主鏈的安全性。

<ImageBlock
  src="https://media.alchemy.com/1704207950-plasma.png"
  alt="Plasma 子鏈從 Ethereum 主鏈分支出去的示意圖"
  width={713}
  height={400}
  caption="來源：Nirolution"
/>

像 Polygon 這樣的公司，讓開發者與終端使用者都能享有更快的交易速度與更低廉的 gas 費用。這些明顯的優勢使建構在 plasma 上變得極具吸引力，也不難理解為何它們會出現[爆炸性成長](https://www.alchemy.com/case-study/polygon/?a=7e5de6cfc2)。

## Alchemy 支援哪些側鏈與 layer 2？

[取得免費的 Alchemy 開發者帳號](https://www.alchemy.com/?a=7e5de6cfc2)，開始在 Ethereum 或以下這些側鏈與 Ethereum layer 2 上進行建構：

- Polygon（側鏈）
- [Arbitrum](https://www.alchemy.com/arbitrum)（Layer 2）
- Optimism（Layer 2）
- Starknet（Layer 2）

大規模採用側鏈與 layer 2（channels、optimistic rollup、zk rollup 與 Plasma）等擴容方案，能減輕 [Ethereum mainnet](https://www.alchemy.com/rpc/ethereum) 的負擔，進而協助更多使用者加快原本較慢的交易速度、降低高昂的交易費用，同時仍維持相同的安全保障（就 Layer 2 解決方案而言）以及 Ethereum 廣為人知的去中心化應用程式。
