POLK:Polkadot v1.0:分片和经济安全(1)_区块链

加入PolkaWorld社区,共建Web3.0!

这篇文章是由Polkadot联合创始人Robert发布的关于Polkadot分片和经济安全的技术文章,原文篇幅较长,PolkaWorld将分四篇翻译和发布!本篇是该文章的第一部分!请查阅!

这篇文章是关于支撑Polkadot的技术。Polkadot是具有异构分片的分片区块链。在这种情况下,分片意味着将工作拆分到多个子区块链上,称为平行链。异构意味着每个区块链都有自己的状态转换功能,该功能专为特定用例而构建。不同类型的交易会有不同的归属地,这使得特定场景的链可以最有效地为其用户服务。Polkadot为所有平行链提供安全和消息传递功能。

这篇文章主要是为对区块链共识有一定了解的技术读者写的。我希望它对除了开发者以外的人有用,并为大家提供对基础层区块链面临的问题和挑战以及Polkadot如何解决这些问题的见解。我不会详细介绍我们的解决方案的每一个细微差别,但我会深入描述我们考虑的事物类型以及如何保证我们的目标实现。

Polkadot之前的链

对区块链的简化理解只涉及一条单链,从这条链的创世区块延伸到其尽头。对于许多人来说,这是唯一重要的链概念,它代表了所有已经发生并已被网络同意的状态转换。任何区块链共识系统的最终目标都是为观察者提供这一事实来源。然而,这条单链,我们可以称为最终链或规范链,只是可能存在的许多可能的竞争链中最后剩下的幸存者。区块链共识算法的作用是从许多可能的链开始,最终只确定其中一个。

Web3意见平台Polemix完成100万美元融资:2月1日消息,Web3意见平台Polemix完成100万美元融资,由的数字原生公司Globant旗下风险基金Be Kind Tech Fund单独投资。

据悉,Web3意见平台Polemix旨在以Web3技术升级人们支持和反对意见领袖的方式,Polemix平台让跨主题领域的有影响力的意见领袖能够制作短视频,分享他们对热点问题的看法。支持者可以购买意见领袖想法的支持证明代币(POSU),这也可以提供诸如对领袖的特殊访问权等好处。POSU销售所得可用于资助意见领袖的工作或支持促进领袖事业的基金会,但部分销售也可用于奖励在平台评论部分持不同意见的用户。[2023/2/1 11:39:29]

区块生产者可以产生下一个区块,但一次可能有多个获胜者。在工作量证明中,矿工通过找到一种方法来生成一个新块,当该块hash到一个低于某个困难目标的唯一随机数,从而获得在给定块之上的生产块的权利。在充分竞争的环境中,矿工可能需要大量尝试才能找到满足此条件的区块。作为参考,在撰写本文时,比特币网络的累积哈希率为每秒162Exahashes,这意味着比特币矿工总每秒要尝试162万亿次来获得贡献下一个区块的权利,难度目标设定为平均每10分钟只有一个哈希值低于目标值。请注意,多个矿工可以大致同时找到一个解决方案,该解决方案在区块链中引入了一个小分叉。未来的矿工将不得不选择在哪些区块上进行开采,这可能会导致分叉变长。规则是遵循最长的链,对于从过去的区块开始的攻击者来说,追赶并压倒更长的链变得越来越困难。因此,在最长链中足够深的块可以被认为是概率上最终的块。

数据:当前Polygon上总锁仓量为56.7亿美元:金色财经报道,据DeBank数据显示,目前Polygon上总锁仓量56.7亿美元,净锁仓量45.7亿美元。锁仓资产排名前五分别为Aave(23亿美元)、QuickSwap(12亿美元)、SushiSwap(4.81亿美元)、Curve(4.74亿美元)、BalancerV2(2.2亿美元)。[2021/9/5 23:00:59]

Ouroboros系列权益证明协议使用称为可验证随机函数(VRF)的加密技术,通过将时间划分为离散的插槽并将每个验证人从已注册和质押的验证人集合中分配出来来模拟工作证明每个slot产生一个可验证的随机值的机会,如果低于阈值,则作为允许验证人创建新块的凭证。与工作量证明一样,多个验证人可能会产生一个低于阈值的VRF值并同时创建块,从而导致分叉。验证人不会激励故意引入分叉,他们会受到slash惩罚来扣除他们的链上的质押。这些协议还提供了最长链分叉选择规则下的概率确定性。

