木星链 木星链
Ctrl+D收藏木星链
首页 > 火币下载 > 正文

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

作者:

时间:1900/1/1 0:00:00

除了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个值即为第二个委员会,依此类推。

SmartMoney和套利者通过Vitalik抛售SHIK后引发的价格波动进行套利:金色财经报道,据Lookonchain监测,在昨日Vitalik地址抛售约5万亿枚SHIK后,SHIK的价格暴跌近80%,某些SmartMoney和套利者立即以非常低的价格买入SHIK,然后卖出。其中一个SmartMoney地址在SHIK以14枚ETH赚了96枚ETH,另一名套利者用6枚ETH赚了89.6枚ETH。[2023/3/8 12:49:11]

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

白话“数据可用性抽样”

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

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

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

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

Vitalik:可以对ENS域名年费进行投标,增加ENS DAO收入:金色财经消息,以太坊创始人Vitalik Buterin(V神)在其个人网站发表文章,讨论ENS域名是否应该引入基于需求的注册常态费用。V神表示,如今的ENS域名注册常态费用非常便宜,由此引发了产权强度和公平性之间的权衡问题,而且ENS二级市场的高度投机性也无法确保市场的有效性。因此,V神提出可考虑为ENS域名引入基于需求的维护费用,对于ENS域名年费进行投标,从而以市场化方式对高需求的ENS域名进行定价。这一方法可提高域名抢注成本,同时可为ENS DAO增加收入。[2022/9/9 13:19:05]

纠删编码

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

一旦重新发布的数据广播完毕,起初拒绝该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)证明默克尔根编码一个低次多项式,或者依赖于欺诈证明在编码不正确的情况下进行广播(这增加了高复杂度以及更多的同步假设)。

IOST与Gravity Network达成深度合作:据IOST官方消息,IOSTI与Gravity Network达成深度合作,未来双方将携手开发跨链集成,实现区块链跨链通讯,共同促进Web3.0的发展,从而实现双方生态的进一步扩展。

Gravity Network是一个跨链数据预言机协议,将各种底层公链相互连接,允许各公链在Gravity Network上创建去中心化的网关,让不同区块链生态系统的用户相互交流。[2020/11/4 11:37:12]

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

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

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

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

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

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

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

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

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

DAS的延迟比委员会高。

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

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

声音 | BM 评价 Vitalik 新共识算法:是对非 BFT 终结性的正式描述:据 IMEOS 报道,Vitalik 近期在其博客上发布了一篇名为《一个99%容错共识的指南》的文章,文章认为这个算法只需要 1% 的节点“诚实”。这意味着,从理论上讲,攻击者需要控制超过99% 的区块链节点才能进行攻击。因此不再有 51% 的攻击。

EOS 社区成员询问 BM 对这个文章的看法以及意见,BM 回复道:这篇文章没有给出譬如什么时候开始实施的时间先,但可以安全地假设一下这个新算法将会在基于 POS 的共识生效后实施......所以相当于在宇宙热寂之后实施......

“不过这个算法是关于 Steem 和 Bitshare 的非 BFT 终结性的正式描述,这就很有趣了。”[2018/8/16]

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

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

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

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

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

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

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

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

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

分片如何在P2P层上运作?

以太坊创始人Vitalik Buterin捐赠价值240万美元以太坊 用于抗衰老研究:据慈善机构网站2月1日的一份新闻稿称,?SENS研究基金会是已经收到了来自以太坊的联合创始人Vitalik Buterin的240万美元的捐赠。该基金会于2009年由?老年医学专家Aubrey de Grey联合创立,他正在研究延长人们生物年龄的治疗方法,希望能让人类比以往任何时候都更长寿。[2018/2/5]

为了达到分片的扩容性目的,我们需要一个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

标签:BLOSLOTLOTDASBLOCKIFYSLOT币The SandlotMidas Protocol

火币下载热门资讯
EFI:DeFi周刊 | 新COVER代币启动 DeFi市场出现巨鲸五个月吞金2.8亿美元

DeFi周刊是金色财经推出的一档每周DeFi领域的总结栏目,内容涵盖本周重要的DeFi数据、DeFi项目动态等.

1900/1/1 0:00:00
ETF:华尔街“最危险的女人” 木头姐和她的ARK神舟

木头姐的团队招揽来自五湖四海、背景各异的分析师,其中有癌症科学家,人工智能专家,游戏工程师,甚至船长.

1900/1/1 0:00:00
比特币:比特币巅峰狂舞迷情:详解马斯克、高盛等23家国际巨头进场节奏

比特币巅峰狂舞迷情:详解马斯克、高盛等23家国际巨头进场节奏21世纪经济报道刚刚20截至北京时间1月12日10点05分,比特币价格为34374.65美元,24小时内下滑6.58%.

1900/1/1 0:00:00
BIKI:BiKi荣获年度人气交易平台 携手用户持续打造社区生态平衡

1月7日,在星球日报主办的“价值时代”行业高峰论坛暨2020FAT颁奖盛典上,BiKi因庞大的社区生态系统和超高用户人气值,获得了“FAT年度人气交易平台”奖项.

1900/1/1 0:00:00
ORS:推特CEO回应封号事件:做了正确决定,比特币是互联网的理想范本

本文来源:律动BlockBeats,原题《推特CEO回应「封号」事件:做了正确决定,但仍将推动去中心化社交媒体标准建立》1月14日.

1900/1/1 0:00:00
比特币:传奇对冲基金经理和投资人Bill Miller:比特币涨得越高风险越小

传奇对冲基金经理和投资人BillMiller在接受CNBC采访时表示,比特币涨得越高风险越小。 传奇投资人Bill Miller:比特币能坚守1.7万美元价位“非常厉害”,仍是个人最大持股之一:.

1900/1/1 0:00:00