ブロックチェーンの基本概念② ブロックチェーンの仕組み – 分散型台帳のイメージをつかもう

はじめに

前回は、ブロックチェーンの基本情報について解説しました。

今回は、ブロックチェーンの仕組みについて詳しく説明し、分散型台帳のイメージをつかむことが目的です。

これからブロックチェーン技術を理解し、活用するためには、この仕組みを把握することが重要です。

目次

⚫️ブロックチェーンの構造
 ーデータ
 ーハッシュ値
 ーノンス

⚫️コンセンサスアルゴリズム
 ーアルゴリズムとは?

 ・代表的なコンセンサスアルゴリズム
 ーProof of Work(PoW)
 ーDelegated Proof of Stake(DPoS)
 ーProof of Stake(PoS)

⚫️まとめ

ブロックチェーンの構造


ブロックチェーンは、データを「ブロック」という単位で格納し、それらが連鎖状につながっているデータ構造です。ブロックには、以下の情報が含まれます。

ハッシュ値


ハッシュ値とは、あるデータから一定の計算手順(ハッシュ関数)を経て生成される一意の値のことを指します。

ハッシュ値は、その元となるデータの「指紋」のようなものと考えることができます。
わかりやすい例として、考えられるのは、図書館のカードカタログシステムです。

本のタイトルや著者名を使って、その本が図書館のどこにあるかを探しますよね。

これと同じように、ハッシュ関数は、あるデータ(この場合は本)を入力として受け取り、そのデータを一意に表すハッシュ値(この場合は本の場所)を出力します。

ノンス


ノンス(Nonce)は「Number used once(一度だけ使われる数)」の略で、特定の暗号通信やブロックチェーンのマイニングなどのコンテクストで一度だけ使われる数字を指します。

具体的な例として、イベントのチケットを考えてみましょう。
例えば、コンサートのチケットには一意のシリアルナンバーがついていますよね。

そのチケットはその特定のコンサートに一度だけ入場するために使われ、そのシリアルナンバーもその一度限りの使用で役目を終えます。

これをノンスに例えることができます。

ブロックチェーンのコンテクストでは、特にビットコインのマイニングでノンスが重要な役割を果たします。

マイニングとは、新たなブロックをブロックチェーンに追加するためのプロセスで、このプロセスはパズルを解くようなものです。

このパズルの解がノンスで、ノンスを見つけることで新たなブロックがブロックチェーンに追加され、マイナー(パズルを解く者)には新たに生成されたビットコインが報酬として与えられます。

このノンスは一度だけ有効で、次のブロックをマイニングするには新たなノンスを見つける必要があります。

データ


ブロックチェーンに格納されるデータは主に以下の3つのカテゴリーに分けられます

トランザクションデータ

これは最も一般的な形式のデータで、あるエンティティ(個人、企業、組織など)から別のエンティティへの資産の移動を示します。

たとえば、ビットコインのブロックチェーンでは、各トランザクションはあるビットコインアドレスから別のアドレスへのビットコインの送金を表します。

「トランザクション」は、主にデジタル資産の移動を指します。


スマートコントラクト

イーサリアム(暗号通貨)などのブロックチェーンでは、スマートコントラクトというプログラムがブロックチェーンに格納されます。

スマートコントラクトは、ブロックチェーン技術上で自動的に実行されるコンピュータープログラムです。

これは契約の条件をコード化し、条件が満たされたときに自動的に実行されます。
たとえば、ある商品の購入についてスマートコントラクトを作成するとします。

このスマートコントラクトは、購入者が指定した金額を支払ったことを確認し、その後、自動的に商品の所有権を購入者に移転するよう設計できます。

このプロセスは人間の介入なしに行われ、契約の条項が正確に守られることを保証します。

スマートコントラクトの一部の利点

信頼性
一度ブロックチェーンにデプロイされると、スマートコントラクトは改ざん不可能となり、実行は保証されます。

