本文整理自10月14日波卡联合创始人RobertHabermeier在「Sub0Online2021」Substrate开发者大会上关于平行链的演讲,由PolkaWorld翻译和整理。
我今天其实就是要讲讲平行链,包括:怎样实现、目前到什么阶段了、未来有什么计划。
我是Polkadot的创始人之一,从2016年就开始和Gav一起在做Polkadot,我也是平行链代码库和实现的主程序员和团队负责人。所以我今天分享的内容是来自第一线的。
平行链V1开发线路图
首先我们来看看时间线,看看平行链是怎样发展到今天的。
在Polkadot的开发周期初期我们花了大量的时间,去构建Substrate、BABE和GRANDPA共识算法、libp2p。其实平行链的开发,需要提前完成这里面的很多基础组件。所以我们在5月发表了《实现者指南》的第一版草案,这个指南其实就是一个巨大的实现文档,它描述了我们的动机,我们在写这样大量的代码时的想法。因为当你深入到一个很大的软件开发项目时,你真的需要去思考所有的部分要怎样组合在一起。这些部分不会自然地融合到一起,你不能今天写点这块,明天写点那块,你需要去思考每一块要怎样放在正确的位置。所以说,如果你要做某件事情,就像我们在做的事——上线平行链一样,那么类似《实现者指南》这样的东西就至关重要,它可以确保代码是经得起推敲的,它是一个基本的基础设施组件。
波卡生态概念板块今日平均涨幅为1.08%:金色财经行情显示,波卡生态概念板块今日平均涨幅为1.08%。26个币种中15个上涨,11个下跌,其中领涨币种为:KLP(+20.70%)、CHI(+17.30%)、KSM(+6.77%)。领跌币种为:OAX(-12.52%)、RING(-8.95%)、MXC(-5.83%)。[2021/11/8 6:39:13]
所以《实现者指南》是在2020年5月发表的,这时我们就郑重地开始开始去构建。它所做的一件事是,把平行链代码分为了四个主要部分:
1、支持和可用性:验证人从收集人那里找到区块,然后说我觉得这个区块不错,把它包含到链上,然后保证检查区块所需的数据存在。
2、批准检查:安全性的一大部分就来自于这里,它是一种方式,一旦平行链区块上链了,验证人通过一种安全的方式随机自我选择,这种方式就会检查是否他们应该恢复这些数据,然后自己检查区块。
3、争议处理:也就是如果一个验证人检测到了某个东西是恶意的,那么它就需要去联系其他的验证人,让他们可以参与和检查。这种情况发生的概率极低,比如是20个小数点左右的概率,在批准检查阶段没有人发现这个区块是恶意的,此时事态就会迅速升级。所以说这些组件其实都是环环相扣的,来保证平行链的安全性和可扩展性。如果你去攻击这条链的话,你不会失去几百万美金的概率只有十万亿分之一,而且在每一次你去攻击时都是一样的。
波卡生态跨链包装资产协议 Knit Finance 与去中心化预言机 Razor Network 达成合作:5月24日消息,波卡生态跨链包装资产协议 Knit Finance 与去中心化预言机协议 Razor Network 达成合作,Knit Finance 将在其多链平台上集成 RAZOR,并上线包装资产 K-RAZOR,使用户能够使用 Knit 的跨链桥在多个区块链上交易 K-RAZOR,从而实现基于 DEX 的交易、抵押、借贷等功能。[2021/5/24 22:37:40]
4、审计:在过去的几个月中,我们雇了SRLabs去做代码审计,去检查实现,试图找出Bug。他们进行了独立的评审,检查了平行链的不同部分。现在我们也请他们做了其他一些部分代码的审计。他们提出了几个Bug,不算太多,目前我们修复了50%左右,剩下的也有了解决方案。
这就引出了技术敏捷性的概念,也就是在Rococo和Kusama上进行审计和重大部署之后,平行链已经准备好初始产品版本发布了,要注意的是,我们要修复显著的审计问题,安排在12月之前完成。真实环境下的部署也非常重要,我们有一个Rococo测试网,是一个多地区测试网,Parity运行着它所有的节点,这个网络也没有经济价值,所以它只是用来试一试技术是否可行,我们可以看到在几百个节点的情况下这项技术有什么表现。
我们还会看到在Kusama上的真实环境测试,因为在进入到真实环境之前,你永远不知道实际上会发生什么。我们可以试着在Rococo上尽可能地去中心化,但是直到进入真实世界前,你其实也不知道真实的情况会如何。Kusama上有900个验证人,分布在全球,你根本不知道这些节点是谁在运行,他们只是在自己买来或租来的电脑上运行了一个程序而已。
波卡生态项目MAP Protocol(MAP)2月10日在Bithumb上市:据Bithumb2月10日消息, 宣布将在BTC市场上市MAP,MAP大涨40.61%。MAP Protocol是一种开放的、完全去中心化的链间交互协议,在独立自验证的共识机制下,链与链之间可以实现轻量级地任意交互而不需要任何中继链。MAP在2020以太坊黑客马拉松上获得了最佳价值奖,并获得WEB3基金会的grant。 此前,MAP协议在kucoin、Coinone和ZT上市。[2021/2/10 19:25:14]
敏捷vs成熟
那么,敏捷和成熟相比,意味着什么呢?
敏捷的意思就是,它能用,但是它还没有到达最终形态。代码的功能都完整了,该有的功能都有。也用高标准测试过了,在各种边缘情况下都测试了,和各种模块都结合地很好。还有安全专业机构进行了独立的评审,我们还模拟了可能的攻击,看看该系统是否可靠。实际上如果你现在去看Rococo测试网的话,你会发现有敌对的节点正在试图去破坏网络,但是没有成功。但是,如果说某个东西是敏捷的,它可能还是存在Bug,可能还需要重大优化。
相对的就是成熟的这一类代码,当某件事已经演化到一个阶段,经过了几年的使用后,它已经是一个基础性的、大负载的、可靠性很高的基础设施,我们就会说它是成熟的。所以有很多优化可以去做,它是经过了实战考验的。比如说以太坊在2016年经历的上海攻击,那时大家真的在努力地试着去摧毁以太坊网络。当现实世界中的某些东西被证明可以承受经济攻击时,这是朝着成熟迈出的一大步。
波卡市值超越BCH,位居第六:CoinMarketCap数据显示,Polkadot(DOT)市值现已超越Bitcoin Cash(BCH),位居第六位。DOT现报8.1美元,24小时涨12.86%;BCH现报348.62美元,24小时涨0.11%。[2020/12/31 16:11:16]
代码是稳定的,更多地在维护代码,而不是开发代码。这意味着在这这时创新并没有那么多了,因为它的基础设施和增长更多地都是一些边缘创新。
走向成熟的道路
那么,我们走向成熟的道路是什么?沿着这条道路前进的一些步骤是什么?我将介绍一些主要的步骤。
我认为其中的一些非常重要的即将发生的事情是上下文执行、平行线程和一般的网络优化。所以我将深入聊聊这三件事。
如果你观察过Kusama或Rococo网络,你会看到每12秒包含一个区块。这不是出于协议的限制,而是实现的限制。所以上下文执行就是为了从12秒出块加速到6秒出块。在我们目前Rococo和Kusama上的很短的区块执行时间中,又只有很少的时间是真正用于区块的执行的。
上下文执行的想法是显著增加区块执行时间,它基本上是关于提前准备区块,有点像是在链下进一步构建平行链,然后慢慢地把这些东西放到主中继链上。而不是在平行链区块马上就要被包含到中继链上时再去构建这些区块。这是我们已经制定好的优化方案,我们已经为它制定了设计,它是接下来的优先事项之一。
波卡隐私计算平行链Phala正在准备预备主网开发计划:12月13日,波卡上的隐私计算平行链PhalaNetwork发布最新周报,内容显示团队已准备预备主网开发计划。当前全网算力值超过270,000,相当于3857个CPU核心在为Phala提供隐私算力。[2020/12/14 15:07:11]
另一件即将发生的有趣事情是平行线程,它是建立在一个区块又一个区块的基础上的平行链插槽的动态调度。这是什么意思呢?目前平行链是有专用的执行时间的,这些时间通过拍卖来购买,可能是6个月、12个月或24个月的时间专属于我,我可以在任何我想使用系统的时候去执行一个区块。而平行线程更像是一种即用即付的模型,它和平行链非常相似,其实代码实际上并没有特别不同,它实际上只影响我们所说的支持和收集阶段。对于我之前说到的一些阶段,比如可用性、批准检查和争议等,平行线程和平行链是一模一样的。
网络优化是一个比较大的部分。这是点对点网络,正如Gav在之前的演讲中提到的一样,点对点网络是一个挑战,它非常困难,因为在客户端服务器模型中,你必须标记一些服务器,就能快速回复。但是当你在做点对点网络的时候,挑战就是尽可能有效和快速地分发数据,并且具有低冗余和高交付保证,其实很难做到这一点。我认为在网络优化方面有很多马上就要够得到的成果,这将极大地提高实现的性能。
所以我觉得这些都是平行链方面在不久的将来可以关注的一些点。
重构Rococo
接下来我想聊聊Rococo测试网,包括这对社区意味着什么,大家可以怎样参与进来。
之前我提到了Parity在运行所有的Rococo节点,它的作用主要集中在内部测试上,我们会运行前沿代码,快速修改,部署对抗性节点之类的。但这确实意味着当我们在开发过程中发现了错误,我们偶尔会破坏这条链,这使得对于想在上面部署自己的平行链的团队来说,这条链变成了一个非常困难的部署环境。Substrate开发者需要有一个地方来部署和测试跨链解决方案。随着目前版本的XCM更加稳定,大家已经可以真正使用那些跨链创新了,那么一个测试环境就变得非常重要。
所以在这里我要向你隆重介绍Rococo改造计划。
我们的想法是,Parity会在Rococo测试网上保持向后兼容性,以确保它不会重新启动。所以当你注册平行链的时候,不用像在Kusama和Westend里那样再去更新你的节点或runtime,这意味着你可以计划在更长的时间内使用Rococo,并真正将其用作与其他团队合作的地方。
另一点是自动平行链插槽。我们构建了一种调度程序,将Rococo上的时间分配给注册使用它的团队,这样他们就可以获得长度为一周插槽。这些插槽会在可用性的基础上自动且公平地分配给团队。不过我们特别会优先考虑已在实时网络上部署链的团队,也会优先考虑加入了SubstrateBuilderProgram的团队。
当然我们也会非常注重社区。我们鼓励在Rococo上进行跨链通信和实验,尤其是在更高层次上,不仅是部署平行链,还包括在平行链链之上部署一些东西,比如我们希望可以看到用户界面或去中心化应用程序开发者,可以去利用多条平行链,并且享受在这个测试网中进行创造。而不仅仅是那些超级硬核的特别底层的开发者。
我在这列出了一个时间表,说明一些Rococo改造的计划是什么样的。
今天我宣布了我们打算改造Rococo,我们还将很快发表一篇更长的博客文章来详细描述。
然后就是技术方面的跟进,包括制定新的链规范,制定一些参数,比如Session是多长时间,更换验证人的频率如何等,我们会把这些都自动化。
最后就是朝着Rococo的最终重启进发,我们将不再把这条链用于内部测试。目标是在11月底完成这一步。
以上就是我的演讲,谢谢!
欢迎学习Substrate:?https://substrate.dev/关注Substrate进展:https://github.com/paritytech/substrate关注Polkadot进展:https://github.com/paritytech/polkadot
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。