---
title: "什么是应用专用区块链(appchain)?"
description: "判断应用专用区块链是否适合你的 dApp"
---

## 什么是appchain？

**应用专属链，即appchain，是一种专门为运行某一个特定应用而设计的区块链，而不是像公链那样为多个应用服务。** Appchain让web3开发者在应用的经济结构、治理结构和共识算法上拥有更大的自由度。Appchain运行在现有的第一层（L1）区块链之上，以利用其安全性和gas费用。[Appchain改进了现有的第一层区块链结构](https://www.alchemy.com/overviews/modular-vs-monolithic-blockchains)，为开发者提供更大的自由度。

除了可定制性之外，appchain还为开发者带来了更强的所有权和性能。相关方可以自由地对链进行更新和更改。由于没有其他应用竞争计算资源或存储资源，appchain还能提高其所服务应用的性能。

### Appchain与l1的对比

第一层区块链是一条主链，例如Ethereum或Solana，web3应用运行在其上。Appchain与第一层区块链的不同之处在于，appchain只为一个特定应用运行。虽然[L1区块链](https://www.alchemy.com/overviews/layer-1-blockchain-ecosystems-overview)与appchain不同，但appchain仍然使用其所基于的L1区块链的验证者。

使用appchain相较于使用公开的第一层区块链，各有优劣，我们会在本文后面进行探讨。

### Appchain与l2的对比

第二层区块链（L2）是第一层区块链（例如Ethereum）的扩容方案，其中主链的部分任务由一条独立的区块链完成。例如，Optimism和Arbitrum这类L2通过[乐观rollup提交欺诈证明](https://www.alchemy.com/overviews/optimistic-rollups)来执行交易，同时仍然利用Ethereum的结算层。

Appchain与L2不同之处在于，appchain只为一个应用运行。L2可以同时为许多不同的应用运行，是其所运行的L1区块链的通用扩容方案。

### Appchain与sidechain的对比

Sidechain是一种与第一层区块链兼容、但不依赖L1区块链来保证安全性的区块链。[Sidechain与L2不同](https://www.alchemy.com/overviews/sidechains-vs-layer2s)，因为它们不会将交易发布到主链上，而是运行在自己的安全协议上。Sidechain通过双向桥与主链相连。

Appchain与sidechain的主要区别在于，appchain是应用专属的。也就是说，appchain只为一个特定应用运行。而sidechain则执行各种类型的交易和资产交换。

Polygon是一条Ethereum sidechain，它提供了一个名为**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、L2或sidechain上构建，在appchain上构建具有独特的优势。如上所述，appchain在利用主链安全性的同时，为开发者提供了可定制性、性能优势以及更强的所有权。

直接在公链上开发应用意味着该应用必须与其他应用竞争计算和存储资源，这会降低应用的性能，并且由于开发者无法控制共识协议，更新或更改应用的过程可能会更长。

不过，在L1上开发也有其优势。对于开发者，尤其是初学者而言，在L1链上开发应用可用的资源和工具更多，L1拥有更多的支持，L1拥有更大的开发者生态系统，并且将代码移植到兼容的区块链上也更容易。

随着L2的出现，应用开发者无需大幅重构其代码库，即可在第二层解决方案上获得更具可扩展性的基础设施，从而在不牺牲安全性的前提下获得更低的gas费用和更高的吞吐量。

## 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 parachain

**Polkadot**是一个由与EVM兼容的L1区块链组成的网络，这些链被称为**parachain**，它们都连接到一条名为**Relay Chain**的中心链。Relay Chain是一条第零层区块链，负责验证来自各parachain的所有交易。

Relay Chain使用权益证明（Proof-of-Stake）共识机制，验证者质押DOT，即Polkadot的原生代币。**验证者**分组，每组负责一条特定的parachain，并由**collator**提名和支持，collator既充当Relay Chain的节点，也充当其对应特定parachain的节点。

Parachain可用于运行特定的应用或项目。目前，Polkadot网络最多可容纳100条parachain。开发者可以通过拍卖流程获得一条parachain，在此过程中，参与者会为他们认为应该获得parachain的项目出价。随后，该parachain会租给该开发者两年时间。Parachain还可以充当将Polkadot网络连接到外部L1区块链（如Ethereum）的桥梁。

Parachain为开发者提供了本文前面提到的appchain的所有优势，包括自由决定其应用的经济结构和治理结构。Parachain甚至支持使用自己的原生代币。

不过，Polkadot Parachain也存在一些缺点。

一个缺点是，由于Polkadot最多只支持100条parachain，其使用范围仅限于在拍卖过程中获胜的开发者，这使得Polkadot的可及性较低。

Polkadot正在通过Parathread来提高其容量。**Parathread**与Parachain的区别在于经济结构，开发者需要按区块付费。Polkadot最多支持10,000条parathread。

Polkadot的另一个缺点是Relay Chain不支持智能合约。这限制了Polkadot网络的性能。

#### **Polkadot parachain项目示例：**

- **Acala**——Polkadot网络的DeFi枢纽
- **Litentry**——一个跨链身份聚合器

### Cosmos zone

**Cosmos Zone**在Cosmos网络中以中心辐射（hub-and-spoke）模型运行。每条appchain，即“zone”，都连接到**Cosmos Hub**，后者是Cosmos网络的中心。这就形成了Cosmos网络中所有zone之间的互联互通。

由于所有zone都通过Cosmos Hub相连，各zone之间可以互相发送数据和代币。虽然每个zone可以拥有自己的代币，但**ATOM**是Cosmos Hub的原生代币。ATOM用于质押、奖励和交易手续费。

Cosmos网络使用**Tendermint Core**——一种拜占庭容错共识算法——在权益证明模型下验证交易。Cosmos SDK是开发者用来构建Cosmos网络中各zone的平台。任何人都可以为自己的特定项目创建一个Cosmos Zone。

除了构建appchain通常具备的优势之外，Cosmos Zone对开发者还有许多其他优势。

1. Tendermint Core提高了交易速度和最终确定性
1. **跨链通信（Interblockchain Communication，IBC）**允许各zone之间互相传输数据
1. Cosmos SDK还允许开发者在需要更高吞吐量时为其appchain构建并行链

Cosmos Zone与Polkadot Parachain的主要区别在于治理结构。

与Polkadot中验证者由collator提名不同，Cosmos的验证者是持有ATOM数量排名前100的持有者。这使得寻找Cosmos验证者或成为Cosmos验证者更加困难。

#### **Cosmos zone项目示例：**

- **dYdX**——一个大型去中心化交易所
- Osmosis——Cosmos上最大的DEX，支持用户进行交换、赚取收益和构建应用

### Avalanche subnet

[Avalanche生态系统](https://www.alchemy.com/dapps/ecosystem/avalanche)由三条区块链组成：**执行智能合约的合约链（c-chain）、处理资产交换的交易链（x-chain），以及包含验证者和subnet的平台链（p-chain）**。

**Avalanche Subnet**是一种appchain，开发者可以通过质押$AVAX（Avalanche的原生代币）将其用于自己的项目。Subnet既可以是L1区块链，也可以是L2区块链。

Avalanche共识协议使用**雪球算法（Snowball Algorithm）**，验证者不断采纳一个验证者子集的多数意见，直到整个群体达成共识。这使得验证过程快速、高效且可扩展，也意味着Avalanche可以同时支持数百万验证者。

Avalanche相较其他区块链的一些优势包括可扩展性、最终确定性和速度。

1. Avalanche对可创建的subnet数量没有限制
1. 雪球算法可在1-2秒内处理交易
1. Avalanche具有超过4500 tps的高吞吐量

#### **Avalanche subnet项目示例：**

- **[DeFi Kingdoms](https://www.alchemy.com/dapps/defi-kingdoms) Crystalvale**——一款边玩边赚、跨链的DeFi游戏。
- **[Crabada](https://www.alchemy.com/dapps/crabada)的Swimmer**——一款采用独特手续费覆盖模型的游戏。

### Polygon supernet

**Polygon Supernets**以Ethereum作为L1区块链，并使用**Polygon Edge**——Polygon的区块链构建平台，该平台为开发者提供构建自己的EVM兼容区块链所需的工具。

Supernet开发者可以选择获得一个Polygon验证者，该验证者使用Polygon的原生代币MATIC进行质押，并可以选择使用权益证明或权威证明模型。每组验证节点只为一个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是如何验证交易的。
