链资讯 链资讯
Ctrl+D收藏链资讯
首页 > 币安币 > 正文

BLO:Vitalik:分片 + 数据可用性采样_sDASH

作者:

时间:

除了ProofofStake之外,eth2设计中的另外一个显著改变就是分片(sharding)。本提案介绍了一种分片的有限形式,即“数据分片”(datasharding),根据"以rollup为中心的路线图"所述:分片会存储数据,并且证明约250kB数据的可用性。数据可用性验证为rollups之类的二层协议提供了安全和高吞吐量的数据层。

为了免去节点亲自下载全部数据的负担,可以将这两种技术互相叠加起来对大量数据的可用性进行验证:1)由随机抽样的委员会提出证明;2)数据可用性抽样(dataavailabilitysampling,DAS)。

白话“随机抽样委员会”

假设你有大量数据,例如16MB,这是eth2链(至少在初期)每个slot能处理的数据量。我们将这些数据表现为64个blobs,每个大小为256kB。假设我们还有一个PoS系统,验证者数量约为6400。我们如何在1)不需要任何人下载所有数据,2)?不给运行少量验证者的攻击者可乘之机的前提下验证这些数据?

第一个问题,我们可以通过分工来解决:验证者1-100需要下载并验证第一个blob,验证者101-200下载并验证第二个blob,以此类推。每个子集合(委员会)里的验证者只需签名证明他们已经验证了相应的blob,然后整个网络接收到相应委员会中大多数验证者的签名之后,即可接受该blob。

但这会导致一个问题:万一攻击者控制了连续的验证者集合怎么办(例如1971-2070)?如果是这样的话,即使攻击者仅控制了整个验证者集合的约1.5%,他们也能够控制单个委员会(在上述情况下,他们可以掌控委员会20中70%的验证者2001-2100),因此攻击者能够将无效/不可用的blob添加到链上。

随机采样(Randomsampling)通过随机洗牌算法组成委员会来解决这个问题。我们使用某个哈希值作为随机数生成器的种子,然后我们使用该生成器来随机混洗验证者列表1-6400。混洗列表中的前100个值是第一个委员会,下100个值即为第二个委员会,依此类推。

CoinList发布“5.02.2023”预告,社区推测或将进行Sui公募:4月6日消息,据官方推特,CoinList发布带有“5.02.2023”预告动画,暗示5月2日或将有重要事件公布。

另据加密社区用户推测,CoinList或将于5月2日进行Sui公募。[2023/4/6 13:47:34]

RNG(随机数生成器)的种子在验证者存款之后选定,每个验证者的索引都是固定的,因此攻击者无法尝试使其所有验证者进入同一个委员会。攻击者可能会走运,但前提是他们控制所有验证者的1/3以上。

白话“数据可用性抽样”

在某些方面,数据可用性采样是随机抽样委员会的镜像。仍然会进行采样,这是因为每个节点最终只会下载所有数据的一小部分,但采样发生在客户端中,并且在每个blob中进行,而不是在blob之间进行。

每个节点(包括没有参与质押的客户端节点)对每个blob进行检查,他们不需要下载整个blob,而是私密地从中选择N个随机索引,然后尝试在这些位置下载数据。

这么做的目的在于验证每个blob中至少一半以上的数据是可用的。如果低于一半的数据可用,那么几乎可以认定任何给定客户端进行采样的索引中至少有一个不可用,那么客户端会拒绝接受该blob。

这个机制是高效的,因为一个客户端只需要下载每个blob中的小部分数据以验证其可用性。这个机制同时也是高度安全的,原因在于即使是51%攻击者都无法客户端接受不可用的blob。

纠删编码

为了避免攻击者提供了50-99%可用数据的情况(这可能使得某些客户端拒绝某blob之后又被其他客户端接受),我们使用了一种叫作纠删编码(erasurecoding)的技术。纠删编码使得我们可以使用如下方式对blobs进行编码:如果某blob中超过一半的数据已经发布,网络中的任何人都可以对剩余数据进行重建和发布。

