跳至內容
0%

什麼是應用特定區塊鏈(appchain)?

Alchemy team headshot

作者 Alchemy

發布於 2022年8月10日閱讀時間 3 分鐘

什麼是 appchain?

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

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

Appchain 與 L1 的比較

第一層區塊鏈是像 Ethereum 或 Solana 這樣的主要區塊鏈,web3 應用程式在其上運作。Appchain 與 Layer 1 區塊鏈的不同之處在於,appchain 只為單一特定應用程式運作。雖然 L1 區塊鏈與 appchain 不同,但 appchain 仍會使用其所依附的 L1 區塊鏈的驗證者。

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

Appchain 與 L2 的比較

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

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

Appchain 與側鏈的比較

側鏈(sidechain)是與 layer one 區塊鏈相容、但不依賴該 L1 區塊鏈來取得安全性的區塊鏈。側鏈與 L2 不同,因為側鏈不會將交易發布到主鏈上,而是採用自己的安全協定運作。側鏈透過雙向橋接(two-way bridge)與主鏈相連。

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

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

Appchain 與 subgraph 的比較

Subgraph 是 The Graph 協定的一部分,該協定負責索引與查詢區塊鏈資料。Subgraph 決定哪些資料會被 The Graph 索引,以及資料如何儲存。Subgraph 是開放的 API,讓任何人都能存取這些資料。

Subgraph 由三個部分組成:

  1. Manifest - 描述並提供 subgraph 所索引之智能合約的相關資訊
  2. Schema - 定義 subgraph 所儲存的資料內容
  3. 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
  2. Cosmos Zones
  3. Avalanche Subnets
  4. 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)
  2. **跨鏈通訊(Interblockchain Communication,IBC)**讓各 zone 之間能夠互相傳輸資料
  3. Cosmos SDK 也讓開發者在需要更高吞吐量時,能為其 appchain 建構平行鏈

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

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

Cosmos zones 專案範例:

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

Avalanche subnets

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 數量沒有上限
  2. Snowball 演算法能在 1-2 秒內處理完交易
  3. Avalanche 具備高吞吐量,可達每秒 4500 筆以上交易(tps)

Avalanche subnet 專案範例:

  • DeFi Kingdoms Crystalvale - 一款邊玩邊賺(play-to-earn)的跨鏈 DeFi 遊戲
  • 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 在公有區塊鏈上建構應用程式的流程做比較,再決定你偏好哪一種方式。

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

Background gradient

打造區塊鏈魔法

Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。