[B4位]什么是 Move(编程语言)?

109
Move编程语言最初用于构建Diem区块链。它是由DiemAssociation创建的,该协会是Meta支持的技术联盟。它实现智能合约和自定义交易。Move旨在解决其他区块链编程语言(例如Solidity)引起的问题。
okx

Move 编程语言最初用于构建 Diem 区块链。

它是由 Diem Association 创建的,该协会是 Meta 支持的技术联盟。

尽管区块链最终被废弃,Move至今仍在使用。

Move 编程语言是一种可执行的字节码语言。

它实现智能合约和自定义交易。

Move 旨在解决其他区块链编程语言(例如 Solidity)引起的问题。

然而,实现数字稀缺和对数字资产的控制的基本目标保持不变。

特别是,它还旨在防止双重支出,并使数字资产持有者能够维护所有权信息。

在此过程中,Move 最大限度地提高了安全性,同时保持了精简的设计,并且比非 Move 构建的区块链显着降低了 Gas 成本。

Move 编程语言如何工作?

Move 使用线性逻辑,这意味着资源只能使用一次,并且永远不会复制或隐式丢弃。

这使得开发人员能够对无法删除或复制的自定义资源类型进行编码,并且比其他资源类型得到更好的处理。

Move 的静态类型系统是变量必须定义为类型(数字/字)的地方。

它保护优先资源。

尽管如此,它们仍然可以像常规元素一样使用并存储在数据结构中或作为计算中的值提供。

资源在模块中也是透明的,并且隐藏起来,不被外部资源调用。

此外,Move中的模块灵活且安全,因为模块、资源和过程之间的关系就像面向对象编程中类、对象和方法之间的关系。

Move还可以验证链上的所有安全特征,并支持链下静态验证工具。

这大大降低了链上验证的复杂性。

其设计基于三个核心决策:

—> 缺乏动态调度避免了调用图构建并实现了调用站点的静态确定。

这使得 Move 能够更轻松地识别过程调用的效果,并且不会产生额外的复杂性。

—> 由于其模块化,模块可以被隔离以进行功能验证,并且它们有助于抽象数据和本地化资源上的关键操作。

通过将模块与语言的类型系统一起封装来保证安全性,这意味着模块外部的代码不能违反其类型。

此外,通过检查孤立的模块,它将为重要的模块不变量提供彻底的功能验证。

—> 最后,其有限的可变性允许使用类似于 C++ 的引用类型。

引用对于改变每个 Move 值至关重要,并且通常会在转录脚本中创建和销毁临时值。

与 Rust 类似,Move 的字节码验证器“借用检查”来确认至少一个可变引用。

—> 最后,Move 会拒绝不遵循类型安全、内存安全和资源安全的程序。

相反,可以使用带有编译器的高级编程语言,负责检查属性。

另一种选择是带有安全检查的低级无类型程序集。

欧易

欧易(OKX)

用戶喜愛的交易所

币安

币安(Binance)

已有账号登陆后会弹出下载

进群交流|欧易官网