NEMの重要度を上げるための送金量

[mathjax]

NEMのハーベスティングの仕組みでご紹介したように、NEMはProof of Importanceを採用しています。

このPoIの重要度は、送金量が多いほど上がるんですが、どうやら1000xem以上送金しないと重要度には一切関係ないらしいのです。1000xemというと、1xem100円とすれば10万円ですから、そんなに頻繁に送金される量ではありません。

この敷居の高さを理由に、PoIはPoSの流動性問題を解決できていないという意見もあり、これに関しては同意せざるを得ません。

ここで、なぜ1000xemと決まっているのか気になったので、簡単なところだけご紹介します。

NEMテクニカルリファレンス

7.2 The outlink matrixにおいて、

NEM collects all transfer transactions that satisfy the following conditions:

  • Transferred an amount of at least 1,000 XEM
  • Happened within the last 43,200 blocks (approximately 30 days)

とたしかに書かれています。

その後に、NCDawareRank(NCDとは、Nearly Completely Decomposable)というPageRankよりも分解しやすい指標を計算するのですが、その計算には以下のウェイトを中で使います。(NCDawareRank自体の計算はべき乗法を用いる難解なものなので、ここでは説明はしません。参考: Proof of Importanceを読み解いてみた)

\[
w_{ijk}=amount \cdot exp \left( ln\left( 0.9 \right) \left[ \frac{h-h_{ijk}}{1440} \right] \right)
\]

これは要するに、減衰率\(d=0.1\)とすると
\[
w_{ijk}=amount \cdot \left( 1 – d \right)^{floor\left( \frac{h-h_{ijk}}{24 \times 60} \right)}
\] ということです。\( floor\left( \frac{h-h_{ijk}}{24 \times 60} \right) \)は、床関数を使ってブロック高を経過日数に変換する式です。

テクニカルリファレンスのFigure8のように、ウェイトは減衰していきます。

グラフを見ればわかる通り、\( \left( 1 – 0.1 \right)^{30} \)はゼロに近いので、直近\(43200=30 \times 24 \times 60\)ブロック以外の送金は無視しても大して影響はありません。

しかしながら、1000xem以上としている根拠として考えられるものがまったくありませんでした。

仮説として、ウェイト(単位は100万μXEM)の減少幅が最終的に1を下回るからかということも考えてみましたが、\( \left( 1 – 0.1 \right)^{29} – \left( 1 – 0.1 \right)^{30} = 0.0047101286972462 \)であり、1000をかけると4を超えているためその説も棄却されました。

まとめ

1000xemとしている理由が見当たらず、人為的なものだと推測されます。しかしこれは現在のNEMの円建てレートから考えると実情を無視したものであり、修正が必要だと思いました。