一文读懂Substrate 2.0
Substrate 已到了 2.0 版本的主要里程碑处。该区块链框架现在包含链下工作机(off-chain workers)和 70 多个可组合模块 ,并为构建优化的、与 Polkadot 兼容的、可投入生产的区块链奠定了坚实的基础。数十个实时区块链已经在运行 Substrate 2.0,包括 Polkadot[1]和 Kusama[2],以及 Polkadot 生态系统中的一系列其他专用区块链。
为什么要使用 Substrate?
有了 Substrate,runtime 就是你的区块链画布,为你提供最大的*,可以完全根据你的应用程序或业务逻辑创建和自定义区块链。在 runtime 中,你可以利用内置的数据库管理、libp2p 网络以及快速安全的共识协议 GRANDPA[3]来组成任何状态转换函数。
通过利用 Substrate 的模块化设计来使用经过考验的库,同时构建最重要的自定义组件,从而专注于你的优势。
在 2018 年末,Polkadot 联合创始人 Gavin Wood 展示了[4]Substrate 1.0 可以实现可插拔的共识和无分叉 runtime 升级,现在,借助 Substrate 2.0,建设者可以使用经过考验的框架来部署他们一直想要的区块链。
FRAME - 区块链可组合性框架
Substrate 的模块化是其核心设计原则的一部分 —— 你可以替换很多主要组件,从共识和终结性引擎(Substrate 随附 AURA、BABE、GRANDPA 和已内置的可配置 PoW 引擎)等网络堆栈,到 runtime 开发都可以替换。
Runtime 模块(即 pallet)是可用于构成 Substrate runtime 的预构建组件。每个 pallet 都有各自的逻辑,可以修改区块链的状态转换函数的特性和功能,从而轻松添加基本功能和扩展功能。FRAME 是用于开发 Substrate pallet 的框架。FRAME[5]可以更轻松地为你的自定义区块链查找、选择和实施正确的 pallet,从而使其成为 Substrate 默认的模块化、可自定义 runtime 开发框架。Substrate 2.0 附带了许多新 pallet,这些 pallet 将帮助你快速轻松地使用适合你和你网络的属性来构建和部署区块链 runtime。
用 pallet 组成你的区块链
随着 Parity 和独立团队开发和发布自己的基于 Substrate 的区块链,pallet 的数量将随着时间的推移而不断增长。
Substrate 2.0 随附 70 多个 pallet,可帮助你构建区块链。现在,它发布在 crates.io 上,这让你可以通过 Rust 包管理器 cargo 简化包管理。Pallet 的一些示例包括:
Contracts[6]pallet 允许将智能合约部署到 WebAssembly 虚拟机,从而让合约可以使用可编译为 Wasm 的任何语言编写,例如 Rust、C ++和 Go。
BABE[7]和 GRANDPA[8]是用于权益证明网络的配套 pallet,这些网络需要快速、可靠的区块生产和终结。与 Substrate 兼容的达成共识的其他方法包括 Aura(权限轮换和即时密封)。你可以在此处[9]了解有关 BABE 和 GRANDPA 共识的更多信息。
Democracy[10]是实现链上投票机制以由利益相关者进行快速、有约束力和透明治理的平台。
EVM[11]是一个 pallet,可复制以太坊虚拟机的功能,从而可以将 EVM 应用程序快速移植到 Substrate 链。许多现有的链正在利用此 pallet 来整合基于 Solidity 的合约,例如 Moonbeam[12]和 Plasm[13]。
Treasury[14]pallet 提供了一种向国库添加资金的方法,该国库可以用于资助网络想要进行的任何活动。该 pallet 目前已经在 Polkadot、Kusama 和其他基于 Substrate 构建的实时区块链上投入使用了。
Identity[15]pallet 允许用户通过提供帐户名称和联系信息来公开声明谁拥有某些帐户。这对于权益证明网络上的验证人特别有用。
帐户和密钥安全性对于处理大量资金极为重要。这是创建 Multisig[16]pallet 的主要原因之一,该 pallet 允许使用一个账户控制不同的密钥/设备。
Recovery[17]pallet 引入了链上资产的恢复机制,对于以用户友好的方式恢复丢失的密钥尤其有用。在此处[18]详细了解社交恢复机制。
Kusama 网络目前正在使用 Society[19]pallet 来建立 Kappa Sigma Mu(人体区块链项目) ,在该项目中,成员通过纹身[20]来加入,并帮助采取主动,弥合人与机器之间的鸿沟。
使用链上协议进行链下计算
链下工作机(Off-chain workers[21])是 Substrate 2.0 中的一项新功能,可让你将数据安全地集成到你的区块链上,非常适合物联网(IoT)设备或通过预言机(oracle)进行的实际数据输入。
为了使链下数据集成安全和更高效,Substrate 提供链下工作机。链下工作机子系统允许执行更长的运行时间和可能不确定的任务(例如 Web 请求、数据的加密/解密和签名、随机数生成、CPU 密集型计算、链上数据的枚举/聚集等)来利用链上数据和访问。一个例子是 “I‘m online” pallet,它利用了链下工作机的优势。这样一来,权益证明网络中尚未出块验证人就可以自动向链上发送交易,以表明他们仍然可用。这样可确保验证人可用,因此不应因脱机而被踢出或被 Slash。
链下工作机的代码存储在链上,并且可以访问链上环境,但是永远不会作为区块处理的一部分执行。链下工作机可以轻松地运行正确的代码,并允许在不占用区块链的情况下执行更长的运行任务。但是,链上代码允许在其运行的区块链的状态转换函数中实现验证机制,例如投票、平均和挑战。区块链/预言机网络设计者和网络上运行的节点可以确定谁应该做什么、何时做以及对参与者的奖励和惩罚。
Substrate 2.0 带有一组 pallet,可以使依赖现有或现实世界数据的区块链的数据集成效率更高。
Substrate 2.0 是为构建者而生的
使用 Substrate 2.0,可以比以往更加轻松地构建可与 Polkadot 生态系统互操作的自定义、可扩展的区块链,其中都包含实现团队设计目标所需的业务逻辑。Substrate 的开发者生态还通过不断完善的开发者工具套件,以及基准测试和监控解决方案套件,帮助你准备好区块链生产,这是一流的商业级软件框架所期望的。
在 Substrate Developer Hub[22]上,你可以深入了解所有技术文档、教程和资源来开始使用。如果需要获得即时反馈,请直接在 Substrate Technical[23]Element 聊天室与我们的开发人员聊天。
10 月 15 日,在 Sub0 Online[24](Substrate 开发者社区会议)上,深入了解 Substrate 的强大功能和用例,并与 Substrate 社区建立联系。免费的多渠道在线会议将为所有水平的 Substrate 开发人员、学习者以及希望了解更多有关如何使用区块链框架构建 Web3 未来的 Substrate 新手提供讲座和讲习班。演讲者将包括 Parity 创始人 Gavin Wood 和 Jutta Steiner,以及构建 Substrate 和 Polkadot 的 Parity 开发人员,以及来自各种使用案例和行业垂直领域的生态系统构建者。了解更多并在此处[25]注册。
参考链接
[1]Polkadot:https://polkadot.network/
[2]Kusama:https://kusama.network/
[3]GRANDPA :https://polkadot.network/polkadot-consensus-part-1-introduction/
[4]https://www.youtube.com/watch?v=0IoUZdDi5Is
[5]FRAME:https://substrate.dev/docs/en/knowledgebase/runtime/frame
[6]Contracts:https://crates.io/crates/pallet-contracts
[7]BABE:https://crates.io/crates/pallet-babe
[8]GRANDPA :https://crates.io/crates/pallet-grandpa
[9]https://medium.com/polkadot-network/polkadot-consensus-part-1-introduction-3e3cd6237243
[10]Democracy :https://crates.io/crates/pallet-democracy
[11]EVM:https://crates.io/crates/pallet-evm
[12]Moonbeam:https://moonbeam.network/
[13]Plasm:https://www.plasmnet.io/
[14]Treasury:https://crates.io/crates/pallet-treasury
[15]Identity:https://crates.io/crates/pallet-identity
[16]Multisig:https://crates.io/crates/pallet-multisig
[17]Recovery:https://crates.io/crates/pallet-recovery
[18]https://www.parity.io/social-recovery-on-substrate/
[19]Society:https://crates.io/crates/pallet-society
[20]https://decrypt.co/20457/this-crypto-fraternity-will-pay-you-3000-to-get-a-tattoo
[21]Off-chain workers:https://www.parity.io/substrate-off-chain-workers-secure-and-efficient-computing-intensive-tasks/
[22]Substrate Developer Hub:https://substrate.dev/docs/en/
[23]Substrate Technical:https://matrix.to/#/!HzySYSaIhtyWrwiwEV:matrix.org?via=matrix.parity.io&via=matrix.org&via=web3.foundation
[24]Sub0 Online:https://sub0.parity.io/
[25]https://sub0.parity.io/