当前位置:首页 > 资讯 >

公链赛道烽烟再起Move系新公链崭露头角

  • 公链
  • 2022-08-17 19:11:29
  • 89

区块链诞生以来,整个行业已经经历了几轮周期轮替。目前拥有最丰富生态、影响力最大的以太坊,由于性能问题和费用问题而饱受诟病,在周期中不断被后起之秀挑战。

上一轮周期中,涌现出了一批新的Layer1项目,如Solana、Polygon、Fantom和Near等,它们都试图在底层公链上进行一些改进和探索。

随着周期进入了新一轮熊市,一波新的公链正在崭露头角。其中,最受关注的,无疑是采用了Move编程语言的Libra系项目:Aptos和Sui。

2019年,当时的Facebook(现已更名为Meta)高调宣布推出全球流通的加密货币Libra(后更名为Diem)。后来由于监管等问题,Libra这个项目未能成型。但这也使团队意识到,要想真正建立有创新性的Web3项目,必须完全跳脱出传统领域,进入加密领域。

Aptos和Sui的开发者都曾是Libra的核心开发者,他们继承了Libra项目中的编程语言--Move语言,构建了这两条新公链。

本文将简单介绍Move语言的一些特点和这两条公链的现状。

智能合约的语言。许多人拿它来与目前主流的Solidity语言比较并认为其优于Solidity。主要是因为Move在诞生之初就被针对于区块链资产做了相关的优化。

安全

几乎每一个区块链项目都有自己的加密资产。资产的价值增长既是项目发展的结果,也是项目发展的动力。资产安全原本应该是项目发展的头等大事。但是加密行业频频发生的资产被盗、资产丢失事件让许多还未进入行业的投资者望而生畏。

根据慢雾的数据统计,2022年上半年发生了DeFi 安全事件约 100 起,损失超 16.3 亿美元,其中项目缺陷与合约漏洞是四大原因之首。

Move是为操作数字资产而生的语言。最初Facebook团队开发Move语言就是为了服务于Diem,打造全球化的金融和货币基础设施。所以Move必须有能力对构成金融基础设施的各种资产和业务逻辑进行编码。

在Move语言中,更强调资产和资源。用他们的说法就是“First-class resources”。Solidity和大多数编程语言一样,将Token或者加密资产当做一个数值来处理,资产转移的过程则是通过对账户进行数值加减来实现,例如Alice要给Bob转10个token,就先将Alice的余额-10,再将Bob的余额 10。在这个对多个资产账户进行加减的过程中就容易产生安全性漏洞,必须依赖于代码的严谨性,才能保证财产安全。

但在move语言中,资产被重新定义为一个resource(资源)类型,不再是字符串或数值变量。Move 编程语言抽象了资源的四个属性,可复制( copy ) 、可索引( key )、可丢弃( drop )、可储存( store ),通过这四个属性的不同组合,用户可以方便的定义出任何类型的资源。

资源优先的概念为程序员写出安全和有效的代码提供了很大的帮助。就像SUI 的开发团队编程工程师 Damir 说的:“一旦您开始像对象一样思考,而不是像在哈希映射这样的编程原语上构建的抽象思考,您就能时时刻刻知道自己在做什么,就像具有无限表达性和明确说明类型一样——过去是什么,现在是什么。”这种设计让对资源的操作变得更加具象,更清晰可见。

