【仮想通貨】新しいトランザクション(取引)の追加方法【ブロックチェーン】

公開日: : 最終更新日:2020/11/19 仮想通貨 , , , , , ,

仮想通貨で用いられているブロックチェーン技術において、新しいトランザクション(取引)をどのように既存のブロックチェーンに組み込んでいくのか、ということについて調べてみました。

1つだけ存在する公開台帳であるブロックチェーンに、新しい取引(仮想通貨の移動)を追加するのはどのような手順で行っているのでしょうか?

ちなみに、トランザクション(取引)は、ビットコインの場合「AさんからBさんへ X(BTC)移動する」といったような指示のことです。

複数のトランザクション(取引)をまとめて管理したものを「ブロック」とし、ブロック単位で承認され、ブロックチェーンに組み込まれていきます。

1ブロックの内容の詳細については以前まとめました。
【ビットコイン】1ブロックに含まれる情報について調べてみた【マークル木】

具体的な手順は以下のようになります。

  1. 1つ前(親)のブロックヘッダーのハッシュ値参照を作成する
  2. 新しく追加された複数のトランザクションからマークル木を作成する。
  3. 1.で作成した「ブロックヘッダー参照ハッシュ値」,2.で作成した「マークル木ルートのハッシュ値」などを用いて新しいブロックヘッダーを作成する
  4. 3.で作成したブロックヘッダーのハッシュ値を求めるためのナンスを見つける
  5. 4. で求めたナンスをブロックヘッダーに追加し、ブロックを完成させる

 

ビットコインの場合は、1.もしくは 4.の「ブロックヘッダーのハッシュ値」を求めるときに、64文字のハッシュ値のうち、最初の16桁の値が全て「0」になるように「ノンス」の値を調節しなければなりません。これは、ブロックの生成時間が 10分になるように、2016ブロック生成されるたびに直近の 2016ブロック生成にかかった時間を測定し調整されているため、2020年現在では、16桁と設定されているためです。

具体的なハッシュ値は以下のようになります。

00000000000000000007ba1e67d3f54a6e404aad5f573418f77238213ec861ed

合計64文字で、最初の16文字が全て「0」になっていることが確認できます。

ブロックヘッダーのハッシュ値は SHA256 を用いているので、256ビットとなり16進数で表されているので合計64文字となります。

また、ノンスはランダムな 32ビットの値です。ノンスを色々と変えていって、最初の16桁が全て「0」になるような値を見つけなければブロックをブロックチェーンに追加することができず、トランザクション(取引)も承認されません。

この最初の16桁が全て「0」になるようなブロックヘッダーのハッシュ値を求める作業が「マイニング(採掘)」と呼ばれるものです。

そして、マイニングにより、一番最初にハッシュ値を見つけたユーザに報酬(例えばビットコイン)を与えることを Proof of Work(PoW)といいます。

参考図書

関連記事

【MetaMask】イーサリアムのウォレットを使ってみた【テスト環境】

今回、イーサリアムのウォレットの1つである MetaMask(メタマスク)を使って、テストブ

記事を読む

【Solidity】 イーサリアムでコントラクトを生成してみた。

スマートコントラクトプログラミングの高級言語の1つである Solidity を使って、イーサ

記事を読む

【イーサリアム】 公開鍵暗号について調べてみた。

仮想通貨の1つであるイーサリアムでは、公開鍵暗号という技術が使われています。 公開鍵暗

記事を読む

【仮想通貨】デジタル署名について調べてみた【ブロックチェーン】

ビットコインなどの仮想通貨のブロックチェーンで用いられているデジタル署名(Digital s

記事を読む

【仮想通貨】時価総額のランキングを円(JPY)で見る方法。

ビットコインやイーサリアムなどの仮想通貨の時価総額のランキングを 円(JPY)で見れる分かり

記事を読む

初心者でも分かるビットコインの仕組みについてまとめてみた。

ビットコインは,時価総額が1位で最も有名な仮想通貨です. 仮想通貨の時価総額の見方について

記事を読む

【仮想通貨】デジタル署名と公開鍵暗号の違いは!?

ビットコインなどの仮想通貨のブロックチェーン技術で用いられている「デジタル署名」「公開鍵暗号

記事を読む

【イーサリアム】 ホリエモンが2014年当時にイーサリアムの可能性に気付いていた!?

ホリエモンこと堀江氏が、2014年の自身のブログで「イーサリアムやべぇ。。。」というタイトル

記事を読む

【イーサリアム】日本円のチャートで比較する方法【イーサリアム・クラシック】

イーサリアム(Ethereum)は、2020年時点で、時価総額がビットコインに次ぐ第2位の仮

記事を読む

【ビットコイン】1ブロックに含まれる情報について調べてみた【マークル木】

ビットコインなどの仮想通貨では、トランザクション(取引)の束を「ブロック」という単位で扱い、

記事を読む

【投資信託】為替ヘッジのあり・なしについて調べてみた。

海外株式などの投資信託を見ていると、「為替ヘッジ有り」と「為替

【楽天FX】レバレッジやロスカット率を設定する方法。

今回は、楽天FXでレバレッジやロスカット率を設定する方法について紹介し

【MQL4】注文を出す関数について調べてみた【OrderSend】

今回は、EAで注文を出すMQL4の関数「OrderSend()」につい

【楽天MT4】ドル円のスワップとスプレッドについて調べてみた。

楽天MT4で、ドル円(USD/JPY)のスワップポイントとスプレッドに

【MT4】ノートPCを閉じてもEAを実行させ続ける方法【Windows10】

今回は、MT4上でノートPCを閉じてもEAを実行させ続ける方法について

→もっと見る

PAGE TOP ↑