コミュニティの皆さん、こんにちは。この記事では、SKALEネットワークの短期的なリリース・スケジュールと開発プロセスに基づいたSKALEネットワークの状況をお知らせします。

オープンソースプロトコルとして、すべてのコードが公開されており、すべての開発がオープンに行われています。つまり、GitHubにアクセスすることで、すべての課題やプルリクエストがオープンとなっており追跡することができます。この記事とカレンダーへのリンクを確認することで、ローンチに関するオペレーションをより簡単に知ることができます。このようにして、コミュニティ全体が、メインネットの次のリリースまでの詳細とタイムラインを確認することができるのです。

インフラとパフォーマンスの改善点

昨年10月、SKALEは分散型メインネットのローンチに成功しました。現在では、48の認証機関が160のノードを運用しており、ネットワークはローンチから停止することなく稼働しています。最近では、はじめてのSKALEチェーンがSKALEメインネット上にローンチされ、いくつかのDAppsや開発ツールをデプロイして本番環境でのテストを行いました。

今回のテストでは、いくつかの重要な改善点が見つかりました。1つ目は、ネットワークにおけるロードバランシングの改善です。数週間という短い期間で、コア開発者はロードバランサーの開発を促進し、DApp開発者がチェーン上の16のエンドポイントすべてを簡単に利用できるようにしました。さらに、ネットワークとSKALEチェーンのパフォーマンスを調整するためのいくつかの方法が実装され、メインネット上のノードの安定性が向上しました。

その間、複数のバリデーターは、より安全で柔軟性のあるインフラにアップデートしており、そのためにメインネット上の複数のノードがダウンし、再稼働させる必要がありました。以上のように、コアチームとオープンソースのコントリビューターは、メインネットのSKALEチェーンがローンチして以来、バリデーターとの調整、テスト、アップデートの推進など、非常に多忙な日々を送ってきましたが、その間もネットワークは途切れることなく運営されています。

IMAの改善と監査

SKALEチェーンの開発と並行して、IMA(Interchain Messaging Agent)と呼ばれるEthereum <> SKALEブリッジの開発も進んでいます。このブリッジの初期部分は、数ヶ月前にテストネット上でDApp開発者や一部の社内ネットワークに公開されました。それ以来、チームは驚異的なガス効率を実現するために多くの再設計を行い、アーキテクチャを簡素化し、いくつかの重要な機能を組み込んでいます。IMAは、1月に最初の監査を受け、再構築と再設計の後、まもなくリリースされる最新の監査が先週完了しました。

IMAは複数のスマートコントラクトで構成されており、Ethereum上とSKALE上に作成された各チェーンの両方にデプロイされます。また、IMAのDockerコンテナは、各SKALEノードのリソースとして機能するバリデーター・ノードにデプロイされます。これらのコントラクトやコンテナは、テスト、最適化、再デプロイされ、SKALE側だけでなく、バリデーター側でも多くの調整や管理が必要でした。48人のバリデーターは、それぞれが異なる種類のインフラを持ち、様々なレベルの経験を持っているため、膨大な努力が必要でした。ありがたいことに、コアチームとバリデーターのコミュニティは、以前のSKALEテストネットで多くの経験を積み、複雑な調整を経てメインネットへの変更や修正をデプロイしました。

Denaliアップデートの後、最初のSKALEチェーンが稼働したことで、開発者は現在のSKALEにデプロイする準備が整いました。とはいえ、IMAブリッジを使用してSKALEとEthereumの間でアセットを送受信できるようにしたいと考えているユーザーはかなり多いです。その2つ目の需要を満たすことこそが、この次のリリースでは重要となります。

次のステップ

SKALEのオープンソース開発チームは、コードレビュー、内部QA回帰テスト、テストネットに対するプッシュ、メインネットに対するプッシュを含むリリースプロセスに沿って開発を進めています。これには、コンセンサスから各ノード上で動作するSKALEDと呼ばれるEthereumクライアント、SKALEのBLS閾値暗号、各SKALEチェーン上にあらかじめ配置されたコントラクトまですべてが含まれます。これらはすべて、DApp開発者とそのエンドユーザーが使用する1つのスタックにまとめられています。さらに、それらをサポートするバリデーター・スタックも存在します。これには、Dockerコンテナのセットであるノードソフトウェア、ノードソフトウェアをサポートするCLI、ノード数に応じた1つまたは複数のSGXサーバが含まれます。

コンセンサス、事前にデプロイされたコントラクト、バリデーター・ノードなど、これらのコンポーネントはすべて、IMAで動作するようにテストされ、アップデートおよび改良が行われています。実際、先週はQAがSKALEチェーンとノードスタックの回帰テストを行っていました。 今週、私たちはQA回帰テストから、2段階のプロセスでベータ版をテストネットにプッシュしています。これは、大きなバリデーター・コミュニティに参加してもらう前に、各ノード内で何が起こっているのか、より多くの情報を得るためです。

まずはじめに、テストノードを稼働させて簡単なテストを行います。マシン・オペレーション、SKALEDの稼働とパフォーマンス、トランザクションとマイニング・ブロックの更新、IMAを通じたメッセージの転送など、すべてが順調であれば、テストネットプロセスの第2段階が開始されます。この段階では、テストネットに参加している外部バリデーターは、テストネット上のノードをこれらのテストネット・バージョンにアップデートします。その後、外部バリデーターによるテストネットで、もう1度テストが開始されます。チームはパフォーマンスのテストを行い、複数のSKALEチェーンをデプロイし、IMAを使用したSKALEチェーンをデプロイします。この時点では、SKALEチェーンの負荷テストを行います。何百ものアカウントから何百ものトランザクションがIMAブリッジを経由してトークンをやり取りします。

