Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update difficulty.md #159

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion categories/glossary/d/difficulty.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,13 @@ taxonomy:
## Difficulty
2,100 sats

The difficulty is a measure of how hard it is to mine a block. In order to mine a block, miners must provide Proof-of-Work in the form of a valid hash of the block they intend to publish. A hash is essentially a large number, and for a hash to be valid, it must be smaller than a defined target number. This target number determines the difficulty of mining and is set by Bitcoin’s ruleset. This difficulty is dynamic: it updates every 2016 blocks—roughly 2 weeks—to ensure Bitcoin blocks come in roughly every 10 minutes. If more miners join the network and mine blocks at a faster rate, difficulty will rise. If miners stop mining, and blocks arrive slower than every 10 minutes, difficulty will fall. The difficulty therefore directly follows the trend in hash rate of the network. In a technical sense, the Bitcoin network sets the target rather than the difficulty. All valid Proofs-of-Work must be below this target. The difficulty then, is simply the inverse of the target. If the target is raised, this makes it easier for miners to find a hash below the target, so the difficulty has been lowered. Likewise, if the target is lowered, the difficulty has been raised. The target is encoded as a part of each block header and is called the ‘bits’ of a block. This allows nodes to directly verify whether the Proof-of-Work provided for a block is lower than the target.
難易度は、ビットコインのブロックをマイニングする難しさを示す指標です。ブロックをマイニングするには、マイナーはブロックの有効なハッシュを提供する形で作業証明(Proof-of-Work)を行う必要があります。このハッシュは非常に大きな数値であり、有効とされるには定義されたターゲット値よりも小さな数値でなければなりません。このターゲット値が難易度を決定します。

ビットコインのルールセットでは、難易度は動的に変化します。おおよそ2週間ごとに2,016ブロックごとに更新され、ビットコインのブロックが平均10分間隔で生成されるように調整されます。もしネットワークに参加するマイナーが増え、ブロック生成速度が速くなれば、難易度は上昇します。一方でマイナーが減少し、ブロック生成が遅くなれば難易度は下がります。このように、難易度はネットワークのハッシュレートの傾向に応じて変化します。

技術的には、ビットコインネットワークはターゲット値を設定することで難易度を調整します。すべての有効な作業証明はこのターゲット値より小さくなる必要があります。難易度はターゲット値の逆数として定義され、ターゲット値が上昇すればハッシュがターゲットを下回る確率が高くなり、難易度は低下します。逆に、ターゲット値が低下すれば難易度は上昇します。

ターゲット値は各ブロックのヘッダーにエンコードされ、「ビット(bits)」と呼ばれます。これにより、ノードはブロックの作業証明がターゲットを下回っているかを直接検証可能です。

---
コンテンツの著作権は [River Financial](https://river.com/) に帰属します。二次利用の可否は権利者にご確認ください。 / All rights reserved to River Financial.