Vitalik:Rollup有可能使以太坊TPS达到每秒10万笔交易,甚至更多:7月24日,“2021世界区块链大会·杭州”在杭州未来科技城学术交流中心开幕。以太坊创始人Vitalik Buterin(V神)受邀出席并发表主题演讲《以太坊进入2.0之后,会发生什么?》。他表示,现阶段, Rollup可以扩展到每秒大约4000到5000笔交易。假设整个以太坊生态都可以用上Rollup,然后有了数据分片之后,我们可能有20到50倍更多的空间。Rollup有可能使以太坊TPS达到每秒10万笔交易,未来甚至更多。分片首先会添加一些基础的安全性,然后再增加更多的安全性,然后分片会迎来越来越多的改进。(巴比特)[2021/7/24 1:12:51]

一旦重新发布的数据广播完毕,起初拒绝该blob的客户端会收敛为接受(注意,接受blob没有时间限制,每当客户端收到对其所有抽样索引的响应时,它就会接受可用的blob)。

理解纠删编码最简单的数学概念类比是“两个点总是足以恢复一条线”:如果我以四个点的形式((1,4),(2,7),(3,10),(4,13))建立“文件”,每个点都在一条线上,那么只要有其中两个点的坐标,你就能重构这条线,并且将??剩下的两个点计算出来(我们假设x坐标1,2,3,4是系统的固定参数,而非文件创建者的选择)。

使用高阶多项式,我们可以扩展此思想,创建6个文件中的3个文件,8个文件中的4个文件,或者通常来说2n个文件中的n个文件,如果你有文件中的n个点,则可以计算出2n中剩余的点。

默认情况下,一个攻击者也有可能使得没有区块是可用的,并且有选择性地针对其收到的请求发布信息,但这种行为只能很小一部分客户端,因为攻击者会需要发布一半区块以上来回应所有的请求(我们假设客户端重新公开广播他们收到的回应)。

我们使用多项式承诺(polynomialcommitments),具体来说是Kate承诺而非默克尔根作为数据blobs的printers,因为多项式承诺能够使我们轻易证明一个给定的值实际上是对特定次n多项式在所需坐标处的正确估值。不然的话,我们将不得不(例如使用SNARKs)证明默克尔根编码一个低次多项式,或者依赖于欺诈证明在编码不正确的情况下进行广播(这增加了高复杂度以及更多的同步假设)。

澳大利亚墨尔本出现有关Vitalik的街头画作:据Redidit网友爆料,近日,一幅画有以太坊创始人Vitalik的街头艺术创作出现在了澳大利亚墨尔本街头。[2021/4/6 19:49:53]

有了委员会机制还需要数据可用性抽样吗?

如果只借助委员会的,可能有以下几个劣势:

发生51%攻击的时候防御力度较弱。在当前(不可扩容)的区块链上,51%攻击只能回滚交易或是进行审查,并不能向链上添加无效区块。基于委员会的系统会丢失这个保障。

更甚者,要对51%攻击者进行有效的惩罚难度会很大,因为他们只有极少量的存款(参与该特定委员会的存款)会被证明与恶意行为有关,并在此基础上进行惩罚。

需要一定门槛(委员会中证明该blob的人数达到什么比例才足以将其添加到链上?)如果这个门槛很高,那么在只有非常少数验证者在线的时候分片的功能会停滞。如果这个门槛过低(或是某种动态机制,例如按照最近在线验证者数量的比例),那么攻击者可以尝试迫使节点下线来提高他们自己所占的在线验证者比例,从而进行攻击行为。

在抗量子攻击方面,DAS比委员会机制稍容易些(可能需要后量子聚合签名)。

有了数据可用性抽样还需要委员会机制吗?

如果只借助DAS可能又会产生以下几个问题:

DAS是一个尚未经过测试的新技术,其核心部分(参见此处)其实去年才开发完成。因此在DAS崩坏或是开发时间意外延长,使用委员会提供保障是可取的。

