マイニングの仕組み。カリフォルニア大学バークレー校 ビットコインと仮想通貨の無料講義超訳|Week4-4

前回までの記事はこちら

ーーーーーーーーーー

こんにちは!クレメア(@cremea_tw)です。

前回に引き続き、カリフォルニア大学バークレー校の無料講義、
「ビットコインと仮想通貨のオンライン講座」で学んだ内容をシェアしていきます。

講義そのものにおいて、

読者対象:ビットコインや仮想通貨について詳しく知りたい全ての人
前提知識:不要

という感じなので、
講義内容を読むだけでもかなり理解が深まるのではないかと思います。

 

文章のスタイルとしては、
翻訳ではなく、個人的解釈バリバリの超訳をしていきます。

荒削りですがスピード重視で、
クレメア的な解釈も交えてお伝えするので、
間違いや意見などあればコメントいただければと思います。

 

また、太字や文字色などの文章の装飾は極力していません。

学びの本質はそこではない、時間がもったいない、あとでできる、
ということで、今回は泣く泣くカットしました。

見辛いかもしれませんが、予めご了承ください。

 

ということで、
講義の内容に沿って進めます。

今回の記事は、
マイニングの仕組みについてお伝えします。

それでは、本題に入っていきましょう。

イントロ:マイニング

コンセンサスやProof-of-Workについて話しましたが、
ビットコインでのマイニングの実装についてはまだ話していませんでした。

このモジュールでは、
現実世界でどのようにマイニング現れているのか、
そしてナカモトサトシでさえ未来のマイニングを想像していないかもしれないという、
ある種のぎこちなさに飛び込んでいくつもりです。

私たちは、ブロックを検証するために、
実際にマイナーが何を行うかを調べます。

 

マイニングの概要

最初に、フルノードとしてマイニングするための、
一般的な手順を見てみましょう。

 

ステップ0、マイニングの予備ステップであるステップ0では、
ビットコインブロックチェーン全体がダウンロードされます。

これにより、将来の取引を確認できるように、
今までの履歴を知ることができます。

注:マイニングプールでマイニングを操る場合は、この手順はオプションです。
これについては後で詳しく説明します。

ステップ1、次のステップであるステップ1は、
ブロックを有効なトランザクションでいっぱいにする、
トランザクションの検証することです。

ステップ2、指定されたトランザクション、
および時間、バージョン、ターゲットなどの、
すべての必要なメタデータを使用してブロックを作成します。

ステップ3、Proof-of-Workの作業で、有効なナンスともいい、
部分的な原像ハッシュパズルを解決します。

ステップ4、競合他社のブロックをまだ見ていない場合は、
ブロックをブロードキャストします。

ステップ5、あなたのブロックが最長のチェーンに含まれる場合、
あなたは利益を得ることができます。

これらのステップのそれぞれが、
どのように機能するかについて詳しく説明します。

 

ステップ0:ブロックチェーンのダウンロード

トランザクションの履歴をダウンロードします。

これは、次の2つの理由からステップ0です。

一度だけ実行する必要があります。

フルビットコインブロックチェーンの履歴を取得したら、
その情報を再ダウンロードする必要はありません。

あなたは、他のマイナーから、
入ってくるブロックを追跡する必要があります。

SPVノードを使用している場合は、
必要に応じてトランザクションを検証するために、
ブロックヘッダとフルノードから情報を要求するだけで済みます。

このステップはオプションであることを意味します。

私たちはさらにさまざまな種類のマイナーについて説明します。

あなたが完全な、独立したマイナーになりたい場合は、
この手順を実行する必要があります。

今私たちは完全な履歴を持ち、
マイニングを始めて行きましょう!

 

ステップ1:トランザクションの認証

ステップ1、トランザクションを確認します。

ビットコインユーザーは、
毎秒ビットコインネットワークにトランザクションを送信しています。

これらのトランザクションの有効性を確認するのんは、
マイナーの仕事です。

トランザクションがマイナーに来ると、
それらは「mempool」に格納されます。

