券商观点|区块链行业专题研究:Web3底层语言-Move弥补了Solidity哪些不足?
发布时间:2022-12-02 08:54:48 文章来源:同花顺iNews
当前位置: 主页 > 资讯 > 国内 > 正文

12月1日,国盛证券发布一篇计算机应用行业的研究报告,报告指出,Web3底层语言-Move弥补了Solidity哪些不足?。

报告具体内容如下:

为什么基于Solidity语言的以太坊生态如此庞大,市场依然对新公链有着新期待?Move出自大厂(Meta),被行业普遍看好,前期一些基于Move语言开发的公链得到了市场的青睐和资本的追捧。面向Web3更为丰富的应用,底层语言的进化是基础,Move有哪些优势,弥补了Solidity哪些不足?基于这些特点,Move生态有可能诞生新模式和新应用。


(资料图片仅供参考)

针对已有的编程语言如Solidity,Move语言在很多细节设计考虑的比较周到,如将库与应用逻辑分离开来;但最为突出的特点是资源类型方面,即面向资源的编程。在Dapp应用支持方面,吸收了比特币script和以太坊的smartcontract的优点,因此行业普遍对该编程语言比较看好。而针对Solidity被外界诟病的安全问题,move也在尝试解决。

Move是面向资源(resources)的编程语言,资源在Move的世界里是“第一等公民”(first-classresource),其关键特性是自定义资源类型:resources永远不能被复制或隐式丢弃,只能在程序存储位置之间移动。Solidity并不是面向资源的,用户的账户拥有某个Token资产,只是该Token合约分配给用户的一个数值。而Move创建的Token账户资产是独一无二的资源类型,比如账户A中的资产是保存在A账户中的,虽然也是数值,但不能复制、丢弃或重用,可以被安全地存储和转移。同时,账户资产只能由定义该资源的模块进行创建和销毁,这使得同质化的数值类型的资产可能产生的重入、类似双花或者账户余额出现不平衡的状况得以避免。在这一点上,Move账户资产有些类似比特币的UTXO机制,Token不再是简单的同质化数值,而是可区分的。

为了可以实现更灵活的业务,Move另外定义了4种权限属性:可复制(copy)、可丢弃(drop)、可存储(store)、可检索(key)。这4种属性可以任意组合,来定义资源的属性,方便用户灵活操作。如drop+store+key的组合,定义的资源是不可以复制的,可以避免复制引发的代币增发以及双花的问题,这一点类似NFT以及比特币的UTXO机制。

对于模块化和合约组合性方面,Moe使用了模块和脚本设计,通过传递资源实现合约交互。Solidity(如以太坊)上面的Contract合约通过library(相当于静态库)进行消息的传递,从而实现Contract合约之间的调用、交互。而Move语言使用了模块(module)和脚本(script)的设计,前者类似于Contract合约,Move语言的合约组合性则是模块之间的组合,通过传递资源(即前文提到的resources)。关于组合性方面,Solidity和Move的区别非常明显。

在交易执行方面,Move的并行处理相交Solidity带来区块链性能的极大提升。并行执行(PE)通过识别独立交易并同时执行,这极大提升了区块链的扩展性。Solidity并不支持并行处理,如以太坊上的交易按顺序执行,其他交易置于暂停(排序)状态――因此产生了mempool(内存池)和MEV市场。如基于Move的公链Aptos,利用Block-STM(SoftwareTransactionalMemory)引擎实现并行处理,带来性能的明显提升。

风险提示:区块链商业模式落地不及预期;监管政策的不确定性。

声明:本文引用第三方机构发布报告信息源,并不保证数据的实时性、准确性和完整性,数据仅供参考,据此交易,风险自担。

标签: 编程语言 资源类型 并行处理

最近更新