DAS的延迟比委员会高。

DAS的极端情况更多,委员会可以协助解决。一个例子就是在仅使用DAS机制的系统中,很难避免信标区块提议者最早发起DAS请求以验证blob的可用性。

这会增加攻击者发布不可用blob并仅对提议者的请求进行合响应的风险。这不会导致网络的其他节点接受不可用的blob,但可能会使得其他攻击更为容易,使诚实提议者构建的信标区块被拒绝并从主链上被分叉出去。委员会可以对这一点进行补救。

委员会机制的向前兼容性更强,使得在将来能在分片中加入执行功能。

数据可用性的重要性?挑战又何在?

VitalikButerin提议使用Flashbots系统实现“账户抽象”:3月11日消息,以太坊联合创始人 Vitalik Buterin 在研究机构 Flashbots 的 GitHub 仓库中提议利用 Flashbots 作为“账户抽象”的一种实现方式。“账户抽象”是以太坊社区中讨论的改进提案之一,以实现交易不需要从私钥控制的 EOA 账户发起,而是可以直接从智能合约发起,具体的用例包括智能合约钱包、Tornado.Cash 这类隐私保护工具等。Vitalik Buterin 认为 Flashbots 可以解决这个问题,通过搭建一个插件将其变成智能合约钱包的中继器以实现。他表示该方案不需要对以太坊底层协议进行很多改动。

Flashbots是由五位区块链行业人士发起成立的开放研究机构,旨在针对以太坊及各智能合约公链所面对的 MEV 问题进行研究,并实施解决方案。[2021/3/11 18:35:51]

这已经在别处讨论过了,篇幅有限我就不贴到此处,但我建议阅读:

Anoteondataavailabilityanderasurecoding(对数据可用性最初的介绍)

AlbertoSonnino、MustafaAl-Bassam和VitalikButerin联合发表的论文对相关概念进行了扩展

TheDawnofHybridLayer2Protocols对数据可用性中的博弈论进行了论述

BaseLayersandFunctionalityEscapeVelocity,基于上述概念对数据扩容性部分进行了描述

TheDataAvailabilityProblem(EthereumSiliconValleyMeetup),以视频形式对数据可用性问题进行了讨论

有一点需要明确,BitTorrent和IPFS以及类似的系统并没有解决数据可用性问题。尽管BitTorrent是很好的可扩容的数据发布技术,但它不能就是否有可用的数据达成共识,这为一种“极端案例”攻击提供了可能性,在某条数据发布时,节点之间可能发生分歧,使得混合型二层协议无法发挥效用。为了就数据可用性达成共识,需要使用本文档中描述的更强大的技术。

OKEx将于9月2日12:00暂停VITE充提:据OKEx公告,由于VITE主网升级,OKEx将于2020年9月2日12:00 (HKT) 暂停VITE的充提,待升级完成后开放。[2020/9/2]

分片如何在P2P层上运作?

为了达到分片的扩容性目的,我们需要一个P2P系统,这样就无需每个节点都下载所有数据。所幸我们在阶段0已经有了一种P2P层分片形式。具体来说,有64个子集已经用于证明聚合。每个验证者只需要存在于主要的“整体子网”(globalsubnet)和他们自己的证明聚合子网,而无需从其他63个聚合证明子集获取任何数据。

在委员会+DAS型分片中,我们将其扩展为“网格”架构,有2048个水平子集子网(horizontalsubnets),即每epoch的每个分片-slot对中存在一个子集,以及2048个垂直子网(verticalsubnets),即每个blob中的每个索引存在一个子集。

在每个slot中,我们每个分片都会选出一个提议者。每个提议者都有权提议一个blob:一个最大为512kB的任意数据块(我们可以将其理解为约512字节的“样本”集合),以及纠删编码扩展和额外的证明,以便对blob中的每个部分进行独立验证。

Structureofablobblob的结构

一个blob的“主体”结构包括原始数据、扩展数据以及证明(如果需要的话,为了提高数据效率,可以省略扩展数据,因为接收blob的每个节点重建它的速度都相对较快)。

