本文へ移動
レビューを依頼

Hyperliquid のアーキテクチャ · HyperCore と HyperEVM · 4/8

HyperCore と HyperEVM の違い

1つのチェーン、2つの実行環境

Hyperliquid の状態は、2つの実行環境に分かれています。どちらも同じコンセンサスを使います。

  1. HyperCore — 売買の処理をすべて受け持ちます(板、突き合わせ、証拠金、清算、資金調達料、現物の残高、ステーク)
  2. HyperEVM — EVM と互換性のある環境です。汎用のスマートコントラクトを動かします

HyperEVM は別のチェーンではありません。どちらも同じ Hyperliquid L1 の一部で、同じ HyperBFT のバリデーターに守られています。ただし役目が違います。

なぜ2つの環境なのか

HyperCore は、1つの仕事に絞って最適化されています。板と証拠金の仕組みを動かすことです。汎用の VM では現実的でない、専用のデータ構造と実行の経路を使っています。ただ、売買だけでは足りません。DeFi には、組み合わせられることが要ります。

HyperEVM が提供するものは次のとおりです。

どうやって連携するか

                    HyperBFT Consensus
                    /                \
            HyperCore               HyperEVM
         (Order Books)           (Smart Contracts)
         - Orders                - Lending
         - Matching              - Vaults
         - Liquidations          - Yield protocols
         - Funding               - NFTs
                    \                /
          Shared state: read precompiles,
          CoreWriter, asset transfers

HyperCore → HyperEVM(読み取りの precompile)

HyperEVM のコントラクトは、決まったアドレス(0x…0800 から始まる)にある precompile を通して、HyperCore の状態を読めます。たとえば HyperEVM の貸し借りのプロトコルは、利用者の無期限先物のポジションや HyperCore のオラクル価格を確かめて、担保を計算できます。読める値は、その EVM ブロックが作られた時点の最新の HyperCore の状態と一致します。

HyperEVM → HyperCore(CoreWriter)

HyperEVM のコントラクトは、システムのコントラクト CoreWriter(0x3333…3333)を通して、HyperCore に操作を送れます。注文を出す・取り消す、vault への送金、ステークなどです。この経路で送った注文の操作は、チェーン上で数秒遅らせて処理されます。EVM を使って通常の注文の経路を出し抜けないようにするためです。

トークンの移動

USDC、HYPE、紐づけられた現物のトークンは、2つの環境の間を移動できます。

この設計で得られるもの

この分け方で、Hyperliquid は次のものを得ています。