可编程智能合约的 Beta 版现已在 IOTA 2.0 开发网 上可用
IOTA 进入 Web3。随着 IOTA 智能合约 Beta 版的发布,IOTA 在IOTA 2.0 开发网 上提供可编程智能合约,包括对以太坊虚拟机 (EVM) 的早期支持以及用 Solidity、Go (TinyGo) 和 Rust 编写的智能合约。我们目前正致力于扩展 EVM 支持、进一步优化和将智能合约移植到 IOTA 主网。与令牌化框架的集成一起,它将为 IOTA 上智能合约之间的无缝、无费用的互操作性和可组合性提供强大的解决方案。
随着 IOTA 智能合约 Beta 版的发布,IOTA 基金会朝着为 IOTA 添加新的实用程序层迈出了一大步,为构建去中心化应用程序 (dApps) 和其他 Web3 创新提供了无限的可能性。我们使用 IOTA 智能合约的目标是解决现有解决方案的一些缺点(费用、可扩展性、互操作性和有限的可组合性),并为建设者和早期采用者创造一个包含新机会的生态系统。
为了实现互操作性和易用性,IOTA 智能合约现在支持以太坊虚拟机 (EVM) 和任何用 Solidity 编写的智能合约。虽然这是一个早期的实现,但它已经提供了广泛的兼容性,将最大的智能合约生态系统连接到 IOTA 的免费基础层。这意味着 Solidity 合约可以轻松移植到 IOTA,从而减少实施时间并受益于当今市场上可用的 Solidity 工具和产品的庞大生态系统。这已经包括对 MetaMask 钱包的完全访问。
无需征得许可,无需拍卖,无需额外成本或费用即可部署智能合约链。执行智能合约的费用可以由链所有者设定,我们认为这将导致多个链相互竞争工作,这反过来将导致在加密货币中的所有可用选项中执行智能合约的费用尽可能低领域。事实上,智能合约链开发人员可以完全灵活地定义他们的链和代币经济。在未来,他们甚至可以将交易费用设置为零,而是用他们的原生代币奖励验证者,从而创建自己的经济并大大降低他们的 dApp 的进入门槛。
此外,已经开始在 IOTA 的基础层提供代币化资产的完全互操作性,这些资产可以在智能合约链中转移和使用。这将提供在不同智能合约链之间转移资产的能力,无需额外成本,完全无需信任且不会产生交易费用,这要归功于无费用的 IOTA 基础层充当了无需信任的原子桥梁。我们相信,仅此一项特殊功能将为 NFT 市场和去中心化金融 (DeFi) 和去中心化交易所 (DEX) 的开发人员创造前所未有的效用。
是什么让 IOTA 智能合约如此令人兴奋?
IOTA 智能合约的建立主要是为了满足我们行业不断增长的需求,推动新的创新,降低进入门槛,并创造一个环境,让数十亿用户加入我们的网络。智能合约链的技术架构与免费且高度可扩展的 DAG 分类账相结合,提供了一个引人注目的解决方案,以满足市场需求并解决当今解决方案面临的一些问题。
IOTA 基础层目前能够处理超过 1000 笔每秒的交易 (TPS)(未来还会更多),我们相信它是 IOTA 智能合约的完美信任锚和共享安全层。由于 Tangle 的 DAG 架构,我们能够并行执行智能合约并横向扩展:只需添加更多智能合约链,立即解锁更多吞吐量。这种可扩展性在保持所有智能合约的完全可组合性和互操作性的同时,只需利用 IOTA 作为去信任、无费用的资产桥梁。
灵活的开发环境使智能合约开发人员可以定义自己的智能合约链,使用他们喜欢的智能合约语言,并为用户和验证者等定义正确的激励措施。所有这一切都是为了让建设者拥有合适的生态系统,以扩展到主流采用并消除我们今天面临的主要进入障碍。
IOTA 智能合约的亮点是:
- 本地资产(L1 代币),用于去信任和无费用的资产桥梁。所有智能合约之间的完全互操作性。这将 DeFi 的乐高积木概念提升到一个新的水平,所有智能合约都是完全可组合的。
- 灵活的开发环境,可根据您的需求构建您的 dApp。IOTA 智能合约使您能够使用您喜欢的语言、智能合约虚拟机、用户自定义费用、验证者激励和委员会结构。dApp 定制和可组合性现在甚至可以在基础网络层上进行。
- 通过分片和正确的激励措施实现可扩展性。IOTA 智能合约是一个分片的智能合约网络,其中每个智能合约链都受其自身可扩展性的限制,不受网络其余部分的阻碍。令人兴奋的是,每个智能合约链都可以定义自己的激励措施和费用(甚至可能是免费的),为通过 dApp 获得主流采用提供了新的可能性。
- 完全兼容以太坊虚拟机 (EVM),无需任何修改或更改即可轻松从已建立的以太坊生态系统移植智能合约和工具。它还为 IOTA 在后期与以太坊建立桥梁提供了绝佳机会。
- 在 Solidity、Rust 和 Go (TinyGo) 中开发智能合约。
测试版的主要目标是帮助 IOTA 团队进一步改进和优化我们的解决方案。我们预计在最终产品发布之前会有错误和更多改进。但是通过这个测试版,我们已经在鼓励建设者开始意识到 IOTA 智能合约提供的机会。在此版本中,我们开始为开发人员解锁各种可能性,为 NFT、DeFi、游戏(特别是 Play-to-Earn)和 Metaverse 构建去中心化应用程序。
什么是新的?
今年 3 月发布的 IOTA 智能合约的 alpha 版本展示了智能合约如何在 IOTA 上工作。可以产生多个链,并且它们的状态锚定到第 1 层 IOTA Tangle。开发人员能够在单独的测试环境中开始编写智能合约,但此时无法将它们部署到链中。虽然这让我们很好地了解了 IOTA 智能合约的架构以及智能合约如何与 IOTA 一起工作,但它不允许我们在公共网络上运行自定义智能合约。此 Beta 版本会改变这种情况。
在 beta 版本中,改进并添加了几个关键元素,将 beta 版本变成一个平台,希望在 IOTA 之上开发智能合约的相关方可以利用该平台。
重构和兼容性
- 在 IOTA 2.0 开发网 上使用的 GoShimmer UTXO 分类账已经扩展了支持 IOTA 智能合约链的新功能,实现了验证器的轮换并引入了请求智能合约和标记化的新方面。
- 完整的 Wasp 节点代码库已经过重构以匹配最新的 GoShimmer 版本,使其与 IOTA 2.0 开发网 完全兼容。现在,任何人都可以运行自己的 IOTA 智能合约链,这些链锚定在 IOTA 2.0 开发网 或基于 GoShimmer 的私有网络上。
- 在此重构之后,alpha 版本的临时共识算法已被替换为更健壮的修改版 Honey Badger 共识算法。我们还在共识的实施中加入了矿工可提取价值(MEV)预防措施。
- IOTA 智能合约的所有部分都进行了全面的自动化测试和分析,以提高可靠性和性能。
- IOTA Wasp 节点使用的数据库层已被替换为基于 RocksDB 的更高效的实现。
实验性以太坊虚拟机 (EVM)/Solidity 支持
除了今年早些时候推出的现有的基于 Rust 和 Go 的 WASM 智能合约之外,我们决定添加对以太坊虚拟机 (EVM) 的支持。这允许开发人员在锚定到 IOTA Tangle 的 EVM 链中编写 Solidity 智能合约。占主导地位的智能合约生态系统主要围绕基于 EVM 的解决方案,其中包含大量现成的开发人员专业知识、学习材料和工具。这使其成为支持第一个附加虚拟机的明显选择。我们的第一个 EVM 实现(我们仍然认为是实验性的)与以太坊生态系统中的现有智能合约完全兼容,并有望降低在 IOTA 上构建智能合约的门槛,并更轻松地与其他链上的现有生态系统集成。
此实验性支持包括与 MetaMask、Hardhat 和 Remix 等现有工具完全兼容的完整 EVM 集成。作为用户,您可以创建一个 EVM 链,创建分配给自己的该链的主要代币的完整供应,并部署可以相互协作的合约。此版本中目前不提供与第 1 层 IOTA 令牌和数据的交互,但计划在未来的 IOTA 智能合约版本中实现这一点。
UTXO 分类账对智能合约链的扩展支持
随着 IOTA 智能合约测试版的发布,我们在 GoShimmer 的 UTXO 分类账中实现了新功能。分类帐现在为 IOTA 智能合约和其他在智能合约链上运行的应用程序提供了新的强大支持。它包括对地址别名、链约束、时间锁、账本请求的回退选项和许多其他功能的支持。
最重要的是,新的 UTXO 账本支持独立于操作它所需的分布式私钥的链身份。这意味着我们现在可以为链及其操作完全透明地轮换委员会中的验证者。
账外请求
此版本的另一个新功能是账外请求。虽然可以通过基础层上的常规 IOTA 交易与智能合约进行交互,但这并不总是最有效和最快的方式。等待消息被传播和确认需要几秒钟的时间,用户受到 IOTA 账本吞吐量的限制。
未来,我们将账本请求主要视为一种在不同链上的智能合约之间以及基础层用户钱包和链上账户之间进行去信任和本地资产转移的方式。
通过允许您直接与 Wasp 节点交互,而无需发出基础层事务,账外请求为账上本地交易添加了高吞吐量替代方案。通过将自己介绍给链并在那里存入代币,您将能够安全地向链上的智能合约发送任何请求,并在直接与各自链上的智能合约交互时使用这些代币收取任何费用(如果适用)。这种方法减少了对 IOTA 基础层的依赖和负载,大大提高了吞吐量和智能合约功能执行所需的时间。账外请求还包括重放保护。
模式工具
在编写智能合约时,通常需要提供很多样板。这不仅在每次开发智能合约时重新创建都很麻烦,而且还容易出错且耗时。因此,测试版附带了一个新工具来引导新的 Go (TinyGo) 或基于 Rust 的智能合约(编译为 Wasm 二进制文件)。这个模式工具将模式描述作为输入(定义一个人希望使用的功能)并创建所有样板代码和实现测试,允许开发人员专注于编写对合约重要的代码。用 Rust 或 Go (TinyGo) 编写的代码库中的所有现有概念验证智能合约都已使用 IOTA 智能合约架构工具重做。
Schema 工具将在以后的版本中以更加方便的方式进行扩展(例如自动生成的客户端库),其目标是将开发工作从繁琐的工作变成一种乐趣。可以在此处找到 IOTA 智能合约架构工具的文档。
公共测试网
要试用 IOTA 智能合约的当前功能,可以运行您自己的验证器节点并创建一个单独的链,该链锚定到基于 GoShimmer 的网络。为了更轻松地进行测试而无需经过此特定设置,我们创建了一个公共测试网供任何人使用。这个网络由一个新的 GoShimmer 网络和一个由几个黄蜂节点组成的委员会组成。为了尽可能降低试用测试网的门槛,我们决定将所有可能的费用设置为零。由于我们预计此决定会很快污染链,因此我们将在需要时对该网络执行定期的、计划外的重置。
下一步是什么?
现在运行可编程智能合约的所有核心组件都已进入完全可用的状态,IOTA 智能合约团队将专注于下一个版本的几个可交付成果。这些可交付成果主要旨在以用户友好且稳健的方式将 IOTA 智能合约引入 IOTA 主网(又名 Chrysalis)。
IOTA 主网 (Chrysalis) 支持
当前的 IOTA 智能合约实施运行在实验性的下一代IOTA 2.0 上,部署在完全分散的IOTA 2.0 开发网上,由GoShimmer节点提供支持。由于 IOTA 智能合约在切换到完全去中心化的 IOTA 2.0 协议之前应该在 IOTA 主网上可用(在一个称为“Coordicide”的过程中),下一个版本的一个重要交付物将是支持锚定到当前的 IOTA 主网上。当前的 IOTA 主网和未来完全去中心化的 IOTA 2.0 协议存在一些根本性的差异,很难同时支持两者。因此,我们的主要重点是从现在开始使用 Hornet 节点软件支持当前 IOTA 主网上的智能合约。
扩展的 EVM 支持
当前的实验性 EVM 实现完全不知道 IOTA 基础层。下一个版本将允许从基于 EVM 的智能合约内从 IOTA 基础层 (L1) 提取和存入 IOTA 代币。这将支持不同智能合约链和 IOTA 基础层之间的资产无缝转移,而无需特殊的桥接解决方案。此功能将使 EVM 集成更加有用,并使可扩展的分片智能合约链能够相互通信并无缝交换资产。通过使用这种方法在不同的链上传播传统的智能合约应用程序/DeFi,与它们交互的高额费用可以成为过去的故事。
对链状态的承诺
我们计划实现对状态的特殊访问层,并承诺对链的状态及其具有包含证明的各个分区。
这些功能将为 IOTA 智能合约提供高吞吐量/高容量链所需的特性,例如用于去中心化金融 (DeFi) 应用程序、不可变的长期数据存储和类似用例的特性:
- 数据元素包含在状态中的证明
- 链状态的快照
- 智能合约对链或合约的状态进行选择性修剪,而不会失去其状态的一致性
标记化框架
虽然基于 IOTA 2.0 的现有实现已经在早期版本的 IOTA 令牌化框架中支持和使用数字资产,但当前的 IOTA 主网(Chrysalis)尚不支持。目前正在定义相应的 RFC,并用于在未来的 IOTA 2.0 和当前的 IOTA 主网(Chrysalis)上实施令牌化框架。代币化框架将允许在基础层上创建代币和 NFT 作为原生资产,这些资产也可用于智能合约链,并结合智能合约为 IOTA 带来一些独特的功能,这些功能目前尚无法实现在任何其他现有平台上。
无需许可的链验证器
虽然此版本允许任何人使用自己精心挑选的一组验证器运行链,但许可设置并不适合所有用例。传统的智能合约和 DeFi 应用程序在无需许可的环境中蓬勃发展,目前这不是此 Beta 版本的一部分。但我们意识到这一要求,并正在积极研究和努力寻找解决方案,以迎合这一市场。我们将很快提供有关此问题的更多信息。
原文:点击进入