Bitcoin Mining Difficulty - What is it And How Does it Work?

Updated on: May 2nd, 2020
This content has been Fact-Checked.
Bitcoin Mining Difficulty - What is it And How Does it Work?

ビットコインマイニングの難易度が何を意味するのかを理解する前に、マイニングの仕組みを知る必要があります。 このトピックは前に詳しく説明していますので、難易度の異なるニュアンスに入る前に少し概要を説明します。 その後、鉱業難易度の計算方法と、ネットワークのニーズに合わせてどのように変化するかを見ていきます。

マイニングはどのように機能しますか? 1ビットコインを採掘するのにどれくらいの時間がかかりますか?

Bitcoinのネットワークには、暗号的に難しいパズルを解決するために特殊な装置を使用する「鉱夫」と呼ばれるいくつかの特殊なノードがあります。 成功すれば、BTCブロックチェーンにブロックを正常に追加する機会が得られます。 これはどのように動作するかです:

マイナーは mempool で待機しているトランザクションをピックアップし、ハッシュします。

ハッシュの先頭にランダムな16進数値を追加し、値全体をハッシュします。

このハッシュは、「難易度」と呼ばれる特定の値よりも小さくする必要があります。

ビットコインマイニングの難しさを決めるものは何ですか? なぜBTCの難易度は増加するのですか?

#1 ネットワークの整合性を維持するため

Bitcoinマイニング難易度のレベルは、プロトコル内のマイニングの容易さに応じて増加または減少します。 Bitcoinは10分の一貫したブロック時間を持っている必要があることを覚えておいてください。 言い換えれば、新しいBTCを10分ごとに循環供給に注入することができる。 このタイミングでBitcoinプロトコルが変更されないようにするには:

鉱夫が採掘しやすくなると、ネットワークの難易度が上がります。

鉱山労働者が採掘するのが難しくなると、ネットワークの難易度を減らします。

Bitcoinネットワークには普遍的なブロックの難しさがあります。 すべての有効なブロックは、ターゲットの下にハッシュを持たなければなりません。 マイニングプールには、共有の下限を設定するプール固有の共有の難易度もあります。

#2 ハッシュレートとの関係

作業証明ネットワークの健全性を判断する上で重要な指標の 1 つは、ハッシュレートです。 簡単に言えば、ハッシュレートは、鉱夫がネットワーク内でどれほど強力であるかを示しています。 Bitcoinネットワークのハッシュレートが高いほど、全体的なセキュリティとスピードが高くなります。 ただし、これらのネットワークは、一貫したブロック生成のためにハッシュレートを制御する必要があります。 そのため、ハッシュレートが高くなると、最終的にビットコインの難易度も高くなり、鉱夫がネットワーク内で簡単に採掘することが難しくなります。

逆も真です。

Bitcoinのハッシュレートが低下すると、ネットワークの難易度も低下します。 ハッシュレートは、次の理由により減少する可能性があります。

Bitcoinは現在、高い難易度を持っています。そのため、鉱夫はシステムに厳しい時間採掘をしています。

BTCの価格が下がったので、多くの鉱夫が採掘をやめました。

両者の相関関係を理解するために、グラフをチェックしてみましょう。 まず、ハッシュレートがあります。

その後、ビットコインの難易度チャートがあります:

ご覧のとおり、両者の間には非常に近い相関関係があります。 3月26日頃、ネットワークの難易度は16.55兆から13.9兆に16%減少した。 これは、2013年初頭以来、ネットワーク難易度で最大のクラッシュでした。 なぜこれが起こったのかを理解するには、ビットコインの難易度が低下する直前にハッシュレートがどのように低下したかを見てください。 このディップは、Bitcoinの価格墜落のために発生し、多くの鉱夫が業務を終了させました。

Bitcoinは難易度をどのように計算しますか?

Bitcoinのネットワークの難易度は2016ブロックごとに変わります。 ネットワークが難易度を計算するために使用する式は、次のようになります。

難易度 = 難易度1_ターゲット/現在のターゲット

上記の式では、次のようになります。

ターゲットは 256 ビットの数値です。 Bitcoinのプロトコルに従って、ターゲットは限られた精度を持つカスタム浮動小数点型です。 Bitcoinクライアントは、この事実に基づいて難易度を近似します。 この値は bdiff とも呼ばれます。

