ビットコインマイニング技術: 分散データストレージ、ピアツーピア伝送、コンセンサスメカニズム、暗号化アルゴリズム...

ビットコインマイニング技術: 分散データストレージ、ピアツーピア伝送、コンセンサスメカニズム、暗号化アルゴリズム...

1. 説明

ブロックチェーンは、オープンなデータ操作、改ざん不可能、追跡可能性、国境を越えた分散化などの特徴を備えています。そのため、さまざまな分野での利用が増えています。ブロックチェーンの主な技術には、分散データストレージ、ピアツーピア伝送、コンセンサスメカニズム、暗号化アルゴリズムなどがあり、以下で一つずつ紹介します。

2. ポイントツーポイント伝送

ピアツーピア (P2P) テクノロジは、ピアツーピア インターネット テクノロジとも呼ばれ、すべての依存関係を少数のサーバーに集中させるのではなく、ネットワークの参加者の計算能力と帯域幅に依存します。最も一般的なアプリケーションは eMule です。ここでは、分散型サポートの最初のレイヤーを提供します。

[[222413]]

3. 分散データストレージ

まず、ブロックチェーンの最も直感的な感覚を見てみましょう。ビットコインウォレットを初めて実行すると、大量のデータがダウンロードされます。2017年10月には150G程度でしたが、現在も増加しています。データは data/blocks ディレクトリに保存され、blk*.dat がブロックです。

最初の質問は、マイニング プールを構築するにはなぜこれほど大量のデータをダウンロードする必要があるのか​​ということです。ブロックチェーンは本質的には分散型データベースです。私たちがダウンロードするのは、すべてのビットコインデータで構成されるデータベースなので、非常に大きなサイズになります。分散型データベースでは、データは単一のサーバーに保存されるのではなく、各 P2P ノードにコピーを保存する必要があります。集中型データベースの場合、ホストまたはハッカーによってデータベースが改ざんされる可能性があり、信頼性が低下します。分散型データベースは、誰でも閲覧できる公開台帳のようなものです。ただし、他の人のマシンに分散されたデータベースを変更することは不可能であるため、以前のデータを非公開で変更できる人はいません。あるデータが他のデータベースと矛盾する場合、多数決が優先されます。これがいわゆる「コンセンサスメカニズム」です。

取引が増えるにつれて、ウォレットは成長し続けます。大きすぎる場合は、ハードフォーク技術が使用されます。つまり、まったく新しいネットワークを立ち上げ、すべてのユーザーを大規模に移行するということです。

4. ブロックチェーン

ブロックチェーンは、暗号化方式を使用して生成されたデータ ブロックの文字列です。各ブロックには、ビットコイン ネットワーク トランザクションに関する情報が含まれており、その情報を使用して情報の有効性が検証され、次のブロックが生成されます (1 つの世代に基づいて次のブロックが生成され、チェーンが形成されます)。

マイニングとは、ルールに合致する乱数を計算することで、今回記録する権利を獲得し、今回のラウンドで記録する必要のあるデータを送信し、ネットワーク全体にブロードキャストすることです。各ノードはトランザクション情報を受信し、ブロックに記録し、既存のブロックチェーンにリンクします。

5. アルゴリズム

ハッシュ アルゴリズムは、文字列を (有限の) 数値にマッピングするものです。

ブロックアルゴリズムは、前のブロックのハッシュ値に基づいて、特定のハッシュ結果を満たす文字列を見つけるというものです。簡単に言うと、適切なハッシュを生成する文字列が見つかるまで、文字列をつなぎ合わせてSHA256ハッシュ値(衝突ハッシュ値)を計算し続けることです。この文字列が解です。具体的な計算式は以下のとおりです。

  1. SHA256(SHA256(バージョン + 前のハッシュ + マークルルート + ntime + nbits + x )) < ターゲット

マイニングとは、上記の式の x を解くことです。

このうち、version はブロックのバージョン、prev_hash は前のブロックのハッシュ値、merkle_root は書き込むトランザクション レコードのマークル ツリーの値 (マークル ツリーはトランザクションの保存に使用されます。その基本原理は、リーフ ノード (各トランザクションのハッシュ) をペアにしてハッシュ操作を実行し、親ノードを生成することです。このプロセスは継続的に繰り返され、最終的に一意のルート ノードであるマークル ルートが生成されます)、ntime は更新時間、nbits は現在の難易度、TARGET は現在の難易度に基づいて計算されます。 xの範囲は0〜2^32なので、xを見つけることが重要です。xが見つかったら、新しいブロックをブロードキャストできます。

TARGET が小さいほど、x を解決するのが難しくなります。2016 ブロック (約 14 日) ごとに、ネットワークはこの期間中に生成される新しいブロック間の平均間隔に基づいて TARGET を調整し、10 分ごとに生成されるようにします。したがって、オンラインの計算能力が増加し続けると、計算の難易度はますます高くなり、鉱山の採掘はますます困難になります。

2 人が同時にマイニングすると、ブロック チェーンが分岐し、クライアントは現在の難易度を満たす最長のブランチを見つけます。

