优惠论坛

标题: Gear 的技术优势 [打印本页]

作者: 金色财经小编    时间: 2022-6-11 18:17

TiuzScdsZlOJhuL1QqRVzgtVU2puRjHJnSLl5RyS.jpeg

4 s+ Y6 |$ z& g8 r! N# z6 a

在上一篇文章中,我们介绍了新推出的 Polkadot/Kusama 平行链——Gear,它拥有最先进的智能合约引擎,还介绍了 Gear 的使命、主要功能和团队成员。

( ^- z8 Z$ _( {! [

现在,让我们深入了解 GEAR 突破性技术的关键优势。

9 b4 R+ t1 \5 f7 w' H

摘要

' p- F( I5 Q$ {9 d: R

Gear 关键的技术创新在于其新颖的跨合约通信方式。Gear 使用 Actor 通信模型和 WebAssembly VM,支持并行处理,并具有速度快、成本低的优势。

' U. I1 e! |6 \+ L& ]

事实证明, WebAssembly VM 比任何其他方案运行速度都要快。使用 WebAssembly 可以让 GEAR 的智能合约直接编译成机器码,运行速度媲美原生。更快的速度意味着更低的交易成本和更高的效率。

9 K' D% j2 n# _* d5 U* F

背景

1 G" J7 M% d. X1 C

我们可以看一看基本原理和组成部件,通过了解背景知识,更好地了解 Gear 的技术。

* W$ f- ^4 p* v- q

同其他区块链系统一样,Gear 也维护分布式状态。运行时代码将被编译成 WebAssembly 并成为区块链存储状态的一部分。

1 Y. J% m0 b+ Q( V) v2 c

存储状态包括以下部分:

3 g7 R5 P7 H3 e1 i: t# G$ z$ g. c4 m9 c

程序代码存储为不可变的 Wasm blob,每个程序都有固定数量的独立内存,这些内存在程序初始化时被预留,并在消息处理期间保持不变(所谓的静态区)。程序只能在自己的内存空间内读写,不能访问其他程序的内存空间。

0 S: L- ^" |' C. t8 z2 l' h- D

程序可以从 Gear 实例提供的内存池中分配到更多内存。程序以 64KB 为单位分配自身所需的内存。每个分配的内存块分散存储在分布式数据库后端,但在运行时中,Gear 节点构造连续的运行时内存,并允许程序在其上运行而无需重载。

0 q% V4 W6 G* j: h% j5 q' m

消息队列

0 r0 P* c0 g7 M& u6 h& a y' S

Gear 实例持有一个全局消息队列。使用 Gear 节点,用户可以向特定程序发送包含一条或多条消息的交易。这些消息将填充消息队列。在区块构造过程中,消息将被移出队列并被路由到特定程序。

5 |9 ~6 B* L& N4 N7 T$ `& i5 ^- ^# ]

账户

8 ?! s2 C2 H3 P* X( [/ K0 Z

对于公共网络,防御 DoS 攻击常常在交易处理时支付 gas/fee。Gear 提供了一个 Balance 模块,允许存储用户和程序余额,并支付交易费用。

2 p1 k8 ?: ]6 v9 `. [- Z

常规余额转移是在 Substrate 的 Balances 模块中进行的。余额在用户、程序和验证者帐户之间转移。

" x8 p8 x$ y8 X9 i8 I7 n/ }* Z

除了常规余额转移外,Gear 网络还定义了 gas balance 转移,用于奖励验证者节点的工作,并保护网络免受 DoS 攻击。

9 G% M0 F- R- ?+ d2 _7 U7 H

状态转换

0 ?" F+ N! |3 g* M

每个系统都遵循系统状态演化所依据的规则。当网络处理新的输入数据时,状态将根据状态转移规则前进。这些输入数据被打包在称为交易的原子粒度的信息中。

1 k. v$ Y8 ^: v2 n( t- g

Gear 节点维护并同步包含所有新交易的交易池。当任何节点(验证者节点或者不是)接收到交易时,该节点将交易传播到所有连接的节点。 : r+ ?1 k+ {& S5 w5 K$ T' `当 Gear 验证节点生成新块时,池中的一些(或所有)交易将合并到一个块中,网络将通过该块进行状态转换。上一个区块中未打包的交易将留在池中,直到生成下一个区块。

- w1 Z* D3 d; t* y1 {

Gear 支持以下交易类型:

+ t5 D+ }+ o, W( i0 J ; s# l2 V* U9 }5 g

Actor 通信模型

( l2 g* H6 T$ w, n: @

并发系统的主要挑战之一是并发控制。它定义了不同程序之间正确的通信顺序,并协调共享资源的访问。潜在问题包括竞争条件、死锁和资源匮乏。 2 I# g1 z' Y0 a$ n0 N, M并发计算系统可分为两类通信模式:

/ N0 t# O9 ^) ~ ! v7 I8 m4 ?- c; _2 c: P

通常,消息传递并发比共享内存具有更好的性能。在消息传递系统中,每个进程的内存开销和任务切换开销更低。

" Y; Y& r1 ^& V* D

有很多数学理论可以用来理解消息传递系统,包括 Actor 模型。

% {" }$ I, L+ D- f. ?* D: z

对于进程间通信,Gear 使用 Actor 模型。Actor 模型越来越流行,通常作为先进的语言概念,现在许多新的编程语言都在使用它。Actor 模型的原理是程序从不共享任何状态,只是在彼此之间交换信息。

; U5 H, U- X( X5 V$ X( K3 a1 z ~+ B; c" h

虽然在一个通常的 Actor 模型中,消息顺序没有任何保证,但 Gear 额外保证了两个特定程序之间的消息顺序保持不变。

1 ~8 [( A: Q3 ?/ M' c9 H

使用 Actor 模型可以使我们在程序(智能合约)逻辑中实现基于 Actor 的并发性。这样我们就可以利用各种语言结构进行异步编程(例如,Rust 中的 Futures 和 async/await)。

" Z# `3 i) ^+ t1 k0 [( [5 g

与类不同,actor 一次只允许一个任务访问其可变状态,这使得多个任务中的代码可以安全地与同一个 actor 实例交互。

! F. w5 I0 u& {5 o

异步函数大大简化并发管理,但它们无法处理死锁或状态损坏的情况。为了避免死锁或状态损坏,异步函数应该避免调用可能阻塞其线程的函数。为了实现这一点,我们选择使用 await 表达式。

* v0 m6 n" Y- x

目前,典型的智能合约代码中缺乏对 async/await 模式的支持,这给智能合约开发人员造成了很多问题。实际上,通过添加手工函数(在 Solidity 智能合约中),在智能合约程序流中实现更好的控制是可能的。但是合约中许多函数的问题在于,人们很容易混淆,应该在合约生命周期中的哪个阶段调用哪个函数。

: S% O* g; a9 Q- ?" k) p" L

Gear 为程序提供通用的 async/await 语法。这大大简化开发和测试过程,降低智能合约开发中出错的可能性。如果程序逻辑需要,Gear API 还支持同步消息。

( U2 Q8 X' d" `, n0 E! n

内存并行性

/ C, h/ n# @# L: S5 R9 f

每个程序的独立内存空间允许在 Gear 节点上进行并行化消息处理。并行处理流的数量等于 CPU 内核数。每个流将处理用于一组已定义程序的消息。它与从其他程序或外部(用户交易)发送的消息有关。

5 E' ~2 ^# N, J" D# N2 V8 u

Gear 引擎使用运行时定义的流的数量,这个数量等于验证者机器上的 CPU 内核数,将目标程序的总量除以流数,并为每个流创建一个消息池。

2 J& z) N/ c: o4 t+ a+ |4 a

程序被分配到独立的流中,每条消息都出现在其目标程序的流中。因此,发往特定程序的所有消息都会出现在一个处理流中。

: K4 C9 Y$ \* A! n0 I

在每个周期中,一个目标程序可以有多条消息,一个流将处理许多程序的消息。消息处理后,每个流的一组新消息将被添加到消息队列中,然后循环重复。消息处理过程中,生成的结果消息通常被发送到另一个地址(返回到原点或下一个程序)。

3 F+ { D u% J) L

WebAssembly VM

9 a* ?6 [5 Y( q# w9 t0 H

Gear 在底层使用 WebAssembly(简称 Wasm )。任何 Gear 程序都采用 WebAssembly 格式。WebAssembly 是用于部署程序的代码格式。在 Gear 上下文中,任何智能合约都是一个 WebAssembly 程序。

6 B: V9 H( `$ h7 E

WebAssembly 具有以下优点:

2 Y; {$ i3 n& @+ T ^ % w3 E+ H: c% _) b& z. f0 e. Q

WebAssembly 能够成为一项引人注目的全球性行业技术有以下原因:

. u8 Q$ K; P2 E% u9 k : J- e$ Y$ k, H" ^& ~ D6 p

请及时关注 Gear 的 GitHub,了解最新资讯!

, ~4 r, o+ T$ p, g, b' _* u; v! J

关于 GearFans

8 T) X. O5 e1 u) O8 z+ n$ p: M1 n; O# A) I

Gear 是波卡生态的计算组件,GearFans 是 Gear 爱好者社区。

4 m4 P; S: {9 r% I" R1 e8 L, [9 j( P

来源:金色财经






欢迎光临 优惠论坛 (http://www.tcelue.tv/) Powered by Discuz! X3.1