Function X Hash Out 2022年7月号

Japan - Nanna
Function X
Published in
7 min readAug 5, 2022

f(x)Core Gravity Bridge

Gravity (重力)は、物体が物体をその中心に向かって引き寄せる力です。 その重力と同じように、f(x)Core Gravity Bridge は、イーサリアム エコシステムからコスモス エコシステムにトラストレスで分散化された安全な方法で流動性を引き込むように設計されています。

f(x)Core Gravity Bridgeとは?

f(x)Core Gravity Bridge は、イーサリアムと Cosmos エコシステム間のトラストレスで安全な分散型ブリッジです。 ブリッジは、スマート コントラクトを利用した Cosmos SDK を利用して、マルチシグ アカウントや承認されたアクター グループではなく、バリデーター セットを使用してトランザクションに署名します。

このブリッジにより、ERC20 トークンをブリッジにシームレスに追加でき、その後、イーサリアムとCosmosのエコシステム間で ERC20 トークンを自由に移動できます。

例えば、ユーザーが f(x)EVM のイールド ファーミング プロトコルに参加したいと考えており、USDT が必要だとします。 彼らは、f(x)Core Gravity Bridge を使用して、イーサリアム (または他の EVM 互換チェーン) から f(x)EVM に USDT をブリッジすることができます。 ブリッジは、送信側チェーン (例として イーサリアムチェーンを使用しています) から転送されたトークンをロックし、受信側チェーン (この例では f(x)EVM) でそのトークンの表現を作成します。 より技術的な詳細については、以下で説明します。

機能:

f(x)Core Gravity Bridge は、設計がシンプルで使いやすく、セキュリティも強化されています。 そして長いコーディングをなくし、EVM チェーンと f(x)Core の両サイドにおけるコンセンサス エンジンを用います。

高い分散性:

  • 資金の移動はバリデーターによって制御されます
  • グループ内のバリデーターの追加と削除は、バリデーターによって制御されます
  • ブリッジへの新しいタイプのトークンの追加は、ガバナンスを通じて行います
  • 統合トークン: 異なるチェーンからの同じトークンを統合して、チェーンに依存しない f(x)Core で単一の統合トークンを形成します

セキュア: バリデーターは、コンセンサスによって合意されていないブリッジメッセージに署名したり、送信したりすることはできません

ガス効率: ロールアップ スタイルのバッチトランザクションにより、各ユーザーのガスコストが削減されます

f(x)Core Gravity Bridge の構成要素

Gravity Bridge には 3 つの定義済みコンポーネントがあります:

1) イーサリアムの Solidity コントラクト

2) Gravity Bridge ブロックチェーン上の Cosmos SDK モジュール

3) Cosmos SDK モジュール: fxcore-ERC20

どのように動作しますか?

ほとんどのクロスチェーン ブリッジと同様に、Gravity Bridge では、ブリッジの片側でネイティブ トークン/コインをロックし、ブリッジの反対側でそのトークンの表現を作成します。返す途中で、トークンの表現が焼かれ、ネイティブチェーンでロックが解除されます。

代理トークンが f(x)Core チェーンで作成されると、チェーンに依存しない統一されたトークンが形成されます。 例: ETH-USDT、Polygon-USDT、Tron-USDT は Gravity Cross-Chain Bridge を介してクロスチェーンし、次に fx-ERC20 モジュールによって変換され、f(x)EVM に入ると FX-USDT ERC20 トークンに統合されます。 以下は、ブリッジがどのように機能するかを示す図です。

入金:

イーサリアムから f(x)Core Gravity Bridge へのアセットのデポジットはパーミッションレスで安全です。 ユーザーがイーサリアムからブリッジにアセットを入金するたびに、イベントは各バリデーターによって検証されます。 イベントがバリデータ セットの 2/3 以上によって証明されると、代理のトークンが作成されます。 バリデーターは、すべての証明書を順番に送信する必要があります。

  1. ユーザーは、f(x)wallet を介して EVM チェーンのブリッジ コントラクトの sendToFx メソッドを呼び出し、ブリッジ コントラクトの USDT をロックします。
  2. バリデーターは、ブリッジ コントラクトの sendToFx イベントを読み、イベントに署名してから、署名されたイベントをトランザクションを通じて f(x)Core に送信します。 f(x)Core リンクがバリデーターの少なくとも 2/3 によって署名されると、ユーザーによって自動的に署名されます。 対応する USDT がアカウントで作成されます。

出金:

Gravity Bridge は引き出しトランザクションをバッチ処理し、複数の sendToEth トランザクションを 1 つのバッチにまとめます。 これはロールアップのように機能します。1 回のバッチ注文で多くのトランザクションを実行し、各ユーザーのガス量を減らします。

  1. ユーザーはf(x)walletを通じてfxCoreチェーンのsend To Ethトランザクションを呼び出し、出金申請を行います。
  2. アービトラージリレーの 1 つが、f(x)Core チェーンで出金を申請するトランザクションを監視します。 すべての引き出しトランザクションによって支払われた ブリッジ手数料 が、イーサリアムチェーンで 送信バッチ(submitBatch)のトランザクション手数料を相殺するのに十分な場合、要求バッチ(requestBatch)トランザクションを f(x)Core チェーンに送信して、すべての sendToEth トランザクションをパッケージ化します。
  3. 他のリレーラーが f(x)Core チェーンで要求トランザクションを読むと、パッケージ化されたトランザクションに署名し、f(x)Core チェーンで 承認バッチ(confirmBatch)トランザクションが発生します。
  4. アービトラージ リレーは、f(x)Core チェーンからすべてのリレーの引き出しパッケージ署名情報を収集し、イーサリアム コントラクトの 送信バッチ(submitBatch)メソッドを呼び出します。 そのメソッドは、リレーの署名情報をチェックし、収集された署名が 2/3 を超えていることを確認します。 確認されると、コントラクトは USDT のロックを解除し、それをユーザー アカウントに転送して、引き出しを完了します。 残りのブリッジ手数料はアービトラージリレーに転送されます。

Gravity Bridgeの使用法

使用者の方へ: f(x)WalletはまもなくGravity Bridgeをサポートできるようになります。

開発者の方へ: Gravity Bridge にトークンを追加する方法については、このドキュメントをご参考にしてください。

以上が、f(x)Core Gravity Bridge についてになります、そしてなぜ私たちが革新的なソリューションと自信を持って伝えているのかを理解するのに役立つことを願っています。

7 月のHashOutをお読みいただきありがとうございます。今後もさらにエキサイティングなアップデートと進捗状況を共有できることを楽しみにしています。 Function X ブロックチェーンに関してご質問がある場合は、Function X Forumのサポート チームにいつでもお問い合わせください。

Originally published at https://medium.com on August 5, 2022.

--

--