6. セキュリティメカニズム

1) 秘密鍵

秘密鍵は次の形式の文字列です。

5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss。 Bitcoin プロトコルを正しくサポートするアプリケーションであれば、この文字列を秘密鍵として識別し、公開鍵に変換してから、アドレスに変換できます。対応するアドレスにビットコインがある場合は、秘密鍵を使用してビットコインを使用できます。一般的に言えば、盗難とは秘密鍵の盗難を指します。

2) 公共と私的

公開鍵は秘密鍵によって生成されます。秘密鍵が楕円曲線によって変換されると、65 バイトの配列が生成されます。一般に、公開鍵は次の形式で表示されます: 04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235

操作は秘密鍵で署名されており、対応する公開鍵のみが復号化できます。アドレスも公開鍵から生成されるため、操作がこのアドレスに属しているかどうかを確認できます。

3) 住所

アドレスは公開鍵によって生成されます。生成プロセスは、まず公開鍵に対して SHA256 を実行し、その結果に対して RIPEMD160 を実行し、次にその結果から 20 バイトの配列を取得します。結果の配列は hash160 であり、次の形式になります: 9a1c78a507689f6f54b847ad1cef1e614ee23f1e

4) プロセス

あなたから送信されるすべてのデータは、秘密鍵によって暗号化されます(マイニング、転送などのブロードキャストを含む)。データを送信する際には、公開鍵も送信され、この公開鍵によって復号化されます。公開鍵と秘密鍵が一致すれば、あなたの身元を証明できます。公開鍵は誰でも見ることができますが、秘密鍵が盗まれた場合、他の人があなたの身元で取引できるようになります。具体的な暗号化と復号化、およびキーのインポートとエクスポートの方法については、後続の「ウォレット」セクションを参照してください。

7. マイニングとディープラーニング

1) コンピューティングパワーの組織化

マイニングとディープラーニングはどちらも組織的なコンピューティング能力を必要とします。計算量が多い場合は、クラスターを構築し、計算を分割し、結果を統合するなどの処理が必要になります。

2) ハードウェア基盤

マイニングとディープラーニングはどちらも数学モデル計算であり、大規模学習のソリューションはグラフィック カード、FPGA、ASIC です。もちろん、機能はまったく同じではありません。ディープラーニングでは行列の乗算や畳み込みなどの基本的な演算が必要ですが、マイニングでは主にハッシュ衝突が行われます。どちらも、並列処理、マルチスレッド、高メモリ帯域幅などの機能を必要とします。機能は似ていますが、ハードウェアには依然として多くの違いがあります。ハードウェアの詳細な説明については、後続の「コントローラーとマイニング マシン」セクションを参照してください。

<<:  自然言語処理: 人工知能の重要な要素

>>:  2018年に人工知能はどのように発展するでしょうか?ここに8つの予測があります

ブログ    
ブログ    
ブログ    

推薦する

Laiye Technology、RPA専用に設計されたAI機能プラットフォーム「UiBot Mage」をリリース

俊敏性、効率性、コスト管理性に優れたデジタル変革手法として、中国市場に参入後、高い注目と幅広い受け入...

エンジニアとして、アルゴリズムに取り組んでいる人の方があなたよりも稼いでいるのはなぜですか?

[[253702]] AI最前線ガイド:アルゴリズムエンジニアの何が特別なのか?このポジションは本...

新しいディープラーニング プログラムは、ロボット工学の課題をどのように克服できるのでしょうか?

データ サイエンティストがディープラーニングについて話すとき、通常は画像の生成、検出、分類、回帰タス...

...

...

10 のカテゴリ、142 のデータソース、中国語 NLP データセットがオンライン検索で利用可能になりました

このオープンソース プロジェクトがあれば、適切な中国語 NLP データセットが見つからないと心配する...

...

...

詩人のような機械学習: ML の仕組みについての素晴らしい啓示

機械学習はデータ内のパターンを使用して物事にラベルを付けます。魔法のように聞こえますが、核となる概念...

GitHub トップ プロジェクト: 30 万語の図解アルゴリズム問題辞書、超実用的なリソース、6,000 個のスター

[[336071]]貴重なリソースをまとめましたので、ぜひご覧ください。アルゴリズムはコンピュータサ...

雪の結晶がどのように形成されるかは、これまでずっと謎でした。この物理学者は、その謎を解明したいと考えています。

テクノロジートラベラー北京ニュース 1 月 3 日:ケネス・リブブレヒトは、この寒い冬に暖かく快適な...

Google 研究者: AI が優秀すぎて「ラインを落とした」

数日前、人工知能の分野でほとんどブラックユーモアとも言えるニュースが発表された。Google のエン...

人工知能はいつか本当に人間の教師に取って代わることができるのでしょうか?

中国は教育における人工知能の応用において徐々に優位に立っています。顔認識からスタートアップ、医療教育...

Baidu が公式発表: 自動運転車は 2018 年に量産開始予定!

たった今、百度が公式発表しました。自動運転車は2018年に量産される予定です。 Subversion...