与其他区块链相比,具有资源模型的区块链有很多优势。
原文标题:《DAOrayaki |Aptos 对比回顾:Move 语言和资源模型》
撰文:DAoctor, Shaun
最近,基于 Move 语言的区块链项目即 Aptos ,被广泛关注。截止到今天为主(09.13)Aptos,社区成员已经突破 10w 用户,生态项目覆盖 Wallet、DEX、DeFi、Web3、NFT 和 MemeCoin、Game & Metaverse 等多个领域;据统计到的数据,生态项目已达 250+。
自以太坊以来,出现了许多新的 layer1 区块链,旨在解决已有公链尚未解决的的难题。区块链努力平衡去中心化、可扩展性和安全性的三难困境。其中大多数旨在实现可扩展性以促进使用率。Aptos 旨在解决困扰现有 Layer1 的可靠性、可扩展性和可用性问题,同时具有基于 EVM 的区块链缺乏的安全功能。
Aptos 以高性能著称,其背后是基于 Move 智能合约编程语言。关于 Move 褒贬不一,有人称其为智能合约发展的未来,也有人持谨慎态度,认为其并无太多创新。在众多公链的角逐中,我们可以看到使用最为广泛的 Solidity 语言、高性能的 Rust 语言,基于 Move 语言的是否能够胜出?
《智能合约发展:Move 与 Rust 对比研究[1]》一文对 Solana/Rust 与 Sui/Move 进行比较,其关键点如下:
智能合约是关于数字资产的编程,现有的编程语言和编程模型并不能适用。我们希望能有一种语言模型,能够自然地与资源打交道,但同时又与不受信的代码互动。
基于 Rust 的 Solana 在这里做了妥协,它使智能合约在一个不信任环境中具备了必要的可编程性,但其编程模型并不自然。字节码验证使其有可能同时拥有这两种特性。在某种程度上,它把不受信代码变成了受信代码。
基于 Move 的 Sui,核心创新之处在于字节码,被特意设计为可被验证。虽然字节码验证本身并不是一个新概念,但 Move 所做的验证确实是一种创新。通过其字节码和验证,Move 实现了一个智能合约编程模型,对资源支持并保证在一个不受信任的环境中安全编程。
Move 对智能合约开发的作用就像 React 对前端开发的作用一样。说「用 Move 做的事能用 Rust 做『就像说』用 React 做的事能用 jQuery 做一样。」当然有可能实现基于 jQuery 的应用,能够与 React 应用相当,但这并不实际。React 引入了虚拟 DOM 的概念,这对开发者来说是完全易懂的的,但使前台的开发速度更快、可扩展、更简单。同样,Move 的字节码验证是一种底层技术,对开发者来说也易于理解,但它提供了一个更符合人体工效学、可组合、更安全的智能合约开发。由于其安全性和更直观的编程模型,Move 也大大降低了智能合约开发者的准入门槛。
除了以上对比之外,我们可以再回顾下比特币和以太坊。比特币的出现向世界展示了分布式账本技术是如何工作的,以及人们如何建立一个完全基于密码学的金融系统。比特币很强大,但只实现一个功能:记账。要扩展这种分布式账本模型以获得更多实用性,必须构建另一个区块链网络。如:用于加密传输的网络、内容网络,音乐共享网络等等。这就是以太坊作为可编程区块链平台发挥作用的地方,它允许构建和部署称为智能合约的链上程序。开发者部署不同的智能合约来创建加密货币或 NFT,或者构建共享相同底层基础设施的 DeFi 平台或 NFT 市场。
以太坊于 2015 年推出时,实际上无法看到它可以做什么,或者将在其上构建什么样的智能合约。现在,经过七年多的发展,从业者对 dApp 和区块链有了更好的了解。几乎所有能够更好地利用区块链特性的 dApp 都与资产或所有权有关。不同的编程语言用于各种功能。例如,SQL 或结构化查询语言与 JavaScript 不同。前者跨多个数据库对结构化数据执行操作,而后者用于开发交互式网页的跨平台应用程序。但是,尽管区块链的透明度、去中心化和防篡改使交易更加安全,但它在数据存储方面比传统的集中式金融系统更慢且成本更高。此外,尽管有一些量身定制的链上数据存储机制,但以太坊的智能合约语言和虚拟机(VM)大多基于中心化编程语言。它对数字资产和所有权等高价值数据的处理与客户十二生肖等低价值数据没有任何不同。由于大多数 dApp 处理的是高价值资产,它会促使黑客在区块链智能合约中寻找漏洞,发生了许多安全事件,导致大量资产损失。有些是故意攻击,例如 DAO 的重入黑客;有些是意外事故,例如 Parity 钱包的锁定。
Apots 和 Sui 都是基于 Move 的变体,通过采取不同的机制,来实现同样的功能。Aptos 的资源模型如何解决以上问题的?本文对 Aptos 的新功能,进行回顾。
在 Move 语言中,有价值的资产作为资源单独处理。受 Haskell 和 Rust 中的线性类型以及 Rust 的所有权模型的影响,Move 中的资源受到一定的限制:
由于这些特性,Move 模块(基于资源模型的智能合约)有很多好处:
此外,Move 的语法使其有可能用形式化验证来证明一个函数完全做了它应该做的事情,并且永远不会产生意外的结果。
与其他区块链相比,具有资源模型的区块链有很多优势。它们可以实现安全性、性能和公平性,如果想把下一个 10 亿用户带到区块链上,这一点至关重要。Move 的历史并不长,但我们有理由相信这是一项伟大的技术并给智能合约的发展带来革命性的变革。
参考
1.https://medium.com/@kklas/smart-contract-development-move-vs-rust-4d8f84754a8f
2.https://github.com/move-language/move
3.https://aptos.dev
4.https://aptos.dev/assets/files/Aptos-Whitepaper-47099b4b907b432f81fc0effd34f3b6a.pdf
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。