Move还定义了一些资源的特性:

  • 如与账户进行绑定。Resource 数据必须要绑定在账户下面,所以只有分配了账户后才会存在对应的 Resource 资产,以及 Resource 只要取出后就必须有一个去向,要么将其作为返回值传递即流向一个账户,要么直接将其销毁。可以理解成 Move 的 Token 移动是转移,从一个账户转移到另一个,而 Solidity 则是加减法,先在一处减了,再在另一处加上。

  • 再就是资产的访问权限。在 Solidity 中,数据集中存储在合约里,在合约出现漏洞的时候,一旦黑客获取到了合约权限,所有用户数据都将遭受攻击。

    而在Move 中,数据存储在拥有它的帐户中,而不是合约中。Move中有许多模块,模块是可以创建、转移、存储资产的程序,类似于以太坊中的智能合约。Move 规定只有公共模块功能可以被其他模块访问。

    每个 resource(对象)都存储在由所有者的帐户控制的模块里。想要访问或者修改模块时,必须有模块所有者的签名,签名者在 Move 中拥有最高级别的权限,并且是唯一能够将 resource 添加到帐户中的实体。此功能允许在智能合约中维护数字资产的所有权信息和特权。如果资产被发送到智能合约,所有权不会改变。在这种情况下,即使智能合约被攻击者攻破,资产也不会丢失。

  • 静态调用。那什么是静态调用?静态调用是与动态调用相对的。一个程序在调用另一个程序时,如果必须到运行时才能确定被调用的目标,则称该调用为动态调用;反之,如果程序在运行前即可确定被调用的目标,且在运行时无法变更该目标,则称该调用为静态调用。

    Solidity中的调用都是通过动态调用实现的,由于无法确定调用对象,所以可能造成循环调用,这带来了很大的安全风险。例如 TheDAO 攻击、PolyNetwork 跨链攻击,就是类似的事件。

    Move语言吸取这些教训,选择了静态调用的设计,降低了运行时程序崩溃的可能。

  • 形式化验证。形式化验证就是通过数学的手段证明程序的安全性。Move团队为使用者开发了Move Prover工具,可以使用数学的手段来测试和证明合约的可靠性,开发人员可以在几分钟内运行测试,使他们能够在部署前就发现代码中的错误。

  • 简而言之,Move是专门针对区块链资产和智能合约而创立的语言,在安全性和可验证性上都大幅优于Solidity。

    公链赛道烽烟再起Move系新公链崭露头角

    Move系新公链

    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 的路线图,激励测试网有 4 轮,分别是:

      -AIT1:去中心化启动

      -AIT2: 质押

      -AIT3:治理和升级

      -AIT4:动态验证器拓扑

    Aptos激励测试网2(AIT2)从7月1日开始,到7月22日结束,主题是质押。共有超225个社区节点参与了AIT2,这些节点分布于全球44个国家和110个城市。每位成功的参与者获得500枚Aptos代币。此外,前10%的投票节点获得额外的200枚Aptos代币。

    Aptos激励测试网3(AIT3)从8月30日到9月9日,主题是治理和升级。

    Aptos 在博客文章中表示,其测试网络已经达到了 20,000 多个节点,同时,该测试网络可以每秒验证和同步超过 1 万交易 (TPS),延迟为亚秒级,正在向超过 10 万的 TPS 迈进。

    公链赛道烽烟再起Move系新公链崭露头角

    按照路线图,Aptos计划在今年9月份前上线主网。

    • 安全性

    除了采用了更安全的Move语言作为开发语言之外,在共识方面,Aptos采用了优化后的拜占庭共识「Proof-Of-Stake Diem BFT」,在过去三年中进行了四次共识方面的迭代,以实现高事务吞吐量、低延迟及更节能。

    Aptos 的 BFT 协议使网络保持平稳运行,同时也保持世界级的速度。Aptos 使用信誉系统来更新验证者轮换并使用“起搏器”同步投票。该系统在不到一秒的时间内完全验证交易(通常称为“最终确定时间”的度量),这使其成为生产中最快的区块链之一。 

    为保证安全性,Aptos还启用了大量验证器来进行测试。为了防止密钥丢失或被盗,Aptos 中还设置了帐户密钥恢复和轮换协议,具体表现为 Aptos 支持任何帐户轮换其私钥,验证者还可以定期轮换他们的共识密钥。为防止密钥丢失,Aptos 还在开发可直接集成到区块链账户模型中的密钥恢复新技术。

    • 可扩展性

    Aptos主张Layer1区块链应该承担更多的「可扩展性」责任,这样才能提高主流采用。在提高吞吐量与最终确定性速度的规划中,Aptos 计划将共识协议与交易执行完全分离以加快交易的广播。

    Aptos还对身份验证的数据结构和相关的状态存储进行了优化,以提升性能。在验证账本状态(例如账户余额、智能合约等)时,内存中的小规模的Merkle tree 是有效的,但大型 Merkle tree 无法写入持久存储。为解决这个问题,Aptos 正在通过探索通过访问模式优化的缓存和版本控制来设计经过身份验证的数据结构,且 Aptos 还在开发对大型帐户的支持。

    • 可升级性

    区块链发展速度极快,为了适应新的需求,在协议发布后如何不停运升级成为了系统刚需。可升级性是Aptos强调的另一重点,以解决启动后难以做重大协议改进的问题。因此,Aptos对区块验证者的管理和配置都直接通过链上状态进行,以便社区投票后快速执行升级。Aptos这样的设计在过去几年的测试中经受住了考验,它在几次重大升级中都没有出现过停机。

    • 生态

    Aptos 举办过一届 Aptos 黑客松。今年 6 月底,Aptos 推出了 2 亿美元的生态系统资助计划,资助类别包括 6 类,分别是开发人员工具、SDK、库、文档、指南及教程;用于开发、治理、DeFi 和 NFT 的工具和框架;核心协议贡献:代币标准、库、协议升级等;开源和公共产品;教育举措;应用程序。

    据 Aptos自己的说法,Aptos 生态已有超过 100 个项目在网络上构建,目前其生态上的应用中有较为详细介绍、发展路线图的就只有 Pontem Network、Econia、Fewcha Wallet、Martian Wallet 4 个,聚焦在钱包和 DEX 应用两方面。

    公链赛道烽烟再起Move系新公链崭露头角

    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同时减少了节点之间通信,以实现极低的延迟。

    • 现状

    本月,Sui将启动激励测试网,目前已开放测试网注册。Sui基金会将为验证者参与的每个测试网络wave奖励2000枚SUI代币。按照路线图,测试网将分为4个wave,其中三个wave已确定主体,分别是:网络、质押和升级。

    公链赛道烽烟再起Move系新公链崭露头角

    • 生态

    目前Sui生态上公开的项目有8个,主要是钱包类、链游和NFT。

    结语

    Move语言基于Solidity的经验和教训,进行了多方面的创新和改进,在安全性上有了大的提升,也更适用于智能合约的开发。而基于Move语言的新公链们,也给Layer1的发展带来了更大的想象空间。随着顶级投资机构们纷纷入局,最终公链赛道鹿死谁手,还未可知。

    猜你喜欢

    微信二维码

    微信