広告sp

マイニングプール

プールマイニングの仕組み

更新日:

解説ページ読んだら取り敢えずマイニングできたし、コインも手に入れたしやったね♪でも、プールマイニングってどんな仕組みで動いているんだろう~?成果とかシェアとか報酬とか、どうなっているのか気になる!って人向けの記事です。
※bitzenyd + php-mpos + stratum-mining の構成を前提としており他の構成とは異なる場合があり、また不正確な表現もあるかもしれませんのでご承知おきください。

マイニングとは?についてはたくさん記事があるので何となくご存知かと思います。
ある関数 f() があった時、Xを与えた結果 f(X) -> Y となるとして、このYを決められた範囲に収める作業の事ですね。今回、ここは掘り下げません。
このYは16進数で表すと 0x00001a5c.... といった数値になります。何度も何度も計算してこの値を下回るXを見つける作業です。
さて、1秒間に数億回も計算できる全世界を相手に自分のマシンが勝てるだろうか…無理。だからプールに集まって勝負するんですよね。

【マイナー】でも、うちのPCは非力なんですよ…泣。
【みずたまり】じゃあ 0x0001a5c... ならどうかな?
【マイナー】3日間くらいあればなんとか
【みずたまり】じゃあ 0x001a5c... ならどうかな?
【マイナー】10時間くらいあればなんとか
【みずたまり】じゃあ 0x01a5c... ならどうかな?
【マイナー】おぉ!それなら15秒くらいあれば出せそうです!
※注意:実際にはこういったやり取りはありません

という感じで難易度を下げてマイナーに作業を依頼します。もちろん成果(この作業の結果)を受け取ってもブロックを勝ち取る可能性は殆どありません。が、可能性はゼロでは無いのです。0x01a5c... を下回るYを探していたところたまたま 0x00001a5c... を下回るYを見つけちゃったよ!となる事を期待しているのですね。
0x00001a5c... といった目指すべきYの値を別の形で表したものとしてdifficulty(難易度)があります。計算方法が気になる方はこちらの記事をご覧ください。

実際のところ、みずたまりプールの難易度調整は以下の様になっています。(低難易度の場合)

  • 初期値はdifficulty=0.1でお願いします、120秒以降の最初の成果提出時に調整します
  • (120秒以降の最初の成果提出時)提出された成果は平均10秒ですね、もう少し難しくしてみましょう。difficulty=0.2でお願いします。
  • (次の120秒以降の最初の成果提出時)提出された成果は平均15秒ですね、良い感じなので調整なしです。
  • (次の120秒以降の最初の成果提出時)提出された成果は平均20秒ですね、もう少し簡単にしてみましょう。difficulty=0.1でお願いします。

パラメータをまとめると

  • 最低difficultyは0.1
  • 調整の間隔は120秒(マイナーが成果を上げた際に判定)
  • 成果提出の間隔が15秒(±4.5秒)に収まるように上振れしたら0.1加算、下振れしたら0.1減算

-マイニングプール

Copyright© みずたまりブログ , 2018 All Rights Reserved Powered by STINGER.