来源:OneBlock Community
Polkadot 的起源、完善和上线过程经历了怎样的技术迭新与路线升级?深入把握 Polkadot 技术模型与生态合约才能让我们更好地深耕 Polkadot 生态。
11 月 25 日晚上,Substrate Saturday 第 19 期活动如期举行,Parity 工程师 Suvi Dong、Kaichao 与线上观众一起分享 Polkadot 跨链技术演进的路线,以及 Polkadot 未来在技术和生态上的发展路径。Kaichao 更详细揭秘了 Polkadot 的起源、完善和上线过程,介绍了 Agile Coretime、Coreplay 如何执行智能合约,以及 Corejam 在并行、去中心状态机的分阶段模型中的应用等前沿技术话题。
Substrate Saturday 是 OneBlock 旗下的一档以技术和深度内容分析的线上直播栏目,以邀请 Polkadot 及其生态项目或工程师一起探讨 Substrate 相关内容为主,让嘉宾和观众能够有一个多样化沟通分享的桥梁。
如果你错过了 Substrate Saturday 第 19 期活动,快来查收 OneBlock 为你准备的这份精华回顾吧!
视频回放:https://www.youtube.com/live/SXAbLAotTfY?si=OE9ivYGX5QYuzeCh
Polkadot 跨链技术的演进历程
Polkadot 技术路线回顾
回顾过去几年的 Polkadot 技术发展路线时,可以追溯到 2017 年 Gavin Wood 提出多链愿景的时期。Parity 作为 Polkadot 的技术团队,从多种区块链客户端开始,逐渐积累了区块链开发经验,最终贡献了 Polkadot 的底层代码。
2017 年底,为了实现多链愿景,Parity 团队提出了 Substrate 框架,这个框架后来被命名为 Polkadot SDK。这一框架提供了开发上的便利性,使得开发者不再需要像之前那样使用多种区块链客户端进行功能增强,从而提高了开发效率。
2018 年的 Web3 Summit 上展示了如何使用 Substrate 快速搭建区块链,正式标志着 Substrate 成为通用的区块链开发框架。Substrate 框架涵盖了多种共识算法,如 PoW(工作量证明)和 PoA(权威证明),以及智能合约模块。
2019 年发布了 Substrate 1.0 版本,启动了很多生态项目的正式部署,包括 Kusama 的正式网络。在重构 Substrate 的业务功能模块后,发布了名为 Substrate FRAME 的模块化架构,使得编写业务代码更加容易。
2020 年,Polkadot 正式网络部署,并引入了更加开发者友好的 FRAME v2 语法,增加了 pallet 版本管理模块、链上升级所需的数据迁移等功能。
XCM:平行链之间通信的主要方式
2021 年 6 月,平行链正式部署在 Kusama 网络上,并通过插槽拍卖引入了很多平行链项目。XCM 跨链消息机制 V3 成为平行链之间、平行链与中继链的主要通信方式。
XCM 介绍, Polkadot Wiki
同时,XCM 格式定义了一系列规则,进行了 v1 到 v3 的部署和升级。Kaichao 老师介绍道,XCM 类似于 http 在 Web2 领域的通信协议,定义了跨链消息的标准规则,以及 MulticaLocation、MultiAsset、Instruction Location 等重要概念,用于表示位置和资产,并定义了指令来操作链上数据。XCM 消息格式标准具有共识无关、确保执行、非对称、异步等特点。
此外,VMP 和 XCMP-lite(HRMP) 是 XCM 格式消息通信的实现层,用于实现平行链之间的消息传递。XCVM(xcm-executor)是用于执行 XCM 消息指令的执行器,它负责修改当前链、中继链和目标平行链的状态。你可以在这里查看 XCM 的具体详情:
RFCs(Request for Comments)则是 Polkadot 中的存储库,包括 Polkadot 相关的技术设计和实现和对 Polkadot 相关领域的修改。这些提案包括节点部分的实现、密码学算法和 XCM/XCMP 的修改。值得注意的是,在 Polkadot 生态中,on-chain 指的是由所有中继链验证人执行的过程,in-core指的是由验证人子集(Validator Group)执行的过程,而 PVF(Parachain Validation Function)是平行链的运行时逻辑代码,存储在中继链上。
Agile Coretime:更加灵活的分配 Coretime 的模型
Polkadot 技术发展的过程中,同样碰上了一些问题。Kaichao 老师指出,平行链上线需要通过拍卖插槽进行短期上线需求激增,在竞争激烈的时期,团队需要强大的筹集资金的能力,这意味着需要与投资人和持有者保持强互动。同时,Polkadot 的核心资源 core 长期分配给某一平行链并不合理,因为不同链的资源需求不同,导致资源得不到优化分配。并且,续租 core 的花费无法预估,缺少确定性。
为解决这些问题,Polkadot 提出了灵活配置核心资源的 Agile Coretime(敏捷核心时间)模型,通过此模型不再需要拍卖插槽。并且,Coretime 可以作为 NFT 进行转移出售,并可用于执行任务。这种模型下无需 slot auction,需要销售 coretime 的系统平行链,coretime 可以以 non- fungible asset 的形式进行转移、出售,分配给某个任务或者存入即时 coretime pool。
Coretime, Polkadot Wiki
Agile Coretime 的目标包括:
Polkadot 合理的价值捕获机制
生态团队的长期花费可预期
降低进入门槛
支持 1000 个 core,可动态变化
促进任务在动态间隔和不同跨度下使用 core
Coreplay:使用 core 执行智能合约
除了介绍 Coretime 的使用机制外,Kaichao 老师还介绍了仍处于构想阶段的 Coreplay。Coreplay 使用 core 执行智能合约,使得对核心资源的使用更加灵活,有望降低开发门槛,让开发者更自由地部署在 Polkadot 上。
Coreplay 的优势包括:
开发者所熟知的开发模式
无需单独部署一条链
无需过多考虑执行期的资源消耗(weight)
促进 core 的并行执行
适用紧急应用场景
你可以在这里查看 Coreplay 的详情资料:
Corejam:更通用的模型,以满足各类核心资源使用
在 Polkadot 技术的发展历程中,经历了多次技术迭代和升级。其中包括链上集成状态、Corejam、异步后端机制、Sassafras 共识,以及其他正在设计和构建中的功能。在数据可行性和可用性校验达到一定要求后,进行了链上的集成状态,通过这个阶段,对状态进行修改和介绍。在核心阶段的激烈讨论中,出现了 Corejam,引起了社区的高度关注。
Kaichao 老师介绍道,Corejam 是一种更通用的模型,可以更好地满足不同的核心资源使用方式。这些新的技术模型和虚拟机的提出,将为 Polkadot 生态提供更合理的定位,并为开发者和用户提供更好的体验。Corejam 是用于并行、去中心状态机的分阶段收集-提炼-聚合-累加模型。
Polkadot 之前设计的是用语长期运行的平行链,而随着 Agile Coretime 和 Coreplay 的引入,产生了对于更通用模型以及未来扩展性的需求。通用模型的自由度可以带来潜在的用户使用场景,并能降低开发者负担和进入门槛,也能将对 core 的使用策略开放给核心开发之外的社区成员。因此,Corejam 这样的技术创新有望为 Polkadot 生态带来新的可能性和更广阔的发展空间。
对于 core 资源的通用模型的使用,包括 in-core 和 on-chain 两个方面,前者即工作包(work package)的传输、生产、计算和验证,后者即结果的收集、聚合、累加进入中继链的链上状态。
Polkadot 更多功能持续开发中
除此之外,Kaichao 老师还探讨了一种名为 Asynchronous Backing 的新性能提升机制。通过这种机制,可以在构建平行链时不再依赖于最新的 relay block 来构建区块;相反,可以通过异步的方式加速区块的构建过程。这种异步方式不仅延长了区块构建的时间,从原来的 500 毫秒变为了 2 秒,同时将区块的生产时间从 12 秒缩减到 6 秒,总体吞吐量提升了大约 8 倍。
Asynchronous Backing, Polkadot Wiki
除了提到的核心功能,还有其他功能正在设计和构建中。例如,更多的系统平行链用于更高效地分配中继链的任务,包括 Stacking、Identity 和 Governance 等系统平行链的设计。
还有一些功能正在开发中,如 Sassafras 共识用于构建确保最终共识的区块;同时,smoldot 作为轻客户端的功能也在不断完善,为用户提供更好的去中心化应用体验;Internode mixnet 作为一种保护节点之间 IP 数据和元数据隐私的功能,以及去中心化社交方面的探索,通过使链上服务于开发者和用户的方式,构建一些生态和治理上的集合。
总的来说,Polkadot 生态在持续探索和设计新功能,以进一步提高网络的性能、隐私和社交去中心化方面的功能。这些发展都是在不断推进网络治理和技术进步的同时,为用户和开发者提供更好的使用体验和更高的效率。
Polkadot 未来:重点建设开发者社区
分享了 Polkadot 的起源、发展历程和未来升级后,Parity 工程师 Suvi Dong 和 Kaichao 一起探讨了 Parity 在 Polkadot 生态中的角色演化,以及 Polkadot 生态的未来的发展可能性。
Parity 在 Polkadot 生态的中的变化
Kaichao 老师首先提到了区块链生态系统对于单一公司过度依赖的问题。尽管 Parity 在协同资源方面十分高效,但在去中心化的区块链生态中,这种依赖并非必需。以 Bitcoin 为例,其创始人身份仍然神秘,而某些区块链项目虽然有公司支持,但可能受到监管机构的干预,甚至面临破产。他指出,在新兴的区块链生态中,公司的存在一方面有其用处,但同时也可能限制了生态的自由发展。
长期来看,他认为理想的去中心化协作平台不应该长期依赖于某家公司的支持。虽然这需要一个漫长的过程,不同的项目和开发者对于实现去中心化有不同的时间和方式,他认为在长期发展中,单一公司不应该持续支持整个生态。Parity 也在不断调整自身,为生态系统提供支持,并在合适的时机向不同的生态团队和参与者提供更多的功能、权限和市场机会。这种方式更有利于区块链生态系统的发展。
在 Polkadot 2.0 的世界中,开发者体验和开发者社区的建设始终是重点领域。
在提案上,Polkadot 降低了进入门槛,使开发者更容易参与,这对 Polkadot 在开发者社区中的影响和潜力有着重要意义。同时,生态开发者能否高效地构建有价值的产品是社区非常核心的问题。Parity 作为一家拥有丰富开发者社区构建经验的公司,在这方面具有很大优势,因此在这一点上进行升级和改进至关重要,可以帮助开发者更好地使用 Polkadot 生态工具。
在去中心化方面,Polkadot 最近推出了一系列倡议和项目,如 Polkadot Fellowship、Polkadot Blockchain Academy、OpenGov 和奖励制度,以支持生态系统的发展。Polkadot 是一个非常开放和包容创新的区块链平台,探索各种试验性方式和技术升级,并通过技术改造的升级投票,促进技术的发展,帮助更多有创业意愿的开发者和创始人开始自己的区块链之旅。这些倡议对 Polkadot 生态系统的增长和多样性贡献显著,未来还将有类似的举措。同时,OpenGov 的进一步提升和国库的开放性也都不断支持了不同生态的参与者进入。
在 Kaichao 老师看来,这些措施旨在给予生态开发者必要的资源,无论是从资金池的角度还是人员教育的角度,都旨在帮助他们更快地实现想法。未来将有哪些举措取决于生态参与者的新想法,任何人都可以提出自己的想法,如果得到支持,这些想法就有机会成为现实。这种多样性的举措将继续推动 Polkadot 生态系统的进一步发展。
Polkadot 2.0: 不断降低开发者部署门槛
未来,Polkadot 2.0将如何发展,又将面临何种可能的挑战?
首先,在技术实现方面存在一些不同的看法。对于实现 Coreplay 的时间,有一种比较悲观的观点,认为它会相对较晚,而另一种则比较乐观,认为初版可能在几个月到半年内推出。Polkadot 2.0 在底层上并没有大的结构性变化,而是在基础技术上持续进行着正常的推进,例如在异步技术上的重点优化。这使得 Polkadot 在开发计划中有一个相对平滑的过渡。
在技术层面而言,Polkadot 2.0 针对开发者的友好性和竞争力进行了重要改进。模块化的 Substrate 开发框架、快速编写 Runtime 代码的 FRAME 框架,以及采用 Rust 语言编写的开发框架,都对开发者非常友好。降低开发者部署门槛是 Polkadot 2.0 的一项重要竞争策略。
在生态系统发展方面,Polkadot 针对开发者的支持方面做得很出色,包括教育、资金和在线部署的协作。但仍需要技术上、协作方式不断改进。
未来几年,Kaichao 老师提到,Polkadot 生态系统可能面临几个重要的挑战。一个是规范的清晰性和社区内的共识。另一个挑战是开发者可能面临的问题,除了对开发者提供教育和支持外,需要社区更深入地理解和解决开发者遇到的问题并解决,才能实现长期成功和可持续增长。