IoTeX メインネット v1.8 リリースのお知らせ

IoTeX プロトコルのバージョン 1.7 のリリースから 2 か月、コア開発チームは新バージョン 1.8 をリリースしました。このリリースは現行プロトコルの「ハードフォーク」となります。ブロック 17,662,681(おおよそ 2022/05/30 UTC 午後 11 時)で有効化されるため、すべてのブロックプロデューサーとデリゲートはノードソフトウェアを最新の公式リリース v1.8.0 にアップグレードする必要があります。フルノードのインストール手順はこちらをご覧ください。
以下は今回のリリースの新機能の詳細です。
Metamask からの IoTeX ステーキング
まずは最も重要な機能から始めましょう。それは、すべての Ethereum ウォレットとソフトウェアライブラリから IoTeX ステーキングにアクセスできるようになったことです。これはコア開発者による数か月の開発と綿密なテストを要した重要な目標ですが、IoTeX 独自のステーキングトランザクションを Ethereum クライアントに公開し、Ethereum 互換性を完成させるために絶対に必要なものでした。
では、これはどういうことなのでしょうか?これを理解するには、ステークの作成から委任先ノードの選択、デポジットの移転に至るまで、IoTeX のステーキングアクションが、一部の人が考えるようなスマートコントラクトとしてではなく、ブロックチェーンのネイティブプロトコルの一部であるカスタムトランザクションとして実装されていることを知っておくことが重要です。この設計により IoTeX ステーキングは高いスケーラビリティを備え、数十万件のステーキングデポジットも容易に処理できます。また、非常にコスト効率にも優れています。各ステーキングアクションは高価なスマートコントラクト呼び出しの実行を伴わず、ネイティブトランザクションを送信するだけで済み、そのコストは単純な IOTX トークン送金トランザクションとまったく同じ 0.01 IOTX です。一方で、これらの特殊な「ステーキングトランザクション」は Ethereum プロトコルの一部ではありません。これらは Ethereum クライアントには認識されません。 そのため、これまでは Metamask や Trust Wallet のような Ethereum ウォレットを使って IoTeX ステーキングを操作することはできず、IoTeX ブロックチェーンのネイティブウォレットである ioPay を通じてしか行えませんでした。
では、どのように機能するのでしょうか?実装の詳細は簡単ではありませんが、高いレベルで見れば解決策はシンプルです。今回のアップデートにより、IoTeX ブロックチェーンにはプロトコルによってハードコードされ、管理される特別な「受信者アドレス」(0x04C22AfaE6a03438b8FED74cb1Cf441168DF3F12)が設けられました。これにより、あらゆる Ethereum クライアントが、ステーキングアクションのデータをトランザクションのペイロードにエンコードした通常の IOTX 送金トランザクションによって、ステーキングトランザクションを送信できるようになります。内部的には、IoTeX プロトコルがこの特別なアドレス宛てのすべてのトランザクションを捕捉し、ペイロードからステーキングアクションをデコードして、ネイティブのステーキングトランザクションに変換し、アクションを実行します。
この新機能の詳細はすべて IIP-12 改善提案に記載されています。
バグ修正など
リリース v1.8.0 には、以下の追加修正が含まれています:
- p2p ネットワーク接続の堅牢性を向上させ、v1.7.1 へのアップグレード後に一部のデリゲートから時折報告されていた、フルノードがメインネットに参加できない問題を解決しました
- サービスの起動と停止をより適切に管理するため、chainservice builder を導入しました
- API モジュールの複数のコードリファクタリングと改善
詳細な情報は GitHub の公式リポジトリでご確認いただけます:https://github.com/iotexproject/iotex-core