宇宙链 宇宙链
Ctrl+D收藏宇宙链

解析平行链:实现过程、技术难点、未来发展方向等

作者:

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

加入 PolkaWorld 社区,共建 Web 3.0!

平行链是如何从研究论文,变成代码实现的?

平行线程、嵌套中继链等,未来将如何发展?

平行链可扩展性的极限在哪里?

在 2021 Polkadot Decoded 的圆桌讨论 “解析平行链:谁做了平行链?平行链是什么?为什么要有平行链?” 中,研究员 Jeff、代码实现者 Rob 和主持人 Joe 一起讨论了一些对于平行链发展很重要的问题。PolkaWorld 在本文中总结了该圆桌主要内容。

Jeff:Jeff Burdges,W3F 密码学研究员,做了很多平行链开发方面的研究

Rob:Robert Habermeier,波卡联合创始人/Parity 核心开发者,带领实现团队让平行链能够在实际中运行起来

Joe:Joe Petrowski,W3F 技术集成负责人,本场圆桌主持人

Joe:大约一年半以前,Jeff 带领着一个团队发表了一篇关于可用性和有效性的论文。在实现时,这个方案已经改变了很多。Jeff,你可以简单谈一谈这篇论文的想法是如何产生的吗?

Beosin解析Reaper Farm遭攻击事件:_withdraw中owner地址可控且未作任何访问控制:8月2日消息,据 Beosin EagleEye 安全舆情监控数据显示,Reaper Farm 项目遭到黑客攻击,Beosin 安全团队发现由于_withdraw 中 owner 地址可控且未作任何访问控制,导致调用 withdraw 或 redeem 函数可提取任意用户资产。攻击者(0x5636 开头)利用攻击合约(0x8162 开头)通过漏洞合约(0xcda5 开头)提取用户资金,累计获利 62 ETH 和 160 万 DAI,约价值 170 万美元,目前攻击者(0x2c17 开头)已通过跨链将所有获利资金转入 Tornado.Cash。[2022/8/2 2:54:18]

Jeff:我们从以太坊生态那里获得了一些想法,比如使用纠删码的想法。但是围绕这些想法的一些具体的东西,比如如何优化分片,都没有正式确定下来。

在 2019 年末,我们决定要把这些想法正式化,提出更精确的方法。一般来说,我们设计复杂协议的方式是,我会写下所有可能的设计选项,然后用排除法。

在 2020 年初,我写下了这个设计,并且和大家讨论,我们注意到了一些问题,我想出了一个叫 “Two-phase inclusion” 的技巧。也就是说在真正开始之前,平行链中继链必须知道一个区块,验证人必须说这个区块是有效的。

Cobo区块链安全团队公开0xDAO潜在盗币漏洞发现过程及技术细节解析:4月2日消息,0xDAO v2原计划上线前的几个小时,Cobo区块链安全团队启动对该项目的DaaS投前例行安全评估工作,随后在github开源的项目代码中发现了一个严重的安全漏洞。经评估,如果 0xDAO v2此时继续上线,该漏洞预计会造成数亿美金的资产损失。Cobo区块链安全团队立即启动应急预案,快速通过多个渠道联系到0xDAO项目方,提交该漏洞的完整攻击流程,紧急叫停了项目上线,随后协助0xDAO项目方对该漏洞进行了修复。

日前,0xDAO官方发布推文向Cobo区块链安全团队表示了感谢,并且表示会按照严重漏洞级别给予Cobo区块链安全团队漏洞赏金奖励。[2022/4/2 14:00:31]

之后我们开始做纠删码,然后开始做真正的检查它的工作。这样做的好处之一是,因为有人在这个过程中投入了很多切身利益,从而会限制其可以尝试的次数。从而做到如果你要攻击它,那么你也会毁掉你自己。它不是加密学安全性,而是分布式系统安全性,但是是合理的。

Joe:对于不熟悉分片的人来说刚刚说的可能有点抽象。其实就是,我们有一千个验证人,当你想要包含这些平行链区块中的一个时,你其实需要把数据块发给所有验证人,涉及到费用、复杂性、网络、存储等,让所有人都得处理这个消息,所以你想要真正确保这些消息是有效消息,而且是有理由的。

