> For the complete documentation index, see [llms.txt](https://cmdefi.gitbook.io/cmdefi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cmdefi.gitbook.io/cmdefi/home/ji-chu-she-shi/avalanche-9000.md).

# Avalanche 9000

**Avalanche9000的解决方案**：该升级通过独特的Avalanche共识机制，为任何应用提供接近即时的交易终结性，并使得推出自己的Layer 1（L1）区块链更具经济可行性、更易定制和维护。

## **Avalanche Consensus**

Avalanche的独特共识机制被称为**Avalanche Consensus，**&#x8FD9;是一个创新的、高度并行化的共识协议，与传统的共识机制（如PoW、PBFT等）有显著的不同。

* <mark style="color:yellow;">**随机抽样与子采样投票**</mark>：在Avalanche共识中，网络中的节点不需要与所有其他节点通信以达成共识，而是通过与随机选择的一小部分节点进行交互。这些节点会对某一事务状态（如“接受”或“拒绝”）进行投票。每个节点根据从其他节点收到的多数投票结果更新自己的状态。
* <mark style="color:yellow;">**迭代与自我强化**</mark>：这一过程会重复多次，直到节点间的共识结果趋于一致。随着迭代次数的增加，网络中的节点逐渐在特定的事务状态上达成高度一致的共识。这种迭代过程通过少量随机样本的多次抽样和投票，快速将网络共识收敛到某一个结果。
* <mark style="color:yellow;">**去同步化的共识流程**</mark>：Avalanche共识是异步的，不需要网络中所有节点同步处理消息。每个节点可以在不同时间向其他节点发起查询并更新自己的状态。这种去同步化的流程使得Avalanche在高延迟或低网络质量的环境下也能高效运行。

{% hint style="info" %}
假设Avalanche网络中有1000个节点，其中某个节点需要就一笔新交易达成共识。这个节点不会向所有1000个节点广播投票请求，而是随机选择20个节点询问它们的态度（接受或拒绝）。

根据这些节点的反馈，它更新自己的状态，并在下一个时间步再随机选择20个节点进行新一轮的投票。每个节点都会按照类似的流程进行。

经过多轮次的这种抽样过程，最终大多数节点会逐渐收敛到对这笔交易的同一态度。即使有个别节点的状态更新较慢或不同步，也不会影响大多数节点的共识结果。
{% endhint %}

### 共识机制分析

每条区块链通过不同的共识机制来解决 [拜占庭将军问题](/cmdefi/home/crypto-jing-dian-li-lun/bai-zhan-ting-jiang-jun-wen-ti.md) ，比如比特币采用 PoW 工作量证明机制（算力成本），以太坊2.0采用 PoS 权益证明机制（经济成本），也有部分区块链采用 PBFT 拜占庭容错算法，而要理解 Avalanche Consensus，它更适合与 PBFT 算法做比较。

PBFT：

1. **全节点相互通信**，每个节点需要与其他所有节点进行多轮次消息互换，确保最终达成共识。
2. **全网广播多轮投票**，所有消息广播需要经过三轮投票验证，这种方式可以确保在网络中最多有三分之一的节点是恶意的情况下，仍然能够达成一致。
3. **确定性共识**，一旦通过验证即到达终结状态，不可更改。
4. **适合小规模网络**，由于需要全网广播，因此其通信复杂度为节点数量的平方，在节点数量越来越多的公链环境，通信负担会迅速增加。

Avalanche Consensus：

1. **随机抽样与子采样投票**：随机选择一部分节点进行子采样（而非全网广播）进行投票。每个节点在每一轮只与一部分随机选择的节点通信，从而得出投票结果。
2. **多轮迭代的概率收敛**：Avalanche的共识机制是概率性收敛的，每个节点会在多轮的随机抽样投票中更新自己的状态（如“接受”或“拒绝”某个区块）。随着迭代次数增加，网络中大多数节点的状态会逐渐趋向一致。
3. **概率性共识**，并非通过验证马上就到达终结，而是在多轮迭代中逐渐完成最终确认。
4. **适合大规模网络**：由于每轮投票中节点只与随机选择的部分节点通信，不需要全网广播，不会随着节点增多和网络规模的扩大而使通信能力受限。

### 随机抽样与多轮迭代如何平衡性能和安全性

根本上来说，Avalanche Consensus 与 PBFT 都涉及到节点之间的通信和投票机制，而 Avalanche 之所以能够适应大规模网络是因为用随机抽样和多轮迭代来取代了全网广播和投票，显然这提升了网络的整体性能和效率，那么这是否牺牲了安全性？

我们围绕以下几个问题来拆解这个共识逻辑：

* 既然没有全网广播，那么迭代轮次达到多少才能保证网络和交易的安全？
* 概率性共识能否保证共识确认的终结性，是否会出现逆转？

1\. **交易确认的迭代轮次**

* **迭代参数设置（α & β）**：Avalanche共识的收敛过程由多轮迭代组成，每个节点在每轮迭代中随机抽样选择其他节点进行投票，直到达成一致的状态。具体需要多少轮次，取决于协议参数。\
  \- α，每轮随机抽样的节点数量\
  \- β，需要连续多少次抽样的结果一致时视为共识达成
* **快速收敛设计：**&#x5728;通常情况下，Avalanche网络通常只需要10到20轮的迭代，就能够确保交易达到高概率的一致性，并且这个过程在几秒钟内完成，然后随着多轮迭代的概率收敛来完成最终的一致性。

2\. **概率性最终确认**

Avalanche的共识机制是概率性的，这意味着虽然理论上在收敛过程中存在极小的概率会出现反转（即达成一致后状态改变），但这种概率可以通过增加投票轮次来降低到极低的水平，几乎不可能在实际操作中发生。

另外，开发者可以通过调整**β参数**（即要求多少轮连续一致的投票结果视为最终确认）来平衡最终性和确认速度。例如，如果β设置得更高，那么网络需要更多轮次的确认，但换来的是更强的终结性保证。同样，想在极端情况下应对网络中可能出现的恶意行为，增加每轮抽样的节点数量（α）或提高终结性要求（β）都可以通过参数调整来平衡安全性、扩展性、去中心化的[“不可能三角”](/cmdefi/home/crypto-jing-dian-li-lun/qu-kuai-lian-de-bu-ke-neng-san-jiao.md)。

<figure><img src="/files/8KAKPmGjUvuWIii2Vcme" alt=""><figcaption></figcaption></figure>

### 去同步化程度对于执行效率的提升

去同步化主要体现在共识达成过程中，节点之间不需要在严格的时间窗口内同步进行通信或状态更新。由于每个节点在不同时间步可以独立工作，因此去同步化的特性为节点间的**部分并行处理**提供了条件。比如，节点在等待交易的确认过程中，可以处理其他没有依赖关系的交易请求或智能合约。

但去同步化并不意味着可以使区块链完成并行执行，并行执行应用（如智能合约）的主要挑战在于如何处理不同交易之间的**依赖关系**。如果两个交易需要修改同一账户或状态变量，执行时就需要依赖于某种顺序，避免出现竞争条件或状态冲突。这种情况称为**交易间的串行依赖性**。

去同步化影响的是**共识流程**（即如何就交易或区块的有效性达成一致），而**并行执行**影响的是**交易或智能合约的执行过程**。虽然去同步化可以提高网络的总体吞吐量，但它并不直接解决智能合约的并行执行问题。

## Avalanche 9000 升级

### **Etna升级**

Etna升级是Avalanche9000的关键部分，它在Avalanche网络的架构和性能上进行了全面优化，提升了网络的整体吞吐量和交易处理效率。该升级不仅优化了底层协议，还增强了开发者的工具支持，简化了L1链的创建和维护过程。

另外，Avalanche9000包含了多个重要的Avalanche改进提案（ACP），这些提案带来了针对网络性能、共识机制以及用户体验的改进。

### **Avalanche L1网络的扩展**

* **简化的L1创建流程**：在Avalanche网络上**创建新的L1链变得更加简单**。开发者可以根据自己的需求定制L1链的参数，如质押经济学、Gas代币等。
* **多虚拟机支持**：Avalanche9000支持与多种虚拟机（VM）兼容。

### ICM 通信强化

Avalanche9000强化了Avalanche跨链消息传递（ICM）的能力，使得Avalanche网络中的所有L1链可以更方便地进行互操作。通过ICM，不同的L1链可以实现

* **共享流动性**
* **跨链智能合约调用**
* **跨链资产转移**

通过C-Chain（Avalanche的主链）作为共享流动性枢纽，所有新的L1链能够轻松地与C-Chain进行资产交互，提供流动性支持。这意味着，开发者可以快速启动新链并利用Avalanche网络的整体流动性。
