本文介绍了crypto三个主流语言的特点、大白话解释智能合约、Web3.0的开发有什么区别、高性能公链的不可能三角、分析Move工程师为何会传闻时薪高达1000多美金、以及Move语言是否值得学习。
原文标题:做客集客直播间--漫谈Move语言和Aptos
原文作者:LindaZ
原文来源:Mirror
受邀参加了集客的直播采访,观众主要为Web2大厂的程序员和产品经理,主要内容为:
1、crypto三个主流语言的特点;
2、大白话解释智能合约;
3、Web3.0的开发有什么区别;
4、高性能公链的不可能三角(有关于挑选女朋友的小秘密哦);
5、分析Move工程师为何会传闻时薪高达1000多美金;
6、Move语言是否值得学习
主持人:郑郑,以我们web2.0的语言大概有:C++啊,java, python,nodejs啊这些,能不能给我们科普一下目前主流web3.0的语言都有哪些?
郑郑:随着web3.0的发展,对于智能合约的需求越来越大,目前开发web3用到的语言主要有solidity、rust和move。
Solidity是一种高级的编程语言,语法类似JAVAscript,能够在以太坊虚拟机上运行;
Rust是一种流行的编程语言,它融合了C++等语言的性能和效率,添加了更简便的语法,简化了开发流程,对开发者来说更加的友好;
Move语言是专为数字资产发明的一种编程语言。move区别于其它主流web3语言的最大特点在于,它的resource资源是特别为数字资产定义的,而且不能被复制和隐式销毁,从而提高了数字资产的安全性,也通过这种方式,做到防止数字资产的意外丢失。
主持人:也就是说这三种语言都是针对智能合约的对吗?
郑郑:对的,可能小伙伴们还不了解智能合约究竟是什么,经常听说,看字面意思也很好理解,但认真解释起来,却也说不出个所以然。那么首先我们说智能合约的定义,是一套以数字形式定义的承诺,啥玩意呢?拆解来看,智能化就是一段计算机自动执行的程序,合约就是双方提前设定好的责任与权利,规定了你该干什么,我该干什么。
我们举个生活中的例子,自动售货机,就是一种简单的智能合约应用,每种饮料零食的价格都是预先设定好的,你选好了可乐以后付钱,机器就会自动吐出一瓶,这样就是一种智能合约,它被预先写好了运行规则,而且这个规则不可以被打破,任何操作都会得到相同的结果,比如不论是我买,还是南柯去买,按照相同的操作,都能从自动售货机里买到一瓶可乐。所以以这种例子或许更通俗的解释了什么是智能合约,它在生活中,也会运用到方方面面,比如金融借贷、房屋租赁、储蓄钱包、设立遗嘱等等。
主持人:其实就是web2.0的运行规则对吧?那web3.0与传统web2.0的开发有什么区别?
郑郑:因为我不是程序员,关于开发语言,如果说的内容有不准确的地方欢迎大家纠正:
在我们传统的web2.0里面可以简单的分为前端和后端,那么在前端这部分,web3.0和web2.0几乎一样,编写界面调取对应的API。
但web3对于后端和数据库的要求是不同的。
首先我们来看看区块链相关的开发者,大致可以分为以下三类:
第一类是核心区块链协议的开发者(可以简单理解为数据库),比如网络层或者共识层,这需要懂底层编程语言、分布式系统密码学等。
第二类是应用的开发者(可以简单理解为前端)。通常用流行的网页开发语言来搭建应用程序,然后再通过API与区块链互动。
第三类是智能合约开发者(可以简单理解为业务规则)。比如以太坊出现后,熟练Solidity开发的程序员需求量变得很大。
主持人:可以和我们简单说说web3.0公链及编程语言的关系吗?
郑郑:好啊,一个很好的问题。
首先我们来解释下公链是什么,它是一个完全去中心化的系统,是区块链发展的底层基础设施,在公链上可以发展各种游戏、NFT、交易所等项目,来构建生态。
主持人:也就是可以理解为ios或者安卓生态这样是吗?
郑郑:对,目前web3.0的公链有ETH、Solana,以及即将主网上线的Aptos等。它们分别是用Solidity、Rust、Move三种不同语言来写的,那么自然它们三条公链的特性也有所不同。
通常我们说万事万物都有一个不可能三角,比如说,一个女孩子,她的美貌、智商和脾气,就是个不可能三角,哈哈,同时占据某两方面的特点,通常第三个就不具备了,在座的男士可以想想自己的女朋友是不是如此,那么对于公链的特性,它也存在着一个不可能三角的问题,也就是说可靠性、性能、效率这三个方面,只能选其二,舍其一。
对于以solidity语言写的ETH公链,它选择了网络正常运行时间和效率,所以在冗余度上花费了一定的计算量,就导致性能会很缓慢。
对于Rust来编写的Solana公链呢,它把有限的计算量都花在了性能上,导致可靠性受到了负面影响。
对于Move语言写的Aptos,由于选择了高性能和网络正常运行时间这两个特性,所以为了有足够的计算来覆盖这两方面,就不得不放弃了效率。
主持人:所以各家的语言写各公链的智能合约有无可替代的优势对吗?
郑郑:差不多,不过并非不可替代,但各有所长。
主持人:听说move语言工程师的工资高达1200美金每小时,这是真的吗?为什么会这么高呢?
郑郑:是的,前段时间传言move开发工程师的时薪为1200美元,后来更是传到了时薪2000美元。虽然目前区块链开发工程师的工资水平已经是非常高,但是否真的是这个数字,感觉可能也还没到这种程度,但是市场需求决定价格。
我们可以从三个方面来分析一下move开发需求强、以及工资高的原因:
1、move系公链的团队及资方背景是TOP1级别的;
2、web3.0 项目方对move未来的期望值很高;
3、大众的好奇心理和话题度很高
第一,我们首先来讲一讲move公链的历史故事,这里可以分为技术背景和融资背景两部分。我们先来聊聊技术背景,之前Facebook发起了区块链项目Libra,希望去成为加密世界的美联储,但后来受到各国监管的约束,因此大幅缩减规模并改名为Diem。move语言正是为它的这个项目量身打造的区块链开发语言,但最后Facebook还是在监管的压力下解散了Diem团队。之后,原团队的核心开发成员则纷纷出走,创建了Aptos、Sui等同样使用move语言来构建的新兴公链。因此可以说这些move系公链与Facebook的区块链技术是一脉相承的,也就是说继承了facebook在区块链项目中的核心遗产。这是技术层面上的背景。
然后我们来看看融资背景,目前Aptos和Sui这两个move系的公链都已进行了多轮融资,金额都已达到了数亿美元,整体估值已分别达到了27.5亿美元和20亿美元。投资方是web3领域大名鼎鼎的a16z、coinbase、binance和FTX等顶级VC,因此在融资背景上也是十分的抢眼,换句话说,最精明的聪明钱在押宝move语言。
接下来我们来谈谈web3项目方的计划。在Aptos和Sui出现之前,去年一条著名的高性能公链项目叫做Solana,它从初期到顶峰,原生代币的涨幅高达成百上千倍,在它上面部署的生态项目中也出现了多个涨幅几十上百倍的项目。过往的造富神话还依稀在眼前啊,如今,Aptos和Sui也是高性能公链,而且根据官方的宣传,它还更具备安全性。所以说在之前财富效应的影响下,众多的web3项目方都希望来move语言构建的新公链上,去重现下一个暴富梦想。
最后我们来聊聊大众的好奇心,过去的财富神话已成为历史,再出现10倍的涨幅看起来已不再可能,而大众尤其在币圈,大家都是喜欢新鲜事物的,对它们的预期也会更高,此时在市场行情一片惨淡和无聊的叙事之下,以move语言为亮点的公链项目带着明星背景横空出世,一下就点燃了市场的热度,极大地吸引了大家的眼球和话题度。
因此根据上面三个方面因素,项目方愿意重金招募move开发工程师的需求是不是就讲得通了呢。
主持人:但多数公链兼容solidity,从开发者角度是不是学solidity性价比更高?
郑郑:多数公链兼容solidity,它是以太坊赋予的光环,但目前,move新语言已经反客为主,热度足以赋予一个项目极大的噱头。对于资本投资和学习新科技来说,我们认为玩新不玩旧,就像如今的大环境,即使是crypto熊市和世界经济的下行周期,但包括a16z在内的世界顶级资本还是花了5亿美金投资以move语言作为核心亮点的两大公链aptos和sui,可见这些世界头部的聪明钱,现在在关注什么,而且著名的风投Multicoin Capital合伙人在写文章解释为什么投资Aptos公链时,就直接以《move move move》作为标题,我想,这些聪明大脑的指示已经很明确了。我们都知道,选择有时比努力更重要,站在风口猪都能飞,我个人的观点和建议是可以选择学习move语言,谈及性价比,也许solidity适用范围更广,但如果你想走在web3这个新行业的新潮头,我觉得这门就是为金融而生的编程语言move可以优先考虑。
主持人:怎么理解move是为金融而生的语言?以及它和solidity有什么区别呢?
郑郑:用一句话概括就是,solidity是面向区块链智能合约的编程语言,而move语言对于区块链最核心的代币资产进行了非常贴合的处理,是真正面向资产的编程语言,这就弥补了solidity在直观性和安全性的缺陷。
在Solidity中,“资产”这个变量没有被特殊对待,只是看成一个普通的变量,当进行资产转移的时候,只对它进行了一些加减法的操作。可是,之前大量的黑客攻击几乎都是由于Solidity在资产上设计的太过薄弱而引发的。
Move语言对数字资产进行了重新的定义,将代币资产,也就是我们在web3的钱,作为一种很特殊且重要的数据,不是一个普通的数值类型,所以去单独创建了Resource来定义链上资产。所以我们说move是为金融而生的语言。
主持人:既然时薪那么高,它对无开发背景的人来说友好吗?也就是非程序员来说容易学习吗?
郑郑:Move语言的特性决定了它对于开发者来说,相对更容易上手,和更灵活,同时安全性也更高,因此现在也吸引了大量的开发者进入Move生态当中来,我自己和朋友也创建了学习move方面的公益社区,在筹划这一语言的教育课程,孵化生态项目,感兴趣的朋友可以询问主持人或者联系我,给大家友情提供帮助。至于说非程序员是否也容易学,这个问题我可能只想灌一句鸡汤吧:那就是骏马面前无沟壑,怂人面前全是坎。只要想学,哪有会不会一说,即使有编程的基础,如果不想学,move语言对他也是不友好的。一句鸡汤而已,大家听听就好,别被我打鸡血洗了脑,还是独立思考为好,do your own research
责任编辑:Kate