マイニングプールの支払い方法いろいろ

4月 17, 2018

コインの支払い方法はプールによって違う!

コインが見つかった際に、マイナーに報酬が支払われます。
この時の支払計算方法なのですが、プールによって違います。

下記にうさぎコイン採掘所で利用しているMPOSで対応している支払い方法について説明します。
(現在はpropからpplnsに移行中です)
どれもマイニング成果の提出内容に応じて支払されるのですが、計算の根拠が違います。

prop…コインが見つかったときに、提出成果の割合に応じて分配

propは単純分配方式です。
単純に10人が同じ難易度でマイニングしてた場合、10のコインが見つかると1づつ分配されます。

pps…コインの発見状況に関わらず、成果の提出に応じて分配

ppsは成果を提出すると一定割合のコインが貰えるという仕組です。コインが見つからない場合にプール側が払い出し不能になるなど
リスクが高いため、余り採用しているプールはありません。

※成果= 1Share = 1 yay !! 難易度により成果の重みは異なる

pplns…コイン発見時に採掘していたマイナーに分配

pplnsはコイン発見時に一定範囲のマイナーに対して分配を行うという方式です。
例えば、5回前の提出成果に応じて分配をする、というルールが設定されていた場合、ブロック発見時から
5回前の成果提出を行なっていたマイナーのみ報酬を得ることが出来ます。
この考えは、コイン発見時に採掘していたマイナーに分配する、と言い換えることができます。

何故pplnsという方式があるの?

何故pplns方式があるかといいますと、prop方式の「コインが見つかったら分配する」という方式に
問題がある為です。

例えば、5人がそれぞれ1回づつ成果(share)を提出し、5回目の提出でコインが見つかったとします。
(難易度は同じと仮定)
コイン発見時の報酬を100とした場合、一人あたりの報酬は20となります。
この場合、1回の提出で得られた報酬が20、ということになります。

次に、自分が未参加で既に別の5人から成果を1回づつ提出されている、しかしまだコインが発見されていないプールで採掘するとします。
この場合、同じく5人がぞれそれぞれ1回づつ成果を提出して発見した場合、最初の5人への分配も加えて、100÷10人で一人あたりの報酬は10となります。
つまり、1回の提出で得られた報酬が10となります。

上記の例では同じ労力を提供したにも関わらず、期待値が半分になってしまうのです。
これは、ラウンド(未発見の状態)の後半で採掘に参加した場合、前半分の人の成果にも報酬が回される為に起きる現象です。

この考えを逆にすると、ラウンド開始時にマイニングを行い、一定以上の成果を提出しても分配が発生しなかった場合、
他のラウンド開始直後のプールでマイニングすることで、期待値をあげるということが可能になります。

これだと労力に対する成果の期待値に不均衡がおきてしまうため、
「発見してから一定の範囲でのみ支払う」ことで上記の問題を防ぎ、期待値を揃える方法として、pplnsが必要となります。

また、propに比べてpplnsのほうがサーバ側のDBの負荷も減り、支払遅延が起きにくくなります。(支払処理の回数が減るため)

pplnsのデメリットとしては、コイン発見時にマイニングしているユーザのみ報酬が払われる為、ラウンド開始時のみ参加しても、コインが見つからなければ報酬が得られない、という点です。
と言ってもマイニングは基本的に連続して行なうことが多い為、余りデメリットと言う程にはならないと考えています。

まとめ

以上の内容を3行でまとめると
prop…単純分配。悪さができる可能性あり。
pps…コインの発見に関わらず一定報酬。プール側が破産する可能性あり。
pplns…コイン発見時にマイニングしていた採掘者に分配。propの悪さ対策に有効。

うさぎコイン採掘所も報酬の支払い形式をpropからpplnsに移行予定です。
今後とも宜しくお願いしますね。