困難_1_target は、難易度の測定方法に応じて異なる場合があります。 伝統的に、先頭の32ビットがゼロで、残りが1であるハッシュを表します。 実際、この値はプール難易度または pdiff とも呼ばれます。

すべてのブロックは、ビットコイン難易度のパックされた表現を「ビット」と呼ばれるブロックに格納します。 このターゲットは、通常、0x1b0404cb(リトルエンディアンの順序で格納されています:cb 04 1b)として表示されます。

ブロックは、所定の式を使用して目標値を計算します。 例えば、 上記のパックされたターゲット、すなわち0x1b0404cb。 16 進数のターゲットは次のとおりです。

おおまえの商品について、おまえの商品と商品に関するお試しをどうお試し下さい。

それでは、bdiffとpdiffを計算してみましょう。

可能な最大ターゲット(難易度1_ターゲット)は、0x1d00ffff または 16 進数形式で定義されます。

0000000000000000

この値がわかったので、これを使用して、難易度 = 難易度 = 難易度_1_ターゲット/現在のターゲット計算式を使用してbdiffを計算できます。

今度は、前のセクションで定義したように、現在のターゲットは0x1b0404cbまたは04cbです。

したがって、現在の難易度を計算するには:

000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000000000000

おおとり座アルファ星

したがって、差分は16307.420938523983になります。

さて、pdiffを計算しましょう。 マイニングプールは、難易度1_ターゲットを 0x000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFになります。

その場合、同じcurrent_targetの場合、pdiffは次のようになります。

0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF/

00000000000000000000000000000000000000000000000000000000000000

162 番組 (小惑星)

難易度の計算を容易にするためにログに依存するBitcoin wikiから取られたプログラムコードは次のとおりです。

#include イオストリーム

#include cmathh

インライン浮動小数点の高速ログ (浮動小数点の値)

{

整数 * 定数 exp_ptr = 再解釈キャスト整数 * (および val);

整数 x = *exp_ptr;

整数ログ2 = ((x 23) および 255)-128;

xと=〜(25523);

エックス+= 127

*exp_ptr = x;

バール=((-1.0f/3)* バール+ 2)* バル-2.0f/3;

戻り値 (値+ログ_2) * 0.69314718f);

}

浮動小数点難易度(符号なし整数ビット)

