Aptos:Aptos合约开发者笔记:「高性能」标签尚待验证,安全性设计优于EVM公链

笔者是?Meson?团队的智能合约核心工程师,过去几个月一直在高强度的开发Aptos合约。最近两天,终于赶在Aptos主网上线之际,完成了Meson协议在Aptos上的开发,这个过程中还是有挺多感受的。社区的好友和同事就鼓励我把这些经历写下来,希望可以对其他对Aptos感兴趣的人,尤其是技术背景的,带来一些参考价值。

我之前是Web2程序员,技术栈偏向机器学习/Python/C++。上一轮牛市2021年初进入的Web3,不过在牛市结尾的时候才开始静下心来学合约开发,跟着教程学Solidity,做过几个demo合约。当时有个契机,就是封城被隔离在家,什么也做不了,一个多星期的时间没干别的,就仔细读了几篇一线项目的审计报告。读完以后,感觉自己对合约的理解直接升华了,就跟朋友说,以前看合约代码,觉得这不就是小学数学么?但是后来再看,看到的是一个个大坑,以及项目方小心翼翼在坑上面搭好的桥。其实这个过程在后续做Aptos合约上帮助非常大,毕竟很多安全思路是相通的。想想如果当时没有封城,我可能还在区块链的黑暗森林里裸奔。

Ripple律师:两党人士需认识到定制的法规才能保护数字资产用户:金色财经报道,Ripple律师John E Deaton在社交媒体发文称,我希望共和党人和民主党人都认识到需要制定明智且量身定制的法规来保护数字资产的客户、用户和持有者。SEC/CFTC需要重点关注欺诈行为,操纵、拉高和抛售等。良好行为者的执法监管必须停止。[2023/7/26 16:00:02]

今年七月,看到有文章介绍几个新L1公链后,就决定开始系统学习Rust/Move。这个过程就艰辛一些。当然,也可以调侃的说,学习Aptos只需要三步:学习Rust、学习Move、学习Aptos,过程和“把大象放进冰箱”一样简单。我是从学Rust的第一天就开始头大,每天抱着Rustbook反复看。到Move/Aptos问题就更多了,虽然Aptos基于Move,Move基于Rust,但这三者还是有很大不同,Aptos上有很多利用Move开发出的新框架,这些都得了解。而且,Rust->Move->Aptos这个过程,文档和参考资料指数级递减,我在八月刚开始看Aptos的时候更是如此,文档和教程可以说是少的可怜,万幸的是加入了一些开发者社区,里面的大佬帮我解决了挺多问题。当时还有一个很坑但同时也很搞笑的是,Move这个词太常见了,在Google上搜Move语言相关的问题,什么都搜不出来,反而经常搜出来HowtomovetoCanada。

湖南高校首个区块链创新应用研究中心成立:金色财经报道,日,“湘信天河”区块链创新应用研究中心正式挂牌,研究中心由湖南省内第一所开设“区块链工程”专业的本科院校湖南信息学院与国内最早涉足区块链领域的领军企业——湖南天河国云科技有限公司联合成立。

根据教育部下发的《关于公布2021年度普通高等学校本科专业备案和审批结果的通知》(教高函[2021]14号),湖南信息学院获批湖南首个、唯一的“区块链工程”专业,本年度首次招生。(红网)[2022/12/19 21:53:38]

V神:EIP-4844是大规模降低L2费用的关键一步:11月24日,以太坊联合创始人 Vitalik Buterin 发文表示,EIP-4844(Proto-Danksharding)是大规模降低 Layer2 费用的至关重要的第一步,有助于使大量用户直接使用链上应用而不是依靠 CeFi 中间方。

此前报道,OP Labs 首席执行官 Liam Horne 发文表示,以太坊核心开发人员将于周四召开电话会议,讨论将 EIP-4844 纳入考虑范围,这并不意味着包含在下一个硬分叉中,但似乎有充分的理由为上海升级进行考虑纳入。[2022/11/24 8:05:19]

Move语言的区块链状态图

大概到九月的时候,就开始正式上手写Meson合约了,先把协议的框架搭出来,然后逐步小心翼翼的往里面添加功能:给合约里转入token、锁仓token、设置token解锁条件、验证解锁、转出token给用户。折腾了一个多星期,终于把这个流程跑通了,然后兴奋的上了Devnet,准备用Pontem钱包测试。

Solana上的Lido将于11月中旬升级至V2版本:11月2日消息,流动性质押协议Lido的创始团队P2P Validator在推特上宣布,将于11月中旬将在Solana上的Lido智能合约升级至V2版本。本次升级侧重于让验证者更去中心化,并允许运营商使用其现有的公共Solana节点而佣金不超过5%。

