主页 > 苹果手机下载imtoken钱包流程 > 基板为区块链创新而来_跨链技术从业者博客-程序员宝贝

基板为区块链创新而来_跨链技术从业者博客-程序员宝贝

2017年区块链市场的火爆点燃了整个行业,区块链也从极客的小众圈子进入了更多人的视野。作为区块链行业的开发者,我们一直在思考什么是区块链,区块链的技术本质是什么?

在我看来,区块链是一个全球性的状态转换永动机。它不断地接受外部输入什么是区块链技术的三个特点,达成共识,最后进行状态转换,等等。

在这个过程中,有三个关键要素,第一,如何定义状态,第二,如何定义共识,第三,如何定义变化。

对于很多区块链项目来说,每个业务领域的行业、用户群体、需求都不同,所以状态、共识、变化的定义也不同。但有一点可以肯定,所有区块链项目都需要一个产品或一套工具或解决方案,以工程的方式来实现上述三个问题的答案。

基板就是这样一种产品!

基材

Substrate 是 Parity 团队在开发跨链基础设施 Polkadot 项目的过程中提炼出来的一套行之有效的解决方案。它是一个独立于波卡的区块链系统框架,将于今年年底发布。是下一代通用区块链技术架构。

substrate 将为区块链创新者提供一个“最小努力获得最大自由”的框架,因为它“高度可定制、适应性强,由真正了解区块链开发者的区块链开发者制作”,让开发者可以专注于自己的业务域,同时为他们提供网络、共识和安全的所有基本能力。 .

未来,随着越来越多的基于substrate的区块链项目建成,围绕substrate发展成为一个大生态平台,生态中的产品将不再局限于自身,而是可以与所有人共享生态中的用户,链接所有服务,如钱包产品、浏览器产品、dapps等。

Substrate 致力于服务区块链创新,我们相信 Substrate 将成为推动行业变革的强大力量。

底物解决方案怎么样?它有什么显着特点?

重新定义区块链

相对于区块链1.0比特币时代和区块链2.0以太坊时代,基板天生具有区块链3.0的气质。主要包括治理、开发、可扩展性、互操作性和高性能。

可开发。对于开发者来说,他们可以根据底层自定义区块链状态、共识和变化。 Substrate 提供免费的游戏空间和通用平台支持。此外,可以实现一次性开发。理想的运行状态。

什么是区块链技术的三个特点

可治理,基板的治理是可进化的。它内置民主机制,实现链上治理和链上执行。其独特的运行时设计可以真正做到代码即规律,但代码可以根据社区共识来确定,并且可以随着时间的推移而进化,不是静态的,而是循序渐进的。

可扩展性,一方面链本身可以扩展,另一方面,生态无限扩展是可能的。

互操作性,底物自然具有跨链基因。随着波卡跨链生态的发展,底物同构链的互操作性会更加简单。

高性能,基板从高效的技术组件、更快的算法选择、优秀的工程实现方案等方面全面提升链的吞吐量。

工业工程实施

底物溶液包含什么?简而言之,库、组件、模板、抽象、标准。

首先,substrate是一个强大且社区活跃的区块链开源组件库,每个组件都具有独立使用的特点,真正可以开箱即用。

第二,它是一个通用的区块链开发框架,对区块链开发做了一个通用的抽象。其模型简单通用,可用于实现btc、eth、eos等,甚至dag。

第三,它也是一个完整的区块链客户端模板。如果使用基板作为底板,甚至无需修改一行代码,就可以启动一条完整的高性能智能合约链。它具有区块链应有的所有产品功能。

第四,substrate不是一个单一的产品,它实际上是一系列区块链产品组合,包括client、api、ui等从前到后到全流程技术栈。

第五,substrate 将成为未来各种平行链和中继链的事实标准。 Substrate 从一开始就有轻客户端和跨链原生支持,自然也有跨链基因。这个优势就是它有独特的优势,相信未来跨链生态中会有越来越多的项目基于substreate。

基于Substrate的解决方案,据我们所知,在全球基于Substrate的公链项目中,Polkadot排名第一,chainx排名第二。

什么是区块链技术的三个特点

接下来,我们来看看 substreat 包含什么。

技术概述

Substrate 主要由 libp2p、consensus 和 webassembly 三种技术驱动。

其中,libp2p是Protocol Labs的ipfs底层网络库。 parity团队已经为其实现了rust,主要负责substrate中的网络层功能。

Webassembly 是一种高性能跨平台、广泛支持、面向未来的虚拟机技术。主要用于支持底层的运行时机制和用户维度的智能合约操作。

Consensas具体是parity团队提出的afg共识算法,是bft+random算法的混合共识算法。

在这三种技术之上是运行时机制。

Runtime 是由几个模块组成的运行时内核,这些模块相互独立,可以被外部模块或外部 RPC 调用。 Runtime包含了链的主要逻辑,比如账户模型、民主自治、时间服务、股权设计等。

Runtime 可以这样理解。如果我们将链比作操作系统,那么运行时就是操作系统的内核。如果我们将链条比作汽车,那么运行时就是汽车的引擎。运行时可以在链上自动升级。这就像在高速公路上行驶时更换汽车的发动机一样。

运行时包含许多模块。该模块包括余额处理账户模型相关、元数据处理运行时自描述相关、timestate时间服务相关等。

对于开发者来说,运行时是最重要的部分。了解运行时意味着了解基板。需要注意的是,运行时中的模块可以自由插入和组合。如何定义运行时的功能完全可以由开发者自己决定。

从另一个角度来看,substreate客户端主要有两个环境,一个是native环境,一个是wasm环境。 API 在原生环境和 wasm 环境之间调用。

