ブロックチェーンとは: 書籍「図解 50代からのプログラミング」
更新日:2024.06.03「中高年のためのプログラミング教室」の教科書にもなっている 「図解 50代からのプログラミング」高橋与志著 リックテレコム刊 から、特にご好評いただいているエッセンスをご紹介いたします!
ITビジネスやプログラミングの全体像とセカンドキャリアへの活かし方が同時にわかる本ですので、是非お手元に1冊ご用意ください。
目次
(1)ブロックチェーンとは?
中高年の皆さんが、とても気になっているけれど、とてもわかりにくい「ブロックチェーン」について解説します。「ブロックチェーン=仮想通貨」ではないことを理解しましょう!
ピア・ツー・ピア(P2P)型のネットワーク
中央の管理者や中継ぎ役を置かずに、参加者同士が直接やりとりするネットワーク形態を「ピア・ツー・ピア(P2P)型」と言います。ブロックチェーンではデータを共有するために、この形態を使います。
従来のクライアント・サーバー型をはじめとする中央集権的なHUB&スポーク型やツリー階層型のネットワークとは異なり、参加者同士が平等の立場で、データやシステムを分散管理します。
ブロックチェーンはインフラ
ブロックチェーンはインターネット通信を使ったインフラであり、「基盤技術」の一種です。そのインフラの上で、様々な業界ごとに、データやアプリケーションの共有システムを構築し、その機能をサービスの形で利用者へ提供します。
ビットコインは仮想通貨の分野で開発されたアプリケーションの一つに過ぎず、ほかにも多くの適用分野がブロックチェーンにはあります。
金融業界を例にとると…
金融業界でブロックチェーンを使う例を考えてみましょう。ブロックチェーン上ではすべての取引台帳の信頼性が担保され、安全に共有されているので、様々なプレーヤーが同じプラットフォームを使う事が可能です。
下図の例では、本来競合関係にある「銀行A」と「銀行B」が同じブロックチェーン上に共存しています。
(2)ブロックチェーンとは?
ブロックチェーン:3つの技術
①スマートコントラクト(自動で行われる契約管理)
通常のビジネスでは、契約の事実の証明やその内容の履行を、弁護士等の第三者に行ってもらいますが、ブロックチェーン上では、そのような契約の締結・履行・管理機能をプログラミングによって持たせることができます。
このデジタル形式で記録された当事者間の約束事を、実行するためのアルゴリズムを「スマートコントラクト」と呼びます。
これにより、取引情報や条件を当事者間で共有し、条件が満たされた(Inputされた)ときに自動で権利を移転したり、サービスを実行させる(Outputさせる)ことが可能になります。
最近では、loT技術と組み合わせたカーシェアリング等への応用も検討されています。各業界で使用するスマートコントラクトの開発にプログラミングが必要になる、というイメージです。
データをInputし、プログラミングによる処理結果をOutputする流れと同じですね。
②電子署名とハッシュ*による取引の暗号化
③コンセンサスアルゴリズム(ブロック追加のための複雑な承認ロジック)
この2つの技術が、高いセキュリティと信頼性を担保します。ブロックチェーンによる取引記録は改ざんがほぼ不可能で、なりすましが困難です。また個々のブロックは、複数の取引について日時や内容を全て記録した台帳であり、容易に過去の取引を遡れる高い追跡性(トレーサビリティ)を持っています。
*電子データから生成される不可逆な値で、改ざん防止のための暗号として使われる。 ハッシュを生成するための関数を「ハッシュ関数」と呼ぶ。
ブロックの追加と承認の仕組み
新しいブロックを追加・承認する仕組みは複雑ですが、ここでビットコインを例に、できるだけ簡単に解説しておきましょう。
個々のブロックは、複数の取引台帳を含んでおり、1つ前のブロックの取引台帳を暗号化(ハッシュ化)したものも含んでいます。
ブロックを追加できるのは、新しい取引台帳を含むデータをハッシュ化して、ナンス値を使った複雑な計算を、最初に完了した参加者です。
また、その参加者は、ブロックが追加される際に報酬を受け取ることもできます(この計算作業を行うことを「マイニング」と呼びます)。
ブロックが追加されると、新しい取引台帳が参加者全員によって共有されます。参加者がそのハッシュ値同士を比較し、同一であることを確認することで、その取引が参加者全員によって承認され、正式にブロックチェーン上に「記録」されるのです。
この追加・承認プロセスこそ、ブロックチェーンが分散型管理と呼ばれる所以です。中央銀行のような、承認を独占する管理者がいないことがわかります。
また、ビットコインのように、誰でもマイニングに参加できる仕組みを「パブリック型」と呼びます。一方、参加者を限定し、報酬について任意とする仕組みを「プライベート型」と呼びます。
金融業界や物流業界等のプラットフォームは通常、特定のプレイヤーしか参加できないプライベート型で設計されます。
図解 50代からのプログラミング –未開の能力を発掘♪ |