Jeff:是的。纠删码其实挺老了,有不同类型的纠删码。不过一般来说当如果你用密码学的话,一般是使用一些基于拉格朗日插值法或者里德-所罗门码之类的。原因是它的阈值很陡峭,所以我们可以从任何三分之一的碎片,来恢复全貌。

分析 | USDT听证会解析:瑞海君看币观点:一、预计听证会围绕的主题有如下两个:

1.Bitfinex和Tether不顾美国法律和监管,为纽约州居民提供了相关服务。

2.Bitfinex和Tether之前在美国的业务,触犯了美国的反法(这个才是对USDT具有巨大杀伤力的议题)。

二、?今晚可能达成的几种结果:

1.BFX和Tether违规为美国居民提供服务罪名成立,会导致两家共识会继续被调查,且会被美国要求提供更多的运营资料,的事情没结果,但是也要提交更多资料自正清白,这是利空!会导致USDT这个雷持续悬在整个币圈的头上,然后美国来一条新闻,币圈震动一次,简直就是噩梦。(概率中性)

行情影响:短暂反弹,然后继续震荡阴跌。

2.两项罪名都没结果,短暂利好,BFX继续和美国扯皮,大家松一口气暂时?,价格可能出现反弹。(可能性较大)

行情影响:短暂反弹,后市宽幅震荡为主。

3.两项罪名都成立,不可想像(可能性较小)!

行情影响:区块链局。

罪名直接成立可能性也较小,调查没那么快,所以请大家系好安全带,等待靴子落地,两只靴子到底如何落地,落地几支,只有静候今晚的听证会了。[2019/7/29]

那我们怎么做呢?我们有平行链区块,叫做候选区块,我们有 3f+1 个验证人。那么我们把这些东西纠删码为 3f+1 个碎片,你只要有了任何的 f+1 个碎片,就可以重构原始区块。也就是说只要比 1/3 多一点点的碎片,你就可以重构原始区块。

动态 | EOS疑似将推出基于EOS的HandShake DNS解析服务:EOS疑似将推出基于EOS 的 HandShake DNS解析服务,一位开发者的Github显示正在开发EOS-handshake服务。Cosmos社区总监Chjango Unchained4月30日发推表示发现EOS开发者正在复用 Handshake 的开源代码。EOS或许会加入域名解析服务,生态会进一步扩大。(IMEOS)[2019/4/30]

这是一种很古老的数学方法,实际上是让我们的速度更快。根据我们目前的验证人数量,我们必须找到一些比较新的论文,来进行优化。这就是我们今年做的事 —— 去大大优化纠删码。我们让它的运行速度快了 400 倍,渐进地看其实更快。从 O(N2)?算法到了 O(log n) 算法。这让计算变得没有那么的有负担。之后我们可能还会做得更好。这是我们最近的一个突破,当然了如果我们能在更早就解决的话就好了哈哈哈。

Joe:把这些研究变成代码,其实也是很大的挑战。我们去年年中上线了 Rococo 测试网,Rob 可以谈谈这个协议的实现早期遇到的一些挑战吗?

Rob:我记得第一次跟平行链相关的代码提交是在 2018 年下半年,2019 年中有了我们所说的 V0 协议的初稿,在最初的几年中,我们更多地投入在 BABE、GRANDPA 共识上,也就是出块和区块确认方面,那时候其实还没有真的深入研究平行链的东西,因为平行链的部分更复杂,需要更多的开发时间。

动态 | EOSCanada 解析 B1 源代码解释相关期权兑现计划:据 IMEOS 报道,EOSCanada 发布文章解析 B1 源代码,以解释相关期权兑现计划。文中经过源代码分析得出结论,截至2019年1月1日,Block.one 可以赎回共计5879120个代币。分析结果认为,如果 Block.one 想要以小于其全部权重的票数进行投票,则他们必须赎回当前最大数量的代币。然后,他们必须将这些代币转移到一个单独的帐户,抵押,然后投票。截至撰写该文时(2019年3月中旬),这笔金额约为785万美元。因此,虽然 Block.one 以外的任何人都不知道他们投票的想法或他们想要用他们的代币做什么,但我们现在都能理解实际存在的限制。[2019/3/21]

从 2019 年中后期到 2020 年初左右,事情有了很大的进展,就像刚刚 Jeff 提到的,研究团队开始真正把协议确定下来了,像是可用性确保了平行链区块仍然存在,以便其他人可以检查它们,来进行额外的检查,从而确保安全性。

