上一轮周期中,涌现出了一批新的Layer1项目,如Solana、Polygon、Fantom和Near等,它们都试图在底层公链上进行一些改进和探索。
随着周期进入了新一轮熊市,一波新的公链正在崭露头角。其中,最受关注的,无疑是采用了Move编程语言的Libra系项目:Aptos和Sui。
2019年,当时的Facebook(现已更名为Meta)高调宣布推出全球流通的加密货币Libra(后更名为Diem)。后来由于监管等问题,Libra这个项目未能成型。但这也使团队意识到,要想真正建立有创新性的Web3项目,必须完全跳脱出传统领域,进入加密领域。
Aptos和Sui的开发者都曾是Libra的核心开发者,他们继承了Libra项目中的编程语言--Move语言,构建了这两条新公链。
本文将简单介绍Move语言的一些特点和这两条公链的现状。
Move语言被称为是最适合编写智能合约的语言。许多人拿它来与目前主流的Solidity语言比较并认为其优于Solidity。主要是因为Move在诞生之初就被针对于区块链资产做了相关的优化。
几乎每一个区块链项目都有自己的加密资产。资产的价值增长既是项目发展的结果,也是项目发展的动力。资产安全原本应该是项目发展的头等大事。但是加密行业频频发生的资产被盗、资产丢失事件让许多还未进入行业的投资者望而生畏。
Move还定义了一些资源的特性:
-
如与账户进行绑定。Resource 数据必须要绑定在账户下面,所以只有分配了账户后才会存在对应的 Resource 资产,以及 Resource 只要取出后就必须有一个去向,要么将其作为返回值传递即流向一个账户,要么直接将其销毁。可以理解成 Move 的 Token 移动是转移,从一个账户转移到另一个,而 Solidity 则是加减法,先在一处减了,再在另一处加上。
-
再就是资产的访问权限。在 Solidity 中,数据集中存储在合约里,在合约出现漏洞的时候,一旦黑客获取到了合约权限,所有用户数据都将遭受攻击。
而在Move 中,数据存储在拥有它的帐户中,而不是合约中。Move中有许多模块,模块是可以创建、转移、存储资产的程序,类似于以太坊中的智能合约。Move 规定只有公共模块功能可以被其他模块访问。
每个 resource(对象)都存储在由所有者的帐户控制的模块里。想要访问或者修改模块时,必须有模块所有者的签名,签名者在 Move 中拥有最高级别的权限,并且是唯一能够将 resource 添加到帐户中的实体。此功能允许在智能合约中维护数字资产的所有权信息和特权。如果资产被发送到智能合约,所有权不会改变。在这种情况下,即使智能合约被攻击者攻破,资产也不会丢失。
架构安全
Move 在Solidity的安全事件中吸取了经验和教训,在 Solidity 的基础上,增加了很多的特性,在底层的安全设计上有很大的创新,让系统变得更加安全可靠。
Move语言有几个特点:
-
静态调用。那什么是静态调用?静态调用是与动态调用相对的。一个程序在调用另一个程序时,如果必须到运行时才能确定被调用的目标,则称该调用为动态调用;反之,如果程序在运行前即可确定被调用的目标,且在运行时无法变更该目标,则称该调用为静态调用。
Solidity中的调用都是通过动态调用实现的,由于无法确定调用对象,所以可能造成循环调用,这带来了很大的安全风险。例如 TheDAO 攻击、PolyNetwork 跨链攻击,就是类似的事件。
Move语言吸取这些教训,选择了静态调用的设计,降低了运行时程序崩溃的可能。
-
形式化验证。形式化验证就是通过数学的手段证明程序的安全性。Move团队为使用者开发了Move Prover工具,可以使用数学的手段来测试和证明合约的可靠性,开发人员可以在几分钟内运行测试,使他们能够在部署前就发现代码中的错误。
简而言之,Move是专门针对区块链资产和智能合约而创立的语言,在安全性和可验证性上都大幅优于Solidity。
图片来源:BuilderDao
从开发进展、生态丰富度、融资进展来看,Aptos目前是Move系新公链中的龙头项目。
今年3月,Aptos 完成 2 亿美元融资,同样由 a16z 领投。参投方包括Tiger Global、Multicoin Capital、FTX Ventures、Coinbase Ventures、Binance Labs等顶级机构。今年7月25日, Aptos 又完成了 1.5 亿美元融资,FTX Ventures 和 Jump Crypto 领投,a16z、Multicoin Capital 和 Circle Ventures 等参投,不到半年,Aptos筹集了3.5亿美元。
Aptos 成立于今年2月初,但是继承了过去几年Libra团队的开发成果,旨在追求区块链安全性、高性能、可扩展性和可升级的发展。其核心开发者都是原Libra项目中的开发人员。
现状
今年3月15日,Aptos发布了开发者测试网,5月,启动了激励测试网(AIT1),为开发人员和合作伙伴提供了类似于主网的测试平台,并对所有帮助保障网络安全的参与者提供激励。
Aptos激励测试网3(AIT3)从8月30日到9月9日,主题是治理和升级。
Aptos 在博客文章中表示,其测试网络已经达到了 20,000 多个节点,同时,该测试网络可以每秒验证和同步超过 1 万交易 (TPS),延迟为亚秒级,正在向超过 10 万的 TPS 迈进。
安全性
除了采用了更安全的Move语言作为开发语言之外,在共识方面,Aptos采用了优化后的拜占庭共识「Proof-Of-Stake Diem BFT」,在过去三年中进行了四次共识方面的迭代,以实现高事务吞吐量、低延迟及更节能。
Aptos 的 BFT 协议使网络保持平稳运行,同时也保持世界级的速度。Aptos 使用信誉系统来更新验证者轮换并使用“起搏器”同步投票。该系统在不到一秒的时间内完全验证交易(通常称为“最终确定时间”的度量),这使其成为生产中最快的区块链之一。
为保证安全性,Aptos还启用了大量验证器来进行测试。为了防止密钥丢失或被盗,Aptos 中还设置了帐户密钥恢复和轮换协议,具体表现为 Aptos 支持任何帐户轮换其私钥,验证者还可以定期轮换他们的共识密钥。为防止密钥丢失,Aptos 还在开发可直接集成到区块链账户模型中的密钥恢复新技术。
可扩展性
Aptos还对身份验证的数据结构和相关的状态存储进行了优化,以提升性能。在验证账本状态(例如账户余额、智能合约等)时,内存中的小规模的Merkle tree 是有效的,但大型 Merkle tree 无法写入持久存储。为解决这个问题,Aptos 正在通过探索通过访问模式优化的缓存和版本控制来设计经过身份验证的数据结构,且 Aptos 还在开发对大型帐户的支持。
可升级性
生态
Aptos 举办过一届 Aptos 黑客松。今年 6 月底,Aptos 推出了 2 亿美元的生态系统资助计划,资助类别包括 6 类,分别是开发人员工具、SDK、库、文档、指南及教程;用于开发、治理、DeFi 和 NFT 的工具和框架;核心协议贡献:代币标准、库、协议升级等;开源和公共产品;教育举措;应用程序。
据 Aptos自己的说法,Aptos 生态已有超过 100 个项目在网络上构建,目前其生态上的应用中有较为详细介绍、发展路线图的就只有 Pontem Network、Econia、Fewcha Wallet、Martian Wallet 4 个,聚焦在钱包和 DEX 应用两方面。
2021年12月,Move公链里起步最早的 Sui 公布了 3600 万美金的 A 轮融资,资方包括 a16z 与 NFX、Scribble Ventures、Redpoint、Lightspeed、Electric Capital、Samsung NEXT、Slow Ventures、Standard Crypto、Coinbase Ventures 等。今年7月12日,Sui被爆出正在寻求2亿美元B轮融资,估值已经达到20亿美元。
Sui的开发团队是Mysten Labs,他们设计了自己的高性能Layer1权益证明 (PoS) 区块链 Sui,发布于今年3月。
与Aptos一样,Sui也使用了Diem的开发语言Move,不过 Sui 的对象模型与 Aptos 略有不同。目前Sui 已经发布了他们的经济学白皮书,但是开发进展较慢。
在Move语言的使用上,Sui进行了升级调整,让该语言既能编写同质化加密资产(FT)的智能合约,也能编写非同质化(NFT)资产的智能合约。
在关乎网络性能的可扩展性方面,Sui主打交易并行化(transaction parallelization),即网络能够同时处理多笔交易。在大多数区块链中,区块链交易必须按顺序进行,而这些交易之间往往没有任何联系或依赖。这限制了交易量的扩展。而Sui可以锁定一笔交易的相关数据并实现独立验证,从而完成交易并行处理。
在共识协议方面,Sui 对有从属关系的交易使用BFT拜占庭共识,对独立交易采用拜占庭广播算法进行并行验证,因此在保证高TPS同时减少了节点之间通信,以实现极低的延迟。
现状
生态
结语
Move语言基于Solidity的经验和教训,进行了多方面的创新和改进,在安全性上有了大的提升,也更适用于智能合约的开发。而基于Move语言的新公链们,也给Layer1的发展带来了更大的想象空间。随着顶级投资机构们纷纷入局,最终公链赛道鹿死谁手,还未可知。