数据:Uniswap上ARB单币流动
a16z对话Move语言之父:为何Move是未来智能合约的重要方向
去年 a16z 等一众机构力捧以Sui 为代表的 Move 公链,让 Move 语言在 Meta Diem 的废墟上大热归来;与此同时,从Sui Move 出现那一刻起,不看好的声音也一直存在:
如果仅仅是因为 Move 语言有可能比 Solidity 或其它开发语言更优秀,我们就一定需要一个新的智能合约语言,并乐此不疲地从头开始搭建一个新Layer1吗?
近日,a16z Crypto团队与 MystenLabs 的联合创始人兼CTO 、Move语言之父Sam Blackshear 进行了一次主题为《Programming Languages & Crypto》的播客对话,探讨了为何 Move 是未来智能合约的重要方向。
在该次播客中,a16z Crypto 与Sam Blackshear 从传统编程语言与智能合约编程之间的差异和相似之处到辩论区块链的独特限制和机遇,展开讨论了Move语言的设计思想、面向对象和资产的编程、安全性,以及分享了形式化验证、治理和社区工具、跨平台适应性等话题。
主要分享内容包括:
1、编程语言与智能合约历史
从传统编程、到智能合约编程,再到Move编程。Move是最早的关于如何设计语言以适应类型系统、静态类型和编译时检查等问题的语言。
2、Move 智能合约的创新
EVM 过度适配了平台的实现细节,这些实现细节是为以太坊设计的。开发者最终不得不继承以太坊做出的许多设计决策,包括一些让以太坊难以扩展的错误。
Move在设计时,没有将任何区块链特有的东西加入到核心语言中。源代码语言层面的创新将会相当重要,Move最终能够提供的是代码验证器和VM级别的保护,以免受其他程序员的攻击。
3、Sui Move 的设计思想
Move 是一种可执行的字节码语言,用于执行用户交易和智能合约。在Sui Move 中,验证者可以更有效地进行并行化,这使得存储、执行都变得更容易,而不必将这些东西编码到协议级别,并让用户和程序员来考虑。
4、安全性
在智能合约世界中,我们处于一个约束状态。我们编写非常少量的代码,而且必须完美无缺,安全性必须是最首先要考虑的事情。Move 安全性是既要防止程序员自我脚踏,还要尽可能为他们提供正确的原语,以便他们能够防御攻击。
5、面向对象和资产
Move 被设计为一种面向对象和资产的智能合约编程语言,之所以被设计成这样,是因为大多数 Web2 面向对象的编程语言就是这样。在Sui Move中,将事物的中心点放在对象上,高度激励能够尽可能精确地表示细粒度访问。Sui Move 全局存储的结构是一个从对象ID到对象ID的映射。
6、安全性对比
Move 通过构造消除了重入和智能合约编程中缺失的权限检查问题。Move中,对象所有权信息实际上存储在对象元数据中,这不是程序员可以控制的东西。Move Prover 就是为了防止语言编写智能合约的错误而设计,可以避免开发者犯很多基本的错误。
7、智能合约语言的治理
最初,Move是在Facebook开发的,没有真正的治理。我们非常谨慎地扩展语言。简洁性是最主要的东西,但我们会积极地扩展它。Sam Blackshear 有一个非常具体的愿望,比如Move 被设计为一种跨平台语言,其中一些链EDM 的基本功能仍应适用,并且覆盖了智能合约开发能手和Web2新人,极具灵活性。
8、给开发者的学习建议
阅读大量代码,这是了解语言的最佳方式。乐意分享和深入探讨,并找到那些真正喜欢和他人分享你的代码,一起构建开源社区的人们。任何可以让你的工作变得更轻松的工具,你都应该学习它的工作原理。
以下为播客全文,全文约25000字,阅读时间约30分钟。
整理翻译:Sui World
主持人 Sonal Chokshi 介绍
欢迎来到Web 3.0,这里是a16z Crypto团队制作的关于建立下一代互联网的节目。我是您的主持人Sonal Chokshi。
本节目旨在为寻求了解和深入探讨加密和Web 3.0相关事物的任何人提供帮助,无论是开发人员、创作者、建筑师、企业领袖还是政策制定者。我们现在开始全新一季的节目。今天的节目主要讨论编程语言和加密货币,既适用于现有的智能合约程序员,也适用于其他寻求进入这个领域的开发人员。对于那些对编程语言的演变和出现感到好奇的人来说,这也是一个不错的选择。
我们今天的特别嘉宾是 MystenLabs 的联合创始人兼CTO Sam Blackshear ,该公司正在为Web 3.0的去中心化未来打下基础。Sam在编程语言方面有着资深的历史,从他的博士学位到在Facebook工作,再到创建并成为Move和开源编程语言的作者,用于构建智能合约。我们将更多地谈论这个话题。