ブロックチェーンとは何ですか?

要約すると、ブロックチェーンは分散データベースのように機能するデータ レコードのリストです。データはブロックに編成され、時系列に並べられ、暗号化によって保護されます。

ブロックチェーンの最初の概念は、コンピューター科学者のスチュアート・ハーバーと物理学者の W. スコット・ストーネッタが、デジタル文書をデータ改ざんから保護するためにブロックチェーンで暗号化技術を使用した 1990 年代初頭に作成されました。

ハーバーとストルネッタの研究は、他の多くのコンピュータ科学者や暗号愛好家の研究に確かに影響を与え、最終的には最初の分散型電子マネー システム (および最初の暗号通貨) であるビットコインの作成につながりました。

ブロックチェーン技術は暗号通貨よりも古いものですが、その可能性が認識され始めたのは 2008 年にビットコインが誕生してからです。それ以来、ブロックチェーン技術への関心は徐々に高まり、現在では仮想通貨がより大規模に認識されるようになりました。

ブロックチェーン テクノロジーは、暗号通貨トランザクションを記録するために最も一般的に使用されますが、他の多くの種類のデジタル データにも適しており、幅広いユースケースに適用できます。最も古く、最も安全で最大のブロックチェーン ネットワークはビットコインであり、暗号化とゲーム理論のバランスの取れた組み合わせを使用して設計されています。


ブロックチェーンはどのように機能するのでしょうか?

暗号通貨の文脈では、ブロックチェーンはブロックのチェーンで構成され、各ブロックには以前に確認されたトランザクションのリストが保存されます。ブロックチェーン ネットワークは世界中に分散された無数のコンピューターによって維持され、分散型データベースとして機能します。これは、参加者 (またはノード) がそれぞれブロックチェーン データのコピーを保持し、同じページ (またはブロック) にいることを確認するために相互に通信することを意味します。

したがって、ブロックチェーン取引はグローバルなピアツーピアネットワーク内で行われ、これがビットコインを分散型でボーダーレスで検閲に強いデジタル通貨にしているのです。さらに、ほとんどのブロックチェーン システムは信頼を必要としないため、トラストレスであると考えられます。ビットコインを管理する単一の当局は存在しません。

ほぼすべてのブロックチェーンの中心的な要素は、ハッシュ アルゴリズムに依存するマイニング プロセスです。ビットコインは 256 ビットのセキュア ハッシュ アルゴリズム (SHA-256) を使用します。任意の長さの入力を受け取り、常に同じ長さの出力を生成します。生成される出力は「ハッシュ」と呼ばれ、この場合は常に 64 文字 (256 ビット) です。

したがって、プロセスが何度繰り返されても、同じ入力からは同じ出力が得られます。しかし、入力に小さな変更が加えられると、出力は完全に変わります。そのため、ハッシュ関数は決定論的であり、暗号通貨の世界では、ほとんどが一方向のハッシュ関数として設計されています。

一方向関数であるということは、出力から入力を計算することがほぼ不可能であることを意味します。エントリが何であるかを推測することしかできませんが、それを正しく推測できる可能性は非常に低いです。これが、ビットコイン ブロックチェーンが安全である理由の 1 つです。

アルゴリズムの動作がわかったので、簡単なトランザクション例を使用してブロックチェーンがどのように機能するかを示しましょう。

アリスとボブがそれぞれビットコインの残高を持っていると想像してください。アリスがボブに 2 ビットコインを借りているとします。

アリスはボブにこれら 2 つのビットコインを送ることができるように、実行したいトランザクションを含むメッセージをネットワーク上のすべてのマイナーにブロードキャストします。

このトランザクションでは、アリスはボブのアドレスと送信したいビットコインの量をデジタル署名と公開鍵とともにマイナーに渡します。署名はアリスの秘密鍵で作成され、マイナーはアリスがこれらのビットコインの所有者であることを検証できます。

マイナーはトランザクションが有効であることを確認すると、それを他の多くのトランザクションとともにブロックに配置し、そのブロックのマイニングを試みることができます。これを行うために、ブロックには SHA-256 アルゴリズムが適用されます。出力が有効であるとみなされるには、特定の数の 0 で始まる必要があります。必要な 0 の量は、ネットワークの計算能力に応じて変化する、いわゆる「難易度」によって異なります。

先頭に必要な量の 0 を含む出力ハッシュを生成するために、マイナーはブロックをアルゴリズムに渡す前に、いわゆる「ノンス」をブロックに追加します。入力を少し変更すると出力が完全に変わるため、マイナーは有効な出力ハッシュが見つかるまでランダムなノンスを試行します。

ブロックがマイニングされると、マイナーはこの新しくマイニングされたブロックを他のすべてのマイナーにブロードキャストします。次に、ブロックが有効であることを確認して、ブロックチェーンのコピーに追加できるようになり、トランザクションが完了します。ただし、すべてのブロックがリンクされるように、マイナーはブロック内に前のブロックの出力ハッシュも含める必要があるため、ブロックチェーンと呼ばれています。これは、システム内で信頼がどのように機能するかという点で重要な部分です。

各マイナーは自分のコンピューター上にブロックチェーンの独自のコピーを持っており、誰もが最も多くの作業が行われたブロックチェーン、または最も長く実行されているブロックチェーンを信頼します。マイナーが前のブロックのトランザクションを変更すると、そのブロックの出力ハッシュが変更され、後続のブロックのすべてのハッシュが変更されることを意味します。マイナーは、誰かが自分のブロックチェーンを正しいものとして受け入れるために、すべての作業をやり直す必要があります。したがって、マイナーが不正行為をしたい場合は、ネットワークのコンピューティング能力の 50% 以上が必要になりますが、これは非常に可能性が低いです。したがって、このようなネットワーク攻撃は 51% 攻撃と呼ばれます。

コンピューターを稼働させてブロックを生成するモデルは、Proof of Work (PoW) と呼ばれます。また、プルーフ・オブ・ステーク (PoS) のような他のモデルもあります。これは、それほど多くのコンピューティング能力を必要とせず、より多くのユーザーに拡張できると同時に必要な電力も少なくなると考えられています。