---
title: "什麼是應用特定區塊鏈（appchain）？"
description: "判斷應用特定區塊鏈是否適合你的 dApp"
---

## 什麼是 appchain？

**應用專屬區塊鏈（application-specific blockchain），簡稱 appchain，是專門為執行單一應用程式而設計的區塊鏈，而非像公有區塊鏈那樣同時服務多個應用程式。** Appchain 讓 web3 開發者對其應用的經濟結構、治理結構與共識演算法有更大的自由度。Appchain 建構於既有的第一層（Layer 1，L1）區塊鏈之上，藉此運用其安全性與 gas 費用機制。[Appchain 改善了既有 Layer 1 區塊鏈的結構](https://www.alchemy.com/overviews/modular-vs-monolithic-blockchains)，讓開發者擁有更大的自由度。

除了可自訂性之外，appchain 也讓開發者擁有更高的掌控權與更好的效能。利害關係人可以自由地依需求對鏈進行更新與變更。由於沒有其他應用程式競爭運算或儲存資源，appchain 也能提升其所服務應用程式的效能。

### Appchain 與 L1 的比較

第一層區塊鏈是像 Ethereum 或 Solana 這樣的主要區塊鏈，web3 應用程式在其上運作。Appchain 與 Layer 1 區塊鏈的不同之處在於，appchain 只為單一特定應用程式運作。雖然 [L1 區塊鏈](https://www.alchemy.com/overviews/layer-1-blockchain-ecosystems-overview)與 appchain 不同，但 appchain 仍會使用其所依附的 L1 區塊鏈的驗證者。

使用 appchain 相較於使用公有 Layer 1 區塊鏈有其優點與取捨，我們將在本文後段進一步說明。

### Appchain 與 L2 的比較

第二層區塊鏈（Layer 2 blockchains，L2）是針對 Layer 1 區塊鏈（例如 Ethereum）的擴容方案，主鏈的部分任務會由另一條獨立的區塊鏈來完成。例如，Optimism 與 Arbitrum 等 L2 會執行交易並[透過 optimistic rollup 提交詐欺證明（fraud proof）](https://www.alchemy.com/overviews/optimistic-rollups)，同時仍利用 Ethereum 的結算層。

Appchain 與 L2 的不同之處在於，appchain 只為單一應用程式運作。L2 則可以同時為多個不同的應用程式運作，是其所依附的 L1 區塊鏈的通用擴容方案。

### Appchain 與側鏈的比較

側鏈（sidechain）是與 layer one 區塊鏈相容、但不依賴該 L1 區塊鏈來取得安全性的區塊鏈。[側鏈與 L2 不同](https://www.alchemy.com/overviews/sidechains-vs-layer2s)，因為側鏈不會將交易發布到主鏈上，而是採用自己的安全協定運作。側鏈透過雙向橋接（two-way bridge）與主鏈相連。

Appchain 與側鏈的主要差異在於，appchain 是應用專屬的，意即 appchain 只為單一特定應用程式運作；而側鏈則會執行各種類型的交易與資產交換。

Polygon 是一條 Ethereum 側鏈，提供名為 **Polygon Edge** 的 appchain 解決方案。

### Appchain 與 subgraph 的比較

Subgraph 是 [The Graph](https://www.alchemy.com/dapps/the-graph) 協定的一部分，該協定負責索引與查詢區塊鏈資料。Subgraph 決定哪些資料會被 The Graph 索引，以及資料如何儲存。Subgraph 是開放的 API，讓任何人都能存取這些資料。

Subgraph 由三個部分組成：

1. **Manifest** - 描述並提供 subgraph 所索引之智能合約的相關資訊
1. **Schema** - 定義 subgraph 所儲存的資料內容
1. **Mappings** - 以 AssemblyScript 撰寫的程式碼，用於處理事件資料並更新區塊鏈

雖然 appchain 與 The Graph 都可用於建構應用程式，但 appchain 與 subgraph 不同之處在於，appchain 讓開發者能夠建立自己的區塊鏈，而 subgraph 只是用來更好地描述與整理區塊鏈資料。

### Appchain 的優點與取捨

相較於在 L1、Layer 2 或側鏈上建構應用程式，在 appchain 上建構具有獨特優勢。如前所述，appchain 為開發者提供可自訂性、效能優勢與更高的掌控權，同時仍運用主鏈的安全性。

若直接在公有區塊鏈上開發應用程式，代表該應用程式必須與其他應用程式競爭運算與儲存資源，這會降低應用程式的效能；由於開發者無法掌控共識協定，更新或變更應用程式的流程也可能因此變得更冗長。

不過，在 L1 上開發也有其優勢。對開發者（尤其是初學者）而言，在 L1 鏈上開發應用程式可運用的資源與工具更多，L1 也有更完善的支援、更龐大的開發者生態系，且將程式碼移植到相容區塊鏈上也較為容易。

隨著 L2 的出現，應用程式開發者無需大幅重構程式碼，就能運用可擴展性更高的基礎設施，在提供更低廉 gas 費用與更高吞吐量的 layer 2 方案上運作，同時不犧牲安全性。

## Appchain 如何運作？

Appchain 的運作方式與主鏈類似，差別在於 appchain 是應用專屬的。Appchain 建構於既有區塊鏈之上，但根據所使用的區塊鏈不同，appchain 的運作方式也會略有差異。我們稍後會說明如何選擇要在哪條區塊鏈上建構你的 appchain。

Appchain 使用自己的代幣作為驗證者的質押標的，或作為某種形式的應用內所有權憑證。應用程式內的代幣可用作應用內貨幣、應用內所有權的代幣，甚至可作為投票系統。

Appchain 會使用主鏈上選擇為特定 appchain 進行驗證的驗證者。Appchain 擁有自己的代幣，驗證者以 appchain 的代幣進行質押。如此一來，appchain 就不必與其他應用程式競爭交易處理容量。

## 哪些區塊鏈支援 appchain？

有些區塊鏈讓開發者能夠建構 appchain。在這一節，我們會介紹幾個熱門區塊鏈在 appchain 開發方面的特性，包括：

1. Polkadot Parachains
1. Cosmos Zones
1. Avalanche Subnets
1. Polygon Supernets

### Polkadot parachains

**Polkadot** 是由一群與 EVM 相容的 L1 區塊鏈所組成的網路，這些區塊鏈稱為 **parachain**，全部連接到一條稱為 **Relay Chain** 的中央區塊鏈。Relay Chain 是一條第零層（Layer 0）區塊鏈，負責驗證來自各 parachain 的所有交易。

Relay Chain 使用權益證明（Proof-of-Stake）共識機制，驗證者質押 Polkadot 的原生代幣 DOT。每組**驗證者（validator）**各自負責一條特定的 parachain，並由**collator** 提名與支援，collator 則作為 Relay Chain 及其對應 parachain 的節點運作。

Parachain 可用於運作特定的應用程式或專案。目前，Polkadot 網路最多可容納 100 條 parachain。開發者可透過拍賣程序取得 parachain，參與者針對他們認為應獲得 parachain 的專案進行競標，得標的 parachain 會租給開發者使用兩年。Parachain 也可作為橋接，將 Polkadot 網路與 Ethereum 等外部 L1 區塊鏈連接起來。

Parachain 為開發者提供了本文前面提到的所有 appchain 優勢，包括可自由決定其應用程式的經濟結構與治理結構。Parachain 甚至支援使用自己的原生代幣。

不過，Polkadot Parachain 也有一些缺點。

其中一項缺點是，由於 Polkadot 最多只支援 100 條 parachain，能使用的僅限於在拍賣程序中勝出的開發者，這使得 Polkadot 的可及性較低。

Polkadot 正致力於透過 Parathread 提升其容量。**Parathread** 與 Parachain 在經濟結構上有所不同，開發者須依區塊（per block）付費。Polkadot 最多可支援 10,000 個 parathread。

Polkadot 的另一項缺點是，Relay Chain 不支援智能合約的使用，這限制了 Polkadot 網路的效能表現。

#### **Polkadot parachain 專案範例：**

- **Acala** - Polkadot 網路的 DeFi 樞紐
- **Litentry** - 跨鏈身分聚合器

### Cosmos zones

**Cosmos Zones** 以樞紐輻射（hub-and-spoke）模式運作於 Cosmos 網路中。每個 appchain，亦即「zone」，都連接到作為 Cosmos 網路中心的 **Cosmos Hub**，藉此讓 Cosmos 網路中的所有 zone 彼此相連。

由於所有 zone 都透過 Cosmos Hub 連接，各 zone 之間可以互相傳送資料與代幣。雖然每個 zone 可以擁有自己的代幣，但 **ATOM** 是 Cosmos Hub 的原生代幣，用於質押、獎勵與交易手續費。

Cosmos Network 使用 **Tendermint Core**（一種拜占庭容錯共識演算法）以權益證明模式驗證交易。Cosmos SDK 是開發者用來建構 Cosmos Network 中各 zone 的平台，任何人都能為自己的特定專案建立一個 Cosmos Zone。

除了建構 appchain 常見的優勢之外，Cosmos Zones 對開發者還有許多額外優勢。

1. Tendermint Core 提升了交易速度與最終確定性（finality）
1. **跨鏈通訊（Interblockchain Communication，IBC）**讓各 zone 之間能夠互相傳輸資料
1. Cosmos SDK 也讓開發者在需要更高吞吐量時，能為其 appchain 建構平行鏈

Cosmos Zones 與 Polkadot Parachains 的主要差異在於治理結構。

在 Polkadot 中，驗證者由 collator 提名；而在 Cosmos 中，驗證者則是持有 ATOM 數量前 100 名的持有者，這使得尋找 Cosmos 驗證者或成為 Cosmos 驗證者都更加困難。

#### **Cosmos zones 專案範例：**

- **dYdX** - 一個大型去中心化交易所
- Osmosis - Cosmos 上規模最大的 DEX，讓使用者能夠進行代幣兌換、賺取收益與建構應用

### Avalanche subnets

[Avalanche 生態系](https://www.alchemy.com/dapps/ecosystem/avalanche)由三條區塊鏈組成：負責執行智能合約的**合約鏈（contract chain，c-chain）**、處理資產交換的**交易鏈（exchange chain，x-chain）**，以及包含驗證者與 Subnets 的**平台鏈（platform chain，p-chain）**。

**Avalanche Subnets** 是開發者可透過質押 Avalanche 原生代幣 $AVAX 來為其專案使用的 appchain。Subnets 可以是 L1 或 L2 區塊鏈。

Avalanche 共識協定使用 **Snowball 演算法**，驗證者會持續採納一小群驗證者子集的多數意見，直到整個群體達成共識為止。這使得驗證流程快速、有效率且具可擴展性，意味著 Avalanche 能同時支援數百萬名驗證者。

Avalanche 相較於其他區塊鏈的部分優勢包括可擴展性、最終確定性與速度。

1. Avalanche 對可建立的 Subnet 數量沒有上限
1. Snowball 演算法能在 1-2 秒內處理完交易
1. Avalanche 具備高吞吐量，可達每秒 4500 筆以上交易（tps）

#### **Avalanche subnet 專案範例：**

- **[DeFi Kingdoms](https://www.alchemy.com/dapps/defi-kingdoms) Crystalvale** - 一款邊玩邊賺（play-to-earn）的跨鏈 DeFi 遊戲
- **[Crabada](https://www.alchemy.com/dapps/crabada) 的 Swimmer** - 一款採用獨特手續費涵蓋模式（fee-cover model）的遊戲

### Polygon supernets

**Polygon Supernets** 以 Ethereum 作為 L1 區塊鏈，並使用 **Polygon Edge**——Polygon 的區塊鏈建構平台，提供開發者建構自己的 EVM 相容區塊鏈所需的工具。

Supernet 開發者可選擇取得使用 Polygon 原生代幣 MATIC 進行質押的 Polygon 驗證者，並可自行選擇採用權益證明（Proof-of-Stake）或權威證明（Proof-of-Authority）模型。每組驗證節點只服務一個 Supernet。

開發者同時也能取得工具與第三方服務，協助他們使用 Supernets 開發應用程式。Supernets 讓開發者能將自己的 appchain 連接到其他 Supernets，並使用任何自己想要的擴容架構。簡言之，Supernets 運用 Polygon Edge 的優勢，讓開發者能夠自訂其 appchain。

#### **Polygon supernet 專案範例：**

- **Vorz** - 一款類似 TikTok 的代幣化元宇宙社交媒體應用程式
- **Boomland** - 由 BoomBit 開發的一款 web3 遊戲

## 如何選擇最適合的 appchain

最適合你專案的 appchain 取決於你所重視的條件。每種 appchain 都能讓你自訂應用程式的經濟結構與治理結構，但彼此在效能、代幣經濟學、共識演算法與可及性方面差異甚大。

你首先應該考量的是建立 appchain 的流程。舉例來說，若某條區塊鏈只允許有限數量的 appchain，你就必須與其他專案競爭有限的名額。

先研究建構 appchain 的流程，並將其與[使用 Alchemy 在公有區塊鏈上建構應用程式](https://www.alchemy.com/?a=02dd4e500f)的流程做比較，再決定你偏好哪一種方式。

另一項需要考量的重要因素，是你為 appchain 所選擇的區塊鏈之共識演算法。有些區塊鏈為每個 appchain 提供的驗證者數量遠多於其他區塊鏈。若安全性對身為開發者的你而言很重要，請務必研究你所選 appchain 的交易驗證方式。
