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

公開日: : 最終更新日: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)といいます。

参考図書

関連記事

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

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

記事を読む

【仮想通貨】トランザクションについて調べてみた【ブロックチェーン】

ビットコインなどの仮想通貨では、取引をトランザクションで記述されます。 そのトランザク

記事を読む

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

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

記事を読む

【イーサリアム】 ハッシュ関数(Keccak-256)について調べてみた。

仮想通貨の1つであるイーサリアムで用いられているハッシュ関数「Keccak-256」について

記事を読む

【イーサリアム】クライアントソフト geth を使ってみた。

イーサリアムのクライアントソフト geth をインストールして使ってみました。 クライ

記事を読む

【ビットコイン】 アドレス生成方法について調べてみた。

仮想通貨の1つであるビットコインを送金するときは、送付側と受け手側のそれぞれのアドレスが必要

記事を読む

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

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

記事を読む

【ビットコイン】ハッシュ関数(SHA-256・RIPEMD-160)について調べてみた。

ビットコインなどの仮想通貨で使用されているハッシュ関数(hash function)という技

記事を読む

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

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

記事を読む

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

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

記事を読む

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

ビットコインは,時価総額が1位で最も有名な仮想通貨です. 仮

【LaTeX】 見出し付き箇条書きを右にずらす方法【数式の変数説明】

今回は、LaTeX で見出し付き箇条書きの全体の位置を右にずらす方法に

【LaTeX】 余白部分を設定しレイアウトを確認する方法。

今回は、LaTeX の余白部分のレイアウトの変更方法とレイアウトの確認

【LaTeX】 レポートや論文の表紙のテンプレート。

LaTex を使ってレポートや論文を書くときに、表紙をつけると思います

【DTM】 Cubase AI でギターやベースを録音する方法。

今回は、DTM のための DAWソフト Cubase AI でギター(

→もっと見る

PAGE TOP ↑