blockchainjapan’s blog

旬のブロックチェーンを記事を厳選して提供!

AcalaがPolkadot DeFiのスマートコントラクトとEthereumの互換性を発表

AcalaがPolkadot DeFiのスマートコントラクトとEthereumの互換性を発表

AcalaがSubstrate上のEVMとink!パレットをサポートし、開発者がSolidityとWasmベースのスマートコントラクトを利用可能に

著:Dan Reecer

訳:Acala Japan

Polkadotは、ビットコインイーサリアムなどの他のブロックチェーンと(InterlayやRenVMなどのブリッジを介して)簡単に統合できるように設計されており、またパラチェーンと呼ばれる独立かつ相互に接続された多数のチェーンをホストするように設計されています。

Polkadotはどちらかというとレイヤー0のインフラチェーンに近く、Proof of Stake(PoS)のセキュリティやチェーン間の通信を共有することで、基盤となる信頼層を提供する。パラチェーンは、それぞれのユースケースに最適化され、特定のドメインの問題を解決するドメイン固有のチェーンである可能性が高く、Acalaは分散型金融のドメインを占めています。Acalaは、ステーブルコイン(aUSD)、ステーク・デリバティブ(例えば、ステーク・ロックされたDOTでトークン(LDOT)を換金可能にする)、分散型取引所など、すぐに使えるDeFiプリミティブを提供し、より多くのDeFiイノベーションを推進しています。また、オラクル、マルチカレンシー、ジェネリック・モニタリング・フレームワークなどの一般的なユーティリティー・モジュールをオープンソース化し、チームで使用できるようにしています。

Acalaのようなサブストレートベースのパラチェーンは、低レベルの技術インフラ(RPC、ウェブアセンブリランタイム、ピアツーピア通信など)から、EVM(Ethereum Virtual Machine)やスマートコントラクト機能を実現するアプリケーション層モジュールまで、このフレームワークが提供するフルテクスタックを楽しむことができます。これは、近い将来、チェーンレベルのイノベーションと技術的進歩が、かつてないほどのスピードと大規模さで起こることを意味しています。新しい機能は、サブストレートをベースとしたすべてのチェーンにおいて、簡単かつシームレスにフォークレス・アップグレードによってプラグアンドプレイで提供されます(Substrate marketplaceの例を参照)

そのため、Acalaは現在、以下のような形でスマートコントラクト機能を実現しています:

  1. AcalaはEVMパレット(別名ランタイムモジュール)をサポートしており、これは基本的にSubstrate上のEthereum仮想マシンの実装であり、SolidityコントラクトをAcala上にデプロイして実行することができる
  2. また、Acalaは、Wasm(Web Assembly)ベースのRustで書かれたSubstrateネイティブのスマートコントラクトを可能にするink!コントラクトパレットをサポートしている

今回の更新は、技術的な進歩とコミュニティの関心の両方によって進められている。Acalaは、Polkadot上でのクロスチェーンDeFi展開を模索している多くのプロトコルを支援しており、そのメカニズムについてはこの記事で解き明かしていきますが、スマートコントラクトは確かに重要な手段の一つです。今後Acalaは、ParityをはじめMoonbeamPlasmEdgewareなどのエコシステムとより積極的に協業し、EVMやスマートコントラクトの開発に貢献していきます。

以下のテーマについて深く掘り下げていきましょう:

  1. ブリッジによるクロスチェーンの流動性
  2. Polkadotへのデプロイ方法
  3. Kusamaにデプロイ方法
  4. Acalaへのデプロイ方法
  5. Polkadotにおけるスマートコントラクトの現状

ブリッジによるクロスチェーンリクイディティ

ブリッジとは、経済的に主権を持ち、技術的にも異なる2つのチェーン間で、資産やメッセージを交差させるための相互運用可能な技術です。ブリッジには、中央集権的で信頼性の高いものから、分散型で信頼性の低いものまで、さまざまな種類が存在します:

  1. カストディアルソリューション:マルチシグやPoA(Proof of Authority)タイプのセットアップを使用しており、比較的簡単に実装でき、即時の使用が可能です。ビットコインブリッジのChainXやイーサリアムブリッジのChainSafeなどがこのタイプの例で、時間をかけてより分散化されていくロードマップがあります。
  2. トラストレス・ソリューション:経済的保証や暗号的保証を利用して、2つのブロックチェーン間で資産を移転するもので、トラストレスではあるが、ユーザーにとってはコストがかかる可能性があり、またトラストレスの性質上、技術的な課題があるため、現在も研究開発が進められています。ビットコインブリッジとしてのInterlay、イーサリアムブリッジとしてのSnowForkやDarwiniaがこのタイプです。
  3. カストディアルとトラストレスのハイブリッドソリューション:次にRenVMソリューションがありますが、これはパーミッションレスで素晴らしいUXと人気があり、分散化への明確な道筋を持っていますが、今のところRenチームに多くの信頼が寄せられています。

