Acala 启动智能合约功能,助力波卡 DeFi 大放异彩

161 阅读11分钟

*本文翻自Bryan Chen《Acala Unveils Smart Contracts and Ethereum Compatibility for Polkadot DeFi》

点击阅读原文查看英文原文

众所周知,波卡跨链交互设计能让许多区块链网络非常快速、简单地集成到波卡上(例如 BTC 与 ETH ),还能承载许多异构(独立或是定制)但又相互连接的平行链网络。波卡像是一个 Layer 0 的基础设施链,为上层可信网络提供了 PoS 安全与跨链通信,而平行链更像是一个场景用例或解决特定领域问题的定制化区块链网络。

Acala 平行链专注于去中心化金融领域的定制化区块链网络,目前已提供了一系列开箱即用的 DeFi 基础组件,如去中心化稳定币 aUSDStaking 衍生品 LDOT 以及去中心化交易所等关键模块。此外,Acala 为开发者社区开源了许多实用模块,如波卡生态第一个预言机模块,跨链资产标准以及通用监控框架等。

Acala 很好的利用了 Substrate 框架全技术堆栈,其中包括底层技术基础设施(如 RPC,Web-Assembly Runtime,P2P 等),还包括应用层的相关智能合约模块(例如以太坊虚拟机 EVM)。**这意味着不远的未来,链式创新与技术进步将会以惊人的速度规模增长。**所有基于 Substrate 的链都可以通过无分叉的链上升级将上述功能轻松无缝地即插即用。(相关例子可查看:marketplace-staging.substrate.dev/)

Acala 的智能合约模块具体有以下两种方式进行实现:

  • 支持 EVM (Runtime module):该模块本质上就是将以太坊虚拟机通过 Substrate 实现,所有相关 Solidity 合约的开发者可以在 Acala 上进行开发

  • **支持 ink!合约:**用 Rust 语言开发基于 Wasm(Web Assembly)的 Substrate 原生智能合约

鉴于技术发展与社区建议我们启动了智能合约模块, Acala 正在帮助许多协议部署在 Polkadot 跨链 DeFi 生态,本篇文章也将介绍其技术原理与实践方法,毋庸置疑智能合约也是探索的重要途径之一。未来,Acala 也将与 Parity 、波卡生态其他成员(例如 Moonbeam,Plasm和 Edgeware )开展技术合作,共同为 EVM 和智能合约开发作出积极贡献。

接下来,我们将深入探讨以下主题