我觉得实现所有的这些研究其实非常困难。如果你在构建任何类型的系统,那么你每向系统添加一点额外的复杂性,那么创建该系统所需的时间就会指数级增加。这个规则也同样适用于代码,因为一旦你达到了一定的代码量,其实真的很难再添加更多的东西,因为新的东西一定会扰乱、破坏之前做好的一些东西。

所以说有一个好的设计和规划是很重要的,在我们迭代协议的时候,我们肯定会来来回回做一些研究。但是 2020 年的时候,我们把精力放在了《实现者指南》上,在那里面进行迭代,而不是在代码里。我可以和 Jeff 和 Al(Alistair) 通话,来讨论论文草案里的内容,然后写一个页面来说明 “我们会这样写代码”,而不是直接就去写代码,我们用这种方法节省了几周的时间,之后我可以把这些写代码的工作分配给很多个开发者。

所以我觉得在建设这样的系统的时候,有一个很好的计划很重要。还有就是有一个模块化的系统,这样的话你可以添加一个独立部分的代码,你可以把这些代码整理成小的包,而不是一整个系统,因为一个人很难搞定一整个庞杂的系统。

Joe:说到目前的阶段。现在 Kusama 已经上线了 Shell 空白链,Rococo 上已经有了 12 条平行链,但是 Kusama 的出块时间在 12 秒左右,我们正在解决这个问题。为了将出块时间提高到 6 秒,并且在 Kusama 上上线更多的链,短期内我们面临的挑战是什么?

Rob:我觉得这一切本质上说都归结到网络。Kusama 有 900 个验证人,这些验证人都是一些拥有 KSM 的人,在全球部署了节点来同步链。这件事很酷,这可能是全球最大的验证人集之一。

但是当你向这个网络添加一些复杂性,比如添加平行链的时候,肯定就会增加很多负载。其实我们之前也在 Rococo 上用相同的参数测试过,但是在 Kusama 上的效果却完全不同,因为在 Kusama 上验证人节点在全球各地运行,所以最主要的挑战就是让网络代码尽可能平稳地运行。我们写网络代码的时候,做了很多反作弊的机制,这种东西就是,如果没人捣乱的时候你都注意不到它的存在,但是如果有人作恶,你就会发现这些防御机制非常重要。

Jeff:没错。当我们添加越来越多的平行链的时候,会出现更多的计算负载,我们会看看到时候会如何发展,我们会如何在这个过程中成长。其实观察这些操作会如何影响网络,也是一个渐进的学习过程。

Joe:这就是 Kusama 存在的意义,不是吗?

Rob:没错。随着平行链变多,验证人的负载肯定会变多的。因为验证人要验证一个区块,并且要把自己的币抵押在区块背后,其他的一些验证人就会自我选择去做检查。平行链越多,你要做的计算就会越多,虽然计算量应该比平行链增加的数量慢,这也是为什么这个网络是可扩展的,而不是像其他一些区块链一样不可扩展。但是作为验证人,你可能还是需要在每秒内验证几十个区块。

Joe:我们聊点更实际的吧,聊下接下来一年波卡和 Kusama 的计划吧。我们有一个平行线程的规划,其实现在在 UI 里面已经能看到了,因为链在升级为平行链之前,都是以平行线程的形式注册的。但是之后我们会让平行线程更加的实用,你们可以谈谈平行线程的设计、实现,为了实现它还剩下哪些工作待完成吗?

Rob:平行线程跟平行链差不多,主要区别在于它被调度的方式不同。我们有一个调度程序,如果你是平行链,那么每个区块都会被安排到;如果你是平行线程,那么你需要进行拍卖,平行线程收集人可以互相竞争,来获得写入区块的的权利。这会带来收集方面的网络改变,当你是平行线程出块人的时候,你需要让验证人知道你有区块要提交。

所以总的来说挑战有三点:调度程序、拍卖、网络方面的改变。

Jeff:其实当时做平行线程有种设计,但是最后我们选择了有拍卖的这个。因为这个设计可以更好地防止作弊,但是对于平行线程来说,如果它们出于某些原因无法提交区块的话,它们可能会丢失资源。所以我们还得再看看一些经济方面的问题。