Acalaは、ブリッジソリューションのアプローチに関しては中立的です。なぜなら、様々な種類のブリッジが、信頼性、利便性、コストなど、異なるユーザーの好みを満たす可能性があり、各種類のブリッジが共存し、それぞれのニーズに応えるための必要性が存在するからです。

Polkadotのリレーチェーンでのデプロイ

前述のように、Polkadotはレイヤー0のクロスチェーンのインフラストラクチャ・チェーン( Relay Chainと呼ばれる)です。そのためアプリケーションやプロトコルを直接Relay Chain上に展開することはできず、Polkadotネットワークのファブリックとして提供されている以下のような仕組みを介して展開することになります:

  1. パラチェーンとしてのデプロイ — このオプションは、技術的にも経済的にも、最も高いカスタマイズ性と柔軟性を持っています。パラチェーンのリース期間中は、Polkadotの共有セキュリティとクロスチェーン通信機能をより永続的に利用することができます。ただし、ネットワークの構築にはコストがかかり、ネットワークの立ち上げや維持、コミュニティの維持には多大な労力が必要となります。この点については、Acalaを使ってみるとわかります。
  2. パラスレッドとしてのデプロイ — 技術的にはパラチェーンと似ていますが、セキュリティと通信アクセスにpay-as-you-goモデルを使用しているため、オーバーヘッドが少なく安価に運用できます。もしチェーンがパラチェーン・スロットを得られない場合は、パラスレッドにフォールバックしてオペレーションを続けることができます。
  3. アクティブなパラチェーン/パラスレッドにDAppとしてデプロイ — Polkadotのエコシステムにアクセスしたいが、ブロックチェーンを構築・維持したくないチームや、前もってあまりコミットせずに物事を試してみたいチームにとっては、既存のパラチェーンにデプロイすることが良い選択肢となるでしょう。特にDeFi関連のDAppsにとっては、Acalaをランディングパッド(Renの場合など)として、また、この空間を探索する際の技術的ノウハウを持つPolkadotの仲間として扱うことができます。

技術的、経済的な問題の他に、コンポーザビリティーということも考えなければなりません。一つのパラチェーン上のDAppsは、当然ながらそのチェーン内でのコンポーザビリティが高く(Renの統合についてはこちら)、パラチェーンをまたぐDAppsはコンポーザビリティが低下し、取引のアトミック性が損なわれ(Laminarの統合についてはこちら)、ブリッジは価値の移転や指定されたブロックチェーン間での特定のメッセージの受け渡しに主眼を置いているため、コンポーザビリティはさらに低くなる可能性があります。

Kusamaリレーチェーンへのデプロイ

Kusamaは、Polkadotと同様に、セキュリティと相互運用性を提供するRelay Chainを中核としたLayer-0のクロスチェーン・インフラストラクチャ・チェーンです。Kusamaは、Polkadotでの展開を準備しているチームや、パラチェーンスロットへの経済的障壁を低くし、ガバナンスサイクルを早くするためにKusamaのみで構築したいチームのための開発環境としての意味を持っています。開発者はKusamaでもPolkadotと同じ選択肢がありますが、いくつかの注意点があります:

  1. パラチェーンとしてのデプロイ — チームは3つの主な理由からKusamaでパラケインを構築することができます。まず、Westendのテストネットでのテストに合格した後、パラチェーンをKusamaにデプロイすることで、Polkadotに完全にデプロイする前に技術を微調整することが可能です。Acalaも含めて、いくつかのチームはPolkadotとKusamaの両方でパラチェーンを運用し、両方のコミュニティに貢献することを選択しています。3つ目は、Polkadotのパラケイン枠に手が届かない場合や、Kusamaのリスクテイクや動きの速さを好むチーム(新規スタートアップなど)は、Kusamaだけで活動するという選択肢もあります。また、Kusamaのパラチェーンオプションは、技術的にも経済的にもカスタマイズ可能で柔軟性があります。
  2. パラスレッドとしてのデプロイ — KusamaはPolkadotと同じパラスレッド機能を持つ予定です。これは、セキュリティや通信へのアクセスを利用した分だけ支払うモデルであり、実行時のオーバーヘッドや費用を抑えることができます。ただし、パラスレッドはリレーチェーンへのブロック送信頻度が低いため、ユースケースによっては適していないこともあります。
  3. アクティブなパラチェーン/パラスレッド上にDAPとしてのデプロイ — DAppはKusamaのパラチェーンやパラスレッド上に構築することができます。例えばDeFi DAppは、AcalaのKusamaネットワーク上に構築することができますし、他にもゲーム、通信、ソーシャルメディア、DAOなど多くのユースケースがあります。

次は、Acala parachain上にデプロイするさまざまな方法を紹介します。

Acalaパラチェーンでのデプロイメント