![](https://mmbiz.qpic.cn/mmbiz_gif/oOXIweO76CuLyMicSjzXF5nOcDv6F8S1GTaX3o4eclqicsHl6dof5drfkxVh3J4L3j9NpMsw8lANBvtMzQkibOgicw/640?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1)

1、通过转接桥实现跨链流动性

2、Polkadot 主网上的部署方法

3、Kusama 先行网上的部署方法

4、Acala 网络上的部署方法

5、Polkadot 网络智能合约的目前开发进展

通过转接桥实现跨链流动性

转接桥让区块链之间的互操作性成为现实,让两个不同的经济主权和多元化技术的区块链网络能够互联互通(如 Polkadot 和以太坊或比特币之间)。转接桥的风格不尽相同,有完全中心化、受信的去中心化,完全的去中心化等,这些项目中使用了不同模式,具备不同的信任度和扩容属性。

  • **托管:**使用多签或 PoA 方式进行设置,它们相对易于实现,并且目前已经可以用。作为比特币转接桥的 ChainX 和作为以太坊转接桥的 ChainSafe 就是用的就是这种方法,随着时间的推移,项目路线图上显示将会变得越来越去中心化

  • **完全去中心化:**使用经济模型或密码学能够保证两个区块链之间实现资产转移;也由于它们去中心化的程度较高对于信任元素要求比较低,因此对于用户而言这相对昂贵,而且由于完全去信任的去中心化存在一些技术挑战,目前仍然在快速研发之中。在这个方向做研究的有比特币转接桥 Interlay ,以太坊转接桥 SnowFork 和 Darwinia

  • **混合托管/受信去中心化:**然后是 RenVM 这种混合的解决方案,虽然这种解决方案未经许可,但却具有出色的用户体验和广泛被人接受,并拥有明确的去中心化途径,尽管目前大部分信任源来自 Ren 团队,但随着 renBTC 的铸造量不断攀升,人们对 RenVM 的信任也越来越多

Acala 转接桥解决方案是相对中立的,因为不同形式的转接桥可能满足不同用户对信任度、方便程度和成本的不同偏好,并且有充足的理由使各种类型的转接桥能够共存并满足各种需求。

Polkadot 主网上的部署方法

如上文所述,Polkadot 是 Layer 0 的跨链基础架构链(中继链)。因此,应用程序和协议不能直接部署在中继链上,只能通过 Polkadot 网络结构提供的机制进行部署,每种机制都有自己设计上的权衡:

  • 部署成为平行链:这种方式无论是技术还是经济模式上都具有最高程度的定制性和灵活性。成为平行链也意味着拥有对 Polkadot 的共享安全和跨链交互等等权益的长期访问权限(平行链租借期内)。这种方式接入成本确实相对更高,并且需要更多的精力来引导和维护网络以及社区。目前,您可以通过 Acala 平台体验各项功能:Acala Mandala 测试网 TC4 版本操作教程,还可以关注后期 Acala平行链插槽竞拍

  • **部署成为平行线程:**从技术上讲类似平行链,但享用共享安全与跨链通信需要按需付费,因此前期运行成本比较低。如果一条链无法获得平行链插槽,就可以回退到平行线程继续其操作。

  • **作为平行链或者平行线程上的 DApp 进行部署:**适用于希望接入 Polkadot 生态系统但又不想构建和维护区块链网络,或者那些想在前期没有太多负担的情况下也是一种不错的方式。特别是 DeFi 生态关联的 Dapp,可以将 Acala 作为流量入口 (例如 Ren) ,Acala 也将有机会成为你的波卡 TKH (technical-know-how)技术伙伴。

除了技术和经济方面的考虑外,还应该考虑许多组合而成的复合因素。可组合性的程度和复合因素因人而异,平行链上 DApp 自然会在该链中享有较高的兼容和组合性(请参阅 Ren 集成:github.com/AcalaNetwor… DApp 可能会降低跨链交易的可组合性和原子性(请参阅 Laminar 集成:github.com/AcalaNetwor…

Kusama 先行网上的部署方法

Kusama 与 Polkadot 相似,同属于 Layer 0 的跨链基础架构,并为中继链提供了共享安全性和互操作性。Kusama 旨在为那些准备在 Polkadot 上部署的团队提供开发环境,并且帮助 Kusama 上建设的团队降低平行链插槽使用的经济门槛并缩短了治理周期。开发者在 Kusama 与 Polkadot 的网络上会有类似的选择,但也有一些注意事项:

  • **部署成为平行链:**团队可以基于三个理由在 Kusama 上搭建平行链。第一,通过 Westend 测试网的测试之后,可以先将平行链部署在 Kusama 先行网上,微调部分技术细节后再上线主网 Polkadot ;第二,部分团队包括 Acala 在内将会选择在 Polkadot 和 Kusama 上同时运营,同时服务两个网络的社区;第三,如果无法承担 Polkadot 平行链插槽竞拍的成本,或者更喜欢快速迭代和更具有冒险精神的 Kusama 先行网,小的新创公司也可以选择留在 Kusama 先行网,Kusama 平行链在技术和经济上选择也更加灵活和自主。

  • 部署成为平行线程: Kusama 先行网将具有与 Polkadot 主网相同的平行线程功能,为了尽可能的减少运营成本,将采用按需购买的方式享用安全和链上互通。而折中的方案是,如果部署成为平行线程将会在中继链上低频交易,因此这种方式也更适用于某些特殊的应用场景中。

  • **作为去中心化应用部署在平行链/平行线程上:**DApps 可以搭建在 Kusama 先行网中的平行链/平行线程上。例如,DeFi DApp 可以构建在 Acala 的 Kusama 先行网,例如游戏、社交或 DAO。

下一部分,我们会详细讲解在 Acala 平行链上进行部署的不同方法。

Acala 网络上的部署方法

**Acala 作为 Polkadot 和 Kusama 上的 DeFi 金融中心,Acala 团队将会是你的 TKH (Technical-Know-How)技术伙伴。**目前,在 Acala 上部署有以下三种方法:

  • **以 Runtime 模块(Pallet)进行部署:**这种方式将会拥有最高级别的可定制性,接入 Acala 链上逻辑以便完成更复杂的集成。但这种方式并没有智能合约所享有的故障安全沙箱环境,并且安全审计和链上治理很重要,所以这种方式更适合基础设施和通用协议。RenVM 转接桥模块就是一个很好的例子。如一个只有 renBTC 的全新帐户可以在 Acala 上执行任何交易,并不需要另外一种资产作为网络手续费,得益于 Acala 的 FlexFee 功能, renBTC 与 ACA,aUSD 和 DOT 都可作为默认的手续费备选资产供用户选择。

  • **以 Solidity 智能合约进行部署:**如果你想要把原来部分或全部的 Solidity 智能合约直接移植到 Polkadot 上,不想要大费周章的重新编写,选择这种方法开发会更合适。例如,目前已经有一些团队利用转接桥将他们的资产从以太坊上跨到 Polkadot 上,然后再部署在 Acala 上以实现高效、低成本和更好的用户体验

  • **以 ink! 智能合约进行部署:**这是 Substrate 原生基于 Rust 语言的 Wasm 智能合约,请在此处详细了解如何与 EVM 区别:substrate.dev/docs/en/kno…

请注意:智能合约模块还未达到产品可用的状态(尚未达到 Acala 的标准),并且我们将与 Parity 和生态系统中的其他项目保持密切合作直到成功上线。接下去的部分中,我们将概述注意事项和发展现状。

目前的智能合约现状

![](data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==)

EVM

虽然 Solidity 和 EVM 兼容的合约可以部署和运行在基于 Substrate 框架的区块链网络上(如 Acala ),许多开发工具仍处于开发中, 以便与 Truffle 和 Remix 等现有开发工具兼容。与 Web3.js 和其他库兼容的 SDKs 同样也正处于开发当中。Acala 将专注于改善智能合约与 Runtime 模块兼容性 ,以加速跨链 DeFi 创新。

Ink! Smart Contracts

基于 Rust 语言的 ink!智能合约语言与其开发工具( cargo-contract and Redspot — Truffle for Ink! )和 SDK(polkadot.js)仍在开发中。

Acala 的下一步

**目前,Acala 已通过 Frontier(github.com/paritytech/… 支持 EVM ,以实现 Substrate 对以太坊的兼容 ,Acala 已经能够运行许多还未改进的以太坊 DApps 。**未来,Acala 将会部署更复杂的 Solidity 合约,测试并支持包括如 Metamasks 在内的相关开发工具,实现相关 Pallet (Runtime 模块)以提高兼容性,并且兼容 ERC 20 或是其他相关资产标准的 Token。

在这里 Acala 也发出正式邀请,邀请开发者共建广阔的开放式金融生态,Acala 开放团队与技术社区也将帮助你在 Polkadot 和 Kusama 上创建更具有影响力、成长力,更有价值的跨链 DeFi 项目。

Build with Acala:

github.com/AcalaNetwor…

安全公告

近期市场上有诈骗团伙出售 Acala 相关 token 资产,并在市场上混淆视听大肆行骗,目前已发现有骗子在 Uniswap 等平台上发行了 ACA ,骗取用户 ETH 。

特此声明

Acala 尚未发行任何 token ,您目前无法购买 Acala 代币。任何交易、给予、映射交易都是伪造的。所有 token 相关分发等消息请参考唯一官方渠道(推特,Medium,微信公众号)。请大家提高警惕,相互转告,避免上当受骗,发现骗局请将其报告给 Acala 团队。

Acala 将会在平行链插槽竞拍开始约45天前告诉社区相关细则,以便用户能有足够的时间来解锁自己的 KSM/DOT ,参与 Acala 平行链插槽竞拍的活动。及时获取最新相关 Acala 平行链相关细节,请点击链接订阅:

acala.network/newsletter-…