# Smooth 模块化区块链系列教程(七): QoS 和 DAG

By [wiger.eth](https://paragraph.com/@wiger) · 2022-10-14

---

### 传统的 QoS (Quality of service)

在电话通信领域，QoS 由 ITU 于 1994年定义。QoS 涵盖了连接所有方面的要求，例如服务响应时间、损耗、信噪比、回声、中断、频率响应、响度等。其中一个重要的维度，是服务等级(GoS)要求，它包括与网络容量和覆盖范围相关指标，例如可以保证的最大阻塞概率和中断概率。

在计算机网络和其他分组交换网络领域，QoS 是为不同的应用程序、用户或数据流提供不同优先级的能力，或保证数据流具有一定性能的能力。例如，保证所需的比特率、延迟、延迟变化、分组丢失或误码率。QoS 对于实时流媒体应用很重要，例如语音、多人在线游戏，并且在容量有限的网络中尤其重要，例如蜂窝数据通信。

![QoS](https://storage.googleapis.com/papyrus_images/73e2da83f33ae43297f2dc86b6e545642c8aed90373be822d224f9930514bc29.png)

QoS

### 区块链的 QoS (Quality of service)

QoS 面向的是 dApps 和 app-specific chains, 对于不同类型的 Transaction，不同的 dApps，需求场景是多样化的，且对于交易效率、安全保障、用户体验、交易成本、计算资源消耗，都有着不同的要求，这需要区块链可以为不同的需求，构建对应的执行协议、执行标准、Rollup 规则等，同时要保证整个系统的安全性。

因此 Smooth 提出了一种框架，在 Execution 层和 Settlement 层，进行交易排序的优化，面向不同的 dApps，不同的 transaction，不同的 app-specific chains，实现 QoS 机制。Smooth 采用 Move 语言，实现交易的可并行处理和最大程度的安全性，从而达到更优的可扩展性，并且应用模块化区块链的思想，让每一层具有更清晰的边界，构建 Move 语言下 DA 层和共识层的处理层（参考 Celestia）。

### 有向无环图 DAG 结构

![DAG](https://storage.googleapis.com/papyrus_images/864a62432e78d733187bf2224168cded30c8ff44e8e48dea1c592d531f79e70d.png)

DAG

Move 语言构建的系统，以用户为基础作为资源管理。

Smooth 参考了 Sui 的交易流程模型，采用 DAG 模型，会带来以下的优点：

1.  为并行化创造条件：DAG 作为一类数据结构，其与区块链结合，可以解决效率问题。因为链式结构使整个网络只能存在一条链，导致出块无法并发执行，引入 DAG 结构后，网络中可以并行打包多个区块。
    
2.  因果顺序加快共识过程：在 Sui 中，链上事务的因果顺序是很重要的一个特点，也是上图中的每一个节点，它类似于区块中的 Merkle Root，是 DAG 结构的主干，也是共识投票的参考证明。
    

### Reservation 交易池定序

借助 DAG 的事务执行流程，Smooth 构建出一个独立的 Reservation 交易池，将交易提交、存储、排序、有效性验证，集中执行处理。

![Reservation Tx Pool](https://storage.googleapis.com/papyrus_images/3a4778afbba3daf027694724ee3775f5c74da13c17e3f8f7e77293c16bae38bb.png)

Reservation Tx Pool

采用这种堆栈式的存储模式，虽然牺牲了一部分的即时性，但可以为不急于在链上立刻成交的用户，提供一种更为人性化的选择，降低用户成本的同时，也减轻了区块链的负担。

当 Transaction 提交到 Node，此时并不做 validation 和 available 的验证，直接压入 pool，这一步的交易类型，是根据对应 app chain 的 Namespace 标记进行甄别，采用分布式存储，在筛选出交易后，对应的 Pool 负责做中间件，为后续的节点投票 DAG 提供交易列表。

### 引用

> 从"Diem”系看下一代公链范式: [https://move-china.com/topic/184](https://move-china.com/topic/184)

> Quality of service - From Wikipedia, the free encyclopedia: [https://en.wikipedia.org/wiki/Quality\_of\_service](https://en.wikipedia.org/wiki/Quality_of_service)

---

*Originally published on [wiger.eth](https://paragraph.com/@wiger/smooth-qos-dag)*