デプロイとは開発したスマートコントラクトをブロックチェーンネットワークにアップロードし、ネットワーク上で動作させるための手続きを指します。

透明性
スマートコントラクトのコードはブロックチェーン上で公開され、誰でもその内容を確認できます。

自動実行
スマートコントラクトは自動的に実行され、人間の介入や第三者の信頼を必要としません。

効率性
スマートコントラクトは手動での処理や誤解を排除し、取引や契約の処理を大幅に高速化します。

スマートコントラクトは、金融サービス、供給チェーン管理、不動産取引、投票システムなど、さまざまな産業で活用されています。




ブロックヘッダー情報

これにはブロックのメタデータが含まれます。
メタデータとは、他のデータを説明するためのデータです。

その目的は、情報をよりよく理解し、効果的に使用することです。
例えば、デジタル写真のメタデータは撮影日時、カメラのモデル、露出時間、ISO速度、焦点距離などの情報を含むことがあります。

これらの情報は、写真自体の内容を理解するのに役立ちます。
それぞれのブロックは一意の識別子(ハッシュ)を持ち、これはブロックヘッダー情報の一部です。

ブロックヘッダー情報には、前のブロックへのリンク(これによりブロックチェーンが形成されます)、タイムスタンプ(ブロックがいつ生成されたか)、そして難易度ターゲット(新しいブロックを採掘するのに必要な計算量)などが含まれます。

これらのデータはすべて、各ブロックが連鎖しているブロックチェーンに格納され、一度ブロックチェーンに追加されたら、その内容を変更することは非常に困難になります。

これにより、ブロックチェーンは信頼できる、改ざん防止のデータストレージシステムとなります。

コンセンサスアルゴリズム


ブロックチェーンでは、ネットワーク上の複数の参加者(ノード)が、新たなブロックを追加する際に、正しいデータであることを確認し合います。

このプロセスを「コンセンサス(合意形成)」と呼び、それを実現するためのアルゴリズムが「コンセンサスアルゴリズム」です。

そもそもアルゴリズムとは?

アルゴリズムを理解するために、料理のレシピを考えてみましょう。
レシピは、特定の料理を作るための詳細な手順です。

例えば、パンケーキを作るためのレシピでは、「卵を割り、ボウルに入れる」「小麦粉と砂糖を加えて混ぜる」「フライパンにバターを溶かし、生地を流し入れる」「両面を焼く」など、一連の手順が指示されています。

このレシピのような一連の手順が、まさにアルゴリズムです。

アルゴリズムは、特定の目的を達成するための手順やルールの集まりで、特定の入力から特定の出力を得るためのプロセスを定義します。

コンピューターサイエンスの文脈では、アルゴリズムは問題を解決するための手順を定義します。

例えば、検索エンジン(Googleなど)が検索結果をどのようにランキングするかなど、そのプロセスはアルゴリズムによって定義されています。

代表的なコンセンサスアルゴリズム


Proof of Work(PoW)

Proof of Work(PoW)を理解するための一例として、宝探しゲームを考えてみましょう。
まず、主催者が難解なパズル(宝の地図)を作ります。

そして、このパズルを解くと宝(ブロックの権利と報酬)が得られると参加者たちに伝えます。

参加者たちはパズル(宝の地図)を解くために競い合い、膨大な時間と労力(計算能力)を使って解を探します。

最初にパズルを解いた参加者(マイナー)は他の参加者に解を示し、主催者に報告します。主催者はその解が正しいかどうかを確認します。

解が正しかった場合、その参加者は宝(新しいブロックの権利と報酬)を得る権利を手に入れます。
このゲームはブロックチェーンのProof of Workの仕組みを模しています。

パズルを解くのに要する時間と労力が「仕事の証明」であり、この「仕事」を通じてブロックを追加する権利を得ます。

そして、この「仕事」を通じてブロックチェーンネットワークは安全性を保ち、不正を防ぐことができます。

Proof of Stake(PoS)

Proof of Stake(PoS)は、ブロックチェーンネットワークの合意形成アルゴリズムの一つで、エネルギー消費を抑えるための解決策として開発されました。

