時のログ

文字は心をあらわす、今思った事を素直に書こう!

ブロックチェーンってなんなんだ? マイニングに関係するってことで最初に調べた!

あとで読む

スポンサーリンク

おはようございます。サイト管理者のふぇいやんです。仮想通貨を始めようって感じで、いろいろと準備をしていることはこのブログでも書いてる。

 

でもさ、実際に流行りであるけどマイニングってなんなん?俺自信よくわからないし、聞かれても答えられないんだ。だから初める前の基礎知識を学んでみたんだ。

 

f:id:sek-loso0228:20171210084233p:plain

 

そもそも仮想通貨の代表例であるビットコインについて調べ、簡単に要約するといかのようになる。

 

ビットコインは、ブロックチェーンと言う新技術によって生まれた「仮想通貨」であり、電子データで表される「デジタル通過」であり、高度な暗号セキュリティに守られた「暗号通貨」であり、特定の国に属さない「国際通貨」であり、分散型ネットワークに支えられた「民主的な通過」である。

 

なんのことだかさっぱりわからないよね。

 

たぶん、もっとも重要なポイントはブロックチェーンと言う新技術によって生まれた仮想通貨ってところじゃないかな。

 

このブロックチェーン技術っていうのが、マイニングに関係していると俺は思ったんだ。だからもう少しだけブロックチェーンについて掘り下げて、関係を調べてみたんだ。

 

 

まずはブロックチェーン技術について調べてみよう

このブロックチェーン技術っていうのは、端的に言うと分散型台帳の技術の事のようだが、この台帳ってところが仮想通貨では重要なポイントみたい。

 

ビットコインの取引についての説明になるが、基本的には他の仮想通貨も同じ原理で出来ているようなので、ビットコインについて理解できればその他の仮想通貨についても理解できると言って間違いないだろう。

 

だからビットコイン=仮想通貨って思ってくれ。

 

分散型台帳って名前がついているくらいだから、たぶんビットコインの取引についての流れがこの台帳に関係しているのだろう。

 

ビットコインで取引のことをトランザクションと言う。このトランザクションと言う言葉はずっと出てくるから覚えていたほうが良い。

 

ビットコイントランザクションは、「XさんからYさんへ○○BTC移動する」と言う形で記録されているそうだ。

※BTC=ビットコイン

 

この移動という言葉には、売る、送る、代金を支払う等の意味が入っており、売ったり送ったり支払ったりして、兎に角XさんからYさんへビットコインが移ることを全て移動と言う言葉で表現している。

 

ビットコインの取引は24時間365日世界中で実施されており、その状況はビットコインのサイトで状況は確認することができる。

 

取引は承認しあって成立

ビットコインの大きな特徴は、「取引はお互いに承認し合ってはじめて成立する」という事。なんじゃそりゃ?

 

承認されていない取引は全て「未承認」の状態で、この未承認のトランザクションを役0分に1回の割合でまとめて1つの「ブロック」として一括承認する。

 

新しく承認されたブロックは、既に承認済みのブロックをひとつなぎにした1本のチェーンの最後尾にはめ込まれ追加されます。ここではじめて取引が完了したことになります。

 

この承認済みのチェーンには全ての承認が記録されおり、1つのBTCの歴史(誰から誰に移動してきた)も同様に記録されているので、生まれてきてから今までの経歴が全て知ることが出来、一般的な現金のようにマネーロンダリングや不正の闇金なんてこともありえない。だから逆に信頼されるという事。

 

しかし、この個々のトランザクションハッシュ関数と言う特殊な関数によって規則性のない一定の長さの文字列に置き換えられます。

 

ハッシュ関数 (ハッシュかんすう、hash function) あるいは要約関数とは、あるデータが与えられた場合にそのデータを代表する数値を得る操作、または、その様な数値を得るための関数のこと。ハッシュ関数から得られた数値のことを要約値ハッシュ値または単にハッシュという。

ハッシュ関数は主に検索の高速化やデータ比較処理の高速化、さらには改竄の検出に使われる。例えば、データベース内の項目を探したり、大きなファイル内で重複しているレコードや似ているレコードを検出したり、核酸の並びから類似する配列を探したりといった場合に利用できる。

ハッシュ関数の入力を「キー (key)」と呼ぶ。ハッシュ関数は2つ以上のキーに同じハッシュ値マッピングすることがある。多くの場合、このような衝突の発生は最小限に抑えるのが望ましい。したがって、ハッシュ関数はキーとハッシュ値マッピングする際に可能な限り一様になるようにしなければならない。用途によっては、他の特性も要求されることがある。ハッシュ関数の考え方は1950年代に遡るが[1]ハッシュ関数の設計の改善は今でも盛んに研究されている。

ハッシュ関数は、チェックサムチェックディジットフィンガープリント誤り訂正符号暗号学的ハッシュ関数などと関係がある。これらの概念は一部はオーバーラップしているが、それぞれ用途が異なり、異なった形で設計・最適化されている。

またプログラミング言語の一部(PerlRuby等、主に高等言語とされる一般的なプログラミング言語の多く)においては、連想配列のことを伝統的にハッシュと呼ぶが、これは連想配列そのもののプログラムの内部的実装に拠るものであり、ハッシュ関数そのものとは全く異なる。連想配列ハッシュ関数の応用例の一つのハッシュテーブルの実用例である。

ハッシュ関数 - Wikipedia

 

何だか素人にはわかりにくいよね。

 

ここもかいつまんでいくと、さっきの未承認のトランザクションをSHA256というハッシュ関数によって暗号化することにより、元のデータを割り出す事が出来ないようにしてビットコインの取引が改ざんされるのを防いでいるんです。

 

従って、1つの承認が完了するたびに新しいブロックが最後尾に接続されていき、新たな取引記録として過去の台帳に追加されていくのです。

 

このブロックは、過去の全てのビットコインの取引記録が残されています。そして枝葉の無い1本のチェーンに出来上がっているのです。

 

この台帳がブロックチェーンなんですね。

 

まとめ

ブロックのつなげ方には規則が有り、新しいブロックを最後尾につなげるためには、規則に則った鍵を見つける必要があり、その鍵を見つける作業をマイニングと余分です。

 

これでやっと、ブロック、ブロックチェーン、マイニングが繋がったわけですね。

 

でも俺がやろうとしているマイニングに行く前に、まだもう少しブロックチェーンについて調べてみる必要があるようだ。

 

それは、ブロックチェーンの管理方法!

 

この管理方法がマイニングに大きな影響を与えているようなんだよね。

 

 結構奥が深いよ。

 

おしまい。