夜影:NEAR协议中的分片设计

众所周知,以太坊作为迄今为止最广为使用的通用区块链,主网每秒只能处理不到20笔交易。在以太坊网络流行后,由于这个局限,导致了高昂的以太坊gas价格(gas是以太坊网络上执行交易的费用)和过长的确认时间。尽管在撰写该文的时候,以太坊平均每10到20秒可以产出一个新块,然而根据ETHGas监测站的数据,一笔交易实际上要花1.2分钟才能加到链上。低产能,高费用和长延迟,都导致了以太坊不适合运行大规模使用的链上服务。

 

以太坊低产能的主要原因是,每个节点都要处理全网的每一笔交易。开发者们提出了许多解决方案,试图在协议层面解决这个问题。这些方案主要分为两类:一类是把所有的计算工作交给数量有限的强力节点;另一类是让网络中的每个节点只做所有计算工作的一部分。前一种方案的例子是Solana,系统中的每个节点通过细致的低层优化和GPU的使用,来支撑每秒几十万笔简单的支付交易。Algorand,SpaceMesh,Thunder都可归入这一类;他们通过改进共识以及区块结构本身来超过以太坊的TPS,虽然有一定的效果,但仍然受制于单台机器的处理能力。

 

后一种方案,即把工作分给所有的参与节点。这种方法叫做分片。这也是当前以太坊基金会打算的扩展方案。撰写本文时,以太坊的分片规范还未定稿,最新的规范可以通过以下链接查看。

 

NEAR协议基于分片搭建。NEAR团队的成员包括:多位世界级电脑竞赛获奖者;若干前MemSQL工程师,负责构建分片、跨分片交易以及分布式的JOIN;9位前谷歌、脸书员工,他们在构建分布式系统方面等有着丰富的行业经验。

 

本文重点阐述了区块链分片的通用方法,以及需要解决的主要问题,包括状态有效性和数据可用性问题。本文还提出了NEAR协议创新的的夜影方案。

 

关于分片的基础知识

 

让我们从最简单的分片方法开始。举例来说,不同于运行一个链,我们运行多个链,每个链称为一个“分片”。每个分片有自己的验证节点集合。在下文里,不管是POW中挖矿的方式,还是投票机制,我们都会使用这个原生词汇“验证节点”,去指代那些进行交易验证和生产区块的参与者。同时,让我们先假设各个分片之间互不通信。

你可能感兴趣的:(虚拟货币)