
https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう
ビットコインは,ブロックチェーンに基づいています.しかし,ブロックチェーンについて理解していますか?
どのようにしてブロックチェーンの個々の構成要素,ブロックを想像することができますか?
ブロックチェーンはデータブロックのチェーンです.各ブロックは元帳のページとして考えることができます.個々のブロックはいくつかのコンポーネントで構成されています.
これらはブロックの先頭(ブロックヘッダー)とブロックの内容に区別できます.
ブロックヘッダー
ブロックの先頭は6つの要素からなります.
ソフトウェアのバージョン番号
前のブロックのハッシュ
マークルツリーのルートハッシュ
1970–01–01 T00:00 UTCからの経過秒数
ブロック生成時のProof of workの難易度
Proof of workで使用するカウンタ
ソフトウェアのバージョン番号
ほとんどの場合,ソフトウェアのバージョン番号は関係ありません.ただし、特定のバージョン番号を持つマイナー,自分がサポートしているプロトコルを知らせることができます.
前のブロックのハッシュ
前のブロックのハッシュは,いわばブロックチェーンのチェーンです.前のブロックのハッシュは新しいブロックのハッシュに含まれているため,ブロックチェーンのブロックはすべて互いに重なり合っています.このコンポーネントがなければ,各ブロック間と繋がりはとれなくなります.
マークルツリーのルートハッシュ
ブロックに含まれるすべてのトランザクションはハッシュに集約できます.これはマークルツリーのルートハッシュです.
1970–01–01 T00:00 UTCからの経過秒数
ブロック自体の中のタイムスタンプ.時間は1.1.1970からの秒数で示されています.
ブロック生成時のProof of workの難易度
このコンポーネントの目標は,有効性を主張するために新しいハッシュをどれだけ小さくする必要があるかを示します.つまり,すべてのハッシュはビット単位のサイズを持ちます.ビット単位が低いほど,一致するハッシュを見つけるのが難しくなります.先頭にゼロが多いハッシュは,ゼロがないハッシュよりも小さくなります.
ノンス
ノンスは,作業証明によって増加する変数です.このようにして,マイナーは有効なハッシュ,つまり,より小さいハッシュを目指します.
6つのコンポーネントがブロックヘッダーを形成します.ブロックヘッダーは,すべてのブロックを接続するため,ビットコインで基本的な役割を果たします.
ブロック本体
ブロック本体は,車でいうところのトラックの積載スペースとして考えられます.ブロックで確認されたすべてのトランザクションが含まれています.
マイナーがブロックを構築するとき,それはトランザクションを検証します.つまり,送信者が実際に使用するのに十分なお金を持っていることを確認します.彼はブロックチェーンからこの情報を簡単に読むことができます.マイナーは過去のブロックを調べて,送信者が10個のビットコインを送信したい場合に,送信者が10個のビットコインを取得したかどうかを確認します.
ブロック内のトランザクションはリスト内だけでなく,いわゆるマークルツリー内にもあります.
マークルツリーとは?
マークルツリーは,数学者のRalph Merkleからその名前が付けられました.その発見は,多くの情報が単一のハッシュで表現できることです.このために,データ自体が最初にハッシュされます.その後、ハッシュは再びハッシュされてマージされます.最後に,マークルツリーは単一のハッシュにマージされます.この最後のハッシュはルートハッシュ,ツリーのルートとも呼ばれます.それは比較的短い文字列でその「葉」(個々の取引)と「枝」(葉のハッシュ)のすべての情報を表します.
すべての枝と葉がわかっている限り,ルートハッシュの作成は素早く簡単です.ハッシュ関数の機能により,一方向にはっきりと素早く機能し,もう一方には分解できません.
マイニング
作業の証明に関わるような観点から,マイニングを理解するのが簡単です.マイニング時には,ブロックのブロックヘッダーが特別なハッシュを取得するために変更されます.ここで重要になるのは,ヘッダーのハッシュのターゲットサイズ(バイト単位)です.
マイナーはデータをハッシュし,データが検索された目標値を下回るハッシュをもたらすかどうかをチェックします.ハッシュ値がターゲットより大きい場合,マイナーはプロセスを繰り返します.ターゲット以下のハッシュが見つかるまで,またはハッシュがターゲット以下の別のネットワーク担当者から別のブロックを取得するまで,これを繰り返します.次に,この新しいブロックを取り出して,それを次のブロックの基礎として使用します(新しいハッシュを「前のブロックのハッシュ」として使用します).
マイニングは、特別なハッシュを見つけることを目的とした超反復的なプロセスです.ハッシュが見つかると,マイニングは再び始まります.ハッシュを見つける可能性は難易度によって異なります.平均して,ビットコインは10分ごとに新しいブロックを見つけます.難易度は適応し続けます,従ってこの平均は変わりません.
このプロセスの特徴は、ハッシュが推測によってしか見つけられないということです.この率は計算能力,そしてそれ故にエネルギーを必要とします.ハッシュを見れば,それがゼロで始まっているので特別なものであることがわかります.