だれかさんのブログ

仮想通貨関係をメインで書く

難易度って何?

そもそも難易度とかハッシュレートとかいう言葉を皆さんお聞きになることは多いと思うが・・・

 

難易度とは何か?

難易度というのはコンセンサスアルゴリズムにPoWを採用している通貨以外にも存在すると思うが(PoSにも存在する)、この記事ではPoWのコインについてのみ語ると、難易度というのは、どのくらいの成果を上げればブロックが採掘されるか?を決める値である。
例えば、くじ(これは、引いたら必ず元に戻すものとする)を用意したとして、100個に1回当たりが出るようにしている場合に、100回引けば1回ぐらいは当たる。
世界中で10分に1万回引かれているなら当たりくじが出てくる確率を1万分の1にするといった感じだ。そうすれば"平均で"10分に1回当たりくじが出る、これより遅く当たりくじが出るようだったらもう少し当たりくじの確率を上げ、これより早く当たりくじが出るようだったら当たりくじの確率を下げるといった具合である。
このように、このぐらいの時間でどのくらいブロック(当たりくじ)が生成されているから、ハッシュレート(くじを引く回数)はこのぐらいだろうというように難易度(当たりくじの確率)は決まるのだ。


 

難易度をどうやって決めているか?

ではここからはどうやって難易度を決めているかをご説明しよう。
次の難易度は難易度調整アルゴリズムによって決めているが、これはこれまでのブロック生成間隔を基にして次回の難易度を決めている。ブロックが生成されるたびにプールは自己申告でいつ採掘したかを記入する。これまで生成されたブロックからわかるのだ。
例えばBTCは前回の難易度調整の時間から測ってほぼ単純計算で、想定より5%早く難易度調整が来たら5%難易度を上げるといったような感じである。しかし、難易度調整間隔の長いコインはBTC,LTC,DCR,LBCなどほんの少数であり、
その他のほとんどのコインは毎ブロック難易度調整であり、この場合単純計算でやると難易度が乱高下してしまうため、過去数十ブロックの平均や移動平均をとって決めることが多い。
よく聞く名前としては、Dark Gravity Wave v3、Digishield、LWMA等である。

BTCではよくハッシュレートの話が出てくるが、単純に難易度調整はこれまでのブロック生成頻度から決められるだけである。

また、これらよりわかるように、コイン全体でのハッシュレートはそのコインの難易度と大いに関係があり、ハッシュレートによって難易度は決まっているが、ただし、例えばBTCで10分に3回ブロックブロックが掘られたからといってじゃあハッシュレートが通常の3倍あるかというとそれは違うし、60分間まったくブロックが掘られなかったからと言ってハッシュレートがほとんどないかというとそれも違う。確率上、先述の100回に1回当たるくじで当たりを1回目で引き当てることもあれば、1000回やっても当たりを引けないこともあると、それだけのことであるのだ。

 


マイナーとしては難易度をどう見るか?

マイナーとしては難易度が低ければ低いほど利益は多い。当然ながら価格が変わらないなら低い難易度であればあるほどブロックを生成しやすく、またブロックを生成するということはコインベース報酬(6.25BTC+手数料)を受け取るということである。
また、個人では機材を増やせば増やすほど、ハッシュレートにほとんど*1比例して収入が増えるが、全体としては機材が増えれば増えるほど難易度が上がるといった、多人数での囚人のジレンマみたいな構造になっている。

実際のところ、マイナーはプールで採掘し、PPSという報酬分配方式を採用する多くのプールは、この難易度でこのぐらいのハッシュレートならこのぐらいの確率で当たりくじを出せるだろうという確率の数字*2に基づいて報酬を出している。

*1:ただし、難易度に対し有意にハッシュレートがある場合、例えばハッシュレートの1%以上を握るような場合は自身のハッシュレートで難易度が上がるため単純な比例ではなくなる

*2:実際には単純に当たりくじの頻度を上げたくじをマイナーに配って、不正が無いように確認しているし、まれに本当の当たりくじ(ブロック生成可能なもの)を出せるようになっている。詳しくは別記事で解説する予定である