本文介绍的是波卡网络的稳定性问题及其对开发者和用户的影响,探讨如何通过减少重大更新为平行链团队提供稳定的开发环境。
波卡(Polkadot)正在以惊人的速度发布更新。我们也许认为这是增加价值的最佳方式:更多功能+优化=更多价值。
但这一逻辑现在仍然成立吗?
波卡的价值在于平行链团队愿意在波卡上构建他们的业务,而不是选择其他平台。并且,未来还有望吸引更多优秀团队加入。
因此,保留现有团队并吸引新平行链团队至关重要。但我们该如何实现这一目标呢?我认为关键在于为他们创造价值。这听起来简单,但实际上意味着我们的决策需要以他们的业务需求为导向。
最终,我们提供的价值能否得到认可,很大程度上取决于我们如何提供这些价值。
波卡出售的是一种资源访问的途径,这种资源被称为“核心时间”或“区块空间”。波卡通过向平行链提供这种资源来展现其独特的价值。
在此过程中,波卡可以在多个维度上调整这种资源的分配。我们目前所提供的服务大致可以概括如下:
Parity从平行链开发者那里收集的反馈表明,这种提供方式并不符合他们的需求。我们的服务经常对他们的生产代码引入重大更改,无论是为了优化还是新增功能。
但这些重大更改并非没有代价,每次有重大更改时,平行链团队都会评估以下因素:
事实证明,开发成本和停机风险几乎总是大于错过新功能的机会成本。这是一个纯粹从商业角度的观察。毕竟,平行链团队都是以经济思维来运作的企业。
新功能固然好,但如果它们带来的收益不足以抵消风险,那么它们的价值何在?我认为,我们提供的内容应该更像下图所示:
也就是,重视稳定性而非开发速度,确保团队更容易在波卡上构建业务。他们可以信赖波卡,不会经常被新的开发决策打乱节奏。
要做出选择的确很艰难,但这也是波卡社区最终需要做出的决策。其他更符合开发者需求的生态系统非常乐意接纳我们“流失的人才”。
波卡的发展迄今为止主要集中在技术方面。但要保持其竞争力,我们需要转变思维,更多地从商业角度出发来思考:
我们必须深入思考这些问题,再下定我们的开发决策。
这不仅是Parity的任务,也是整个生态系统中所有开发者的共同任务。
不过,Parity已经设定了三个目标,以降低平行链团队的维护和集成成本:平行链全节点、发布流程和运行时集成测试。
但可能这还远远不够。如果你是平行链开发者,欢迎提供更多建议,以便让在波卡上构建变得更加容易。
平行链全节点
Polkadot SDK提供了非常广泛的功能和接口。我们发布了大约380个crate(Rust编程语言中的包或库),这被视为面向开发者的接口,使得平行链团队很难确保他们使用的是正确的版本,或者是正确地集成了更新。
这些都是为了可定制性而做的。但实际上,只有少数平行链团队真正需要这种级别的可定制性。对于大多数团队来说,拥有一个“正常使用”的节点就足够了。
平行链全节点旨在成为一个通用节点,可以用于任何平行链(只要它不依赖于自定义更改)。
这样可以大大减少我们面向开发者的接口数量,并抽象掉了大量复杂性。
平行链团队,你们对此有何看法?
新的发布流程
我们目前发布三样内容:Polkadot SDK库(crates),中继+平行链节点(Relay+Para Nodes)和运行时(Runtimes)。
所有这些都与平行链开发者紧密相关。为了引入更多的稳定性,Parity提议对SDK和节点软件设置 3个月的长期支持版本(LTS)发布周期。这意味着每三个月才会发生一次重大更新。详情请参见:https://github.com/paritytech/polkadot-sdk/blob/master/docs/RELEASE.md
在此期间,仍然会有针对修复bug的小版本更新。
由于运行时由Fellowship管理,他们可能会/或不会遵循此做法。
为了使这不仅仅是一个内部项目清单,而是一个成功的项目,我们需要与平行链团队确认这是否符合他们的需求。
平行链团队,你们对此有何看法?
运行时集成测试
分布式系统很复杂,集成测试是绕不过去的。Parity目前正在为此目的进行招聘。
我们的想法是建立一个端到端的平行链集成测试(类似于https://github.com/paritytech/parachains-integration-tests),以便在发布运行时更改之前进行测试。
希望可以发现和解决更多的跨链消息(XCM)漏洞,至少在这些漏洞影响到生产网络之前。
想参与到本文的讨论,欢迎到论坛中发表自己的意见:https://forum.polkadot.network/t/stabilizing-polkadot/7175
关于如何参与到论坛的讨论中,请参看我们推出的波卡论坛使用指南:《如何参与波卡的讨论:波卡官方论坛使用指南》