ブロックチェーン

ブロックチェーンとは何か、ブロックの中身、ネットワークが一つの履歴に合意する仕組み、そして過去の記録を書き換えにくい理由を解説します。

5 分 · 2066 語更新: #基礎#ブロックチェーン#テクノロジー

ブロックチェーンとは、多数の独立した参加者が同時に保存・検証する共有データベースの仕組みです。記録はブロックにまとめられ、ブロック同士が順番につながって鎖(チェーン)を形作ります。これが名前の由来です。核となる考え方は、記録を信頼するために中央の管理者を必要としないという点です。全員が同じ検証ルールに従い、そのルールはソフトウェアに組み込まれています。

身近なたとえ

あるグループのメンバー全員が、同じ帳簿のノートをそれぞれ一冊ずつ持っていると想像してください。誰かが記録を書き足すと、ほかのメンバーは共通のルールに照らしてそれを確認し、自分のノートにも書き写します。もし誰かが自分のノートの古い行をこっそり書き換えても、そのノートだけがほかの全員のものと食い違うため、すぐにばれてしまいます。

ブロックチェーンも同じように動きます。ノートにあたるのはノードと呼ばれるコンピューターで、確認作業は手作業ではなく暗号技術と数学によって行われます。

ブロックの中身

一般的に、各ブロックには次のものが含まれます。

  • トランザクションの一覧。 アドレス間のコインの送金などです。
  • タイムスタンプ。 ブロックがおおよそいつ作られたかを示します。
  • 直前のブロックのハッシュ。 一つ前のブロックの「指紋」のようなものです。
  • 技術的なデータ。 コンセンサスアルゴリズムで使われる情報です。

ハッシュとは、どんな入力でも固定長の文字列に変換する特殊な数学関数の出力です。入力を一文字変えただけでも、まったく異なるハッシュが出てきます。ハッシュを事前に予測することは事実上不可能です。

履歴を書き換えにくい理由

各ブロックは直前のブロックのハッシュを保存しているため、すべてのブロックがつながっています。誰かが古いブロックのトランザクションを書き換えると、そのブロックのハッシュが変わります。すると次のブロックが指しているハッシュと一致しなくなり、チェーンが途切れてしまいます。改ざんを正当なものに見せかけるには、攻撃者はそれ以降のすべてのブロックを作り直し、しかもネットワークの残りの参加者が新しいブロックを追加するより速くそれを行わなければなりません。

大規模なネットワークでは、これには莫大なリソースが必要です。そのため、チェーンの奥深くに埋もれた記録は事実上変更できないものとみなされます。

ネットワークが合意に達する仕組み

何千もの独立した参加者が、最終的に同じ履歴を共有しなければなりません。合意のためのルールをコンセンサスアルゴリズム(合意形成の仕組み)と呼びます。代表的なものは次の二つです。

どちらの方式も、目指すところは同じです。不正をするほうが、ルールに従うよりも高くつくようにすることです。

パブリックとプライベート

  • パブリックブロックチェーン(ビットコインやイーサリアムなど)は誰にでも開かれています。ノードを運用することも、トランザクションを送ることも、全履歴を閲覧することもできます。
  • プライベート型や許可型(パーミッションド)ブロックチェーンは、組織が承認した参加者だけに限定されています。記録の保証が強化された、従来型のデータベースに近い存在です。

暗号資産の話題でブロックチェーンという場合、たいていはパブリックブロックチェーンを指します。

ブロックチェーンの上で動くもの

最初の用途はデジタルマネーでした。その後、スマートコントラクトを実行できるネットワークが登場しました。スマートコントラクトとは、あらかじめ決められたルールに従って自動的に実行されるプログラムです。分散型金融(DeFi)、NFT、ステーブルコインなど、多くのサービスがスマートコントラクトの上で動いています。

限界

ブロックチェーンにはトレードオフもあります。

  • 速度と処理能力。 パブリックネットワークが処理できるトランザクション数は、中央集権的な決済システムより少なくなります。業界がこの問題に取り組む方法の一つが、レイヤー2ソリューションです。
  • 手数料。 ネットワークが混雑すると、トランザクションのコストが目に見えて上がることがあります。
  • 取り消しができない。 誤って送ったトランザクションは、通常元に戻せません。
  • 透明性。 すべてが誰からも見えるため、プライバシーの面では必ずしも好ましくありません。
  • ゴミを入れればゴミが出てくる。 ブロックチェーンが保証するのは記録が改ざんされていないことであり、元の情報が正しいことではありません。

まとめ

  • ブロックチェーンは、多数の独立した参加者が維持・検証する共有データベースです。
  • ブロックはハッシュでつながっており、古い記録を変更することは極めて困難です。
  • ネットワークは、プルーフ・オブ・ワークやプルーフ・オブ・ステークなどのコンセンサスアルゴリズムによって履歴に合意します。
  • ブロックチェーンは暗号資産だけでなく、スマートコントラクトとその上に構築されたアプリケーションも支えています。