# 分片公链之王 - NEAR项目研究报告

By [3WebDAO](https://paragraph.com/@3webcapital) · 2022-02-25

---

**\[关于3Web DAO\]**

![](https://storage.googleapis.com/papyrus_images/3b29a3b73cad58ee68b2edd8c04f659498b049aa3931f3bfc48453b5593658a2.png)

背景
==

2021年以太坊扩容可谓是加密圈的主线之一，其中各种Layer2协议的上线给以太坊生态添加不少生机。而在市场中，除了Layer2的扩容方案之外，其他 L1 的出现主要也是由以太坊的扩容问题驱动的。在2021年初，以太坊在总锁定价值 (TVL) 中占据了超过 95% 的市场份额，而如今它仅拥有约 58% 的市场份额。  

![](https://storage.googleapis.com/papyrus_images/be3a433ce66d7ee6a41530b708dd182f9f40acbfe80b11f220e64a2eae8a7e52.png)

而在L1中分片也是老生常谈的赛道，经过近几年的技术发展，号称以太坊杀手的分片之王NEAR也渐渐地展露头角，生态也是蓬勃发展。今天就让我们一起来看看NEAR凭什么被称为分片之王。

想探索这个问题，首先我们要对所谓分片的概念有所了解。

分片（Sharding）
============

什么是分片
-----

分片在互联网领域早已有之，一般称之为数据库分片（database sharding）。它指的是将单个数据库中的数据，通过某种策略分摊到多个表结构与其相同的其他数据库中，这样每个数据库中的数据量就会相对减少很多，并且可以部署在不同服务器上，理论上能够实现数据库的无限横向拓展。 

在区块链领域，道理也是相似的，区块链中的交易和数据都是由节点或者矿工来处理，但由于区块链独特的去中心化设计，单节点的处理能力往往不高。

区块链分片的核心思想是将一个区块链拆分为多个区块链，并将拆分出来的每个区块链称为“分片”。相应的，区块链网络上的总验证者也被均匀地分开来验证每个分片。例如，如果我们将具有 100 个验证器的非分片区块链拆分为 10 个分片，则每个分片将有 10 个验证器。但是这种设计具有天生削弱区块链安全性的缺点，理由是如下图攻击者只需要控制大约 6 个验证器（>总节点的 51%）来破坏一个分片，而在非分片版本中它必须破坏大约 51 个验证器。每个分片的安全性比非分片区块链低 10 倍。

![](https://storage.googleapis.com/papyrus_images/9d9e049b57e52b1334cc96637304ca1f4e21cf25b1f23256b7cbeb4608477f3b.png)

为了解决这个问题，几乎所有分片设计都使用某种形式的随机性将验证者分配给分片。由于生成随机数、将验证者分配给分片、从分片接收更新、处理权益和其他协调活动都需要额外的计算，因此通常有一个主“链”来管理所有这些任务。该链在 Ethereum 中称为 Beacon Chain，在 Polkadot 中称为 Relay Chain，在 Cosmos 中称为 Cosmos Hub。

![](https://storage.googleapis.com/papyrus_images/4b6369c8b70accd4488a5fbb7ac8c757f02cdfb9ae59819e782e2240b1fa961b.png)

分片的类型
=====

区块链中的节点具有三个主要功能：

*   处理交易
    
*   打包交易并广播到其他节点
    
*   存储整个网络的历史账本
    

在分片的区块链网络中，通常来讲分片有三种类型，分别为网络分片、交易分片、状态分片。 

网络分片就是将整个区块链网络进行分组，每个小组叫做一个分片（shard），所有分片同时处理不同的交易，实现并行记账。或者称之为物理分片。

交易分片就是将交易随机分到不同的分片或小组，让某些节点进行记账，比如可以通过交易 Hash 或者地址进行分配，也可以通过 VRF 等随机的方式进行分配。 

状态分片就是把完整的账本信息存储在各个分片中，每个分片内各自维护部分的账本信息。这里可能还会涉及到跨分片数据同步，跨片交易等问题，是最复杂的一种分片方式。 

### 分片的挑战

#### 跨分片通信

分片区块链的主要挑战之一是提供有效、安全和用户友好的跨分片通信。这通常与“火车和酒店”问题进行类比：假设有人想购买火车票并预订酒店进行旅行。那个人希望事务是原子性的——要么两个事务都成功，否则都不成功。在单个区块链或分片中，这项任务是微不足道的。但是，如果将两个请求发送到不同的分片，则变得更加复杂。

一种方法是进行同步跨分片事务。每当需要执行跨分片交易时，包含状态转换的相关块都同时发生，每个分片上的节点协作执行交易。该模型最著名的设计称为Merge Blocks，但在实践中实现这一点很复杂。

另一种方法——NEAR、以太坊、Cosmos、Kadena 等采用的方法——是异步跨分片交易。这种方法更容易实施和协调，但一个主要挑战是确保原子性。

![](https://storage.googleapis.com/papyrus_images/0411c5ba6d4b1dd40a748e69bd507390a944e1514536bda331606879c1a4ddf1.png)

#### 状态有效性

攻击者可能会尝试创建无效块，并且由于没有节点可以验证所有分片之间的所有交易，因此网络需要某种方式来确认在任何分片中都没有创建无效块。目前已经有了可扩展状态验证的方法：欺诈证明和有效性证明。欺诈证明默认所有书面交易都是有效的，并奖励用户不断寻找无效块（并惩罚创建无效计算的生产者）。有效性证明使用密码证明来验证计算。

#### 数据可用性

在大多数区块链协议中，节点从数据角度可以分为：同步整个区块并验证所有状态交易的完整节点，以及仅下载区块头并使用 Merkle 证明进行与其相关的部分交易的轻节点。

NEAR协议
======

简介
--

NEAR 是基于全状态分片、对开发者友好的可拓展性POS共识机制的公链，提出了一种新的分片协议和解决方案，称之为夜影协议（Nightshade）。

NEAR具有低交易费用，快速确认时间的特点，NEAR 提供约 1 秒的平均出块时间，交易费用通常低于 0.1 美元。NEAR 团队最初的目标是在主网启动时建立一个完全分片的区块链，然后通过优先考虑稳定性、可用性和用户体验，将重点放在新用户上。

去年年底，该团队启动了其称为 Nightshade的完全分片区块链的第 0 阶段。新颖的分片技术设计，让NEAR的GAS费与以太坊相比近乎于零。这使得NEAR和Polygon和Arbitrum等Layer2概念公链一样，成为承接以太坊外溢项目的热门之选。NEAR也借此，在2020年5月加密市场整体低迷之时，拿到了a16z领投的2160万美元的融资。

NEAR的分片技术
---------

NEAR 与其他分片公链不同的是，它的技术架构并不是由一个信标链和多个分片链组成的，而是把系统建模成一个单独的区块链，在区块级别进行了分片，每个分片中有很多“段”。

![](https://storage.googleapis.com/papyrus_images/0cbcdbdb902a08fd3a1d285884a09fe4281da2794a110fa8f216bb3a0cdf5a6e.png)

具体来说，NEAR 将区块分为一个个物理组成块，经过对多个区块的验证，物理组成块均相同的时候就可以验证这些区块是正确的。每个区块逻辑上包含所有分片的所有交易，并切分分片的状态，验证者只负责验证交易所针对分片相对应的状态即可。 为了产生区块，验证者质押一定数量的代币。他们获得的分片数量取决于质押的 $NEAR 数量。

为了处理跨分片通信，需要在每个分片中分别连续执行一个事务。交易首先在一个分片中处理，一旦分片被包含在区块中，它就会生成一个收据交易，该交易被路由到下一个需要执行交易的分片。这个过程一直持续到交易完成。Nightshade 提供了一个挑战期，在此期间外部观察者识别无效块，以确保有效的跨分片交易。

Nightshade 的设计提供了原子性和良好的用户体验。跨分片交易几乎是即时的——目标分片不需要等到挑战期结束，可以立即申请收据交易。并且由于 Nightshade 的分片区块全部发布在同一个主链区块中，如果发现任何区块无效，主链就会简单地回滚。这与典型的分片区块链设计形成对比，其中一个挑战可能会影响另一个分片，而另一个分片会影响另一个分片，依此类推。虽然回滚主链的无效交易很不方便，但这将是一种罕见的事件，并且被快速跨分片交易的好处所抵消。

NEAR分片的安全性
----------

为了不暴露特定分片的验证人，Near 通过 VRF 对验证人进行随机分配，隐藏验证人分配到分片的信息。这样节点只知道验证人的存在，却并不知道每个验证人所对应的分片是哪个。 而且，这些隐藏的验证人是对块进行签名，而不是具体的段，这样也会隐藏验证人具体是验证了哪个分片。  

![](https://storage.googleapis.com/papyrus_images/4c66456c63102c9173d9762981fbb9f09b25d5fefd52c620075a3efd9d9c217b.png)

NEAR重新分片和动态分片的去中心化可扩展性
----------------------

NEAR 优先考虑分片之间的网络资源平衡，并且不会区别对待分片。但是一些分片的增长可能自然会超过其他分片的增长。因此，NEAR 计划通过根据使用情况在分片之间移动合约来定期重新平衡分片——这个过程称为重新分片。

NEAR 对去中心化可扩展性（即高吞吐量、低延迟和低交易费用）的长期愿景是动态分片（ dynamic sharding ） 。动态分片涉及随着使用量的增长将网络分成更多的分片，而作为活动合同的分片更少。该架构尚未得到证明，但如果正确执行，它将允许 NEAR 几乎无限扩展，并具有强大的审查阻力。

NEAR共识机制
========

NEAR采用的Doomslug共识机制（PoS的一种），可使区块的创建速率加快且无法被篡改，并在全网一半的验证节点离线这种极端情况下，依然能够快速完成交易确认。同时，通过状态分片技术，NEAR的分片数量能随网络的用量动态调整。目前NEAR每个分片可支持的每秒交易笔数，已超过1000，这还是在未优化的状态下。理论上看，因为NEAR分片采用横向扩容机制，10个分片即可达10000TPS，以此类推，上不封顶。目前 3k TPS，4 个分片，预计 1 年TPS达到 100k，无上限。

友好的开发者体验
========

NEAR 支持用 Rust 和 AssemblyScript（一种类似于 JavaScript 的语言）编写的智能合约，尽管与对 Rust 的支持相比，对后者的支持仍然相对缺乏。NEAR 节点运行 Web Assembly (WASM)，它可以从多种编程语言编译。

该平台还提供了强大的开发套件，包括使用 Gitpod 的在线 IDE、集成单元测试以及丰富的课程和程序库，供开发人员开始在 NEAR 平台上构建。

这些功能有助于吸引开发人员使用 NEAR 的平台。Electric Capital 的 2021 年开发者报告显示，NEAR 的开发者社区在整个 2021 年增长了约 4 倍，是新兴 L1 中增长最快的社区之一。

代币经济模型
======

NEAR 的总供应量为 10 亿，根据以下代币分布：

*   17.2% - 社区赠款
    
*   11.4% - 运营补助
    
*   10% - 基金会捐赠
    
*   11.7% - 早期生态系统
    
*   14% - 核心贡献者
    
*   17.6% - 支持者
    
*   6.1% - 小支持者
    
*   12% - 社区销售
    

NEAR 协议于 2020 年 4 月 22 日启动其主网，创世时创建了 10 亿个 NEAR 代币。每年发行 5% 的额外供应以支持网络作为出块奖励，其中 90% 用于验证者（总计 4.5%），10% 用于金库（总计 0.5%）。30% 的交易费用作为回扣支付给与交易交互的合约，而剩余的 70% 被烧毁。

NEAR 代币用于：

*   处理交易和存储数据的费用
    
*   通过质押 NEAR 代币在网络上运行验证器节点
    
*   用于治理投票，以确定如何分配网络资源
    

核心团队
====

**Erik Trautman** - NEAR Foundation 的首席执行官：Erik 是一位企业家，他于 2007 年在华尔街工作了 5 年，然后离开去创建一个开源社区。他领导 Viking Education 担任首席执行官，直到 2017 年被收购。

**Illia Polosukhin**：Illia 拥有超过 10 年的行业经验，其中 2014 年在 Google 担任工程经理 3 年。目前，他从 2017 年开始作为联合创始人与 Near Protocol 合作。

**Alexander Skidanov**（联合创始人）：Alex 于 2009 年作为软件开发人员加入微软，然后于 2011 年加入 MemSQL，在那里他担任了五年的高级软件开发人员和工程总监。自 2017 年 6 月起，他与 Ilia Polosukhin 一起担任 Near Protocol 的联合创始人。

团队总共有大约 200 名贡献者，其中大部分都具备多年经验，曾在 Facebook、Google、Microsoft、Consensys 等大型科技公司工作。

投资机构
====

![](https://storage.googleapis.com/papyrus_images/9884c567c90ba1c2f800a62451f37bacdb3e3806cea40d1b74f86ec944262271.png)

生态系统
====

![](https://storage.googleapis.com/papyrus_images/e67ca4f1f242aaf36e3e5ac47655fe396baac4d3b3f7754bcdade8f6d26a2f58.png)

lu线图
====

\*\*Phase 0：\*\*2021年11月，简版夜影协议上线，使得NEAR的分片被多个节点分割，提高运行速率；

\*\*Phase 1：\*\*2022年初，系统引入新角色只生产分片段的生产者，且只验证一个分片，此后无需昂贵硬件；

\*\*Phase 2：\*\*2022年第三季度，状态和处理都将是完全分片化的，增加验证者的可访问性，验证节点无需追踪全部分片；

**Phase 3：** 2022 年第四季度，网络会根据资源的使用情况动态地对分片进行切割和合并，此时NEAR无限扩容。

---

*Originally published on [3WebDAO](https://paragraph.com/@3webcapital/near)*