「mem」は「メモリ」を意味し、
「pool」は供給(取引の供給を意味します)を意味します。

保留中のトランザクションは、
ブロックに入る前のすべてのトランザクションが存在する場所です。

マイナーは取引手数料に基づいて、
確認する取引を選択します。

Lecture3で説明したロック解除スクリプトを実行して、
それぞれの有効性を検証します。

そのコードが以前のビットコインのロックを解除することができれば、
トランザクションは完了します。

 

ステップ2:ブロックの生成

これらのトランザクションをすべて検証した後、
ブロックを生成します。

前述したように、
ブロックを構成するために必要な情報はいくつかあります。

たとえば、マークルルートはトランザクションのリストから生成します。

ブロック・データを作成した後、
最終的に、このProof-of-Workプロセス全体を “マイニング”というタイトルで獲得したステップである、
採掘プロセスの最も高価な部分について作業を開始することができます。

それはすなわち、有効なナンスを見つけることです。

 

ステップ3:ブロックの生成

前に述べたように、すべてのマイナーは、
ブロックヘッダのハッシュをある目標値よりも小さくするナンスを見つける必要があります。

これは、ビットコインとその他のすべてのProof-of-Workの暗号通貨で、
Proof-of-Workを実装する方法です。

ナンスを見つけることによって、
私たちは計算で焼き尽くされたエネルギーを、
Proof-of-Workコンセンサスプロトコルの議決権に直接変換しました。

この擬似コードでは、2つの異なるナンス、
ヘッダナンス、コインベースナンスがあることに気づいたかもしれません。

ヘッダのナンスは合理的に小さい数字であることに留意してください。
わずか32ビットの数字です。

つまり、強力なデバイスは1秒以内に、
すべてのナンスの可能性を駆け抜けることができます。

私たちがマイニングパズルで行き止まりに達しないようにするには、
ヘッダナンスに実行可能なオプションがない場合、パズルを変更する必要があります。

これを行うために、
コインベーストランザクション内のフィールドであるコインベースナンスを変更します。

このナンスを変更することで、マークルルートが変更されるため、
より多くのオプションを探求し、マイニングのパズルに対する答えを見つけられるようになりました。

私たちのマイニングパズルは全く違っています。

最後に有効なナンスが見つかるまで、これらのループを実行します。

 

ステップ4:ブロードキャスト

ナンスを見つけた後、
典型的なマイナーはできるだけ早くそれをブロードキャストし、
ブロックが見つかったことを他のマイナーに知らせます。

それらのマイナーは、
自分のチェーンにそれを受け入れる前にブロックを検証し、
ブロックを再度ブロードキャストします。

ブロックを最初にブロードキャストすることによって、
他のマイナーは以前のブロックを放棄し、
この新しい最長のチェーンでマイニングを開始します。

少なくとも、それは希望でしかありません。
あなたがまだ見ていない前に、
他の誰かがブロックをブロードキャストした可能性があります。

あなたのブロックが最長チェーンに進入した場合にのみ、
あなたは報酬を享受します。

それ以外の場合は、
報酬をもらえません。

それでは、どうやって確実に、
報酬をもらえるようにすれば良いのでしょうか?

実はそれを確実にする方法はありません。

私たちができることは、ただマイニングすることだけです。
それは実際にその拠点にあるProof-of-Workであり、ランダムな宝くじです。

 

ステップ5:利益

私たちのブロックが最長のチェーンに入ったと仮定すると、
我々は利益を上げます!

コインベース取引に代表されるブロック報酬と
取引手数料の両方を受け取ります。

そのブロック内のすべてのトランザクションは、
キヤノントランザクション履歴に追加されます。

ブロックが最長のチェーンにない状況は、
ブロックがネットワークに同時に提出された別のブロックと競合している場所です。

この場合、マイナーは2人の間で無作為に選ぶ可能性が高いです。
つまり、再び幸運かどうかが分かれ目になります。

ブロックが孤立している場合や、
最長チェーンではないフォークにある場合は、利益を得ません。

私たちのブロックが最長のチェーンにあることは、
実際には100%確かではありません。