Blob的“头部”包含其相应的Kate承诺,以及其他一些数据(slot、分片和长度证明)以及提议者的签名。

Blob的广播过程

当一个blob被广播时,其头部会被广播到整体子网(globalsubnet),主体部分则会被广播到相应slot和分片ID的水平子网。

在实际情况中,会存在2048个水平子网,以使每个epoch中的每个分片-slot对存在对应的一个水平子网。这样做是为了确保每个验证者都可以加入一个水平子网,他们将仅接收到到其所处委员会的相应的blob(不包括他们参与抽样的少量垂直子网)。

每个验证者都需要加入以下子网:

整体子网(Globalsubnet)

水平子网(horizontalsubnet),对应其所处的分片-slot对(即委员会)

垂直子网(verticalsubnet),对应其分配到的索引(每个验证者使用私密种子进行计算)

广播区块

Blob提议者可以将样本分发到所有子网,但不必成为子网的一部分。此过程如下:

发布:提议者在正确的水平子网中发布blob,每个样本附带一个证明

直接样本分发:水平子网中的其他参与者将区块发布到他们所在的每个垂直子网中

间接样本分发:提议者向对等节点公布几个其所在的垂直子网。因此,水平子网中的每个参与者还可以查看其对等节点所在的垂直子网,并向这些对等节点广播相应的区块

假设数据块大小为512字节,且数据blob最大为512kB(除去纠删编码),在包含纠删编码时约为1MB,因此存在2048个垂直子网。如果每个节点存在于15个私密的垂直子网,5个公共垂直子网并且有50个对等节点,假设在最坏情况下每个水平子网(仅委员会)中有128个成员,则单单是子网成员将直接分发到128*20=2560个子网(除去冗余发布后约为1461),如果加上对等节点,将增加到128*4*50=25600个子网。

请注意,从理论上讲,恶意区块提议者有可能在不发布完整区块的情况下将样本发布到垂直子网。为了解决这种情况,我们补充了一个过程,其中未完整发布的区块(意味着50%及以上可用,但不是100%可用)能够进行“自我修复”。该过程包括三个基本步骤:

1.反向分发:与上述分发过程相同,只是在这种情况下,垂直子网上的对等节点将样本从该垂直子网上传播到与该样本所属blob相对应的水平子网。

2.重构:如果水平子网中有1024及以上个样本(或者通常来说样本总量的一半),任何人都可以重构整个blob,然后向水平子网发布其重构后的blob。

3.分发:重复上述的分发步骤

信标链如何工作?

在每个slot中,我们为64个分片中的每个分片随机选择一个提议者。提议者有权创建一个分片blob,并通过上述过程对其进行广播,并且将该blob的ShardHeader广播到全局子网。ShardHeader能够被打包到信标链上的同个slot中,也可以包含在同个/下个epoch中的任何后续slot中。

信标链会跟踪PendingShardHeader的对象列表。PendingShardHeader会存储:1)ShardHeader中的关键信息(分片和slot,该blob的承诺及其长度);2)追踪随机选择的委员会中哪些验证者在blob中签名的位域(实际上就是阶段0已经引进的委员会)。AttestationData结构扩展为包含一个shard_header_root,即选定验证者进行投票的ShardHeader的根哈希。如果证明者看不到已分配给他们的分片-slot对的有效且可用的分片blob,则他们也可以对空的根哈希进行投票。

如果ShardHeader得到了委员会中2/3验证者的证明,就会立即得到确认。如果在下一个epoch结束时,ShardHeader得到委员会的支持比其他任何ShardHeader更多的支持,则在该epoch结束时进行确认。

分叉选择规则

分叉选择规则发生了改变,以便仅在该区块中确认所有blob或其祖先都通过了可用性检查的情况下,该区块才有效。这称为紧密耦合(tightcoupling):如果一条链指向(已确认)某个无效blob,则整条链都被视为无效。这是与“侧链”结构的主要区别:在侧链中,侧链可能会失效,而主链仍然有效。

