本文整理自10月14日波卡联合创始人RobertHabermeier在「Sub0Online2021」Substrate开发者大会上关于平行链的演讲,由PolkaWorld翻译和整理。
我今天其实就是要讲讲平行链,包括:怎样实现、目前到什么阶段了、未来有什么计划。
我是Polkadot的创始人之一,从2016年就开始和Gav一起在做Polkadot,我也是平行链代码库和实现的主程序员和团队负责人。所以我今天分享的内容是来自第一线的。
平行链V1开发线路图
首先我们来看看时间线,看看平行链是怎样发展到今天的。
在Polkadot的开发周期初期我们花了大量的时间,去构建Substrate、BABE和GRANDPA共识算法、libp2p。其实平行链的开发,需要提前完成这里面的很多基础组件。所以我们在5月发表了《实现者指南》的第一版草案,这个指南其实就是一个巨大的实现文档,它描述了我们的动机,我们在写这样大量的代码时的想法。因为当你深入到一个很大的软件开发项目时,你真的需要去思考所有的部分要怎样组合在一起。这些部分不会自然地融合到一起,你不能今天写点这块,明天写点那块,你需要去思考每一块要怎样放在正确的位置。所以说,如果你要做某件事情,就像我们在做的事——上线平行链一样,那么类似《实现者指南》这样的东西就至关重要,它可以确保代码是经得起推敲的,它是一个基本的基础设施组件。
波卡DOT国库报告:130.89万个DOT被销毁9.2%DOT用来资助国库支出议案:5月11日,波卡中国社区PolkaWorld官方发布第二期DOT国库报告。根据该报告:1.截至目前,目前波卡国库中有1438.6万个DOT。2.波卡国库的收入为1584万个DOT,其中96.53%来自DOT的通胀,3.3%来自Slash。波卡国库共支出了145万个DOT,只占了国库总收入的9%。3.130.89万个DOT被销毁,占到国库总支出的90.12%,9.2%的DOT真正被用去资助国库支出议案,还有0.28%用于打赏(Tips)。4.波卡国库的支出分为三种类型(销毁除外),支出议案TreasuryProposal、小费/打赏Tip和悬赏Bounty。5.资金的申请情况方面,有51个支出议案申请,已发放40个,批准2但还未发放的有2个;有173个小费申请,其中16个正在进行中;还有两个悬赏任务,其中1个正在进行中。[2021/5/12 21:51:34]
所以《实现者指南》是在2020年5月发表的,这时我们就郑重地开始开始去构建。它所做的一件事是,把平行链代码分为了四个主要部分:
1、支持和可用性:验证人从收集人那里找到区块,然后说我觉得这个区块不错,把它包含到链上,然后保证检查区块所需的数据存在。
2、批准检查:安全性的一大部分就来自于这里,它是一种方式,一旦平行链区块上链了,验证人通过一种安全的方式随机自我选择,这种方式就会检查是否他们应该恢复这些数据,然后自己检查区块。
波卡生态概念板块今日平均涨幅为7.33%:金色财经行情显示,波卡生态概念板块今日平均涨幅为7.33%。26个币种中19个上涨,7个下跌,其中领涨币种为:INSTAR(+138.33%)、DOT(+12.11%)、KSM(+10.23%)。领跌币种为:MXC(-4.29%)、KTON(-1.92%)、AKRO(-0.99%)。[2020/12/31 16:11:21]
3、争议处理:也就是如果一个验证人检测到了某个东西是恶意的,那么它就需要去联系其他的验证人,让他们可以参与和检查。这种情况发生的概率极低,比如是20个小数点左右的概率,在批准检查阶段没有人发现这个区块是恶意的,此时事态就会迅速升级。所以说这些组件其实都是环环相扣的,来保证平行链的安全性和可扩展性。如果你去攻击这条链的话,你不会失去几百万美金的概率只有十万亿分之一,而且在每一次你去攻击时都是一样的。
4、审计:在过去的几个月中,我们雇了SRLabs去做代码审计,去检查实现,试图找出Bug。他们进行了独立的评审,检查了平行链的不同部分。现在我们也请他们做了其他一些部分代码的审计。他们提出了几个Bug,不算太多,目前我们修复了50%左右,剩下的也有了解决方案。
这就引出了技术敏捷性的概念,也就是在Rococo和Kusama上进行审计和重大部署之后,平行链已经准备好初始产品版本发布了,要注意的是,我们要修复显著的审计问题,安排在12月之前完成。真实环境下的部署也非常重要,我们有一个Rococo测试网,是一个多地区测试网,Parity运行着它所有的节点,这个网络也没有经济价值,所以它只是用来试一试技术是否可行,我们可以看到在几百个节点的情况下这项技术有什么表现。
波卡生态项目Stafi Protocol公布代币分配计划,40%代币将用于流动性挖矿:波卡生态项目Stafi Protocol发文宣布推出FIS代币分发模型。Stafi已完成大部分测试网任务,其社区的验证节点数量已经超过150个,代币总量为1亿枚,代币分发方案如下:
· 5.71%代币用于种子轮筹集(获37.1万美元),代币价格为0.065美元/FIS,种子轮发放代币数量占总数5.71%(570.8万枚FIS)。
· 私募轮1融资20万美元,私募轮2融资30.9万美元,分别获得244万枚FIS和近364万枚FIS。
· 拍卖轮筹集11万美元,占代币流通总量0.85%(约85万枚FIS),拍卖价格上限为0.13美元,所有拍卖的代币将立即解锁。
· 21.37%代币为基金会所有,其中10%的代币会在6个月后发放,之后一年会每日进行解锁。
· 5%的代币用于生态发展。
· 40%的代币用于社区奖励,其中10%的代币30天之后发放,其余代币等智能合约上线后用于流动性挖矿奖励。
· 15%代币团队持有,其中10%在9个月之后解锁,其余代币将分9个月每日发放。
· 6%代币顾问持有,其中10%的代币3个月之后解锁,其余代币分6个月每日进行发放。[2020/8/25]
我们还会看到在Kusama上的真实环境测试,因为在进入到真实环境之前,你永远不知道实际上会发生什么。我们可以试着在Rococo上尽可能地去中心化,但是直到进入真实世界前,你其实也不知道真实的情况会如何。Kusama上有900个验证人,分布在全球,你根本不知道这些节点是谁在运行,他们只是在自己买来或租来的电脑上运行了一个程序而已。
Gate.io今晚将自动为用户完成波卡DOT拆分和重新开盘:据波卡社区投票结果,波卡DOT(old)100 倍方案将于8月21日实施。Gate.io将于今晚自动为用户完成拆分,持币用户和充值到Gate.io的用户无需任何操作。拆分过程如下:今日19:00后Gate.io将暂停DOT(old)现货、杠杆和永续合约服务。理财借出订单不受影响。拆分期间Gate.io将暂停DOT(old)充值和提现服务,并根据DOT(old)持仓总量充值99倍原持仓量到用户现货账户,以实现100倍拆分。
今晚20:00后,拆分完成之后,Gate.io将采用集合竞价方式重新开启新的DOT交易。拆分后原理财账户和杠杆账户的资金量和订单量均不受影响。DOT重新上线后,价格将于拆分前发生大幅变动(预计变为约100分之一),Gate.io提醒用户下单需谨慎。详情见原文链接。[2020/8/21]
敏捷vs成熟
那么,敏捷和成熟相比,意味着什么呢?
敏捷的意思就是,它能用,但是它还没有到达最终形态。代码的功能都完整了,该有的功能都有。也用高标准测试过了,在各种边缘情况下都测试了,和各种模块都结合地很好。还有安全专业机构进行了独立的评审,我们还模拟了可能的攻击,看看该系统是否可靠。实际上如果你现在去看Rococo测试网的话,你会发现有敌对的节点正在试图去破坏网络,但是没有成功。但是,如果说某个东西是敏捷的,它可能还是存在Bug,可能还需要重大优化。
波卡已移除sudo 正式进入第四阶段:官方数据显示,波卡已执行移除sudo许可模块,正式进入第四阶段。据悉,Sudo模块即许可制模块,代表着Web3基金会与Parity官方通过Sudo模块保有波卡网络的完全控制权(更改、中断、回滚)。移除Sudo模块后,波卡网络将不再是许可制网络、不再由官方完全控制,而是由DOT持有者的投票来决定治理。[2020/7/21]
相对的就是成熟的这一类代码,当某件事已经演化到一个阶段,经过了几年的使用后,它已经是一个基础性的、大负载的、可靠性很高的基础设施,我们就会说它是成熟的。所以有很多优化可以去做,它是经过了实战考验的。比如说以太坊在2016年经历的上海攻击,那时大家真的在努力地试着去摧毁以太坊网络。当现实世界中的某些东西被证明可以承受经济攻击时,这是朝着成熟迈出的一大步。
代码是稳定的,更多地在维护代码,而不是开发代码。这意味着在这这时创新并没有那么多了,因为它的基础设施和增长更多地都是一些边缘创新。
走向成熟的道路
那么,我们走向成熟的道路是什么?沿着这条道路前进的一些步骤是什么?我将介绍一些主要的步骤。
我认为其中的一些非常重要的即将发生的事情是上下文执行、平行线程和一般的网络优化。所以我将深入聊聊这三件事。
如果你观察过Kusama或Rococo网络,你会看到每12秒包含一个区块。这不是出于协议的限制,而是实现的限制。所以上下文执行就是为了从12秒出块加速到6秒出块。在我们目前Rococo和Kusama上的很短的区块执行时间中,又只有很少的时间是真正用于区块的执行的。
上下文执行的想法是显著增加区块执行时间,它基本上是关于提前准备区块,有点像是在链下进一步构建平行链,然后慢慢地把这些东西放到主中继链上。而不是在平行链区块马上就要被包含到中继链上时再去构建这些区块。这是我们已经制定好的优化方案,我们已经为它制定了设计,它是接下来的优先事项之一。
另一件即将发生的有趣事情是平行线程,它是建立在一个区块又一个区块的基础上的平行链插槽的动态调度。这是什么意思呢?目前平行链是有专用的执行时间的,这些时间通过拍卖来购买,可能是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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。