与工作量证明中的矿工不同,Ouroboros式网络中的验证人只需要运行一次计算就有机会创建一个块,而不像矿工必须做的大量哈希值。这允许验证人将大部分时间花在构建带有交易的区块上,并随后允许区块链包含更有价值的计算。

Polkadot的中继链使用一种称为BABE的协议,它是OuroborosPraos的演变。BABE对Praos的具体改进是BABE避免了依赖中心化NTP服务器让验证人知道当前时间。

Polygon已集成谷歌云平台BigQuery以分析链上数据:以太坊扩展解决方案Polygon的区块链数据已经到达谷歌的云平台BigQuery。根据周五的一份电子邮件声明,Polygon与谷歌BigQuery的集成使开发者能够以更简单的方式分析Polygon上的链上数据。据称,该集成的潜在好处包括监控Gas费用和智能合约,以及确定网络上最流行的代币或应用程序。Polygon表示,能够从其区块链上超过600万的每日交易中获取信息,将对Polygon和以太坊生态系统的成长和建设有很大帮助。(Coindesk)[2021/5/28 22:53:46]

虽然概率确定性很好,但等待一个块在最长链中达到一定深度是一种效率低下的机制,因为它旨在适应预期的最坏情况,即网络处于一定程度的网络压力和攻击之下。可能大多数网络已经就哪些区块是规范链的一部分达成了一致。事实上,在几乎所有情况下,网络都能够在一个区块达到最长链的最小深度之前就已经达成共识。为此,我们引入了确定性小工具和绝对确定性的概念。最终性小工具是在概率性最终区块链之上运行的二级共识协议,它证明了网络将认为哪些区块是最终区块的更快协议。这些共识协议引入了进一步的经济安全属性:在不slash惩罚至少1/3+验证人集合总权益的情况下,确定性小工具永远不会最终确定2个竞争块。

100亿枚BTT从未知钱包转移至Poloniex:Whale Alert数据显示,100亿枚BTT从未知钱包转移至Poloniex,交易哈希为:f1d768c9efb614e9f40eeb2381c849b3dc0c1208b1cb979e44d7359607755bb6。[2021/1/10 15:47:51]

Polkadot的中继链使用称为GRANDPA的确定性小工具。它可以在任何特定长度的子链上实现近乎瞬时的最终确定性,并且通过让验证人反复对他们认为位于最长链头部的块进行反复投票来粗略地发挥作用。GRANDPA目前在Polkadot和Kusama网络上运行,在撰写本文时拥有900个验证人的Kusama上,它可以在3秒内实现新区块的最终确定性。

BABE和GRANDPA的结合允许Polkadot仅使用来自单个验证人的输入来乐观地增长链,这很快,并通过获得绝大多数验证人的签名在后台完成。这种属性的组合意味着在良好的网络条件下,Polkadot实现了高吞吐量和低延迟,而在糟糕的网络条件下,中继链实现了高吞吐量和高延迟,因为GRANDPA将转向跟踪BABE的最终性。

分片:通过子集选择进行扩展

动态 | DigiByte创始人再次抨击波场和Poloniex交易所:加密货币交易所Poloniex将于12月25日增加对Tron(TRX) 质押的支持。对此,DigiByte Coin(DGB)创始人兼Vesti CTO Jared Tate进行了猛烈抨击,其转发Poloniex的推文并评论表示,“Tron局的工作已完成。”他指责Tron参与了将Digibyte从该交易所下线的决定,进一步指控Tron贿赂人们,并补充说这是一个集中化的项目。据此前报道,Jared Tate曾批评TRON以及它对Poloniex的“霸占”。对此,Poloniex宣布将很快下线DGB。孙宇晨宣称,Poloniex背后的团队自主做出了将Digibyte下线的决定,但他支持这一行动。(News Logical)[2019/12/19]

让我们回到分片。分片的目标是通过以交易的形式在许多称为分片的链上拆分工作来提高吞吐量。分片由顶级区块链引用和保护。在Polkadot中,顶级区块链称为中继链,分片是平行链。中继链上出现的大多数数据都是包含对新平行链区块的引用的交易,这使得处理中继链本身的任何分叉变得便宜。请注意,我在这里区分了中继链的任意分叉和最终的中继链。我们在这里的大部分工作是确保中继链的最终部分仅包含对有效平行链块的引用。

