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

つまり、ブロックチェーンは、分散型デジタル台帳として機能するデータ記録のリストです。データはブロックに編成され、時系列に配置され、暗号化によって保護されます。

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

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

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

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


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

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

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

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

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

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

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

アリスとボブがいて、彼らのビットコイン残高があるとします。アリスはボブに 2 ビットコインを借りているとします。

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

この取引では、アリスはボブのアドレスと送信したいビットコインの量を、デジタル署名とアリスの公開鍵とともにマイナーに渡します。署名はアリスの秘密鍵で作成され、マイナーはアリスが実際にそのコインの所有者であることを確認できます。

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

最初に必要な数の 0 を含む出力ハッシュを生成するために、マイナーはアルゴリズムを実行する前にブロックに「ノンス」と呼ばれるものを追加します。入力に小さな変更を加えると出力が完全に変わるため、マイナーは有効な出力ハッシュが見つかるまでランダムなノンスを試します。

ブロックが採掘されると、マイナーは新しく採掘されたブロックを他のすべてのマイナーにブロードキャストします。次に、マイナーはブロックが有効であることを確認し、それをブロックチェーンのコピーに追加してトランザクションを完了します。ただし、マイナーはブロックに前のブロックからの出力ハッシュも含める必要があります。これにより、すべてのブロックが結び付けられます。これがブロックチェーンという名前が付けられた理由です。これは、システム内で信頼が機能する方法であるため、重要な部分です。

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

ブロックを生成するためにコンピューターを動作させるモデルは、Proof-of-Work (PoW) と呼ばれます。また、Proof-of-Stake (PoS) のような他のモデルもあり、これらはそれほど多くの計算能力を必要とせず、より多くのユーザーに対応しながらも電力消費量が少なくなっています。