インターネットコンピューターのトランザクションスピードは?

  • インターネットコンピューターのTPSはどれくらい?

TPSは一秒あたりのトランザクション数のことで、ブロックチェーンのパフォーマンス指標の一つです。

新興のブロックチェーンの将来性を予測するのにパフォーマンスは重要です。

なぜなら、ビットコインのイーサリアムのTPSは非常に遅い問題を抱えているため、次に人気が出るブロックチェーンはより高速に処理できるブロックチェーンの可能性が高いからです。

この記事はインターネットコンピューターの速度について知りたい方向けの記事で、TPSがどれくらいなのか、そしてTPS以上に重要な速度がわかる内容になっています。

インターネットコンピューターのTPS

2021年末に公開されたインターネットコンピューターの説明資料にTPSについての言及がありましたので引用します。

「280,000 TPS !!!」

んん!!?、 しかも括弧書きで無制限とあります。

第一印象は、「速すぎない?嘘じゃない?」です。カタログスペックでしょうが、とんでもないスピードです。

私の中ではSolana(SOL)が最速候補で 60,000 TPSくらいの認識をしていましたが、インターネットコンピューターのその5倍ほどのパフォーマンスを叩き出していることになります。

決済システムのvisaですら、平均2,000TPS、理論上最大は56,000TPSと言われていますから、その数値の異常さがわかります。

実際、インターネットコンピューターではパフォーマンスを重視していますけれども、TPSを大々的に宣伝していませんね。なにか理由がありそうです。

例えば、インターネットコンピューターの現状のステータスはダッシュボードで見ることができるのですが、そこにTPSの記載は長らくありませんでした。最近になってMessage Throughput(Transaction)が見れるようになった程度の扱いです

どちらかというと初期はブロックスピード(ブロック/秒)に注目するようにダッシュボードが構成されていました。

掘り下げていきましょう。

ICでTPSがあまり重視されていない理由

  • 比較のためのTPS
  • TPSは無制限であるべき
  • メッセージの大きさが違う

インターネットコンピューターでTPSをあまり取り上げていない理由についてみていきましょう。

比較に使いやすいTPS

ブロックチェーンのパフォーマンス指標としてはTPSとブロック生成速度が使われますが、よりTPSのほうが一般的です。

ビットコインの影響か

TPSで語られるのが多いのは、ひとつはビットコインの影響かなと考えています。仮想通貨の最大手であるビットコインの速度をTPSで図っているためほかのブロックチェーンも指標としてTPSを使っているのでしょう。

宣伝のためのTPS

一部ブロックチェーンではのTPS表記は「トランザクションファイナリティ(完了確認)」までの時間が入っていないことがあります。

ファイナリティを入れないほうが見かけのパフォーマンスが高くなりブロックチェーンのプロジェクトとしては資金を集めやすいため、宣伝で使いやすいです。

ブロック作成スピードであれば、トランザクションが完了したものが含まれているので「ごまかし」ができません。

スケーラブルならTPSは無制限であるべき

Dfinity創設者ドミニクの言及です。

「スケーラブルなブロックチェーンは、ブロックチェーン全体ではTPSは無制限である必要がある」ですね。インターネットコンピューターも当然スケーラブルなブロックチェーンを狙っています。

ライバルは AWSやAzure などのWEB2.0のクラウドサービスなわけですが、これらも「全体」では無制限にスケーラブルな気がします。

AWSで自分たちのアプリやサービスをホストするとき、自分たちが利用する範囲のアプリでのパフォーマンスを気にすることはあっても(たとえば、Amazon AuroraのストレージやTPSはみても)AWS全体でのTPSやどの程度のデータ保存ができるか考えないですよね。

様々な企業がアプリやデータベースをホストしていますが、それによって自分たちのTPSへの影響を気にしたりするわけではありません。

インターネットコンピューターにTPS上限は無い

サブネットという単位でサーバーを追加するたびにTPSがプラスされていきます。執筆時点でブロック生成スピードは30 block/sで、280,000 TPSなわけですが、これがサブネットを追加するたびに増えていきます。

これがインターネットコンピューターがTPSが無制限としている理由です。

トランザクション・メッセージの大きさが違う

トランザクションの仮想通貨ゆえ、単純に金額の取引(トランザクション)を行うので、トランザクションの内容は「金額」ですね。

ブロックの中身は動いているプログラムによって変わる

しかし、インターネットコンピューターはICPのようなトークンのトランザクション以外にも、プログラム同士のメッセージもまたトランザクションとして記録されます。

メッセージは大きいものから小さいものまでさまざま。

TPSやブロックスピードは参考情報

いろいろな種類のメッセージをブロックにしていくため、TPSなどの速度指標は他のブロックチェーンと単純比較できません。

例えるなら、遠投でそれぞれが野球ボール、砲丸、はたまたバスケットボールを投げて、誰が一番飛んだかを競うようなものです。

もちろん、通貨として開発されているブロックチェーンたちを比べるのにTPSは個人的にも有効と考えています。「投げるボールの形が似ている」ので。

しかし、アプリを動かすのを目的に作られているインターネットコンピューターでは、トランザクションの中身が違うので単純な比較にTPSは使えなそうです。

インターネットコンピューターではそれよりも重要な「速度」があります。

TPSより重要な速度、Webスピード

インターネットコンピューターで重要な速度はWebスピードでしょう。

  • データの読み込み:1秒以内(ミリセカンドで応答します)
  • データの更新:2秒

TPSは10,000よりも出るけど、データ更新に十秒以上かかるブロックチェーンもあるなか、インターネットコンピューターは、インターネットを使っているのと遜色ない速度ではないでしょうか。

ミリセカンドで応答できると、利用者がブロックチェーンを利用していると悟らせないことすらできます。実際にインターネットコンピューター上に作成されたアプリがあるのでリンクを置いておきます。無料で利用できます。

>> DSCVR:インターネットコンピューターで作られたRedditライクなサービス

大抵のブロックチェーンネットワークというのは、トランザクション量が増えると性能が劣化していくのですが、「読込1秒・更新2秒」を維持するために、先ほど説明したサブネット追加によるパフォーマンス拡張で補います。

まとめ

インターネットコンピューターの速度についてふれてきました。最後にまとめます。

  • 2021年時点で280,000 TPS(※たぶんカタログスペック)
  • トランザクションスピード、ブロックスピードの上限は無い
  • インターネットコンピューターは応答1秒以内、更新2秒のWebスピード

個人的に、280,000 tx/sというTPSはまさに広告用だなと思っている一方で、アプリの速度は気に入っています。実際に動いているDSCVRはそれなりのパフォーマンスが出てると思います。

ネットワークが混雑しても、速度維持がサブネットの拡張によって可能だということも良いですね。

欲をいえば、Webスピードがさらに向上しないかなと期待しています。