性能最適のEVMとなる、Trust EVMの野望
著者:EOSネットワーク財団
2022年6月16日、Trust EVM公式はTwitter Spaceで「Trustがどのように最速のEVMを実現するか」というテーマのライブイベントを開催しました。EVM+技術責任者のMatias RomeoとTrust EVMの開発者代表であるTrust Swap責任者のEsteban Saá Bが出席し、Trust EVMの開発進捗、テストネットの既存アーキテクチャ、Trust EVMに基づくアプリケーションのデプロイ体験、そしてTrustがどのように最速のEVMを実現するかの今後の取り組みについて共有しました。
EOSネットワークに基づくEthereum仮想マシンとして、Trust EVMは開発者にターンキーソリューションを提供します。高い互換性のおかげで、EthereumネイティブアプリケーションはTrust EVMにシームレスに移植でき、ユーザーには低い取引コストをもたらします。そのため、テストネットで開発者プレビュー版がリリースされた後、多くの開発者がTrust EVMのパフォーマンスと将来の発展に注目しています。Trust EVMは最近どのような更新を行ったのでしょうか?今後の進展はどのように展開されるのでしょうか?
以下は 今回のイベントの 全内容を 編集整理したものです。
イベントのハイライト:
公式はSilkwormを使用するノードのためにプラグインを作成し、JSON-RPCリクエストをEVMに提供します;
Mandel 3.1 RC 1版には2つの新しいプロトコル機能が統合されており、公式は今後1週間または数週間以内に新機能を有効化する予定で、新しいEVMランタイムをJungleにデプロイします;
Trust EVMはEOSの完璧なインフラストラクチャであり、すべての新しいアイデアのアプリケーションをサポートできます。したがって、私たちはすでに達成したことにとどまるつもりはありません。私たちは革新と創造を目指しており、私たちがそれを実現できると信じています。
ENF Grantの申請プロセスは非常にシンプルで、これはEOSネットワーク財団の助成フレームワークの良好な組織によるものです。
EVM+技術責任者Matias Romeoの発表
皆さん、こんにちは。私が共有する内容は、Trust EVMテストネットの進捗、次の段階でリリースされるバージョン、そしてEOSネットワーク上で最速のEVMになる方法の3つのテーマに焦点を当てます。
Trust EVMテストネットの進捗
私たちはいくつかのプロジェクトをTrust EVMと来月リリースされる新しいプロトコル機能に統合しています。プロジェクトの開始時に、EOS上での互換性レイヤーの実装方法と、Trust EVM上での2つの選択肢の方向性について議論しました。一つの選択肢はEOS上での実装であり、もう一つはスマートコントラクトの形式、つまりEOS上の通常のコントラクトです。私たちはネイティブのパフォーマンスが高く、実行速度が非常に速いことを知っています。しかし、他方では柔軟性が低く、新しいEVMバージョンが登場すると、すべてのノードオペレーターにソフトウェアの更新を強制します。
したがって、私たちはスマートコントラクトのモデルを採用することに決めました。ご存知のように、EOSは卓越したパフォーマンスを持ち、私たちに大きな柔軟性を提供します。EOSコントラクトは新しいバージョンに更新できます。したがって、さまざまな要素を考慮した結果、これが私たちが進むべき道だと考えました。
私たちはC++スマートコントラクトを開発しました。これはEVM Oneを統合したと言えます。EVM OneはC++でデプロイされた最速のEthereum仮想マシンであり、そのコードベースは最適化されており、より速く、より効率的なEVMスマートコントラクトを提供します。しかし、EVMをサポートするためには、ランタイムにはEVM互換レイヤーだけでは不十分です。また、開発者は現在の状態にアクセスする方法が必要であり、過去の履歴を照会することもできます。これがWeb3 JSON-RPCの出番です。
Trust EVMテストネットの既存アーキテクチャ
すべてのEthereumクライアントはJSON-RPC仕様を実装しています。アプリケーションは一連の統一されたメソッドに依存して状態情報を照会し、取引を送信することができます。また、EVMの状態により、スマートコントラクトはEOSの状態に持続的に存在します。可能な解決策の一つは、各JSON-RPCリクエストをEVMコントラクトのEOS状態照会にマッピングすることです。しかし、実際にはそれほど簡単ではありません。なぜなら、JSON-RPC仕様には履歴状態にアクセスする必要がある特定の呼び出しがいくつかあるからです。たとえば、特定のコントラクトがこの位置に保存しているものを照会することができますが、現在の状態のブロックヘッダー(Head Block)ではなく、過去のものです。
さらに、特定のアカウントの残高履歴を照会したり、取引を実行して追跡を確認したり、任意のブロック高でその取引を実行することもできます。したがって、私たちはこのバージョンのテストネットで、JSON-RPCリクエストの追跡をサービスするために通常のEthereumクライアントを使用することに決めました。基本的に、私たちが今行っていることは、チェーン上にEVMランタイムコントラクトを持つことです。取引がチェーン上で実行された後、私たちはEOSブロックチェーンとJungleブロックチェーンからそれらを抽出できます。
この場合、一度それらが適用されると、ピアツーピアネットワークプロトコルを使用してそれらをEthereumクライアントに提供します。私たちはGasノードを持っており、それは通常のEthereumクライアントの一つで、EOSブロックチェーンとJungleブロックチェーン上のEVMコントラクトに適用されるすべての取引を受け取ることができます。
いくつかの既存の制限
現在、このソリューションは非常にうまく機能していますが、いくつかの制限も見つかりました。私たちはJungle上でテストしているTrust EVMアーキテクチャを簡素化するために、EVM OneのC++スマートコントラクトを使用しました。同時に、ブロックチェーンから取引を抽出し、Gasノードに送信する特別なサービスである翻訳サービスを開始しました。
このGasノードは、世界にJSON-RPCインターフェースを示すノードであり、Metamaskと接続する際に使用するノードです。あなたはその中の一つのEthereumノードを指し示し、次に私たちはパッカーを持っており、受信した取引を処理し、EOSIO TX取引にパッケージ化します。それをランタイムコントラクトにプッシュします。しかし、アーキテクチャがうまく機能していても、多くの不確定要素があります。
次のバージョンでの解決策
したがって、私たちはよりシンプルで統合された新しいオペレーターの使用を検討し始めました。これがEOSIO以前の設計が本当に役立つ場所です。EOSノードプログラムのクールな機能の一つは、Appbaseを使用して構築されていることです。Appbaseは、プラグインのセットからアプリケーションを構築するための基本フレームワークを提供するライブラリです。Appbaseはプラグインのライフサイクルを管理し、すべてのプラグインが初期設定され、プロパゲーターで閉じられることを保証します。
したがって、プラグインのセットからアプリケーションを構築できます。私たちはカスタムプラグインを作成してEOSノードの機能を拡張し、ノードオペレーターはノードを実行する際にそれを有効または無効にすることを選択できます。これが第一部であり、私たちはカスタムC++プラグインを作成してEOSノードの機能を拡張しています。実際、現在すでに多くのプラグインがあり、それぞれのプラグインはEOSノード上で提案された特定のアドレスに対応しています。
Silkwormからの驚きに備える
ご存知のように、SilkwormはEthereumプロトコルのC++実装であり、Erigoneアーキテクチャに基づいてゼロから書かれたクライアントで、最速のEthereumクライアントになることを目指しながら、そのソースコードの高品質な可読性を維持しています。現在、多くの注目を集めています。EOSノードをプラグインで拡張できるため、効率の問題を解決することに重点を置いたEthereum C++を持っています。私たちはSilkwormを使用するノードのためにプラグインを作成し、JSON-RPCリクエストをEVMに提供することに決めました。
このプラグインが準備できたら、自分のTrust EVMノードを実行したい場合は、この新しいプラグインを使用して公式EOSノードを実行するだけで、JSON-RPCリクエストを処理できるようになります。または、開発目的で使用し、テストネットやメインネットを表示したり、他のタイプの構成を使用したりできます。
これにより、以前のアーキテクチャが大幅に簡素化され、すべての必要な機能が同じEOSノードにバンドルされます。Trust EVMの上にいくつかのトークン取引をリストしたいと考えている場合、特定のデプロイメントに対して多くの可動部品が開発チームに運用上の問題を引き起こす可能性があることも考慮しました。したがって、既知の構成を持つノードが1つあることは、私たちが現在持っているものよりも優れたアーキテクチャであり、私たちが最終的に目指すべき場所です。
Mandelの新しいプロトコル機能
Mandelは今後リリースされる公式EOSIOバージョンであり、私たちがEVM ランタイムを実行するのを助けます。固定アドレスのEVMには、計算時間の観点で非常に高価な高度な機能を提供する特定のタイプのコントラクトがバンドルされています。EOS上では、ハッシュやキーリカバリアルゴリズムなどのほとんどの機能がすでにサポートされています。EVMランタイムコントラクトはそれらを使用し、それらにリンクしてこれらの専用機能を使用します。しかし、他のいくつかはそうではないため、私たちはそれらをWebアセンブリレベルで実装する必要があり、事前にコンパイルされた内容をローカルで実装するのではありません。EOSIOプロトコルには、新しいプロトコル機能を追加することで拡張できる非常に良い特性があり、ブロック生産者が自由にそれを有効化できます。
したがって、私たちは公式EOSに2つの新しいプロトコル機能を提出し、この新しいネイティブ機能を持っていることを示しました。同時に、EOSIOプロトコルに新機能を追加し、EVMにバンドルされたEthereumの事前コンパイルコントラクトの呼び出しを加速するのに役立ちます。Mandel 3.1 RC 1版にはこれらの新機能がすべて統合され、Jungleでのテストネットのデプロイが開始されます。したがって、BPが新しいバージョンに更新され、これらのプロトコル機能が有効化されると、EVMランタイムはそれらを使用し始めます。この新しいバージョンについては、6月22日にこれらの機能を有効化する予定です。したがって、1週間または数週間以内に、プロトコル機能が有効化され、新しいEVMランタイムがJungleにデプロイされるのを見ることができると思います。
私たちは、EVMの更新に追いつくための非常に良い柔軟性の組み合わせを持つことができると考えています。なぜなら、私たちはスマートコントラクトレベルでEVMを実装しているからです。しかし、これらのものは計算時間の面で非常に高価であり、Ethereumの事前コンパイルコントラクトは、これらの新しいプロトコル機能の中でより容易に内在し、サポートされるでしょう。RPC部分では、この新しいSilkwormプラグインをメインネットに統合することで、EOSノードはTrust EVMノードを実行したいノードオペレーターの生活をより簡単にします。
司会者:次にTrustSwapの責任者Esteban氏をお迎えしましょう。 また、TrustSwapチームがEOS Network Foundation Grantの資金を獲得したことをお祝いします。
TrustSwap責任者Esteban Saá Bの発表
EstebanとTrust EVMの出会い
少し前、ニュースを見ていると、Trust EVMに関するニュースが目に留まりました。これが私の興味を引きました。
私は非常に好奇心が強く、私たちがどのように働き、どのように接続するか、そしてそれに関するいくつかの技術的決定についての興味深い情報がありました。そこで私は、「よし、これをテストしてみよう、どんなものか見てみよう」と思いました。数分後、私はいくつかのコインを得ることができました。私はうまくやりました。それから、「よし、いくつかのSolidityコントラクトをデプロイしてみよう」と言いました。私が試した最初のスマートコントラクトは非常に速く動作し、操作も非常に簡単でした。そのため、私はTrust EVMに注目し始めました。なぜなら、私は以前に他のEthereum EVMやBinanceスマートチェーンで働いていたからです。だからこそ、このEVMの速度がどれほど速いかを実感できたのです。私はその時、「これは何だ?彼らはどうやってこんなに速く動作させることができるのか?」と思いました。そこで、私はもう一つのことを試みることにしました。他のコントラクトをテストし始めました。予想通り、すべてが良好に機能し、互換性の面でも問題はありませんでした。
そのため、私はEOSについて深く学び始め、コミュニティに参加し、私が行っているすべてのことをコミュニティと共有し始めました。「ねえ、私はこのコントラクトをデプロイしました。Trust EVMは非常に面白そうです。」と言いました。
コミュニティは非常に責任感があり、私に多くの情報を返してくれました。私はさらに多くのコントラクトをテストし、コミュニティからフィードバックを得始めました。そして、私たちはこの情報の循環を始めました。私はこれほど組織的なコミュニティを見たことがありませんでした。すべてのプロジェクト、アイデア、進展がありました。
私はこれが非常に素晴らしいコミュニティだと思い、テストを超えてより挑戦的なことを試みるべきだと感じました。次のアイデアは、私は迅速に使用するコントラクトをデプロイしてみることでした。すべてが正常に機能しました。それから、私はUniSwapからコードを取得し、それらを簡単に組み合わせました。それはまるで魔法のように機能し、速く、安定していて、素晴らしかったです。私たちがTrust EVM上で取引を行うとき、ユーザー体験は非常に良好です。
最後に、私はコミュニティの中で何かを創造し、コミュニティの一部になることができたと思います。
予想外の進展:EOSネットワーク財団からの資金獲得
私はコミュニティの周りに会社を設立したいと思っていましたが、私たちのチームにはリソース、指導などのサポートが必要でした。その後、私たちはENF Grantに導かれ、資金申請のプロセスは非常にシンプルでした。これはEOSネットワーク財団の助成フレームワークの良好な組織によるものです。
もしあなたも興味があるなら、私はおそらく次のように説明できます:あなたはGitHubリポジトリをクローンし、クローン、コード、またはテキストの内部に基本的な情報レイアウトがあります。それを埋めてプルリクエストを作成します。
おおよその流れはこのようなもので、非常にシンプルでスムーズです。私たちはプロジェクトの概要を送信し、ENFがレビューしました。それから私たちは少しフィードバックを受け取り、その後資金を得ました。私たちは今、素晴らしいものを創造するための資金と技術的サポートを持っています。それが私たちが今行っていることです。
TrustSwapの特徴
TrustSwapは、私と多くの積極的なEOSコミュニティメンバーがTrust EVM上で構築したエキサイティングな新しいAMM取引所です。私たちはさらに一歩進んで、エコシステム内の重要な問題を解決したいと考えています。それは、Trust EVMエコシステム内部のクールな部分を示すことです。
私たちはTrust EVMの上に驚くべきユーザー体験を持つサービスを作成し、取引を迅速かつ低コストで行えるようにし、取引時に「何がクールか、次のスタープロジェクトは何か?どのプロジェクトが急成長しているのか?またはどのプロジェクトがすでにピークに達しているのか?」を教えることを目指しています。Trust EVMは私たちがこれらのものを作成することを可能にします。この互換性のレイヤーを持つことは私たちにとって非常に重要です。なぜなら、ここでさらに進むことができるからです。価値をもたらし、アイデアや製品を発信することができます。私たちが行っているのは基本的な取引サービスだけでなく、他のより重要なサービスを提供することです。たとえば、現在の人気プロジェクト、どのプロジェクトが急成長しているかなど、広範なプロジェクトリストの中から取引の選択肢を提供します。
これが私たちが今持っているものです。しかし、私たちはまだ進歩を目指しています。なぜなら、私たちは本当に速く、スケーラブルで、互換性のあるEVMの堅実な基盤を持っており、その上にさらに素晴らしいコンテンツを構築することができるからです。ここにはTrust EVMに簡単に移植できるコントラクトやアイデアがたくさんあります。良好な互換性は、問題を提起し、それらを改善することを可能にし、これらはすべてユーザー体験を大幅に改善します。
EOSコミュニティと彼らが創造しているインフラストラクチャの助けに感謝します。彼らのおかげで、私たちはこれらのアイデアを現実に変え、強力な影響を利用してこの世界の発展を改善することができます。ありがとうございます。