Ultraのブロックチェーンチームは、非常に忙しくエキサイティングな2ヶ月を過ごしてきました。Ultraブロックチェーンのコードをベンチマークし、最適化することに熱中する日々を過ごしています。
EOSIOは大変優れたオープンソースソフトウェアで、Ultraのブロックチェーン基盤として使用できてとても光栄に思っております。
前回の記事で説明した通り、私たちのチームは、EOSIOを改良し変更を重ねてきました。これらの変更は、EOSIOが提供できないマス・マーケットに対応したソリューションを提供する目的で行われました。たとえば、アカウントの無料作成や、手間をかけず信頼度の高いブロックチェーントランザクションを提供できるユーザーリソース管理などです。
我々は100%の正確性を目標としており、これには詳細な調査とベンチマーキングが必要でした。
厳しいテストを通して最高のテクノロジーをご提供
これらの機能が正しく実装され、適切に統合されているか確認するには、広範な内部テストを実行する必要があります。これを経ることで、私たちは自身のブロックチェーン基盤に自信を持って、ユーザーの資産プラットフォームに迎え入れることができます。
EOSIOが通常利用しているテストでは私たちのニーズには満たされません。通常のテストでは、私たちの導入した独自のキューイングメカニズムを満たし、ネットワークを飽和させるような十分なトランザクションをプッシュすることはできません。もっと厳しいテストが必要になったので、作っちゃいました!
Ultraの第一のイノベーションはカスタムEOSIOプラグインで、これまでにない速度でトランザクションを実行する手助けをします。競合他社がこれまで試みてきたよりも高速にデータをブロックチェーンにプッシュすることができ、その結果、現実世界のアプリケーションを模倣できる独自のストレッサーが生まれました。このプラグインをEOSIOに移植することで、EOSIOとUltra、両者のブロックチェーンを比較することができました。私たちの目標は、両ブロックチェーンで同じテストを実行し、自社のコードがどれほど競合他社に匹敵するか正確に測定できるようにすることです。
ベンチマーク調査をサポートするため、トランザクションを新規作成しプッシュしていくカスタムAPIも実装しました。このAPIはテストアカウントを自動生成し、それらのバランスを設定し、ステーキング(CPU/NETとUltra Power)を管理します。これらの機能を正確に自動化することで、テストする基盤が完成しました。2020年末にUltraゲームプラットフォームが展開される際、私たちのネットワークが直面するであろう状況に、テスト環境を近づけることができたということです。
更に、それぞれの機能に対して実行したベンチマークに基づいて、レポートを生成する方法も構築しました。このレポートを社内で共有することで、どのような技術的改善を行うべきか正確に判断を下すことができました。テストプロセス中に出現したバグをデバッグするときにも非常に便利です。
これらのベンチマークのほぼ全てが完了したことで、ブロック・プロデューサー(BP)が整えるべき最適なインフラを特定することもできました。これで自信を持ってUltraブロックチェーン・ネットワークで大量のトランザクションを実行していくことができます。また、我々はオリジナルのEOSIOシステムに大規模な変更を施してきたので、予期せぬミスがないかも再確認できました。
ベンチマーク方法
テストごとに、Ultraの管理下にあるベアメタルサーバ上に新しいチェーンを作成します。次に、カスタムAPIを使用してそれらで10万個のアカウントを作成します。
テストしたリソース分散タイプには、normal(通常)、uniform(特異)、およびexponential(特例)の3つがあります。経験するであろうネットワーク構成に加え、想定外のケースもカバーしています。
各テストには、ステーキング需要と取引需要の不一致が3つあります。これにより、9回のテストサイクル (3つのバージョンを持つ3つのディストリビューション)が得られます。
1サイクル中に170万個のトランザクションが送信され、それらが作成された10万個のアカウントに分割されていきます。これらのトランザクションは、例えば500ミリ秒ごとに1万トランザクションなど一定のレートで送信されます。また、業界標準であるeosio.tokenコントラクトとトランザクションを使用します。
結果はログに記録され、品質管理の一環として社内で共有されます。
私たちはベンチマークに対して全体的なアプローチを取るようにしています。Ultraの公開テストネット(およびメインネット!)の基盤となるUltraブロックチェーンの安定性と整合性をしっかり確認するためにです。
ベンチマークの結果
現在、EOSメインネットがEOSIO最大の導入環境です。多数のブロック・プロデューサーがインフラとネットワークの標準を設定してきました。EOSメインネットは現在、毎秒約4,000 トランザクションで限界に達します。
Jungle Testnet(EOSベース)を9,100 TPS(トランザクション/秒)以上に押し上げたBPグループがいましたが、マイクロフォークに問題を抱えていました。同チームはJungleで安定して6,977 TPSを達成しました。
Ultraブロックチェーンはそれを越えていきます。
オリジナルEOSIOでの結果
現在、私たちは10,636 TPSを記録しました。これは、オリジナルのEOSIO上で、Ultraがバックポートした強力なEOSIOプラグインとインフラを使って得た結果です。
Ultraブロックチェーンでの結果
Ultraブロックチェーンでは、11,610 TPSを達成しました。キューイング・メカニズムなど、独自で開発した数々の機能により、この数値を達することができました。が、既にハードウェアの代替構成を実験しており、我々はこの値をさらに改善していきます。
今後のテスト
当然、私たちはの関心はピークTPSだけではありません。平均TPSは、スループットの一貫性を示します。これは、ネットワークが容量を適切に処理できるかどうかに直接影響し、ネットワークの状況に関係なく、トランザクションが適切なタイミングで処理されることを保証します。エンタープライズに対応できるネットワークでは、一貫性が最も重要です。
ここではEOSIOとUltra Blockchainの両方で継続的にプッシュされるトランザクションの数を確認できます。Ultraのブロックチェーンは一貫性が高く、常にネットワークの処理できる最大限のトランザクションを処理してくれます。
平均TPSの結果
EOSIOでは、6,930 平均TPSをベンチマークしました。それに比較して、Ultraはかなり高い9,514 平均TPSを達成しました。つまり言い換えると、UltraはEOSIOより平均31%多くのトランザクションを実行します。
トランザクション成功率
Ultraは更に、ネットワークをストレステストし、トランザクションの失敗数をチェックしています。アカウントのトランザクション需要と残リソース間で生じる不一致に応じて、トランザクションの失敗数がどれほどあるかチェックしています。
トランザクションの失敗はユーザーや開発者に直接影響を与えるため、これら最後のテストは特に重要です。Ultraは現在1〜2%の失敗率を示しており、EOSIOの30〜50%を大幅に下回っています。我々のキューイングメカニズムは非常にうまく機能しています。
結論
UltraはEOSIOソフトウェアを、自身のビジネス要件に合わせて拡張することに成功しました。要件は次のとおりです:
- 無料トランザクション
2. 開発者向けの迅速なトランザクション
3. スパムを防止できる強固なキューイングメカニズム
広範なベンチマークとテストにより、我々の施した改善が、ネットワークの安定性や速度に悪影響を与えていないことがハッキリしました。
どれだけ膨大な量のトランザクションを投入しても、Ultraブロックチェーンは、より高いピークTPS、より高い平均TPS、そして一貫したスループットを有します。
Ultraのビジョンは、開発者が信頼して導入でき、ユーザーが簡単に使用できる、マス・マーケットに対応した、企業グレードのネットワークを構築することです。今回のこのテスト結果を私たちは心から嬉しく思っておりますし、メインネットのローンチ待ち遠しくて仕方ありません。
あなたがゲーム開発者で、Ultraブロックチェーンへのアクセスを希望される場合、こちらからご登録ください。担当者からご連絡させていただきます。
Ultraについて
Ultraはゲーム業界で使われるあらゆるサービスを、1つのプラットフォーム上で提供するエンターテイメント・エコシステムです。1回のログインであらゆる種類のサービスにアクセスすることができるようになります。
PCゲーム配信プラットフォーム「Ultra Games」がエコシステムの中心となり、そこから派生してゲームやゲーム内アイテムの検索/購入/プレイ/再販、ライブストリーミングの視聴、お気に入りのインフルエンサーとの交流、コンテストへの参加、トーナメントへの参加などあらゆるサービスがワンストップで活用できるようになります。
Ultraは今後、ブロックチェーンとマスマーケット、DAPPSとAPP、NFTと既存アイテム、その間に存在する軋轢を解消していくため、全力で取り組んでいきます。
より詳細については、UltraのWebサイト、Twitter(メインアカウント)、Twitter(ゲームアカウント)、YouTube、Telegramを是非ご覧ください。