什么是区块链技术的三个特点

原生环境是当前实现中 rust 的执行环境,包括网络、共识、安全等基本功能。 wasm 环境主要是运行时,用户的智能合约在其中运行。运行时包含链本身的业务逻辑,如权限、账户、代币等。

治理

治理是底层的重要组成部分,也是区块链的必要元素3.0.

Substrate 的治理中有几个概念。一是议会。议会是链条上的一个概念。议会由多名成员组成。会员是一个帐户。成员由代币持有者选举产生。选举期间,根据票数自动从票数最多的成员中选出。议会有两个职责,一是对合理提案发起公投,二是取消有害公投。之所以有议会机制,主要是为了代表没有积极参与投票的代币持有者。

另一个概念是提案。提案是可以由任何代币持有者发起的提案。该提案可以执行最高权限,调用根交易,升级链上的运行时逻辑。提案的下一步是公投。

公投,符合一定条件的提案将进入公投阶段,所有链上升级必须通过公投决定。能否执行公投需要满足一定的条件。例如,投票率达到 50%。满足条件后,将开始对运行时代码进行审计并开始执行。

接下来,我们来看看具体的流程。治理过程分为两部分。左边是启动阶段,右边是投票阶段。用户发起提案时,需要抵押代币,其他用户可以发表第二意见。 ,但也需要质押相同数量的代币并进入提案队列。一定时间后,抵押最多的提案将进入下一个投票阶段,其他用户可以开始公投投票。如果满足执行条件,则公投通过并开始执行。

Substrate 可以在运行时自动升级,无需分叉,真正实现代码即规律。这是如何实现的?首先,在 substreate 链上有一个 wasm 版本的运行时备份。其次,我们要知道原生运行速度大于wasm什么是区块链技术的三个特点,wasm大于以太坊的evm。

左边是前状态,右边是后状态。当运行时接收到外部输入并准备运行更改时,它将从链中获取运行时的 wasm 版本,并将其与原生环境的运行时版本进行比较。如果相等,它将运行本机环境的运行时。如果不相等,则运行链上 wasm 版本的运行时。

因此,链始终可以在正确的版本上运行,并且永远不会分叉。链上runtime的升级是以社区公投的形式达成共识,通过runtime的根交易更新链上runtime代码的wasm版本来强制升级,因此链上可以无缝升级。

这就像在高速公路上驾驶汽车时更换发动机一样。 substreate 确实做到了这一点。

原语

什么是区块链技术的三个特点

在核心算法选择上,签名算法基板采用ed25519,是eddsa算法的一种。与以太坊采用的ecdsa相比,在签名速度和验证速度方面更快更安全。哈希算法使用blake2b,比sha3更安全、更快。

区块头结构包括parent_hash、number、state_root、extrinsics_root、digest、change_root。最后四项对于轻量级客户端尤为重要。

区块体结构包括Header、extrinsics和justification,其中extrinsics是交易列表,justification是区块签名集合。

事务分为三种类型:Inherent、Public、Root。其中,Root事务是通过治理机制发布的具有最高执行权限的事务。它可以执行任何反映社区意愿的代码。 Inherent是内部事务,即在节点运行过程中约定的内部事务。 Public是普通用户发出的交易。

轻节点

轻节点是区块链的标准技术之一3.0,基板完全支持。

轻节点对区块链的意义不仅在于降低参与成本,促进反审查,也是区块链应用广泛应用的重要基础条件之一。最棒的是,基板从一开始就完全支持轻节点。

我们都知道,以太坊对轻节点的支持并不完美。虽然有receipt tree的设计,但是仅限于eventlog,所以无法支持​​一些业务需求场景,尤其是未来以太坊从pow到pos共识算法的升级。然而,基板的轻节点设计非常彻底。从设计上看,主要分为存储树证明、交易证明、changellog、digest四个部分。

stoarge 是存储证明,extrinsics 是交易证明。但是对于账户模型的区块链来说,只有这两项不能满足轻客户端的需求,而且substratte的change_log清楚地反映了改变的key。以及变更所涉及的交易。还有摘要,它是运行时记录的重要数据片段,例如验证器集合的变化,轻客户端可以信任它来验证数据。

API 和交互

接下来我们来看看开发者如何与substrate交互,以及普通用户如何与substrate交互。

当我们需要实现 Substrate 链时,具体需要实现什么?

什么是区块链技术的三个特点

Substrate 本质上是一个状态转换器,它不知道你对状态的定义,你对共识的定义,你对变化的定义。所以,如果你想根据自己的业务逻辑启动一个完整的区块链,需要四个步骤。

你需要告诉 Substreate 验证人列表是哪些账户,如何构造区块头,区块头包含哪些内容,例如区块高度、父区块哈希、额外数据等。你需要告诉它如何生成新区块,如何向区块添加外部交易,如何验证区块。

Runtime的四个核心接口:

对于普通用户或者Dapp开发者和生态服务开发者来说,访问通常是通过RPC接口。 RPC api支持http协议和websocket协议。

RPC接口主要包括四个模块:

进入超越的七天

Substrate 是一门新的技术和生态,如何实现 7 天进入超越?

根据我们以往的学习、研究和实践经验,我们有以下粗略的经验总结供大家参考。假设你已经具备区块链的基本知识:

第 3 天掌握

第七天以后

结论

随着子州社区的开发者越来越多,整个子州生态系统正在快速迭代发展。随着开发者生态的不断发展,我们相信未来基板将成为web3技术栈的重要组成部分,基板将成为推动行业基础设施建设的重要力量。

毫无疑问,基板是2018年最值得区块链行业关注的重要技术之一。

欢迎关注Chainx,欢迎开发者加入Chainx。