それが完了し、チームが同意した場合、メインネット・バージョンへのリリース作業が行われます。忘れてはならないのは、世界中には150以上のノードを運用する48のバリデーター組織が存在しており、バリデーターによって使用しているマシンやインスタンス、インフラが少しずつ異なるということです。また、トラブルシューティングや、バリデーターが実際にすべてのノードをアップデートを完了させたかどうかの確認、さらにはすべてのノードがメインネット上で動作するための要件を満たしているかどうかの確認も必要です。これらの作業には膨大な調整が必要であり、通常は数日かけてコアチームがIMAコントラクトをメインネットにデプロイします。メインネットにコントラクトがデプロイされると、そのコントラクトがすべてetherscanで検証され、デプロイされたコードが意図したとおりに動作することを確認します。

すべてのバリデーター・ノードがアップデートされ、メインネット上にコントラクトがデプロイされ、すべてチェックとトラブルシューティングが行われた後、IMAを使用して最初のチェーンがメインネットにデプロイされます。これには、SKALEマネージャーの分散鍵の生成(DKG)プロセスからはじまり、SKALEチェーンの構築に参加しているノードのトランザクションを追跡および監視するなど、すべてが正しいことを確認するためのQAプロセスがあります。何か問題があれば、コア開発者とコントリビューターがトリアージ(選別)を行い、その問題についてQAに報告します。SKALEチェーンが立ち上がると、IMAのコントラクトが自動的にSKALEチェーンにデプロイされ、事前にデプロイされたコントラクトのQAが行われます。その後、SKALEチェーンごとにロードバランサーがデプロイされます。その後、最初のDAppsが稼働します。

IMAとデプロイのスケジュールについて

日々の状況をより正確に把握していただくために、暫定的な日程を示した簡単なガントチャートを添付しました。QA回帰テストからはじまり、テストネットへと流れていきます。テストネットのフェーズ1とフェーズ2の間には、DappNettがあります。これは、ユーザーがメインネット上にリリースされるバージョン・テストを実施するための内部ネットワークです。これにより、ユーザーはメインネット上でのプロダクション・デプロイメントの準備をすることができます。その後、すべてがスムーズに進むと仮定して、メインネット上ですべてが稼働します。水色で表示されている部分については、プロセスが最も早く開始されると予想される段階です。緑色は、そのプロセスの完了すると予想される段階です。これにより、これらのアクティビティの開始時期と終了時期の確率的なタイムラインと範囲がわかります。

開発スケジュールに関するGoogleシートはこちら

これらのネットワークを開発することは、非常に困難な作業であり、多くの調整が必要です。通常のソフトウェア開発サイクルとは異なり、私たちはCryptokittiesのような1つのソフトウェアだけでなく、Web3の基盤となる一連のプロダクトを構築しています。 複雑な相互依存関係があり、すべての変更、追加、バグ修正、再構築が波及効果をもたらします。

SGXウォレットは、多くのSKALEチェーンのコンセンサスがBLS閾値暗号を使用してブロックに署名するためのソフトウェアの1つです。SGXウォレットに変更を加えると、コンセンサス、SKALED、閾値暗号、ブロック署名、IMAブリッジなどに影響を与える可能性があります。つまり、SGXウォレットの変更、コンセンサスの変更、SKALEDの変更、BLS閾値暗号の変更、SKALEノードの変更、SKALEノード間のAPIレイヤーの変更が必要になります。ご覧のように、すべてが相互に依存しています。これらのスタックの一部に変更を加えると、そのスタック全体をテストするための、まったく別のQA回帰プロセスがはじまります。そのため、何週間もかけてQAテストを行っています。

最終的な考え

SKALEはオープンソースであるため、多くのステークホルダーが存在します。DAppの開発者、オープンソース・コントリビューター、リサーチャー、バリデーター、デリゲーター、トークン保有者、さらにはEthereumコミュニティもステークホルダーです。彼らは皆、SKALEネットワークの成長と持続性にとって重要な存在です。活発なHacker Oneプログラムがあり、すでに大きな影響を与えています。また、DKGプロトコルやSGX、その他のセキュリティのベストプラクティスに関して、リサーチャーや他のコミュニティのメンバーからの貢献もあります。これらの多くはバックグラウンドで行われており、その一部はSKALEのGitHubリポジトリを確認することでわかります。コアチームとオープンソース・コントリビューターは、単にソフトウェアをプッシュするのではなく、コミュニティと連携し、ネットワークのあらゆる側面に関してベストプラクティスに従っています。

これは非常に重要なアップデートであり、バリデーターがテストネットの初期段階からメインネットに至るまで調整に協力してくれていることに大変嬉しく思います。SKALEとEthereumのブリッジにより、DAppパートナーはSKALEチェーンを自分のアプリケーションで使いはじめることができます。SKALEチェーンとIMAブリッジは、Ethereum開発者にとって、柔軟性、セキュリティ、スピードの面で非常に魅力的な商品であると認識しています。現在使用している他のブリッジよりも大幅に改善されており、開発者のDAppsを大衆に提供するための大きな一歩となります。