这里有对紧密耦合的进一步探索,以及为什么它是有价值。

验证者数量较低的情况

如果验证者少于262144个,那么我们不再为所有分片选择一个提议者,而是为一个有限的子集选择一个提议者,循环遍历这些分片。比如说,如果有32*128*50个验证者,在slotN的起始分片为0,则slotN将为分片0-49分配一个提议者,slotN+1将为分片50-63和0-35分配一个提议者,slotN+2将为分片36-63和0-21分配提议者,依此类推。这样做是为了确保即使在参与度较低的情况下,委员会的规模仍然足够。

分片数据的gas费

添加了一种类似于EIP-1559的机制,按字节计费分片数据,并对价格进行了调整:如果区块的平均容量超过了50%,则提升费用,反之则降低。因此,指标是50%的平均区块大小。

安全假设

仅支持数据blob的分片之所以强大,是因为与其他分片方案相比,它对安全性假设的依赖性很低。尤其是它避免了诚实的大多数假设(因为DAS可以检测到由大多数发布的不可用blob)和时间假设(与早期的DAS机制不同,其使用的是Kate承诺而非欺诈证明,因此不依赖于欺诈证明需要极快被广播的假设)。

恶意的51%联盟可以对blob进行审查,但是在非分片链中也可以进行51%审查。

主要的新假设是“诚实的少数DAS假设”:存在足够多的节点样本,攻击者必须要发布区块中一半以上的内容。如果一个blob中有2048个样本,则需要恢复1024个样本(考虑到某些客户端将对相同的点进行抽样,因此2048*ln~=1419),并且每个客户端都进行20个采样,则如果每个分片有约超过70个客户端在进行抽样的话就可以认定系统是安全的。

向前兼容性

仅支持数据blob的分片设计与以后在分片中添加执行的许多方案具有向前兼容性。特别是我们可以对该方案进行修改以使blob包含前状态和后状态根,我们还可以使用欺诈证明或ZK-SNARK来验证blob中的状态转换是否正确。注意,无论选择哪种方法,确保分片执行的正确性都不依赖于任何诚实大多数假设。

GithubPR链接

https://github.com/ethereum/eth2.0-specs/pull/2146

标签:BLODASSHAALSblock币最新消息sDASHPEPEDASHAI币GALS

币安币热门资讯
IBC:比特币暴涨或引发虚拟币犯罪激增?揭示此类局的“三板斧”!_COSM

比特币价格突破3万美元!以太坊价格突破1000美元!!相信在最近,哪怕你此前并不关心虚拟货币,也会被类似信息轰炸.

加密货币:进一步出圈,配置加密资产的理财师1年增加了50%_BITW

作者:SAMUELHAIG 来源: cointelegraphhttps://cointelegraph.

区块链:2021年波卡生态最值得关注的几个板块_Polkadot

对于波卡而言,2020年发生的两件大事无疑为主网启动、平行链测试网资产跨链转账成功。对比DeFi在以太坊上的爆发,波卡的DeFi生态仍处于价值洼地.

HARD:2021年BTC和ETH会发生什么?_Hard Protocol

最近几周,加密世界一直在关注一个话题:比特币的价格。在比特币在12月16日已经能够摆脱其之前的历史高点之后,流行的加密货币的价格正在不断上涨.

SOURCE:金色观察|3个月2倍多 比特币每T算力收入暴增_SDT

过去三个月,以TH/s的美元收入计,比特币挖矿收入几乎增长了两倍。金色晚报 | 10月24日晚间重要动态一览:12:00-21:00关键词:摩根大通、俄罗斯、王永利、周小川 1.摩根大通:通货膨.

以太坊2020: N倍增长

当脑中的事实比观点多时,世界才是可信的。最近2020的回顾系列有些多,躺在我列表中待阅读的有26篇,兼听则明,单独一篇看意义有限,但是当合在一起看时,即便不做任何一个字的笔记,都是非常有价值的,