Web3の世界では日々様々なパブリックブロックチェーンが登場しています。それらを扱うために存在しているのがクロスチェーンソリューションです。その多くは、ユーザーや開発者に強くチェーンの存在を意識させるもので、本来のインフラストラクチャのあるべき姿からはまだまだ遠いものになっています。ZetaChainでは、チェーンの存在を意識させない「オムニチェーン」のサービス実装の実現を目指しています。
ZetaChain の概要
ZetaChainは、オムニチェーン目指して作られたパブリックブロックチェーンです。オムニチェーンとは「あらゆるブロックチェーン」という意味合いになり、ZetaChainではあらゆるブロックチェーンが相互接続された世界をオムニチェーンと呼んでいます。
ZetaChainを利用することで、ユーザーはあたかもすべての資産が単一のチェーンにあるかのような体験をすることができます。例えば、本来スマートコントラクトがない $BTC を、ブリッジなしで、プログラマブルなサービスで扱うことができるようになります。
Web3の世界は始まって間もないにも関わらず、多くのパブリックブロックチェーンが誕生しています。そのため、資産がそれぞれのチェーンに散らばっており、流動性は断片化しています。そのような状況を解決するために、相互運用性を確保するための様々なクロスチェーンソリューションが開発されています。
最も知られているクロスチェーン手段として、ブリッジがあります。ブリッジでは送金元チェーン側に資産をロックして、送金先チェーン側で同量の資産を発行することにより相互運用性を確保します。しかし、ユーザーはブリッジを管理する第三者を信頼する必要があります。また、ブリッジを通した多くの資産がラップされたものであるため、ユーザーはブリッジの潜在的なリスクを受け入れなければなりません。そして、ブリッジはチェーン間の資産の受け渡しに特化した手段であるため、できることは限定的です。
また、別の手段としてCosmos SDKやSubstrateなどのクロスチェーン実装が可能なSDKを用いてブロックチェーンを構築する方法があります。しかし、これらはSDKを使っていないブロックチェーンで相互運用性を確保することを困難にします。そのため、有効でありながらも決して万能なクロスチェーン手段ではありません。
ZetaChainは、従来とはまったく別の相互運用性の概念を導入します。ZetaChainは、接続された外部ネットワークのステートを直接読み込んで更新することができるようになっています。そのため、DApps開発者は資産をブリッジをすることなしに、資産を本来のチェーンに置いたまま、複数の外部チェーン上のアクションを同時に行うスマートコントラクトを実装することができます。
ZetaChainでは主に「オムニチェーンスマートコントラクト」と「オムニチェーンメッセージングパッシング」と呼ばれる2つのクロスチェーン手段を提供します。オムニチェーンスマートコントラクトは、ZetaChainから外部チェーンを操作するスマートコントラクトを実装する方法になります。オムニチェーンスマートコントラクトにより、単一のトランザクションで Ethereum 上の ERC-20 が転送され、Bitcoinがあるアドレスから別のアドレスに移動されるといった実装が可能になります。また、オムニチェーンメッセージングパッシングでは、外部チェーンのスマートコントラクトからZetaChainを経由してメッセージを送り、別のチェーンのスマートコントラクトを実行できる方法になります。ZetaChainでは、ユーザーが多いチェーンを中心に、まずはBitcoin, Ethereum, BNB Chain, Solana, Polygon,Tron, Klaytnに対応する予定です。
ZetaChainは、Meta Protocol社のチームによって開発されています。チームメンバーは、2022年11月時点で公表されていないものの、CoinbaseやConsenSys、THORCHainや0xなど、Web3業界でよく知られた企業やプロジェクト出身者で構成されています。また、同社は10年間は開発を継続できる資金量を有していることをAMAで公表しています。
ZetaChainの構成
ZetaChainは、Cosmos SDKベースで構築されており、コンセンサスエンジンには実績があるTendermintが採用されています。そのため、ZetaChainにおいてバリデーターの分散化が可能な規模は、他のTendermint採用チェーンと同程度になります。
チェーンを構成するバリデーターには、ZetaCoreとZetaClientがバンドルされています。さらにZetaClientには、ObserverとTSS Signerと呼ばれる機能が内蔵されています。Observerは、外部チェーンのトランザクションやステート、イベントを監視する役割を担います。また、TSS Signerは外部チェーンのトランザクションに安全に署名をする役割を担います。外部チェーンのトランザクションへの署名は、閾値署名スキーム(Threshold Signature Scheme: TSS)とマルチパーティ計算(Multi Party Computing: MPC)を利用します。それぞれのノードは秘密鍵の断片を保有しているだけであり、トランザクションへの署名はMPCによって行います。そのため、ノードは決して秘密鍵の全体を知ることはありません。これにより、悪意のあるノードが外部チェーンとのやり取りで不正を働くことを防止します。
ZetaChainの相互運用性を確保する手段
オムニチェーンスマートコントラクト:マルチチェーンを意識しないスマートコントラクト実装が可能
ZetaChainでは、接続されたすべての外部チェーンをZetaChain上のスマートコントラクトを通じて操作することができます。このようなスマートコントラクトは、オムニチェーンスマートコントラクトと呼ばれています。
DApps開発者がオムニチェーンスマートコントラクトを利用するためには、EVM互換のZeta EVM (zEVM)が動作するための実装を行います。つまり、開発者はこれまでのEthereumやその互換チェーンと同じ感覚でスマートコントラクトを実装することができます。しかし、マルチチェーン環境では資産が複数のチェーンに分散しています。このような状況を開発者に意識させないために、ZetaChainではZRC-20というトークン規格を用意しています。これは、Bitcoin上の$BTCもEthereum上の$ETHも、ZetaChain上においてはすべてZRC-20トークンとして扱われるというものです。これにより、開発者は単にZRC-20トークンを扱うスマートコントラクトを実装するだけで済むようになります。
また、オムニチェーンスマートコントラクトには実装を簡単にする以外のメリットがあります。オムニチェーンスマートコントラクトを実行すると、外部ブロックチェーンのネイティブ資産がガスとして消費されます。例えば、Ethereum上の資産をオムニチェーンスマートコントラクトで扱う場合、$ETHが必要になります。オムニチェーンスマートコントラクトのロジックはZetaChain上で実行され、Ethereum側では単なるトークンの転送のみが行われます。Ethereumはロジックが複雑になるとガス代が高くなる仕様になっているため、ロジックをZetaChainで実行できるオムニチェーンスマートコントラクトの方が全体の手数料が安くて済むようになります。
オムニチェーンメッセージパッシング:メッセージ中継機能でクロスチェーンアプリケーションを実装可能
ZetaChainでは、前述のオムニチェーンスマートコントラクトを利用する他に、相互運用性の確保のためにメッセージパッシングを利用する方法があります。メッセージングパッシングは、1つのチェーンから別のチェーンに確実かつ安全にメッセージ(データや値)を渡すものになります。
メッセージパッシングでは、ZetaChainのバリデーターがチェーンのイベントやトランザクションの有効性を証明して別のチェーンにメッセージを中継します。DApps開発者は、スマートコントラクトにいくつかの関数を実装するだけでメッセージパッシングを利用することができるようになります。
以下の図は、オムニチェーンスマートコントラクトとオムニチェーンメッセージパッシングでそれぞれDEXを実装した場合のイメージの比較になります。
ZETAトークン
ZetaChainでは、$ZETA をチェーンのネイティブ資産として発行します。
ZETAトークンの用途
$ZETA の用途は以下の通りになります。
- ZetaChainのスマートコントラクトを実行するためのガス代
- クロスチェーンの値転送の場合の中間トークンとして
- PoS (Proof of Stake)のためのボンディング/ステーキング/スラッシング
ZetaChain を介してクロスチェーン アクションを実行する場合、ユーザーは1回のトランザクション内ですべての料金を支払います。すべての料金には、ZetaChainのガス代や宛先チェーンのガス代が含まれます。
ZETAトークンの配布
2022年11月現在、$ZETAの発行枚数や割り当ての内訳は公開されていません。また、トークンセール情報も公開されていません。