我々は、フォークが起こる確率が時間とともに低下すると仮定します。

私たちはゲーム理論の講義でそれ以上のことを話します。

 

Quick Check 1

すべてのフルノードマイナーのマイニングレシピに必要なステップはどれですか?
(これにはライトマイナーは含まれていません)。

  • Download the entire Bitcoin blockchain
  • Find the nonce/proof-of-work
  • Create a block from transactions validated by the network
  • Listen to the network for incoming transactions
  • Wait for the network’s permission to submit a block

 

イントロ:マイニングのインセンティブ

なぜ私たちは何かをするのですか?
なぜ私たちは仕事で働くのですか?
なぜ私たちは暗号通貨を扱うのですか?
なぜあなたはこれらの講義を見ることを選択しますか?

まあ、それはかなり単純な答えです、そう利益です。

直感的に分かるように、誰もがやることは、利益のためです。

 

それぞれの人の利益の定義は異なりますが、
ビットコインではかなり簡単です。

より多くのお金はより多くの利益を意味する。

それはとても簡単な言葉ですが、
利益の概念はこのコースの残りの部分で何度も繰り返されます。

実際、ブロックチェーンプロトコル内の、
あらゆるタイプのインセンティブメカニズムは、
個人的利益と全体的利益との調整に重点を置いています。

 

このスライドに十分注意してください。

はい、非常に基本的な情報ですが、
この方程式はすべてのインセンティブ構造にとって基本的なものです。

利益は収益から収益を差し引いたものです。

つまり、収益が費用を上回った場合にのみ、
利益を得ることになります。

ビットコインネットワークのすべての人は、
おそらく自分の利益の価値を最大限に最大限に引き出すことができます。

 

ブロック報酬

ビットコインの利益のさまざまな要素を解説しましょう。

まず、マイナーにとって現在最も重要な利益源である、
ブロック報酬について議論することから始めます。

ブロック報酬は、
そのブロックが最も長い連鎖に含まれるマイナーに向かう報酬です。

2018年5月現在、ブロック報酬は約12.5ビットコインです。

前に述べたように、
マイナーはコインベース取引のための特別な取引を含んでいます。

このトランザクションは、
ビットコインの生成を可能にするものであり、
さらに重要なことは、ブロックを検証する正直なアクターにインセンティブを与えることです。

ブロック報酬の理論的根拠をよりよく理解するためには、
利益があらゆる活動の主な動機であり、
正直な行動に対するインセンティブが高いほど、
より安全なネットワークが得られることに注意してください。

 

しかし、私たちは誰もが匿名で、
不正行為を罰する効果的な方法がなく、
不正な行動を直接罰することができません。

結論は、もし我々が不正直な行動を罰することができないならば、
正直な行動に報酬を与えると良いだろうということです!

マイナーはブロックを作るために報酬を得ているので、
より多くのブロックを生産するようインセンティブを与えます。

しかし、彼らはビットコインで報われるだけです。

これは、マイナーがビットコインに価値がないと見ても、
ビットコインを得るために電力やハードウェアに支出する可能性が低いことを意味します。

このため、私たちはビットコインネットワークに、
正当なマイニングパワーをより強く引きつけることを期待しています。

 

ビットコインの供給上限は、
2100万で計算された特定の時点で減少しています。

これは、ブロック報酬が210,000ブロックごとに約半分になるためです。

これは約4年の期間がかかります。

ビットコインが最初に起動したときにブロックあたり50ビットコインで開始し、
最初の2年後には25に下がり、それ以来半減しています。

幾何級数を使用することによって、
供給上限は2,100万ビットコインと計算されます。

これに関する1つの注意点:
2100万のビットコインがすべて流動的になるわけではありません。

例えば、ナカモトサトシ氏は約100万ビットコインを保持しており、
これらのビットコインは決して動かない可能性があります。

さらに、秘密鍵の一部が失われ、
一部のビットコインが焼損し、使用可能な電源キャップがすべて減少したりもします。

 

トランザクションフィー

