つまり、この記事は私たちに新しいアイデアを与えてくれます。 。 。お金をかけずに採掘できないなんて誰が言ったんだ!外国人が紙とペンを使ってビットコインを手動で「マイニング」する方法を見てみましょう。実際、マイニングに使用される SHA-256 アルゴリズムは比較的単純で、手動で計算できます。このプロセスは間違いなく GPU や CPU よりも何倍も遅く、非現実的に思えるかもしれません。 ただし、マイニング アルゴリズムの計算を紙とペンで手動で完了すると、アルゴリズム全体の動作メカニズムをより深く理解できるようになります。 次の画像は、紙と鉛筆を使用して手動で計算した SHA-256 のラウンドを示しています。
(写真:ビットコインの手動マイニングプロセス) マイニングはビットコインシステム全体のセキュリティの重要な部分です。マイニングの考え方は次のとおりです。ビットコインのマイナーは、一連のビットコインのトランザクションをブロックにまとめ、特別なハッシュ値が見つかるまで暗号化されたハッシュ計算(ハッシュ計算)をN回繰り返します。 この時点で、ブロックは正常に「マイニング」され、ビットコイン ブロックチェーンの一部になります。実際には、計算タスク自体は無意味ですが、成功するブロックを見つけることは非常に難しいため、誰もビットコイン システムを乗っ取ることができないことが保証されます。
暗号ハッシュ関数は、大量の入力データを受け取り、予測できない出力値を出力することができます。ビットコインの場合、使用されるハッシュ関数は SHA-256 と呼ばれます。追加のセキュリティ保護を提供するために、ビットコインは SHA-256 関数を 2 回使用します。これはダブル SHA-256 と呼ばれます。 ビットコイン システムでは、ハッシュが成功するには十分な数のゼロが必要です。日常生活で携帯電話番号や ID 番号が複数のゼロで終わることはめったにないのと同じように、どのハッシュ値が複数のゼロで始まるかを見つけるのも困難です。しかし、ビットコインシステムでは、すべてが指数関数的に増加します。現在、成功するハッシュは約 17 個のゼロで始まる必要があるため、ハッシュ計算の成功率は約 1/1.4×1020 です。言い換えれば、正しいハッシュ値を見つけることは、干し草の山から針を見つけるよりも難しいのです。 下の画像は、ビットコイン ブロックチェーン内のブロックとそれに対応するハッシュを示しています。下の画像では、黄色で強調表示されたハッシュ バイトがブロック ハッシュの生成に使用されています。ご覧のとおり、計算されたハッシュは十分な数の 0 で始まっており、マイニングは成功しています。
(図:ビットコインで使用されるSHA-256ハッシュアルゴリズム) SHA-256 ハッシュ アルゴリズムは、512 ビット (64 バイト) の入力データ ブロックを受け取り、それを暗号化されたデータと組み合わせて、長さ 256 ビット (32 バイト) の出力値を生成します。 SHA-256 アルゴリズムは、64 個の比較的単純な繰り返し計算で構成されています。下の図は、8 つの 4 バイト データを入力として使用し、A から H までの一連の計算を実行して新しい AH 値を生成する 1 ラウンドの計算を示しています。
具体的な計算プロセスについては、サトシ・ナカモトのビットコインホワイトペーパーを参照してください。
人間による採掘 以下に、先ほど説明した SHA-256 ハッシュ計算をペンと紙を使用して手動で計算する方法を示します。私はマイニング プロセスにハッシュ ラウンドを 1 回実装しましたが、プロセス全体に約 16 分かかりました。 下の図は、ビットコイン ブロックのハッシュ計算の最終ラウンドを示しており、結果は黄色でマークされています。末尾の複数のゼロはハッシュ計算が成功したことを示します。
ハードウェアマイニング SHA-256 ハッシュ計算の各ステップはデジタル ロジック (単純なブール演算と 32 ビットの合計) で簡単に実装できるため、カスタム ASIC チップは SHA-256 アルゴリズムをハードウェアで効率的に実装し、単一のチップ上で数百のハッシュ計算を並行して実行できます。次の図は、2~3 Ghash/秒の計算速度を持つマイニング チップを示しています。 (現在、マイニング チップの計算速度は一般的に 10THash/秒から始まります)
対照的に、ライトコイン、ドージコイン、および同様のアルトコインは、単純なハードウェアに実装するのが難しい scrypt ハッシュ アルゴリズムを使用します。 1024 個の異なるハッシュ値をメモリに保存し、それらを予測できない方法で組み合わせて最終的な値を生成する必要があります。 したがって、scrypt ハッシュ アルゴリズムでは、SHA-256 よりも多くの回路基板とメモリが必要になります (グラフィック カード、特に Nvidia が発売した Tesla P100 が最適なソリューションです)。これは、マイニング速度とハードウェアからも理解できます。結局のところ、これらのアルトコイン (scrypt) のマイニング速度は、ビットコイン (SHA-256) のマイニング速度よりも数千倍遅いのです。
要約する SHA-256 アルゴリズムは実際には非常に単純で、手動で計算できるほど単純です。しかし、ビットコインのトランザクションに署名するために使用される楕円曲線アルゴリズムは、32 バイトの整数の乗算を伴うため、手動で計算するのは困難です。 SHA-256 ハッシュを 1 ラウンド実行するのに 16 分 45 秒かかりました。この速度に基づくと、ビットコインのブロック全体をハッシュ(128 ラウンド)するには 1.49 日間連続でかかり、1 日あたり 0.67 回のハッシュになります。 対照的に、現在のビットコインマイニングハードウェアは、1秒あたり数テラハッシュの計算を実行でき、これは手動計算よりもはるかに高速です。人間によるビットコインのマイニングが絶対に非現実的であることは疑いの余地がありません。
1Gあたりのコスト Reddit の読者からエネルギー消費に関する質問がありました。実際、このプロセス全体にはそれほど多くの体力は必要ありません。人体の安静時の代謝率が 1 日あたり 1500 カロリーであると仮定すると、ハッシュを手動で計算することで消費されるエネルギーは約 1000 ジュール/ハッシュになります。 ハードウェアマイニングの平均消費量は 1000 メガハッシュ/ジュールです。つまり、手動マイニングのエネルギーコストは、ハードウェアマイニングのコストの約 10^16 倍になります。 食べ物について言えば、普通のドーナツは 0.23 ドルで、200 カロリーあります。電気代は約 0.15 ドル/kWh なので、各ハッシュを計算するコストはハードウェアマイニングのコストの 6.7×10^8 倍になります。もちろん、手作業によるマイニングでお金を稼ぐつもりはありませんし、計算には紙やペンのコストも考慮していません。 |