ナンスは、ブロックチェーンやビットコインのような暗号通貨のプルーフオブワーク(PoW)マイニングアルゴリズムの中心的な部分です。鉱山労働者は互いに競争します ネットワークの難易度によって設定された値以下の値のハッシュを生成するナンスを見つけます. 鉱夫がそのようなナンスを見つけた場合、 ゴールデンナンス, その後、彼らはそのブロックをブロックチェーンに追加し、ブロック報酬を受け取る権利を獲得します.

ナンスはランダムな1回限りの整数です。鉱山労働者は毎秒何百万ものノンスをテストして廃棄します。彼らは、ターゲットを満たすハッシュ値を生成して、ブロック報酬を獲得することを望んでいます。これは、最も基本的なレベルでのPoWマイニング中に発生することですが、それ以外にも多くのことがあります。ここでは、マイニングプロセス全体を通してナンスの目的全体を探求します.

ノンスのビルディングブロック

ナンスは32ビットの数値です。難易度の目標やタイムスタンプなどの他の重要なデータとともに、ブロックヘッダーに残ります。鉱夫がブロックを構築するとき、彼らはランダムにナンスを選択し、それをブロックヘッダーに入力して、新しいブロックヘッダーハッシュを作成します.

ハッシュは256ビットの数値であり、膨大な数のゼロで開始する必要があります。つまり、値が非常に小さくなります。十分な数のゼロがない場合、マイナーはハッシュを破棄し、新しいナンスを試行します。このプロセスは、鉱山労働者が難易度によって設定された値以下の値のハッシュを生成するナンスを発見するまで繰り返されます.

ブロック構造

ナンスの32ビットサイズは、40億の可能な組み合わせがあることを意味します。技術的には、と呼ばれるもののためにはるかに高いです 余分なナンス. これは、より長いナンスのための追加のスペースです。つまり、数百億の組み合わせを持つことができます。.

ナンスはマイナーが変更する唯一のパラメーターであり、他のすべてのパラメーターは静的なままです。マイナーがゴールデンナンスを見つけた場合、そのブロックをブロックチェーンに追加し、ブロック報酬を受け取ります。現在、正しいナンスを見つけるプロセスをスピードアップする方法はありません。これは、鉱山労働者が黄金のナンスを見つけるまで試行錯誤していることを意味します。このプロセスは、 作業, プルーフオブワークで.

鉱業の難しさとの関係

すでに述べたように、マイナーはネットワークの難易度によって設定された値よりも低いハッシュを生成するナンスを見つけようとしています。ビットコインプロトコルは、このマイニングの難しさを設定します。難易度が上がると、ハッシュの目標値は下がります。これは、ハッシュ番号の先頭にさらにゼロが必要であることを意味します。より低いハッシュ値を見つける可能性が低くなるため、マイナーはより多くのナンスをテストする必要があります。マイナーがブロックをハッシュする場合、成功するには、ハッシュの値がターゲット数以下である必要があります。.

ビットコインをマイニングする場合、難易度は2016ブロックごとに調整されます。これは2週間ごとになります。ただし、他のPoWブロックチェーンの調整は高速です。たとえば、ライトコインはブロック時間が短いため、難易度は3日半ごとに調整されます。一方、Digibyteは、すべてのブロックでその難易度をリアルタイムで調整します.

調整が重要な理由

難易度が調整されなかった場合、ハッシュパワーとブロック報酬の間に線形関係があります。より多くのマイナーがネットワークに参加し、ハッシュパワーが増加すると、それに対応してビットコインの報酬が増加します。これは、ビットコインプロトコルのインフレ制御を弱体化させ、それとともに、その健全なお金の特性を損なうでしょう.

幸い、難易度を調整することで、ブロック報酬を2週間ごとに比較的安定させることができます。ただし、難易度を低く調整することもできます。鉱業の収益性が失われると、鉱夫は操業を停止し、ハッシュレートが低下します。その後、難易度は適切に調整されます。私たちはこれをビットコインネットワークで数ヶ月間見ています 難易度がピークに達した 10月4日.

ビットコインでは、2016ブロックごとに、ビットコインクライアントは生成される各ブロックのリアルタイムと目標時間の比較を行います。その後、難易度を適切に調整します。目的は、鉱山労働者が可能な限り正確に10分近くでブロックを生産することです。.

セキュアハッシュアルゴリズムによる保護

SHA-256アルゴリズムの復元力により、マイナーは試行錯誤のプロセスをスピードアップして不正行為を行うことができなくなります。 SHA-256はセキュアハッシュアルゴリズムのSHA-2ファミリーに属し、2001年にNSAによってリリースされました。暗号化ハッシュアルゴリズムのSHA-1クラスで発生したように、このアルゴリズムが壊れた場合、PoWプロセスが損なわれます。.

ハッシュアルゴリズムを破る方法はいくつかあります。これは、試行錯誤の方法を回避し、正しいナンスをはるかに迅速に見つけることができることを意味します. 衝突攻撃 これを行うための最新かつ最も効率的な方法です.

セキュアハッシュアルゴリズムの全体的な目的は、ハッシュの一意性を確保することです。データがハッシュされる場合、入力は完全に一意のハッシュ番号を作成する必要があります。同じ番号を複製できる唯一の方法は、ナンスを含むまったく同じ入力を使用することです。ただし、衝突攻撃は、異なる入力から同じハッシュを生成できることを意味します。悪意のある攻撃者は、十分なコンピューティングリソースを使用してこれを行うことができます。これは、セキュアハッシュアルゴリズムの目的を完全に損ないます.

ハッシュ関数

衝突攻撃がSHA-1アルゴリズムに対して効果的であることが示されているため、これらのアルゴリズムは信頼できなくなりました。この攻撃は、過去10年間のコンピューターの能力の大幅な進歩により部分的に可能になりました。.

ある時点で、計算能力が十分に向上すると、SHA-256もそのような攻撃に対して脆弱になります。ただし、ビットコインの開発者は、それが起こるずっと前にこれを知っている必要があります。これは、そのような攻撃は、実際に実際に機能することが証明される前に、理論的には可能であることがほとんどの場合に示されているためです。その後、ビットコインコアチームは、より新しく、よりタフなアルゴリズムに向けてピボットする必要があります.

インターネット上のほとんどの認証プロトコルが現在SHA-2アルゴリズムを使用していることも注目に値します。もし彼らが一夜にして脆弱になったとしたら、ビットコインの採掘をはるかに超えた大きな地球規模の問題が発生するでしょう.

プルーフオブワークの価値

鉱山労働者は、ハードウェアを使用して、毎秒数百万の速度でこれらのナンスをテストしています。ナンスをすばやく見つける方法がないという事実は、PoWをオープンで公正なシステムに保ちます.

このシステムの有益な特徴は、正しい値を解決して報酬を獲得するために、膨大な量のエネルギー、時間、および資本を必要とすることです。ただし、同時に、他のノードが正しい値を確認するのは非常に簡単です。この二分法はネットワークを安全に保ち、コンセンサスを達成するための簡単な方法を提供します.

最終的に、ナンスはビットコインマイニングプロセスのほんの一部にすぎません。ただし、その整合性を維持する上で重要な役割を果たします。ナンスは、マイナーが十分なハッシュ値を見つけるために変更する唯一のものです。それは本当にセットアップ全体へのアクセル、ブレーキ、そしてクラッチです.