最近Aptos、Sui的新热潮带火了Move相关的生态概念。我们团队从事Move相关的工作一年多,算是全球最经验最多、踩坑最多的开发者团队之一,借此分享一下对Move的看法与理解。
作者:3NJOYLab创始人Flex
转自:《为什么我认为Move终将超越Solidity》
最近Aptos、Sui的新热潮带火了Move相关的生态概念。我们团队从事Move相关的工作一年多,算是全球最经验最多、踩坑最多的开发者团队之一,借此分享一下对Move的看法与理解。
我们团队过往在?Ethereum、Solana生态上都开发过项目,而自从我接触了?Move?之后一直保持着一个观点:Move是目前最先进的智能合约语言,未来是一定会超越Solidity生态系统的,这也正是我们团队坚持在?Move?领域持续开发的源动力。
为资产安全而生
现今数字资产概念在不断扩展,“数字”的属性不断被弱化,“资产”的属性不断被强化。几乎每一个加密项目都会有加密资产,并且加密资产的不断增值往往成为项目发展的动力,但资产的增值与项目的发展离不开资产安全。
资产安全似乎是所有平台应该给予的基本保障,但事实却令人沮丧,我们已经看到了一次又一次的被盗事件。
这让我意识到Move的优越性。Move编程语言通过资源定义与控制权限分离、静态类型、泛型、模块系统、形式化验证等特性使得智能合约语言更适合其面向资产的场景,从智能合约层面保障数字资产的安全。而通过资源定义与权限控制分离,不仅明确了资源属性,也让用户可以灵活地管理和转移资产,同时提供安全和保护措施,防止这些资产受到攻击,这让Move语言有相比Solidity更高的安全性。
面向资源编程
除了安全之外,最吸引我的还是?Move更具有表现力的面向资源编程的理念,当然,这种理念也是它是让它更安全的的特性之一。
在Move里,资源是一等公民,在编程的时候是必须被首先考虑的被编程对象。
Resource可以对应到我们物理世界中的实物,创造出来是需要有一定的权限或者消耗其他Resource的,而创造出来之后不能被复制也不能凭空消失。就像是一杯咖啡,只能选择喝掉或者倒掉,不能复制。
当我们在编写合约的时候最重要的事情就是思考如何定义Resource的属性,Move编程语言抽象了资源的四个属性,可复制(copy)、可索引(key)、可毁灭(drop)、可储存(store),通过这四个属性的不同组合,用户可以方便的定义出任何类型的资源。这种针对Resource的设计天然就保证了一些常见的安全问题比如复制增发不会在出现。
Move通过对资源操作权限的抽象,用户可以明确定义资源可被操作的行为,从而将自己的注意力转移至其他更应该被关注的地方,编写正确的业务逻辑,实现正确的访问控制策略等等。
提高可组合性
过去我们一直在讲智能合约的可组合性,而在Solidity生态的智能合约的可组合性更像是基于Interface?间通过消息传递进行的组合。而在Move是基于Module间的组合,通过资源的传递进行交互。
怎么理解他们之间的不同呢?以建造一个汽车工厂为例,Solidity的做法是定义了这个工厂的生产标准以及流程,每一个想来造汽车的人都需要先造一个符合生产标准及流程的工厂,然后才能创造汽车。而Move的方式是工厂就只有一个,想要造汽车的人使用这一个工厂就能造出来大家都认可的汽车。
这样带来的好处一方面是节省了合约占用的区块空间,我们不需要重复创造工厂了,另一方面的好处是优化升级变得容易,不会自缚手脚了。
比如在以太坊上,当我们想扩展一些新的行为或者做一些实现上的优化,那我们需要重新定义过往的接口,同时也会影响旧的方法,像ERC721和ERC721A,ERC4907这些优化和新的定义,是没有办法直接让过去所有使用了ERC721的合约直接进行升级迭代的。
而Move基于Module间的组合只需要对Module进行升级和优化,所有使用过这个Module的其他合约都会自动使用最新的版本。
这种合约层面的可组合性和面向资源的编程带来的表现力与可扩展性是其他语言无法带来的。同时针对资源的定义也更贴近现实世界中各种资源的组合方式,比如乐高,组装电脑的主机的各种配件。
Move这些特点带来的一个关键性的好处就是可以非常明确的将资源的定义和资源相关的行为进行拆分。
就像一个物品,物品的本身定义只是决定了他以什么形态展示,具有那些属性,能够以什么方式被销毁。而他的所有权,是否可以进行转让等等相关的行为,完全有物品的所有人或者使用方来决定。
这跟现实世界是高度相似的,当一个商品摆在货架上的时候,是可以被任何人购买的。而当商品放在保险柜里,就收到了其他规则的限制。
总结
资产安全、资源抽象、可组合这些都是Move在语言层面上的特性,综合来说,我认为它是最适配链上应用开发的语言,它的特性与DeFi、NFT等产品的需求高度契合,并且Aptos、Sui、Starcoin等新公链存在市场空白,NFT、DeFi等业态尚未成熟,我认为以Aptos为代表的新公链崛起将是所有掌握Move语言团队的巨大机会。
这也是为什么3NJOYLab下的两款产品Souffl3和Wav3会在第一时间allinMove生态从事NFT领域的基础设施方向的工作。
随着?Aptos和Sui的测试网上线与开发者社区的不断壮大,Move走入了更多人的视野,我们团队也期待看到,越来越多的人可以利用这些语言上的特性和优势,搭建更多有意思的应用场景。
当网络从3G升级到4G的时候,大多数人不知道更快的移动带宽有什么用,但网络提速催生了移动互联网的大爆发。
当?Move和Aptos这些公链出现,大多数人不知道更低GAS、更高TPS的区块链和这门新的合约语言组合在一起会有什么用——我们也不知道,但我们相信,技术进步将会推动产品创新——正如历史已经显现过的经验一样。
在2022年,我们可以期待?Aptos和其它使用Move作为合约语言的公链上将会有丰富的应用雨后春笋般涌现出来,就像轰隆作响的蒸汽火车头,将带着加密网络向下一个去中心、可组合、安全的未来驶去。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。