{

静的な二重最大ボディ = 高速ログ (0x00ffff)、スランド = 高速ログ (256);

exp (最大ボディ-高速ログ (ビットおよび 0x00ffff) +スカラド * (0x1d-(((ビットおよび 0xff0000) 24))) を返します。

}

int型メイン()

{

スタンダード:: cout難易度(0x1b0404cb)スタンダード:: エンドl;

0 を返します。

}

どのように鉱業の難易度を設定しますか?

鉱夫は、Bitcoinsを採掘するために特殊なASICハードウェアを使用します。 これらのマシンは非常に高速で、毎秒四面ハッシュを生成します。 システムが必要な条件をすべて満たしているかどうかを確認するために、それらの1つすべてを苦労してチェックすることは非常に実用的ではありません。 これは、マイニングプールに指数関数的に当てはまります。 ビットコインマイナーによって生成されたすべてのハッシュを毎秒チェックすることはできません。 そのため、マイニングプールは「共有時間」という概念を使用します。

だから、あなたのビットコインマイニングプールが共有時間を5秒に設定しているとしましょう。 これは、平均して、マイニングプールは、鉱夫が5秒ごとにシェアを提出する必要があることを意味します。

これはどのように正確に行われますか?

あなたのビットコインマイニングプールは、すべてのマイナーに共有難易度と呼ばれる値を設定します。 鉱夫のシェア難易度は、個々のハッシュレートに正比例します。 したがって、鉱夫のハッシュレートが高いほど、共有の難易度が高くなります。 アイデアは、鉱夫が自分の機器を使用して大量のハッシュを生成することです。 ターゲットの共有難易度を満たすハッシュが見つかると、ハッシュがプールに送信されます。

鉱夫はどのように報われますか?

プール内の鉱山労働者は、「1株当たり支払い」(PPS)で報われる。 このシステムでは、鉱夫は提出した株式に対して報酬を受け取ります。 株式の価値は、株式を発見することがいかに難しいかに完全に依存しています。

これがどのように機能するか見てみましょう:

あなたが50 TH/sの個々のハッシュレートを持つ鉱夫であるとします。

参加したマイニングプールは、共有の難易度を 1,000,000 に設定しています。

あなたが1,000,000以上の株式を取得した瞬間、あなたはプールによって報われるでしょう。

プールは、あなたがあまりにも速くあなたの株式を送信していないことを確認するためにあなたの難易度を変更することがあります。

さて、新しい機器を購入してハッシュレートを150 TH/sに増やすと、プールは難易度を3,000,000に増やします。 以前に提出したのと同じレートで株式を提出することになります。 ただし、あなたが提出した株式に対して以前に受け取っていた報酬の3倍を受け取ることができます。

プールがより高速なハードウェアのためにより高い困難を推奨する理由は、マイナーのシステムとプールの両方のネットワーク負荷を軽減するためです。 また、マイニングハードウェアが次のワークユニットに備えるときに、再起動の遅延が減少します。 同時に、プールは難易度が高すぎると、多くの古い株式が発生しないように注意する必要があります。

注:共有ターゲット = 1/共有の難易度

中本コンセンサスにおける難易度の重要性

Bitcoinの生態系にとってどれほど重要な難しさを理解するには、中本コンセンサスの仕組みを知る必要があります。 集中型エンティティのないワイド・エリア・ネットワークの場合、コンセンサス・プロトコルはあらゆる形態のガバナンスを維持する唯一の方法です。 Raftのような従来のコンセンサスアルゴリズムは、広域暗号経済プロトコルを維持するのに理想的ではありません。 これがBitcoinの作成者である中本聡が中本コンセンサスを思いついた理由です。 中本コンセンサスの中心的な信念は、システムに参加するには価格を支払わなければならないということです。 作業証明(POW)、すなわちBitcoinのコンセンサスの場合、鉱夫は「仕事」で価格を支払う。 この場合、仕事は、鉱夫が1つのBitcoinを採掘するために費やさなければならない大量の計算エネルギーです。 ここが難しさです。 難易度は、Bitcoinマイニングを困難にする指標であり、さらに、これは中本コンセンサスが二重支出問題を解決するために活用するものです。

二重支出とは何ですか?

二重支出は、分散型暗号化を作成する試みがすべてBitcoinの前に悲惨に失敗した理由です。 簡単に言えば、1つのBitcoinを同時に複数回費やすことができる欠陥です。 現金を扱う間、この問題に遭遇したことはありません。 結局のところ、あなたが10ドルのメモで何かを購入しているなら、同じメモで同時に何かを購入することはできません。

しかし、デジタルトークンには簡単に複製できるデジタルファイルがあり、必然的な二重支出につながります。 ご想像のとおり、二重支出は生態系の経済にいくつかの壊滅的な影響を与える可能性があります。

第一に、生態系内のコインの総供給を膨らませて、供給需要方程式を制御不能に投げる。

第二に、誰でもどこでも制限なく同じコインを使うことができれば、その通貨の神聖さに対する人々の信仰が低下します。

Bitcoinはすべてのトランザクションをブロックチェーンに含める必要があります。 これにより、ネットワーク内の誰もがBitcoinのすべての権利をそのソースにトレースすることができます。 このような高いレベルの透明性は、ネットワーク全体に気付かずに誰も二重に費やすことができないことを保証します。 しかし、もっと悪魔のようなものを考えてみましょう。 誰かがフォークアウトしてブロックチェーンをハイジャックし、すべてのBitcoinsを二重に過ごすことを決めたとします。

じゃあどうなるの?

さて、ネットワークの難しさのために、攻撃者がチェーンを引き継ぐ必要があるリソースとお金の量は指数関数的であることが判明しました。 したがって、システムの利益に対して行動することは経済的に価値がありません。 これは、ネットワークの難易度が、中本コンセンサスに、ネットワークのセキュリティと整合性を維持するために必要な火力を与える方法です。

結論-ビットコイン鉱業難易度

この記事で多くの価値があることを願っています。 疑問がある場合は、いつでも私たちに手を差し伸べてください。

Ameer Rosic
#SerialEntrepreneur, Investor, #Digitalmarketing Adviser and Cofounder of @Blockgks a #blockchain innovation hub

Like what you read? Give us one like or share it to your friends and get +16

0
Hungry for knowledge?
New guides and courses each week
Looking to invest?
Market data, analysis, and reports
Just curious?
A community of blockchain experts to help

Get started today

Already have an account? Sign In