NEAR中文社区 · 1
一文深入解析明星公链 NEAR 分片设计

一文深入解析明星公链 NEAR 分片设计

NEAR 的分片方案如何解决状态有效性和数据可用性问题?原文标题:《夜影:NEAR 协议中的分片设计》撰文: Alex、一龙众所周知,以太坊作为迄今为止最广为使用的通用区块链,主网每秒只能处理不到 20 笔交易。在以太坊网络流行后,由于这个局限,导致了高昂的以太坊 gas 价格(gas 是以太坊网络上执行交易的费用)和过长的确认时间。尽管在撰写该文的时候,以太坊平均每 10 到 20 秒可以产出一个新块,然而根据 ETHGas 监测站的数据,一笔交易实际上要花 1.2 分钟才能加到链上。低产能,高费用和长延迟,都导致了以太坊不适合运行大规模使用的链上服务。以太坊低产能的主要原因是,每个节点都要处理全网的每一笔交易。开发者们提出了许多解决方案,试图在协议层面解决这个问题。这些方案主要分为两类:一类是把所有的计算工作交给数量有限的强力节点;另一类是让网络中的每个节点只做所有计算工作的一部分。前一种方案的例子是 Solana,系统中的每个节点通过细致的低层优化和 GPU 的使用,来支撑每秒几十万笔简单的支付交易。Algorand,SpaceMesh,Thunder 都可归入这一类;他们通过改进共识以及区块结构本身来超过以太坊的 TPS,虽然有一定的效果,但仍然受制于单台机器的处理能力。后一种方案,即把工作分给所有的参与节点。这种方法叫做分片。这也是当前以太坊基金会打算的扩展方案。撰写本文时,以太坊的分片规范还未定稿,最新的规范可以 点击查看。NEAR 协议基于分片搭建。NEAR 团队的成员包括:多位世界级电脑竞赛获奖者;若干前 MemSQL 工程师,负责构建分片、跨分片交易以及分布式的 JOIN;9 位前谷歌、脸书员工,他们在构建分布式系统方面等有着丰富的行业经验。本文重点阐述了区块链分片的通用方法,以及需要解决的主要问题,包括状态有效性和数据可用性问题。本文还提出了 NEAR 协议创新的夜影方案。关于分片的基础知识让我们从最简单的分片方法开始。举例来说,不同于运行一个链,我们运行多个链,每个链称为一个「分片」。每个分片有自己的验证节点集合。在下文里,不管是 POW 中挖矿的方式,还是投票机制,我们都会使用这个原生词汇「验证节点」,去指代那些进行交易验证和生产区块的参与者。同时,让我们先假设各个分片之间互不通信。这一设计,虽然简单,但却足够概括早期分片面临的一些主要挑战了。验证节点分区和信标链假设一个系统包含 10 个分片。第一个问题是,由于每个分片有自己独立的验证节点,现在每个分片的安全性都只有原先整条链的十分之一了。如果一个包含 X 位的非分片链决定硬分叉成一个分片链,X 位验证节点就会分布到 10 个分片上,每个分片现在仅有 X/10 位验证节点。攻击一个分片只需要买通 5.1%(51% / 10)的验证节点(见图 1)。图 1:分片之间分割后的验证节点这就带来第二个问题:谁负责为每个分片选择验证节点?如果 5.1% 的验证节点被攻破,但也只有在这些验证节点正好处于同一个分片时才有威胁...

2201天前dy zhang#Algorand #Polkadot #以太坊 #以太坊 2.0 #公链
没有更多了