Proof of Stake(PoS)を理解するために、カジノのギャンブルを考えてみましょう。

カジノ(ブロックチェーンネットワーク)でゲーム(新しいブロックの生成)が開催されます。

そのゲームに参加したいプレイヤー(ノード)は、自分が持っているチップ(ステーク)をテーブルに置きます。チップが多ければ多いほど、ディーラー(ネットワーク)から次のターン(ブロック生成の権利)を獲得する確率が高くなります。

例えば、あるプレイヤーがテーブルの全チップの50%を持っていれば、次のターンを獲得する確率も50%となります。

ターンが回ってきたプレイヤー(新しいブロックを生成するノード)は、その報酬として追加のチップ(新しいコインや取引手数料)を獲得します。

しかし、不正な行為(不正なブロックの生成)をすると、そのプレイヤーはテーブルに置いたチップ(ステーク)をすべて失うことになります。

このように、PoSのシステムは、既に持っているチップ(ステーク)の量に基づいて、新しいターン(ブロック生成の権利)が与えられるという仕組みです。

そして、不正行為を防ぐために、自分のチップ(ステーク)を賭けることが求められます。

Delegated Proof of Stake(DPoS)

Delegated Proof of Stake (DPoS)は、ブロックチェーンの合意形成アルゴリズムの一つで、一部の代表者がネットワーク全体の意志を代表して決定を下すというシステムです。これを理解するために、学生会選挙を考えてみましょう。

まず、学校(ネットワーク)が新しい学生会長(新しいブロックの権利と報酬)を選出する選挙を実施します。

それぞれの学生(ネットワークの参加者)は、自分が信頼する候補者(代表者またはウィットネス)に投票します。

投票権は学生が学校に対して持っている信用(ステーク)に比例します。
つまり、学校に対して多くの信用を持っている学生ほど、選挙結果に大きな影響を与えます。

投票結果に基づいて、学生会長(新しいブロックを生成する権利)が選ばれます。
そして、その選挙結果は全ての学生(ネットワークの参加者)に公開され、認証されます。新しく選ばれた学生会長は、その役職と引き換えに特権(新しいコインや取引手数料)を受け取ります。

この例えは、Delegated Proof of Stakeの基本的な概念を説明しています。
DPoSでは、既にネットワークに投資(ステーク)している量に基づいて、信頼できる代表者に投票することで新しいブロックを生成する権利が与えられます。

そして、このシステムは選ばれた代表者が不正な行為を防ぐために役割を果たします。

もし代表者が不正なブロックを生成しようとすれば、投票によってその地位を失う可能性があります。
これにより、ネットワークの安全性が保たれます。  

マイニング

マイニングは、特にProof of Work(PoW)を採用しているブロックチェーンにおいて、新しいブロックを生成し、取引を確認するプロセスです。

マイニングに成功すると、マイナー(マイニングを行う人や組織)は報酬として新たに発行される通貨や取引手数料を受け取ることができます。

ブロックチェーンの安全性

ブロックチェーンの安全性は、以下の要素によって保たれています。

分散型台帳
データがネットワーク上の複数のノードに分散されているため、改ざんやシステム障害のリスクが低減されます。

ハッシュ関数
ブロックのハッシュ値が連鎖的につながっているため、過去のデータの改ざんが困難です。

コンセンサスアルゴリズム
ネットワーク参加者がデータの正確性を検証し合うことで、不正な取引や改ざんが防がれます。

まとめ

このチャプターでは、ブロックチェーンの仕組みについて詳しく解説しました。

分散型台帳技術を活用してデータを安全に保管し、ハッシュ関数やコンセンサスアルゴリズムによってデータの正確性を保つことが、ブロックチェーンの基本的な仕組みです。

次のチャプターでは、暗号技術とブロックチェーンについてさらに詳しく説明していきます。
ブロックチェーン技術の理解を深めるために、ぜひ続けて学んでいきましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA