マイニング・プール(MiningPool)恒等式バージョン2.0

 Mining Pool(マイニング・プール)とは、OVO.SPACE公式指定(Collectionに収納)のNFTコンテンツをステーキングして稼げられるOVO Tokensの数量を指しています。Mining Pool(マイニング・プール)に配当されているOVO TokensはすべてEcosystem(第4章を参照)から抽出されています。

Mining Pool(マイニング・プール)はコンテンツごとに配置されており、例えば、にゃっちーず(Nyathees)にはNyathees Mining Pool、Cuty Owl Girls(COG)にはCOG Mining Poolが配置されることになります。また、将来的にOVO.SPACEのCollectionに収納されるNFTコンテンツには同様な仕組みが実装される予定です。

 特定NFTコンテンツのMining Poolは、「Fusion(合成)/Upgrading(強化)」の使用回数、OVO Tokensの価格、及びNFT Miningに参加しているウォレットアドレス数によって毎週変化しています。

 最新MiningPool数式は以下の通りになります。当日における各パラメータ終値は(合成回数、マイニングステーク数、トークン価格等)日本時間24:00に取得し、NextWeekPoolは翌日0:01に反映されます。また、次週のThisWeekPool数値は、前週第7日目の24:00に示したNextWeekPool数値に変わりますが、次週ThisWeekPoolは0:00~0:30以内にアップデートされますので、ご了承ください。

1,次週のトークンプール量(NextWeekPool)計算式

NextWeekPool=ThisWeekPooli+1=ThisWeekPooli(1+M(ri)),i=1,2,3,4...nNextWeekPool = ThisWeekPool_{i+1} = ThisWeekPool_{i} \cdot (1+M(r_{i})), i=1,2,3,4...n

2,ウィクリー(Weekly)アクティブ関数

M(ri)=e2ri1e2ri+1,i=1,2,3,4,...nM(r_{i})=\frac{e^{2\cdot r_{i}}-1}{e^{2\cdot r_{i}}+1},\qquad i=1,2,3,4,...n

3,アクティブ関数の入力値計算方法

{ if Pi=0,ri=0 if Pi0,ri=FiSiPi,2.5ri3,i=1,2,3,4,...n\begin{cases} & \text{ if } \quad \overline{\bigtriangleup P_{i}}=0 ,\quad r_{i}=0 \\ & \text{ if } \quad \overline{\bigtriangleup P_{i}}\ne0,\quad r_{i} =\frac{\overline{\bigtriangleup F_{i}}\cdot \overline{\bigtriangleup S_{i}} }{\left | \overline{\bigtriangleup P_{i} } \right | } \end{cases},\qquad-2.5 \le r_{i} \le 3, \quad i=1,2,3,4,...n

4,Fusion&Upgrade機能の使用回数値の平均変化率と変化率

Fi=1jFi,jj,1j7\overline{\bigtriangleup F_{i} } = \frac{\sum_{1}^{j} \bigtriangleup F_{i,j}}{j},\qquad1\le j \le7
Fi,j={ if j=1,Fi,jFi1,7Fi1,7 if 2j7,Fi,jFi,j1Fi,j1\bigtriangleup F_{i,j} =\begin{cases} & \text{ if } \qquad j=1 ,\qquad \frac{F_{i,j}-F_{i-1,7}}{F_{i-1,7}} \\ & \text{ if } \quad2\le j\le 7, \qquad \frac{F_{i,j}-F_{i,j-1}}{F_{i,j-1}} \end{cases}

5,マイニングにステークしたウォレット数の平均変化率と変化率

Si=1jSi,jj,1j7\overline{\bigtriangleup S_{i} } = \frac{\sum_{1}^{j} \bigtriangleup S_{i,j}}{j} ,\qquad1\le j \le7
Si,j={ if j=1,Si,jSi1,7Si1,7 if 2j7,Si,jSi,j1Si,j1\bigtriangleup S_{i,j} =\begin{cases} & \text{ if }\qquad j=1 ,\qquad\frac{S_{i,j}-S_{i-1,7}}{S_{i-1,7}} \\ & \text{ if } \quad2\le j\le 7,\qquad\frac{S_{i,j}-S_{i,j-1}}{S_{i,j-1}} \end{cases}

6,OVO Token価格(gate.io)の平均変化率と変化率

Pi=1jPi,jj,1j7\overline{\bigtriangleup P_{i} } = \frac{\sum_{1}^{j} \bigtriangleup P_{i,j}}{j} ,\qquad1\le j \le7
Pi,j={ if j=1,Pi,jPi1,7Pi1,7 if 2j7,Pi,jPi,j1Pi,j1\bigtriangleup P_{i,j} =\begin{cases} & \text{ if }\qquad j=1 ,\qquad\frac{P_{i,j}-P_{i-1,7}}{P_{i-1,7}} \\ & \text{ if }\quad 2\le j\le 7,\qquad\frac{P_{i,j}-P_{i,j-1}}{P_{i,j-1}} \end{cases}

マイニングシステムアップデート説明:

1、初期バージョンのマイニングプール計算式は、毎週1日目と7日目のデータのみを採取して変化率を計算したため、実質的に少人数でマイニングプール数値の操作が可能になっていました。また、2日間のデータのみに依拠していたため、NFTマイニングにおけるデイリーアクティブ率を正確に反映できない等の問題も明らかになりました。従って、マイニングプール恒等式バージョン2.0では毎週1日目から7日目のデータを採取し、平均変化率を導入することによって、プール数値の操作を防ぐ一方、より正確にデイリーアクティブ率を反映することが可能になりました。

2、初期バージョンにおけるΔF*ΔS / ΔP 数式をウィクリーアクティブ関数M(r)に変更した理由は、パラメータの極端な変動によるマイニングプールへの影響を最小限に抑え、より安定したマイニングプールを提供するためです。従来のマイニングプール恒等式では、ΔPとΔFを定数として仮定した場合、仮に第1日目のΔS数値が正数であっても、第7日目のΔS数値が0になった場合、マイニングプールは急激に減ってしまい、不合理な結果をもたらす可能性がありました。ウィクリーアクティブ関数M(r)と平均変化率を導入することによって、上記のような極端なパラメータ変動によるマイニングプールへの影響を抑えることが可能になります。

3、従来形式のマイニングプール数式では、7日目に終値を採取してNextWeekPoolを表現できませんでしたが、バージョン2.0では毎日NextWeekPoolの変動を表現することが可能になります。勿論、NextWeekPoolは7日目に決定される訳ですが、デイリーアクティブによるマイニングプールへの影響を可視化することに意味があります。

4、最後に注意すべきことは、BSCチェーンに問題が発生した場合、若しくはコントロール不可能な外部環境の原因によって当日のデータを取得できなかった場合、その日のデータをNone(なし)として処理しますので、予めご了承ください。

パラメータ説明:ThisWeekPool / NextWeekPoolについて

 NextWeekPoolの定義は、2023年10月31日マイニング機能を実装した時刻からスタートして、7日(JST 24:00)目以降の7日間における配布可能な $OVO枚数を指します。

 例えば、第1週目は2023年10月31日~2023年11月6日、第2週目は11月7日~11月13日、第3週目は11月14日~11月20日....という形式でWeek(週)単位が区切られますが、仮に現在、マイニングが第2週目に入った場合、ThisWeekPoolはその週におけるマイニングプール量を示しており、NextWeekPoolは第3週目におけるプール量を示します。

ウィクリー(Weekly)アクティブ関数M(r)について

 M(r)で表現されている関数を活性化関数とも言われており、一般的にニューラルネットワークにおいて隠れ層に用いられます。M(r)は活性化関数を変形したものであり、マイニングプールに参加したユーザー行為のアクティブ度合いを測定する装置として利用されています。

 M(r)入力値の範囲は[-2.5 , 3]であり、出力値の範囲は[-0.99 , 1]になります。つまり、M(r)の出力値が-0.99になった場合、NextWeekPoolの数値がThisWeekPoolの1%になります。一方、M(r)の出力値が1になった場合、NextWeekPoolの数値がThisWeekPoolの200%、つまり2倍に達します。また、M(r)の出力値が0の場合、NextWeekPoolはThisWeekPoolと同じ数値になり、要するに、「アクティブ変化なし」と判断することになります。

関数M(r)の入力値 r について

  rはM(r)関数の入力値であり、それ自体ΔF*ΔS / |ΔP| による出力値でもあります。r の出力値範は [-2.5 , 3]であり、ウィクリーアクティブ関数を [-0.99 , 1]に収れんさせることができます。

平均変化率 / 変化率について

 平均変化率は、指定週における1日目から7日目にかけて、デイリー変化率の数値を平均化したものです。例えば、1日目変化率0.2、2日目変化率0.3、3日目変化率0.4の場合、平均変化率は (0.2+0.3+0.4)/3 になります。

 変化率の定義は次の通りです。当日変化率 = (当日数値 - 前日数値)/ 前日数値、この数式はマイニングにステークしたウォレットアドレス数、Fusion&Upgrade回数、OVO Token価格に適用して、それぞれの変化率を取得するために用いられます。

数式の記号について

i : 週

j : 日

F(i,j): 第 i 週 j 日のFusion&Upgrade回数

S(i,j): 第 i 週 j 日のマイニングスロットにステークしたウォレットアドレス数

P(i,j): 第 i 週 j 日のOVO Token価格

NextWeekPool : 次週(i+1週)マイニングで配布可能な推計トークン量

ThisWeekPool(i) : 第 i 週 マイニングで配布可能なトークン量

Last updated