升级的主要变化包括:验证者将不再需要为Lido设置提款权限,将直接在账户中收到区块奖励和SOL的质押奖励;不需要100%佣金节点,节点运营商可以使用他们在Lido的公共节点或将他们现有的Lido节点公开;将最大节点佣金设置为5%,以便有资格在Solana上接收来自Lido的委托。[2022/11/2 12:08:13]

然后,Disaster来了!其实了解Aptos的人应该已经发现了,那就是:Aptos的token,根本不是ERC20对应的fungibletoken,而是NFT!可以说,我折腾了一个星期,写了个NFT交易合约……但这东西根本不是我想要的。想想过去一周的熬夜奋战和掉的头发,瞬间觉得NFT卖那么贵也是有道理的,只可惜这些代码我是用不上了,所以欢迎想在Aptos上做NFT的联系我哈哈哈。

前Curve首席运营官加入Outlier Ventures:7月15日消息,Web3风险投资公司Outlier Ventures宣布前Curve首席运营官Nathalie Oestmann和Delphi Labs内部孵化器首席运营官Benjamin Meyer正式加入,前者将担任该风投首席运营官一职,后者将担任客户服务主管。Outlier Ventures还表示,他们计划加大对Web 3创新者的支持,目前已通过与加密巨头HBAR 基金会、Protocol Labs、New Order DAO和Polygon合作,将130多家初创企业纳入旗下加速器。(Digital Journal)[2022/7/15 2:14:10]

开发者社区的朋友如是说到

Aptos上对应ERC20的其实是coin。当时Aptos的文档还没现在这么完善,我下意识的就开始集成token,还奇怪为什么一个普通代币一定需要description这个属性……coin和token的集成方式也有挺大不同,后者用id就可以定位,前者则要用generictype,所以大部分代码都要重构。不过有了之前的经验,Aptos代码也熟练了很多。重新写好后,也顺利的完成了前端集成。虽然只是个MinimalViableContract,但是基本逻辑雏形已经有了,团队里也开始有前端工程师和其他智能合约开发者,一起参与进来协作。当时第一次看到了即将上线的希望,可以说充满了期待和成就感。

接下来我主要的任务就是解决Aptos特性带来的疑难杂症,其中最主要的就是Aptos用的签名算法ED25519和以太坊签名算法ECDSA是不同的。我要实现的协议基于HTLC/AtomicSwap机制,需要保证一个签名可以同时在两边进行验证。这个问题最终也是解决了,不过主要是技术问题,如果大家感兴趣,可以之后再单写一篇文章来讲这里面的技术细节。

Aptos主网上线前的最后一个月,感觉项目方之前的努力,也开始更多的被大家看到。这一个月里,Aptos在极速更新各种功能:命令行客户端的安装,从几个小时的复杂操作,优化到几行简单的指令;中间隔了一周没看浏览器,然后界面就变得好看了很多。不过需要继续补充的点也不少:文档虽然更新的很快,但还有非常多关键的东西需要补充。其实Aptos源码里提供了很多便捷的特性,但这些都没有写在文档里,于是就需要花大量的时间去读Aptos合约框架的源码,错过了就没有机会在别的地方学到,开发过程中很多坑也是这样产生的。

再说说主网上线:第一天宣布上线的时候感觉像是被催着上线的一样,没什么预兆,也没公布Tokenomic,只说了第二天要上几个大交易所,此时所有用户手里都没有APT,免不了一片骂声。不过这阵骂声随着第二天公布的Airdrop完全消失了,然后又是,几个在测试网刷到了空投的朋友们,开始把焦虑传给各个群聊。

作为一个开发者最大的感受就是,大家知道它是“高性能公链”,但是完全不知道更具体的了,也不太知道Move语言和Solidity相比有哪些新的特性,资产安全性做了哪些改善。但其实,这些才是公链长期发展的核心。没发空投的时候很多人宣传TPS最高是4,其实想想也能知道,Web3的新公链做到这个水平就不好意思宣传了;而TPS当时是4的原因是,大家都没有APT,所以主网上没有交易而已。测试网的TPS就远超这个数。至于是否真的更安全,还是需要时间来考量的,黑客出现之前大家永远不知道最严重的bug在哪里。不过我还是从Aptos的技术上看到了不少比EVM公链更好的安全性设计,具体也可以看看Jolestar老师的twitter:

最后想说,过去几个月,成功在Aptos上完成了一个完善的智能合约,并且即将上线主网,内心还是相当有成就感的。感谢这个过程中所有提供过帮助和宝贵建议的朋友们,虽然大部分从未谋面,我也只知道他们的头像多值钱,不过相信有这么一群人,Aptos的发展还是未来可期的。拭目以待吧!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-0:935ms