http://www.7klian.com

Substrate Offchain Worker 机制与实战应用

Crust 对 OCW 的第 2 个实际应用是,操作 OCW 来处理惩罚链上的巨大计较(长时间状态更新任务)的问题,就像 Kusama 和 Polkadot 中的 Offchain Phragmen 算法一样。

跟着区块链的成长,越来越巨大的逻辑被期望放到链上,也就是说,各人都以为用区块链办理信任问题的同时也要能处理惩罚现实问题,所以 Scalability 就顺理成章成为了区块链中最为重要的技能方针,ETH2.0 Casper,Polkadot 平行链,Cosmos 跨链这些都是在办理这个问题。

2、Off-chain:用户带着链上 Orderid 通报文件Locally,是对用户的订单举办打包,然后慢慢上链验证。

轻松读取链上状态提交链下运行功效

方才讲了,OCW 其实是和 WASM Code 绑在一起的,可是又有所区别,因为 Runtime 的 WASM Code 是会校验世界状态(World State)的,而 OCW 的 WASM 仅仅是一段独立运行的 VM 线程。

而个中的事情量陈诉包括每个节点的文件存储信息,我们需要利用此信息来更新相应存储订单的状态。这大概会耗费许多时间来处理惩罚更新,因为其索引布局在链上,是一个反向索引的 Hash Map。而操作 OCW,我们可以把这个更新操纵放到链下,不绝读取链上事情量陈诉,并不绝向链上提交更新的功效,并交给链去验证即可。

Crust 对 OCW 的第一个实际应用是,操作 OCW 来处理惩罚链上状态爆炸的问题先讲一下整体的 sOrder 流程:

Crust 技能白皮书 v1.9.3 版

更高效更安详Forkless Upgrade

OCW 作为 Substrate 中的重要模块,其自己就被 Include 到了 Substrate 的 WASM 情况中,这样在必然水平上担保了全网执行的一致性,而且跟从 Substrate一起进级。

1、On-chain:用户直接对着链举办下单

| 处理惩罚状态爆炸

官网:https://crust.network/

Long Running Task:Substrate 中的 Offchain Phragmen 代码归并链上状态,缩减链上状态爆炸的问题链下通知系统:Substrate 中的 im_online 模块

.02OCW 的实际应用场景

GitHub:https://github.com/crustio

Crust 实现了去中心化存储的鼓励层协议,适配包罗 IPFS 在内的多种存储层协议,并对应用层提供支持。同时 Crust 的架构也有本领对去中心化计较层提供支持,构建漫衍式云生态。

三个难点:

Crust 经济白皮书第 3 期·经济模子

1、Off-chain Mechanisms 是独立的,和链不绑定的措施,其往往是中心化的处事,这违背了去中心化的愿景。

3、在 ValidateUnsign 的部门,Crust 设计了一个 Delayed Proof Function,Delayed proof function 中处理惩罚了节点恶意提交订单的环境(会被处罚,详细是整体订单代价的 2%)。所以用户在打包订单的同时,需要有文件被存储,而且链上已经存在匹配的用户锁定金额的生意业务。

关于 Crust Network

|什么是OCW

Medium:https://medium.com/@crustnetwork

点击网页链接,寓目勾当视频:

2、在 Offchain 订单到达 4GB 之后提交一个“大”订单到链上

思考两个问题:

各人好,我是子琨,之前在浙大 CCNT lab 进修漫衍式系统和云计较,厥后就职于微软,做 Azure Kubernetes 团队容器化处事,此刻是 Crust Network CTO。我的 Github 地点:zikunfan。

Runtime Interface 是 Substrate 内里一个很奇特的接口,其链接了 WASM 和 Native,也是 OCW 的底层实现逻辑,但在 Runtime Interface 中,你可以定制任意的 Native 接口,和链上的 WASM 举办交互(平行链是不可的),可是在 OCW 中,对其挪用举办了限制,适才说的几类,所以其自己的 Native 情况(平行链是可以的)。Callback 要留意 Unsigned Extrinsic(其自己需要自界说一套验证逻辑)。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。