目的
この記事ではブロックチェーンにおけるブロックとその機能について説明します。
前提条件
この記事は、読者が以下の記事の情報を理解していることを前提としています。
概要
ブロックチェーンは、一連のブロックが連鎖したものであり、ほとんどのブロックチェーンでは、各ブロックに取引に関するデータ、ハッシュ、およびナンスが含まれています。今のところ、ハッシュはブロックに格納されているデータを表す長い数字、ナンスはブロックチェーンの秩序を維持し、キューのようにブロックの重複を防ぐために使われる短い数字と考えることができます。ハッシュとナンスについては、以下の2つの記事をご参照ください:
ナンスとは
ブロックはナンスを使用して、イベントがブロックチェーンに入るときの正しい順序を維持し、これにより、各ナンスが一意になるため、重複するブロックが存在しないことが保証されます。さらに、ハッシュは、前ブロックのハッシュを含むブロック情報を要約したような形で計算されます (下図参照)。この方式を用いることで、ブロックは連鎖し、前ブロックの「次のハッシュ」は次のブロックの「前のハッシュ」と同様である必要があります。
このルールセットに従うことで、前ブロックに加えられた変更が次のブロックの「次のハッシュ」を変更することより、ブロックチェーンは情報を不変の形で保存します。
ブロックチェーンがどのようにトランザクションを処理するかは、メモ帳を持って部屋に座って算数の準備をしている人々の集まりに似ています。これは最初のページなので、ナンスが現在どのブロックにいるかを示すように、メモ帳にはすでに「ページ1」と記載されています。アナウンサーが入室し、全員に向けてメモ帳に「+5」と記入する必要がある。と伝えると、全員が「+5」と記入し、次の番号を待ちます。このプロセスは、トランザクションがブロックを埋めていくのと同じように、全員が最初のページを埋めるまで続きます。ページが完成すると、合計が計算され、ブロックのハッシュを決定するようにページの下に記載されます。これが完了すると、全員がページをめくり、次のページの一番上に「ページ2」と記入し、前のページの一番下に合計を記入する。もし誰かが別の数字や合計を記入することを決めたら、それは即座にその部屋での異常値として認識され、拒否され、チェーンの完全性が維持されることになります。