何かとWeb3が注目され、ブロックチェーンはインターネット以来の発明とも言われてますが、実際ブロックチェーンの中に何が入っているのかあまりわかってない方もいると思います。
パソコンやスマホがどうして動いているのか、普段利用しているWebサービスがどのようなシステムで稼働しているのか、意識しないのであまり意味はないと思います。
けどこれだけ「ブロックチェーン」「ブロックチェーン」「ブロックチェーン」と言われていると、どんなデータが入っているのか気になると思います。
今回はブロックチェーンの中にどのようなデータが入っているのか、調べてみました。
もし間違っていたらコメント欄にお願いします!
ビットコインのブロックチェーンに記録されているデータとは
ブロックチェーンは大きく分けると「ブロックヘッダー」と「トランザクションリスト」の二つに分けられます。
ブロックヘッダー
ブロックの中には取引履歴の他に、ブロック自体の情報が記録されますが、そのブロックのデータを記録するのがブロックヘッダーです。
ハッシュ値
ハッシュ値は前のブロックと現在のブロックを繋げる役割があり、ブロックチェーンのチェーンの部分といってもいいでしょう。
ハッシュ値とは、元になるデータから一定の計算手順により求められた固定長の値。その性質から暗号や認証、データ構造などに応用されている。ハッシュ値を求めるための計算手順のことをハッシュ関数、要約関数、メッセージダイジェスト関数などという。
IT用語辞典 e-Words
ブロックの中に入っていくトランザクションのハッシュ値を、ハッシュ化(SHA-256)するなど繰り返し行い、最終的に一つのハッシュ値として書き込まれます。
もしビットコインの取引を改ざんする場合、取引内容が変わりトランザクションも変わるため、ハッシュ値の計算も行う必要があります。
世界全体で承認作業しているパソコンの51%を上回るスペックがないと改竄は不可能だと言われています。
メタデータ
メタデータはマイニングに関する情報を記録しています。
具体的には現在のブロックが生成された時間や、マイニング速度を調整するための役割でもあります。
ビットコインは10分に1つのブロックを生成していますが、そのペースが乱れると一つのコンピューターだけが取引承認を独占してしまう恐れもあります。
そうなってはビットコインが中央集権的なものになってしまうので、マイニング速度を調整することも大切です。
ブロック内のトランザクションをまとめたもの
ブロック内のトランザクションデータをまとめたもので、特定の取引データを取り出すことも可能です。
トランザクションリスト
トランザクションID
Hashと呼ばれる項目の中にある「英単語と数字の組み合わせ」がトランザクションIDとして格納されています。
トランザクションIDは取引の番号でもあり、他の取引と被ることはないため、トランザクションIDさえ覚えておけば簡単に取引内容にアクセス可能です。
ブロックID
この取引が登録されているブロックが表示されます。
取引状態
取引状態が正常に終了しているか、現在進行中かを示しています。
受取り日時
ビットコインを送金した日時、もしくは受け取った日時が表示されます。
サイズ
取引データの容量が表示されます。
ウェイト
電子署名 + 公開鍵 以外のデータが大きいほど値が大きくなる項目です。
ロックタイム
ビットコインは世界中のコンピューターによって取引が承認されていますが、中にはすぐに承認が終了ケースもあります。
ですが、そのような取引はキャンセルする時間がないため、取引の承認が完了していても一定時間ロックをかける事で、キャンセルできる時間を設けられます。
その時間をロックタイムと呼びます。
送金額
相手に送金した金額が表示されます。
手数料
ビットコインを送金する際に発生した手数料が表示されます。
コメント