トランザクションフィー=取引手数料について話しましょう。
取引手数料はマイナーの2つ目の収入源です。

取引手数料は、
取引の送信者によって設定された価格です。

あなたは、ビットコインネットワークのパワーを使用するための取引手数料を、
サービスコストとみなすことができます。

取引手数料を支払う必要はありませんが、
ブロックスペースが限られているため、
マイナーが他の取引よりも自分の取引を選択することを奨励します。

マイナーは、1メガバイトのサイズ制限があるので、
一度に非常に多くのトランザクションを承認できるだけ入れたと考え、
ブロック内で最大の利益をもたらすトランザクションを選択したいと考えています。

実際、マイナーがブロックに集めるトランザクションを計算する方法は、
ストレージ料金に対するトランザクション料金の比率を最大化することです。

これは、最も収益性の高い取引をすべて取っているので、
ブロックの取引手数料が最大になることを意味します。

ブロック報酬が減るにつれて、
マイナーがビットコインで同じ利益を求めるならば、取引手数料は上がるでしょう。

ブロック報酬がゼロに近づくにつれて、
取引手数料はマイナーの主要収入源になると考えられます。

 

固定費

マイナーのさまざまな収入源をすべて検討したので、
次にコストについて見ていきましょう。

まず、固定費について話し合い、
その後は変動費に入るようにします。

皆さんが知っているように、
ハードウェアはユーザーがマイニングことができるようにするもので、
ハードウェアのコストは固定されています。

それは一度の購入です。

一般的な計算デバイスから特殊なマイニングハードウェアまで、
ハードウェアにはいくつかの種類があります。

マイナーによって生産されたマイニングパワーの成長過程は、
ビットコインの開始以来、信じられないほど成長しています。

 

ハードウェアの種類

使用された最初のタイプのマイニングハードウェアは、
CPUまたは中央処理装置でした。

2017年9月下旬にCPUを使用して採掘すると、
ブロックを見つけるのに約760万年かかります。

これは、今日のハードウェアの方がはるかに強力で、
CPUがネットワークの他の部分と競合することを非常に困難にするためです。

CPUマイナーは、
一般の人々が利用できるコンピューティングパワーの元のタイプでした。

これは、CPUが一般的な計算を行うことを意図しているためですが、
ハッシュを具体的に計算する際にはあまり効果がありません。

ゲーミングコミュニティの一部のメンバーは、
より強力な計算デバイスを手に取っていることをすぐに認識しました。

それがGPUです。

 

GPU、またはグラフィック処理ユニットは、
ビデオゲームのようにメディアを処理するために一般的に使用されるデバイスです。

これらのデバイスは、
ハッシングを含む多くの異なるタイプの計算を処理できるという点で、
一般的な計算デバイスでもあります。

コンピューティングに関しては、CPUよりも10倍高速です。
つまり、10倍の速さでハッシュできます。

ブロックを採掘するために、GPUはわずか76万2千年しかかかりません。

GPUのマイナーは、6年前、
ビットコインについて聞いたことがない人が多かった2012年に、最も一般的でした。

それらはゲームからマイニングに再利用され、
GPUマイナーはCPUマイナー以上の大きな利点を得ました。

しかし、GPUを使用することの欠点のいくつかは、
マイニングに関係のないコンポーネントに起因しています。

たとえば、マイニングには浮動小数点数は必要ないため、
余分なコンポーネントは有用ではありませんが、
GPUハードウェアのコストにはまだ含まれています。

さらに、それらはファーム内で並行して実行されることを意図していないため、
大規模なGPUマイニング設定を操作することは困難です。

 

これは、FPGAまたはフィールドプログラマブルゲートアレイが機能する場所です。

これらはビットコインの特殊なマイニングハードウェアの最初の形式でした。

これらのデバイスは、
ビットコインをマイニングするために最適化されていましたが、
一般的な計算能力をすべて失うことはありませんでした。

このトレードオフの理由は、
ビットコインの将来の成功についてまだ不確実性があったためで、
ビットコインが消滅した場合、ビットコイン固有のハードウェアは役に立たなくなるからです。