Joe:我们说过会把一些核心功能从中继链中释放出来,下放到平行链中,来进一步实现可扩展性,和实现嵌套中继链(Nested relaychain)的想法。你们想谈谈为什么要这样做吗?

Jeff:其实相比 “嵌套中继链” 的说法,我更愿意称其为 “中继链分片”,因为嵌套中继链听起来像是某一条链是主导地位。

从某种意义上说,中继链的分片比我们现在已经做到的(平行链分片)还要简单一些。不过我觉得可能会在超过 3000 个验证人的时候来做这个事,我想告诉大家现在还不用急着去实现它。在这之前,我们希望能先让中继链的功能尽可能简单,我觉得这样对于开发者来说工作量是最小的。

Rob:目前来看,Staking 和选举模块和一些治理功能其实是比较重的,会给中继链带来较大的负载。所有中继链上发生的事,中继链验证人都需要去执行。而根据设计,发生在平行链上的事情只需要验证人的子集来处理。所以这就是可扩展性的来源,把每个验证人机器都需要执行的事变得尽可能少。

我觉得安全地去提炼出 Staking 和治理之类的东西其实挺难的。因为波卡有一些故障模式,比如一个机制是在进行争议分析的时候的时候,链可能会被阻止出块。你可能无法进行 Slash 交易,验证人集无法更新交易等。这些都是很棘手的挑战。

不过这个其实也不是很紧急。在这之前,我们应该会优化节点那边,比如如何处理平行链和网络消息,来获得更高的扩展性,和运行更多的平行链。

Jeff:我觉得我们的目标应该是,虽然这个目标可能无法达到,但是目标应该是达到同等水平,让每条平行链有一个验证人。这个可能无法实现,但是当我们到达这个情况的时候,我们应该知道这个极限的存在,然后朝其他的方向努力。

Joe:刚刚你说 3000 个验证人,意味着 3000 条平行链。Rob 你作为实现者,怎么评价这个目标?

Rob:(笑)暂时还做不到,这是肯定的。我觉得代码经过一轮优化之后能运行 80-100 条平行链,我就很开心了,而且这对社区来说也绰绰有余了。

Jeff:是的。最终我们可能会到达一个点,用户耗尽了,我们得开始说服更多的人来使用,所以我猜可能会有很多次这样的爆发。

Rob:我想是的,我觉得这有点像波卡治理遇到的挑战 —— 拍卖计划的长尾效应是什么?因为在某些时候,如果所有的技术进展顺利,那么我们可能有能力运行更多的平行链,甚至可能超出市场对平行链的需求。但是我们也不希望平行链的资源被一些垃圾项目填满,占用个两年,当然之后社区的发展赶上来了(平行链的位子又会不够用),肯定会有这种来来回回的发展过程。

标签:EOSJEFFROBJOENeos CreditsJEFF币Robomed Networkjoe币最新消息

芝麻开门交易所热门资讯
金色DeFi日报 | ?泰国SEC:将对DeFi进行监管

DeFi数据 1.DeFi总市值:920.34亿美元 市值前十币种排名数据来源DeFiboxDeFi总市值数据来源:Coingecko2.过去24小时去中心化交易所的交易量:44.

1900/1/1 0:00:00
价值投资的悖论:从Vega和AIR空气币的偏差说起

基于姚前对中国DCEP与以太坊世界融合的立场,和V神对Layer2、以太坊2.0的筹谋与信心,火星投研认为我们正在走向一个全新的、多元的、繁荣的加密经济生态,而价值投资的机会也在向我们招手.

1900/1/1 0:00:00
Layer2:潜行与爆发

通过 Layer2,投资者在 BSC、HECO 等链上的稳定币正在转移。市场行情震荡,加密社区正在寻找下一个潜力板块.

1900/1/1 0:00:00
NFT:一起跃入元宇宙 触摸自己的数字化身

1世纪的美国,政府垮台,经济崩溃。在一个鱼龙混杂的未来世界中,一个外卖小哥靠为黑社会送披萨苟且谋生.

1900/1/1 0:00:00
OptimismPBC vs Arbitrum

现在正是将 /img/202281253901/0.jpg" />我们先来看一下 Optimism 和 Arbitrum 之间的共同点:都属于 Rollup,是货真价实的 Layer 2 方案.

1900/1/1 0:00:00
DeFi周刊 | Uniswap v3已在Arbitrum主网完成部署

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

1900/1/1 0:00:00