ダイダロスウォレット(テストネット版)にプールのランキング一覧があります。

当プール(NAP)はこの投稿の時点で全世界で約900あるプールのうち34位です。プール登録直後はしばらく最下位あたりをうろついていたので、単純にこの結果は嬉しいのですが、どのようにこのランク付けがされるアルゴリズムなのでしょうか?日本のカルダノコミュニティに質問をしてみましたが、答えが返って来なかったので、自分なりに考えてみました。

1位から各プールの詳細を覗いていくと、1つはっきり言えそうなことは[Performance]という数値が高いプール程、ランクが上位になっているという事です。ただその[Performance]とはどのように算出されているのでしょうか?そして何を示しているのでしょうか?

おそらくこれはプールが持っている現在のブロック生成能力の効率性を示しているものと考えられます。
各プールは現在持ち合わせている委任量に応じて、ブロック生成のスケジュール(チャンス)が割り当てられます。その数字に対して実際、現実としてどれくらいブロックを生成した実績があるか。

つまり”期待値”と”実績”を比較したものがPerformanceを示しているのではないかとNekotaは考えます。

例えば、大人と小さな子供、その両者にダンボールを運ぶという仕事をさせたとしましょう。(ダンボールを1つ運ぶ事を、プールが1つブロックを生成するイメージです。)

仕事が始まる前の時点で、仕事を依頼した人はある程度予想を立てますよね。(例えば、10分間で大人なら10個は運んで欲しいし、子供は力がないから6個運んでくれれば上出来だ!みたいな感じで。。。)

実際、仕事をスタートさせ、10分経過した時点で運んだダンボールの箱を数えてみると、大人は10個、子供が7個運んでいた場合に、子供は(期待値6個より1つ多い)7個を実際に運んでいたので、この子供の働き(Performance)は良いという事になります。そしておそらくこの場合、Performanceは7 ÷ 6 = 116.6%になります。

”期待されている仕事の量(大人なら大人に見合った量、子供なら子供なりの量)をこなせたかどうかで、Performanceが変わり、それが運用率を示す結果となる”という予想です。

ステーキングプールの場合、パフォーマンスとは何を示すものでしょうか?
各プール、委任されているADAの量はプールごとに違います。設計上、委任の量が多ければ、そのプールに割り当てられるブロック生成のチャンスが増えます。この数が期待値であり、その期待値に対してどれくらい実際にそのプールがブロックを生成できたかでPerformanceが算出されるのだろうと思います。

つまり、大きなプールはブロック生成の実績の数が大きくても、それは期待されている数値より低いものであれば、そこに委任しているホルダーの方の運用率はあまり良くならないという事です。

具体的にいうと

仮に大きなプールAが既にブロックを300個生成し、300回報酬を受けているとします。一方、委任量がほとんどないプールBがブロックをまだ30個しか生成していないとしても、もしBの方が(期待値)よりも良い(実績数)であれば、プールAよりプールBに委任しておいた方が運用率が高くなる(Performanceが高い)ということす。(プールAもプールBもシステムがきちんと同じように稼働しているという事が前提)

ただ一点注意しなければならないと思うことがあります。
それはどれくらいの期間のPerformanceであるかどうかという点です。まだプールを立ち上げたばかりであれば、たまたま平均的なブロック生成スケジュールよりも早く割り当てられた場合、そのプールに期待されるブロック生成の数より、実数(実際に生成したブロック数)が結果的に多くなり得るので、少しのブロック生成だけで、Performanceが良くなってしまうことがあります。

ある程度の期間(それが3ヶ月ぐらいなのか、半年ぐらいなのかは分かりませんが)を経過したプールでPerformanceが良いプールであれば、それは本当に良いプールなのかと考えられます。(実際、ランクの上位にいるプールはブロック生成の数が少なく感じられます。)

因みにランクは時間の経過と共に順位を下げて行きます。(ブロックを生成しなかった場合)
おそらく委任量が多いところほど、ブロックチェーン全体のブロックが進むほど順位がグイグイ落ちてくるのではと思います。そしてブロックを生成するとまた順位をあげます。(これも委任量が小さいプールほどランクの上がり方は大きく、逆もまた然りという感じかと思います。)

上記はあくまでNekotaの個人的な考えなので、違う点、間違っている点があればぜひご指摘下さい。