Acalaは、PolkadotやKusamaのDeFiランディングパッドであり、技術的なノウハウを持ったビルダーの仲間であると考えることができます。Acalaにデプロイするには、現在3つの方法があります:

  1. ランタイムモジュール(別名パレット)をデプロイ — これにより、最高レベルのカスタマイズが可能となり、より洗練された統合のためにAcalaのチェーンロジックにアクセスすることができます。スマートコントラクトが享受しているフェイルセーフなサンドボックス環境を持っていないため、セキュリティ監査が必要であり、ガバナンスの許可が必要となります。また、インフラや一般的なプロトコルに適しています。RenVM bridge moduleがその良い例です。新しくミントされたrenBTCだけを持つ真新しいアカウントは、手数料トークンを必要とせずにAcalaであらゆる取引を行うことができます。AcalaのFlexFee機能により、renBTCのようなトークンは、ACA、aUSD、DOTと並んで、デフォルトのフィー・トークンの一つとしてネイティブに統合されています。
  2. Solidityスマートコントラクトの導入 — 既存のSolidityスマートコントラクトの一部または全部を、すべてのコードを書き直すことなくPolkadotに移行したい人にとって、これは良い方法になるでしょう。例えば、EthereumからPolkadotにトークンを移行するためのブリッジを使用し、その後Acalaにデプロイすることで、より高速で安価なトランザクションと優れたユーザーエクスペリエンスを実現するチームもあります。
  3. ink!スマートコントラクトをデプロイ— これはSubstrateのネイティブ、RustベースのWasmスマートコントラクトで、EVMとの比較についてはこちらをご覧ください。

免責事項として、スマートコントラクトモジュールは、(Acalaの基準では)生産可能な状態に近いです、現時点ではまだそうではなく、Parityやエコシステムの他の人々と密接に協力して最終的なものにしていく予定です。次のセクションでは、その注意点と開発の現状を概説します。

スマートコントラクトの現在の状況

EVM
SolidityやEVMと互換性のあるコントラクトは、AcalaのようなSubstrateベースのチェーンにデプロイして実行することができますが、TruffleやRemixなどの既存の開発ツールと互換性があるように、ツールの多くはまだ開発中です。SDKも、既存のweb3.jsなどのライブラリと互換性があるように開発しています。Acalaは、クロスチェーンのDeFiイノベーションを加速するために、スマートコントラクトやランタイムモジュールのコンポーザビリティの向上にも注力していきます。

ink! スマートコントラクト
Rustベースのスマートコントラクト言語であるink!は、開発ツール(cargo-contract、Redspot— Truffle for Ink!)やSDK(polkadot.js)と同様に、現在も開発中です。

次のステップ
Acalaは現在、Frontier Substrate-Ethereum互換層でEVMをサポートしています。修正されていないEthereum DAppsを実行できるようになりました。次は、より複雑な(現実の)Solidityコントラクトをデプロイし、メタマスクを含むツールサポートをテストし、互換性を向上させるためにパレット(ランタイムモジュール)の統合を実装し、ERC20や他のトークン規格との互換性を高める予定です。

これは、PolkadotとKusamaを使った価値あるクロスチェーンDeFiプロジェクトをチームが作成するのをサポートし、支援するAcalaとのビルドへの公式招待状だとお考えください。

Karuraついて

Karuraは、KusamaのオールインワンDeFiハブです。Acala Foundationによって設立されたKaruraは、DeFiに最適化されたスケーラブルなEVM互換のネットワークとして機能します。

また、このプラットフォームでは、以下のような融アプリケーションを提供しています:トラストレス・ステーク・デリバティブ(liquid DOT)、クロスチェーン・アセットに裏付けられたマルチ担保のステーブルコイン(aUSD)、AMM DEX — これらはすべて、任意のトークンでの支払いが可能なマイクロ・ガス・フィーシステムを備えています。

Linktree| Discord | Website | Twitter | GitHub | Newsletter

Acalaについて

Acalaは、Polkadotの分散型金融ハブであり、金融アプリケーションの利用や構築を迅速かつ容易にし、取引効率を向上させ、貴重な時間の節約を実現します。このプラットフォームでは、一連の金融プリミティブを提供しています。ビットコインのようなクロスチェーン資産に裏付けられたマルチ担保のステーブルコイン、信頼性の高いステーキングデリバティブ、そして流動性を解放し、金融イノベーションに力を与える分散型取引所です。
Acalaは、金融アプリケーションがスマートコントラクトや内蔵プロトコルを使用するためのデファクト・オープン・プラットフォームであり、すぐに使えるクロスチェーン機能、セキュリティ、金融の最適化を備えています。PolkadotとKusamaでのAcalaパラチェーンのローンチの進捗状況を知りたい方は、Acala Newsletterをご購読ください。

Website | Twitter | GitHub | Acala Wiki | Discord | Telegram | Riot Chat

日本語版 Twitter | Mediumスチェーン機能、セキュリティ、金融の最適化を備えています。