新一轮公链叙事有两大亮点:一是以Move编程语言为核心的高性能新公链,二是以Celestia为代表的模块化区块链。借助这篇文章,我们简单说一下公链三巨头的最新崛起,从技术角度来说,他们背后的Move语言有什么好的。
快速浏览文章:Move语言系公链三巨头的崛起:目前的赛道霸主:AptosResource特点:Move的技术差异真正实现了数字资本化:Move语言系未来前景与历程研究:公链三巨头的崛起。2019年,全球流通Meta(原脸书)的超主权数字货币项目Libra问世,但谁想出道就是巅峰,Diem受监管限制被迫转型。今年1月底,Diem被Meta以约1.82亿美元的价格出售。在这个过程中,Libra和Diem团队留下了宝贵的遗产:—— Move language,弥补了Solidity和EVM的缺陷,以及衍生的公链团队,如最具代表性的Aptos、Sui和Linera。2021年12月,最早的公司Sui宣布获得3600万美元的A轮融资,投资方包括a16z和,Scribble Ventures,Redpoint,Lightspeed,Electric Capital,Samsung NEXT,Slow Ventures,Standard Crypto,比特币基地创投等2022年3月,Aptos完成2亿美元融资,也是a16z领投。2022年6月,Linera宣布完成600万美元种子轮融资。a16z是本轮融资的领投方,参与机构包括Cygni Capital、基马创投和Tribe Capital。2022年7月,Aptos完成1.5亿美元融资,FTX创投和Jump Crypto领投,a16z、Multicoin Capital和Circle Ventures参与;与此同时,隋爆出正在寻求2亿美元B轮融资,估值已达20亿美元。2022年8月,Aptos宣布将于8月30日推出激励测试网络3(AIT3)。项目方宣布AIT2非常成功,超过225个社区节点参与测试,分布在全球44个国家和110个城市。根据项目路线图,主网将在试验网结束后上线。不难发现,a16z故意押注“动语是公链赛道”,希望三个公链跑出下一个周期。移动语言三足鼎立的局面也正在形成。
在三大公链中,发展和生态进步最快的无疑是Aptos。到目前为止,它拥有更强大的社区,更活跃的开发者,更健全的dApp生态系统,我们在本文第三部分详细拆解。
排名第二的Sui发布了自己的白皮书token omics(SUI)。其经济模式有一个独特之处:计算费和存储费分开支付。用户在链上提交数据,既要交存储费,又要交计算费(俗称气)。计算费会进入股权奖励完成分配,一部分会转入存储基金;仓储费直接转入仓储基金,用于补贴未来随着网络的成长和成熟而增加的仓储成本。这个设计把链上数据的存储权还给用户,用户可以选择删除链上的数据来取消存储费。此外,Sui的开发工具包(SDK)试图连接其他生态系统和非加密应用,包括游戏API、SuiEcho、Handshake和其他有特色的SDK。但其生态应用布局与Aptos相比十分寒酸,公开报道中钱包相关的生态项目也很少。
与Aptos和Sui相比,Linera起步较晚,比较低调。在今年6月18日发布的官方推文中,只显示了官网的链接和使命。参考Honeycomb Tech 《新生代公链再攻不可能三角》中的研究:Linera致力于将这两种支付系统的费率引入面向应用的区块链网络,从而可以在几分之一秒内确认链上用户的操作。在网络性能方面,Linera提出了“线性扩展”的概念,通过增加机器数量,使系统容量翻倍。目前,区块链优先“顺序”执行的模式允许账户和智能合约在一系列交易中进行交互(如闪电贷款),但防止线性扩展。在Linera的线性扩展模型中,不同用户账号的操作可以同时运行在不同的执行线程中。
根据蜂巢科技的报告,今年3月,Aptos启动了开发者测试网络,5月,Aptos启动了激励测试网络的注册,将激励测试网络分为四轮:分散启动、认捐、治理和升级、动态验证者拓扑。目前,其测试网络已经达到20000多个节点,成为已知最大的节点社区。Aptos直言,社区的发展远远超出了他们最狂野的预期。根据计划,Aptos激励测试网络的剩余两个阶段预计将在未来两个月内完成,到9月底,Aptos将启动主网络。
虽然从长远来看,新公链的最终赢家还不明朗;但在短期内,Aptos无疑占据了“移动语言系统公链赛道”之王的位置,这是其发展速度和生态建设奠定的。
Aptos的明星团队让它在早期获得了很多明星资本的加持。据ForesightNews报道,其联合创始人兼首席技术官Avery Ching在脸书担任首席软件工程师超过10年,是前Meta的加密平台Novi team的技术负责人。大多数开发团队如Alden Hu和David Wolinsky都参与了Diem和Novi的开发。它的设计侧重于绝对安全性、可扩展性和可信中立性,其最终目标是能够在一秒钟内处理10万甚至16万笔交易。在如此强大的技术团队下,Aptos也充分展示了其R&D战斗力,并创造了以下突出的边际优势:
Aptos团队对其共识机制——拜占庭容错(BFT)进行了四次迭代,CSDN可以理解。为了实现高事务吞吐量、低延迟和高稳定性,在三分之一验证节点失效的情况下,仍能保证稳定运行。
预计它将比旧的公共链具有更快的事务处理速度。根据Aptos测试网络的数据,目前的网络每秒可以处理超过10000个事务。在理想状态下,Aptos的主网络每秒可以处理16万个事务。公开资料显示,近期有机构测试了各大公链的速度,Aptos Max TPS远超包括Solana在内的老牌公链。
Aptos在7月正式宣布了30多个生态项目。虽然很多都在测试网络和开发阶段,只有wallets和DEX可以交互,但相比其他Move语言,生态公链已经遥遥领先。今天公布的生态项目类型包括主流的dApp赛道,如Hive、DEX(Pontem Network)、NjordFinance、NFT(Topaz.so)、Aptosscan和Dapptos View。
充分利用Move开发语言与目前主流的公链Solidity语言竞争。接下来,我们将从技术角度详细解读Move语言的关键优势。
资源特点:Move真正实现了数字化资产化。Move语言被认为是最适合编写区块链智能合约的语言之一,多次与当前主流的Solidity进行比较。主要原因是Move更紧密地处理了区块链核心的代币资产,弥补了直观性和安全性上的坚固性不足。这里,我们将分别关注其最独特的资源类型。
由于资产的缠绕,安全问题已经成为区块链的核心问题。在Web2中,如果产品bug或数据泄露,很难导致用户资产损失,最多导致产品崩溃或个人信息泄露和黑市销售。但是一旦智能合约因为资产缠绕出现bug,无数用户的资产会直接流出或者被锁定。我们经常可以从新闻中看到,黑客攻击了一些交易平台或者跨链桥,造成了上亿的资产损失。BuidlerDAO之前也制作了大量的研究报告来研究这些事件,这些事件大多是由于合同中相对低级的问题被黑客盯上而导致的。这引出了一个需要读者注意的关键属性:Solidity是区块链智能合约的编程语言,但不是区块链资产的编程语言。
为什么这么说?举个例子,Solidity和大部分编程语言一样,把Token当作一个数值变量,也就是Token的传递过程是一个加减运算,也就是张三要给李四传递10元,那么张三的余额先为-10,然后李四的余额为10。
所以在Solidity中,资产是一个可以加减的数字,所以契约代码需要非常严格。比如加减法运算就有一些问题。张三-10,李四-20,或者张三-0,李四-10呢?因为这个过程是通过大量的代码逻辑在几个钱包里做加减,很难保证不会有问题。
原因是资产在坚固性上没有具体的定义,只是被视为年龄、电话号码之类的变量。资产的定义应该是唯一的,就像在物理世界里,我手里有一根金条,我想送给某个人。不管给的过程是怎样的,这根金条都不会从一根变成两根。所以,我们常说的数字资产,只能称为实实在在可以加减的数字,而不是资产。
移动可编程资源是移动安全和强大的核心,实现了真正的数字资产化。资源是一种数据类型。数据类型是定义数据结构的一种方式:
字符:如姓名、地址等,为字符串类型;
数字:如年龄、电话号码,可以是Int类型;
真假:有些对立面可以用布尔的真假来表示。
Move认为令牌资产是一种非常特殊和重要的数据,不应该用普通的数值类型来定义和表示,所以创建了一个单独的资源来定义链资产。这种方法有三个特点:
资源在Move中仍然以数值的形式存在,可以作为数据结构存储,也可以作为参数传递和返回。
资源可以安全地表示数字资产,其特殊之处在于不可复制、丢弃或重用,但可以安全地存储和转移,并且资源类型的值只能由定义该类型的模块创建和销毁,因此实现了资产而不是数字的意义。
资源适应区块链应用程序的特征,例如与帐户绑定。资源数据必须存放在账户下,所以对应的资源资产只有在账户分配后才会存在,资源只要拿出来就必须“使用”。资产用内置的Move_form方法从账户中取出后,要么必须作为返回值流向一个地方,要么直接销毁,也就是说资产取出多少,就用多少。还记得坚固性是如何工作的吗?它减少一个地址的余额,然后在另一个地址增加,再通过代码使减少和增加的数字一致,所以在Solidity中,资产的使用完全由代码逻辑实现,但Resource在底层封装了资产的概念,而不是加减法,避免了资产凭空生成和随意访问,大大提高了安全性。你可以把Move的Token运动看成是把砖块从一个地方移到另一个地方,而Solidity就是加法和减法。
综上所述,Move是一种更原生、更适用的专门用于发布数字资产的编程语言,实现了程序与数字资产的直接融合。
技术差异总结:Solidity v.s. Move从比特币脚本到以太坊Solidity经历了DeFi的洗礼,Solidity无疑是成功的。但是,分析最近半年那些鲜活的安全漏洞,比如PolyNetwork,Horizon,Nomad,Solana等等,就让人不寒而栗。相比不可能的三位一体,如何保证链条中资产的安全,成为整个行业迫切需要面对的主要问题。a16z正是看中了这种潜在需求,一口气领动了三家公链。
未来,我们将迎来Web3时代。在这些漏洞的背后,VM也在不断查漏补缺,比如修复原有的溢出问题,但是很难对底层设计中的缺陷进行定性的改进。不同于以往的开发经验,DeFi应用本质上是一个开源透明的财务系统,对安全性的要求极高。因此,针对金融场景,设计一种门槛较低、更安全可靠的智能合约语言,可能是更好的选择。在这里,我们比较了坚固性和移动深度:
从上面可以看出,Move在坚固的基础上增加了很多功能,具有出色的安全性和工程能力。Move从Solidity的真实安全漏洞中吸取了宝贵的经验,在底层安全设计上做了很大的创新,既保证了语言表达能力和灵活性,也让开源系统更加安全可靠。
比如栗子里有100个代币,在Solidity里,黑客可以很容易的把100个代币复制成更多的代币(参考无限发行的漏洞)。但在Move中,只要将令牌定义为资源类型,就保证了令牌无法从虚拟机层面被复制和修改,黑客永远无法通过复制的方式窃取令牌。
对于Move,还有许多类似的优势:
面向资源的编程
Move专门针对金融场景进行了增强,并引入了面向资源的编程。对于FT、NFT等常见场景,Move将数据定义为资源,可以从虚拟机层面保证数据的安全性。
纯静态语言
动态调用是稳固性的基石,所有的跨契约调用都要通过动态调用来实现,比如DelegateCall,但它也是大多数安全漏洞的入口,比如TheDAO攻击,PolyNetwork跨链攻击等等。鉴于实感的真实体验,Move采用完全静态的实现,更好地保证了链中资产的安全。
形式证明
形式验证是FV(formal verification),是指用数学工具分析可能的设计行为的空间,而不是计算具体值的结果。换句话说,程序的安全性是用数学手段证明的。Move自带形式化的验证工具,我们可以用数学的手段来测试和证明契约的可靠性,这是Solidity无可比拟的优势。
分散存储
在Web3时代,用户对数据的掌握就是所有权。Solidity以地图的形式集中存储合同数据。当合同存在漏洞时,比如获得合同所有者权限,所有用户数据都会被攻击。Move巧妙地利用了资源,可以将数据存储在每个用户自己的账户下,既保证了数据的安全性,又真正保证了数据的所有权属于用户,契约的所有者无权修改数据。
通用面向程序设计
出于安全性考虑,Move被设计成纯静态语言,但其灵活性并没有降低。通过为泛型编程,Move确保了契约的可扩展性,增加了代码的可重用性。
动未来观及课程学习从脚本到固化是合同表达能力的变化,从固化到动是合同保障能力的变化。
Move是开发人员友好的。Move语言的目的是降低开发者的安全门槛。合同开发人员可以专注于业务逻辑,而无需在代码安全性上花费大量时间。只有让合约开发者毫无感觉的编写高安全性代码,远离低级bug带来的安全漏洞,DeFi才能更安全,用户才能更放心。Move有很多优秀的特性(比如工程能力)是我们在本文中没有阐述的,但是值得探讨。