此图或类似图在互联网上广泛分布。它们展示了验证人如何被分成组并分配给平行链,并从收集人那里获得平行链区块提案。在这篇文章中,我对许多更细微的概念进行了视觉解释。

如果每个验证人只需要检查一些提交的平行链块,而不是全部,分片就只是对可扩展性的改进。如果有10条平行链,并且每个验证人必须检查所有10条链中的所有区块,我们不妨将所有交易放在一个区块链上,然后收工。诀窍是找到一种方法,让每个验证人在保持经济安全的同时尽可能少地做验证工作:提倡不良平行链区块的验证人在经济上不会受到激励。更具体地说,在他们所有质押被惩罚之前,将一个坏的平行链区块包含在最终的中继链中,一组对抗性的验证人应该不可能串通一气。验证人,实际上是验证人的一小部分,可以串通以获得中继链的未最终分叉所引用的不良平行链块,但我们保证这些分叉在最终确定之前被忽略,并且违规者被惩罚。

当引用它们的中继链块最终确定时,平行链块被最终确定。

当引用它们的中继链块最终确定时,平行链块被最终确定

让我们对我们要防御的对手做出一些具体的假设:

攻击者最多可以控制所有验证人的1/3,并且可以控制所有这些验证人的行为完全符合预期。

攻击者可以查看诚实验证人人与其控制的验证人之间的所有网络消息

攻击者可以随时拒绝最多X%的验证人,阻止他们发送或接收消息。

在攻击者开始拒绝任何验证人之前需要一个固定的延迟

在这篇文章中,我不会为该协议设置正式的安全证明,但这些约束应该可以让我们深入了解我们打算防御的攻击类型。

事实上,我们平行链共识的基本单元实际上并不是平行链,而是我们称之为可用性内核或简称内核的东西。这些类似于CPU内核:它们并行运行,并在离散的slot中安排工作。每个平行链都有自己的专用内核,这意味着它总是被调度到一个特定的内核上。但是,我们也可以将多个链多路复用到一个内核上。唯一的区别是调度算法。

内核服务是中继链吞吐量的有效描述。内核直接对应于验证人需要做的工作量。每个内核最多可以在每个中继链块处理一个平行链块,在峰值。

在任何分片区块链系统中,只有一些验证人检查每个平行链块,数据可用性是确保检查平行链块所需的数据可以恢复以进行欺诈检测的关键组成部分。可用性内核由中继链管理,并跟踪哪些平行链块正在等待数据可用性。可用性内核的主要目的是作为调度原语,并在数据可用性比平时慢时提供背压。

可用性内核的逻辑如下所示。当内核准备好接受新的平行链块时,内核是空的,此时它们被占用。然后,数据要么变得可用,要么可用性过程超时。那时,内核再次变空。

将平行链共识划分为5个不同的协议是有帮助的,这些协议在中继链共识中交织在一起。

收集

支持

可用性

审批检查

争议Disputes

Collation收集是创建平行链块的过程。收集人构建一个平行链块并将其发送给验证人。

Backing支持是由一小组中继链验证人最初检查平行链块并在中继链上注册的过程。支持的主要副产品是,如果后来的协议失败,它要求验证人将自己置于危险之中。

Availability可用性是支持验证人分发检查平行链块所需的数据片段并确保以后可以检查的过程。

ApprovalChecking批准检查是随机验证人恢复数据并执行平行链区块的过程。他们根据是否认为平行链区块有效来批准或发起争议。

Disputes争议是解决验证人对平行链区块的冲突意见、忽略不良平行链区块并惩罚违规者的过程。争议仅作为故障保险存在,预计不会经常触发。

请注意,验证人可能同时参与这些协议中的每一个,并且通常是它们的多个实例化。例如,验证人可能在参与支持较新区块和对更旧区块争议的同时,参与对管道更下游的平行链区块的批准投票。

这种内部并行性也反映了实现的架构:这些协议中的每一个都被实现为一个独立的子系统,并且所有子系统都并行运行。每个节点总是在做一些事情。

原文链接:https://polkadot.network/blog/polkadot-v1-0-sharding-and-economic-security/

翻译:PolkaWorld社区

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-6:701ms