しかし、ビットコインが繁栄すれば、
他の競合マイナーを打ち負かすことが望まれます。

しかし、FPGAは短時間しか使用されていませんでした。

なぜなら、2014年頃にはるかに強力なハードウェアがすぐに市場に投入されたからです。

 

ASIC、または特定用途向け集積回路は、
ビットコインエコシステム全体で言及されています。

これらは、1つしかできない完全に特殊化されたデバイスです。

ビットコイン ASICは、1つのタイプの計算のみ、
つまりマイニングのみが可能です。

これらのデバイスは、
ビットコインのハッシュパズルを解決するだけで、
他に何もしませんが、何よりも優れています。

ASICに関しては、大量のカスタマイズ性があります。

これらは、より高い電力使用量と引き換えに、
より低いベースコストを選択することから、
より小さなデバイスを選択してハッシュレートを失うことにまで及びます。

特定のニーズに応じて、
関連するASICが存在する可能性があります。

ただし、ASICの1つの問題は初期コストです。

ASICは多くの初期資本を生産するだけでなく、
妥当な利益を上げるために大量のバッチで購入する必要があります。

最も一般的で強力なASICの1つであるAntminer S9は、
1秒あたり14兆ハッシュを実行できますが、ブロックを見つけるのに約10.9年かかります。

 

変動コスト

マイニングにおける変動コストについて話していきます。

私たちが知っているように、
マイニングの過程で消費されるエネルギーにはいくつかの異なるコストがあります。

これらはすべて、環境上のビットコインのコストの考慮事項です。

これらのエネルギーコストは複数の形で現れますが、主に以下の3つです。

実装されたエネルギーは、ハードウェアの製造時に消費され、
電力はハードウェアに、冷却はハードウェアを加熱する際に維持されます。

これらのすべてのタイプのエネルギーが考慮されますが、
長期的な利益予測を見ると、電力と冷却は可変エネルギーコストであり、
より大きな考慮事項になります。

さらに、スペースや従業員など、
維持するためのインフラストラクチャとオーバーヘッドもあります。

操作の規模に応じて、
ハードウェアに何か問題がないことを確認するため、
またはハードウェアがダウンしたときの注意を払うために、
倉庫全体といくつかの保守担当者を雇用する必要があります。

 

これで、マイニングから利益を得る方法について、
あなたは知っておくべきことをすべて理解しました。

あなたがあなたの収入をあなたのコスト以上に保つなら、
あなたマイニングから利益を得るでしょう!

大部分のマイニング作業はかなり長い間利益を上げていないので、
独自のASICファームを回転させる前にもっと多くの研究を行うことを覚えておいてください。

ASICファームについて言えば、次のセクションでは、
現実の世界でマイニング業はどのように見えるかを検討します。

 

あとがき

 

マイニングの詳細について、
詳しく学んだことがなかったので、
普通に面白かったですね。

テクノロジーの進化が直結する産業なので、
アグレッシブな進化のある産業だなと思います。

 

こうやって暗号通貨を多面的に理解すると、
様々なニュースの理解も深まるので良いですね。

この後も引き続き頑張ろう!

 

ってことで、
今回はこの辺で失礼します。

このブログを書く僕の目的は、
「ファンを作ること・仲間を増やすこと」です。

趣味が合う、気が合う、考え方が合う。
なんかええなーと思ったら、気軽にメッセージください。喜びます。

終わり。

 

次に記事
現実世界のマイニング。マイニングプールとは。カリフォルニア大学バークレー校 ビットコインと仮想通貨の無料講義超訳|Week4-5

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ABOUTこの記事をかいた人

物語の引き金を引く男 / 「てめえの人生に火をつける」 / プロ火付け役 / 腐れニートからの再始動 / 見知らぬ人にMacBook Proを買った人 / 32日で100記事達成 / ただの足跡を伝説に変えていく男 / Youtubeで #クレメアラジオ 不定期配信 / サロン「裏世界」オーナー 参加希望者はDMまで