行政書士とブロックチェーン23
ブロックを作成するときは、トランクザクションプールから10分間で集まったトランザクションを拾い上げる。それがブロックに含まれるトランクザクョンであり、その数をカウントしたのがトランクザクションカウンタである。
ブロックチェーンP2Pネットワークをベースにするシステムなので、トランクザクションが発生しても、ネットワーク全体に伝播するまでには、時間がかかる。個々のトランクザクションには送金者により送金手数料が設定されていることがある。ブロックの追加に成功すると、成功報酬のほかにこの手数料もマイナーの手元に入ることになるので、できるだけ多額の送金手数料が設定
されているトランクザクションをブロック
中に含めたいので、各マイナーが競争して作るブロックが個別に異なるものとなる。
作成するブロックの内容が確定すると、ブロックサイズも決まる、マジックナンバーは固定値だし、これから計算するブロックヘッダも、サイズは最初から決まっている。
ブロックヘッダであるが中味は①バージョンナンバー②前のブロックのハッシュ値③このブロックのすべてのトランクザクションのルートハッシュ④ブロックを作った時刻。
バージョンナンバーはブロックチェーンのシステム第何版であるかを示す値である。次に配置されるのは、前ブロックのブロックヘッダーのハッシュ値である。問題になるのは、ブロックヘッダーのハッシュ値を作る際、ハッシュ関数に脆弱性が見つかると大騒ぎになるのである。
チェーンになっていくプロセスであるが、単にブロックを並べただけでも見かけ上のブロックチェーンになるが、どこかのブロックが交換されても、システムの運用者は気づくことができない。
ブロックに含まれているトランクザクションを改ざんしようとする悪意の第三者がいた場合、トランクザクション自体は暗号化されているわけではないので誰でも見ることができる。書き換えも試みることもできる。自分のビットコインアドレスに大量のビットコインを移動させるトランクザクションデータも作ることができる。
ただし、前のブロックだけを改ざんしても、システムも利用者も騙せない。改ざん前のデータから得られたハッシュ値が、次のブロックの一部として組み込まれているので、改ざんを行うと改ざん後のブロックのハッシュ値と。次のブロクのハッシュ値が合致しなくなるので、何か異常が起きたことがわかってしまう