コラム

やさしいブロックチェーン技術

Original Article : A gentle introduction to blockchain technology
Posted on September 9, 2015 by antonylewis2015
*この記事はbitsonblocks.netより許可を頂き日本語に翻訳してご案内しております。

この記事では、ブロックチェーンテクノロジーについての技術と必要最低限の知識を分かりやすくご説明いたします。将来使いやすいよう、どうして技術や知識を気にしなければならないのかよりも、技術や知識とは何かを説明していきます。

  1. Part 1 – 概要
  2. Part 2 – ビットコインのブロックチェーンについて
  3. Part 3- よりディープな世界へ
  4. 結論

Part 1 – 概要

みなさんは「ブロックチェーン技術」という言葉を色々なところで見聞きしていませんか。この言葉は、異なるシチュエーションでさまざまなことを意味するために使っているため、混乱することもあるでしょう。
ある時は、ビットコインのブロックチェーン、ある時には、イーサリアムのブロックチェーンなど他のバーチャル通貨やデジタルトークン、更に、スマートコントラクトの話にも出てくる言葉です。
しかし、ほとんどの場合、分散型の台帳(複数のコンピューターに複製されるトランザクションのリスト)について述べています。※中央設置型のサーバに格納されるのではない。

共通して言えることはデータの格納についての以下のような技術だということです。

  • 通常、金融取引を含みます。
  • ほぼリアルタイムで、多数のシステムにわたって複製されます。
  • 通常、Peer to Peerネットワークによって管理されています。
  • 暗号化デジタル署名を使用して、ID、信頼性を証明し、読み取り/書き込みのアクセス権限を有します。
  • 特定の参加者が書き込むことができます。
  • 特定の参加者やより広義の第三者によって読まれ
  • 過去の記録の改ざんを困難にするメカニズムを持っており、誰かが手を加えようとした場合、簡単に検出されるように考えられています。

私は「ブロックチェーンのテクノロジー」を技術の集合体として見ています。「おもちゃのレゴ」の詰め合わせのようなものです。そのバッグから取り出すブロックのピースの種類、組み合わせの方法によって、異なる結果を作り出すことができます。
ブロックチェーンと通常のデータベースの違いは何でしょうか。
ざっくり説明すると、ブロックチェーンシステムは、通常のデータベースに新しい行を追加し、新しい行が事前に合意されたルールに準拠していることを検証し、その新しい行がネットワーク上においてPeer to Peerの要領で同時送信をするソフトウェアのパッケージのようなものです。ここで、Peer(相手先)のデータベースには同じデータがあることを忘れてはいけません。

Part 2 – ビットコインのブロックチェーンについて

ビットコインのブロックチェーンのエコシステム(生態系)

ビットコイン入門として、やさしいビットコインの紹介という記事もあります。
ビットコインのブロックチェーンのエコシステムは、双方向の狙いを持つために、非常に複雑なシステムだと捉えられがちです。一つ目は、誰もがビットコインのブロックチェーンを書き込むことができるということ。二つ目は、権力やコントロールが1つの場所に集中されないということです。まずはリラックスしてください。ビットコインの複雑なメカニズムの多くを知る必要はありません。
ビットコインのブロックチェーンのエコシステムから話を始めて、ビットコインの分野から少しずつブロックチェーンの話に進んでいきましょう。

複製されたデータベース。 ビットコインのブロックチェーンのエコシステムは、過去のビットコインのトランザクションをすべて同期した複製されたデータベースのネットワークとして機能します。ネットワークの重要なメンバーは、取引データ(支払い)と、ブロックデータ(台帳に追加するデータ)を経由するバリデーター(検証)またはノード(ネットワークの接続部分)と呼ばれています。各バリデーターは、支払いを個別にチェックし、ブロックデータを拡散します。そこには、ネットワークを意図したとおりに動作させるためのルールがあります。

ビットコインの複雑さは、そのイデオロギーが原因。ビットコインが開発された目的は、中央集権化ではなく分散化です。つまり、1つの場所にデータを集中して置かずに、匿名で分散するということです。このことは、ビットコインがどのように発展したのかに影響しています。
特に参加者が特定され、信頼ある行動をすることができる場合、すべてのブロックチェーン・エコシステムが同じメカニズムである必要はありません。

ここで、ビットコインによるアプローチをいくつか紹介します。

カテゴリー 課題 ビットコインのアプローチ その他の方法
データストレージ データの格納方法は? ブロックチェーン データベース(多数のデータセンターで複製されたもの)
データ拡散 新しいデータの拡散方法は? Peer to Peer (P2P)ネットワーク 階層的なクライアント・サーバ
コンセンサス・メカニズム 不一致現象の解決方法は? ロンゲスト(最長)・チェーン・ルール 信頼性もしくは、スーパーノード(信頼性のあるネットワーク上では必要ない。)
アップグレードのメカニズム ルールの更新方法は?
  1. BIPs: ビットコイン技術を議論する為に作成、公開されている文章群
    (ルール書き込みのため)
  2. ハッシュ特性の利用(ルールを実装するため)
アップグレードの集中管理、契約上の義務
参加基準 誰がトランザクションを申請することができるか? 匿名(ハンドルネーム形式)で誰でも 事前に認証された信頼性がある参加者
参加基準 誰がデータを読むことができるか? 匿名(ハンドルネーム形式)で誰でも 事前に認証された信頼性がある参加者
参加基準 誰がブロックデータを追加できるか? 匿名(ハンドルネーム形式)で誰でも 事前に認証された信頼性がある参加者
参加基準 誰がトランザクションを検証できるか? 匿名(ハンドルネーム形式)で誰でも 事前に認証された信頼性がある参加者
防御メカニズム 不正行為を防ぐ方法は? Proof-of-work(PoW:作業量による証明) (信頼性のあるネットワーク上では必要ない。)
Proof-of-stake、その他のProofs、ブロックを追加するためのコスト
成功動機のスキーム ブロック・メーカーの動機づけとなる方法は? (Proof-of-workを理由としたビットコインの価値向上)
ブロックの報酬はトランザクションの手数料で賄われる。
契約上の義務、第三者からの資金
成功動機のスキーム ブロックチェーンのデータを貯蔵させる動機づけの方法は? 考慮されていない 契約上の義務、第三者からの資金
成功動機のスキーム トランザクションの検証者を動機づける方法は? 考慮されていない 契約上の義務、第三者からの資金

パブリック vs プライベート ブロックチェーン

ブロックチェーンに書き込むことを誰にでも許可するのか、もしくは事前に審査済みの参加者にのみ許可するのかによって、必要とするテクノロジーが何なのかは大きく違ってきます。ビットコインの台帳は誰にでも書き込むことが許されています。

パブリック・ブロックチェーン

台帳は、下記の2つの意味でパブリック(公開)とされています。

  1. 誰もが、他の権限による許可を必要とせず、データを書き込むことができる。
  2. 誰もが、他の権限による許可を必要とせず、データを読むことができる。

通常、パブリック・ブロックチェーンについて述べる場合は、誰もが書き込み、読むことができることを前提としています。

ビットコインは、「誰もが書き込むこと&読むことができる」ブロックチェーンとしてデザインされているため、参加者は事前の審査や申請なしで台帳にデータを追加することができます。
ただし、これを現実的なものにするためには、矛盾を調停する方法、さらにメカニズムをあらゆる攻撃から守る方法が必要です。
(申請を決定する上司はいませんし、十分な金銭的インセンティブがあれば、誰もが不正行為をしてしまいます。)
そのため、ブロックチェーンの実行にはコストと複雑な構成を必要としているのです。

プライベート・ブロックチェーン

パブリック・ブロックチェーンとは逆に、「プライベート」なブロックチェーンのネットワークの参加者は、匿名ではないので信頼性があります。
例えば、ある業界グループ、または、その傘下のグループ企業のようなものです。多くのメカニズムは必要なく、むしろ法的な契約に置き換えられます。つまり、以下の契約を守るというのと同義です。「あなたはこの紙にサインしたので、その契約に従って行動します。」問題解決を建物に見立てて、その基礎に使われるレンガのように電子的な決定として置き換えられます。
こちらの記事the pros and cons of internal blockchainsに、さらに詳しく記載しています。

Part 3- よりディープな世界へ

注意: このPart 3は、タイトルの通り、それぞれの要素をより深く見ていくため、あまりやさしいとは言えません。はじめる前にお茶でも飲んで一息つくことをおすすめします。

データストレージ:ブロックチェーンとは何ですか?

ブロックチェーンとは、ファイルのことです。
そもそもブロックチェーン自体は、単なるデータの構造です。つまり、データをまとめて論理的に格納する方法です。
データ構造はとても身近なもので、例えば、データベース(行、列、テーブル)、テキストファイル、カンマ区切り値(csv)、イメージ、リストなどがあります。
誰でも、データベースと最も競合するブロックチェーンを考えることができます。

チェーンの中のブロック = 本のページ
分かりやすく例えると、本はページのチェーン(一連のページ群)だとします。
そして、本の中のページには次のようなものが含まれます。

  • テキスト:例えば、物語。
  • その本の情報:通常、ページの上部には、書籍のタイトルと時には章番号またはタイトルが記されています。下部には、通常、本のどこにいるかを示すページ番号が記されています。 この「データに関するデータ」はメタデータと呼ばれます。

これをブロックチェーン・ブロックに当てはめると、各ブロックは次のようになります。

  • ブロックの内容。例えばビットコインでは、ビットコイントランザクションとマイナーのインセンティブ報酬(現在は25BTC)がこれに当たります。
  • ブロックに関するデータを含む「ヘッダー」。 ビットコインでは、ヘッダーには、ブロックに関するいくつかの技術情報、前のブロックの参照情報や、そのブロックに含まれるデータの指紋(ハッシュ)などが含まれます。 このハッシュは注文にとって重要です。

ブロックチェーン内でのブロックの順序付け

ページごと。本の場合、「ページ番号」によってページの順序を簡単に知ることができます。もし全てのページを切り取って、バラバラにシャッフルしたとしても、ページ番号を参照すれば、正しい順序に並べることが簡単です。

ブロックごと。ブロックチェーンの場合、各ブロックは「ブロック番号」ではなく、ブロックの指紋によって前のブロックを参照します。この指紋はブロックの内容によって決まるため、ページ番号よりも鮮明です。

本の順序付け ブロックの順序付け
ページ 1、2、3、4、5 ブロック n58uf0 は 84n855 の上
ブロック 90fk5n は n58uf0 の上
ブロック 8n6d7j は 90fk5n の上
あるページは、数字が1つ少ないページの次に構築されることを暗示しています。
例えば、ページ5は、ページ4の次にきます。
84n855、n58uf0、90fk5n、8n6d7j…
ブロックの指紋、またはハッシュ(要約した数値)を使います。

内部の一貫性

タイムスタンプや数値シーケンスの代わりに指紋を使用することで、データの検証方法もより良いものが使えます。どのブロックチェーンも、いくつかのアルゴリズムを使用してブロックの指紋を自分で生成することができます。 指紋がデータと一致し、かつ指紋がチェーン内で結合している場合は、ブロックチェーンが内部で一貫していると断言できます。
もし、誰かがデータに手を加えたい場合、その時点からさかのぼった全ての指紋を再生しなければならず、ブロックチェーンは異なったものになるでしょう。

ブロックチェーン・ブロック内を覗く: 指紋は、それぞれのブロックの内容に紐付く固有なものです。

指紋を作ることが難しくかつ時間がかかるということは、ブロックチェーンを書き直すことが難しく、時間がかかるということです。
(the “making it hard for baddies to be bad” sectionにも詳しく記載しています。)

ビットコインの仕組みは…

  • ビットコインのブロックチェーンのルールを満たす指紋を作ることは難しい。
  • したがって、誰かがビットコインのブロックチェーンの一部を書き直したい場合、それには膨大な時間がかかる上に、元々のネットワークの残りの部分を一つずつ地道にたどっていかなくてはいけません。

これが、ビットコインは不変(変更不可能)であると言われている理由です。

ここで間違えてはいけないことは、ブロックチェーン = 不変ではありません。
P2P (Peer-to-peer)のデータ共有メカニズムと指紋参照によって、誰かがデータを変更しようとしたとしても、指紋を追跡すれば明白だということです。
こちらにブロックチェーンの不変性についてもう少し記載しています。

データの分散:新しいデータはどのように伝達されますか?

P2Pは、ネットワーク内のデータを送り込む方法の1つです。データを配信するもう一つの方法と言えば、クライアント・サーバ方式です。
BitTorrent(ビットトレント)ネットワークという、P2Pファイルの共有ソフトウェアについて耳にしたことはありませんか。これは、データを管理する中央サーバなしで、ユーザー間でファイルを共有する方法です。

クライアント・サーバ

例えばオフィスにいるとします。ほとんどの場合、データはサーバ上に保存され、スタッフは、ログインすれば保存されているデータにアクセスできます。サーバには100%のデータが保存されていて、クライアントはそのデータが信頼できるものであると信じています。
インターネットの仕組みのほとんどはクライアント・サーバ方式で、ウェブサイトはサーバ上に保持されており、利用者がそこへアクセスすれば、その利用者はクライアントになります。
これは非常に効率的であり、コンピューティングの伝統的なモデルです。

Peer-to-Peer (P2P)

P2Pネットワークは、うわさが広まる仕組みに似ていて、各人が100%のデータを持ち(あるいはできる限り100%に近い値)、データの最新情報は周囲と共有されます。データが何度も複製されるため、P2Pはクライアント・サーバよりも効率が悪くなります。 1つのマシンで1回データを変更または追加するたびにノイズの多いうわさ話(あらぬうわさ)が作られてしまいます。しかし、各人は独立しており、ネットワーク内の他の仲間との接続が失われても、ある程度は動作し続けることができます。
また、P2Pネットワークは、制御する中央サーバがなく、より堅牢であるため、P2Pネットワークを閉鎖することは困難です。

Peer-to-Peer (P2P)の問題点

P2Pモデルでは、すべてのピア(個人)が「信頼できる」場合でも、合意やコンセンサス(総意)に関して問題が生じる可能性があります。
例えば、各ピアが異なる速度で更新していて、それぞれのピアがわずかに異なる状態であった場合、どのようにしてデータの「実際の」状態または「真の」状態を決定しますか?

更に、どのピアも信頼できず、「信頼できない」P2Pネットワークの場合、悪いピアによってシステムが簡単に壊されないようにするには、どうすればいいでしょうか?

コンセンサスを取る: 紛争をどのように解決しますか?

よくある争い事として、複数のマイナー(ビットコインを新たに発掘する人)同士が同時にブロックを作ってしまうということがあります。ブロックをネットワークで共有するのに時間がかかってしまうのですが、このような時にどれを正しいブロックと見なすべきでしょうか?

例えば、ネットワーク上のすべてのノード(上記のマイナー)がブロックチェーンを同期しており、彼らの同期しているブロック番号が80になっているとします。世界中の3人のマイナーがほぼ同時に「ブロック81」を作成する場合、「ブロック81」は有効と見なされるべきですか?
ここで、忘れてはいけないことは、それぞれの「ブロック81」は少し違って見えることです。25BTCのブロック報酬(インセンティブ報酬)のための異なる支払い先住所を含んでいますし、異なるセットのトランザクションを含んでいるでしょう。
ここでは、3人が作ったブロックをそれぞれ、81a、81b、81cとしましょう。

どのブロックが正しいとみなされるべきですか?

さて、あなたならどうしますか?

ロンゲスト・チェーン・ルール。ビットコインでは、 このような問題は「ロンゲスト(最長)・チェーン・ルール」と呼ばれるルールによって解決されます。

上記の例では、最初に出てきた「ブロック81」が有効であると想定します。 最初に81aが見えるとしましょう。あなたが次のブロックを作る場合は、この「81a」の次に、例えば、 82aのように構築することができます。

最初に見たブロックを正当なものとして扱います。

ここで、数秒後に81bが見えたとします。この現象を見守り続けた後に82bが確定した場合、最も長い「b」チェーン (80、81b、82b…)を有効なものとみなし、短いチェーン(80、81a….)を無視します。そのため、82aを作ろうとするのをやめて、代わりに83bを作ろうとすることでしょう。

ロンゲスト・チェーン・ルール: 複数のブロックがある場合は、最長のチェーンを正当なものとして扱います。

ビットコインのブロックチェーン・エコシステムが分散型ネットワークで一般的な競合問題を解決するために使用するのが、この「ロンゲスト・チェーン・ルール」なのです。

しかし、より集中化された、または信頼できるブロックチェーン・ネットワークでは、仲裁役として信頼される上級レベルの検証者によって、決定することができます。

a gentle introduction to bitoin miningで、さらに詳しく説明しています。

アップグレード: ルールの変更方法は?

ネットワーク全体で、どのような種類のデータの引き渡しが正当であるか、あるいはそうでないのかというルールに前もって同意しなければなりません。
ビットコインには、トランザクション(取引)に関する技術的なルールがあります。(必要なすべてのことをデータフィールドに記入しましたか?それは正しい形式ですか?…などです。)
また、ビジネスルールがあります。(自分が持っている分よりも多くのビットコインを費やそうとしていませんか?同じビットコインを2回使うつもりですか?…などです。)

ルールの変更
ルールというものは時間の流れとともに進展しますが、ネットワーク参加者がどのようにその変更に同意するのでしょうか? ネットワークの半分が1つのトランザクションが有効であると考え、残りの半分はロジックが違うためそうは思わないという状況は起こりうるのでしょうか?

プライベート・ネットワークでは、アップグレードは誰かが管理しており、簡単に解決することができます。
例えば、「7月31日までに全員が新しいロジックにアップグレードして下さい。」と通達するだけでコントロールが可能です。

しかし、コントロールされていない環境のパブリック・ネットワークでは、決して簡単ではありません。

ビットコインでは、アップグレードは2つのパートに分かれています。

  1. 変更を提案(BIPs)
    まず、改善が提案され、議論され、書き上げられるといった提案ステージがあります。 提案は「BIP」と呼ばれます。 – 関連記事 Bitcoin Improvement Proposal

    Githubにあるビットコインコアのソフトウェアに変更が書き込まれると、変更の一部が形づくられます。新バージョンの「ビットコインコア」は最も一般的な、プロトコルの「リファレンス実装」です。

  2. 変更を採用(マイナー)
    ノードやブロックメーカー(マイナー)がアップグレードをダウンロードし実行します。しかし、これは、彼らが変更に同意した場合のみです。
    (もし、発掘のインセンティブ報酬が、25BTCから0BTCになるとした場合、どのマイナーがこの変更に同意するでしょうか。)

ネットワークの多数派(ビットコインでは、多数派は計算能力によって決定されます。)が、ソフトウェアの新しいバージョンの実行を選ぶと、新しいスタイルのブロックは少数派よりも速く作成され、少数派は 「ブロックチェーン分岐」で無効になります。 だから、多くの計算能力を持つマイナーは、ブロックチェーンの実体化に発言力を持つようになります。

アクセスと書き込み: どのような人がデータを書き込むことができますか?

ビットコインネットワークでは、理論的には、誰もがソフトウェアをダウンロードしたり書き込んだりして、トランザクションの検証やブロックの作成をすることができます。
とても簡単です。https://bitcoin.org/en/downloadにアクセスして、「ビットコインコア」のソフトウェアを実行するだけです。

あなたのコンピューターがノードとして動きだすということは、つまり…

  • ビットコインのネットワークに接続している
  • ブロックチェーンをダウンロードしている
  • ブロックチェーンを格納している
  • トランザクション(取引)を読み込んでいる
  • トランザクションを検証している
  • 有効なトランザクションを伝達している
  • ブロックを読み込んでいる
  • ブロックを検証している
  • 有効なブロックを伝達している
  • ブロックを発掘している

「ビットコインコア」のソフトウェアのソースコードは、Github上に公開されていますので(https://github.com/bitcoin/bitcoin)、bitcoin.orgでパッケージ化されたソフトウェアをダウンロードするのではなく、自分でコードをチェックして、コンパイルして実行することだってできます。
ちなみに、Ethereum(イーサリアム)も、この点は似たような方法で動いています。
詳しくは、a gentle introduction to Ethereumをどうぞ。

許可を得る必要無し

くどいようですが、このネットワークに参加するために、申請、サインアップやログインをする必要はありません。 参加したいという意思だけで、参加することができます。
ここで、SWIFTネットワーク(国際銀行間通信、海外送金等に関連する)と比較してみましょう。SWIFTネットワークでは、ソフトウェアをダウンロードするだけでは、SWIFTメッセージの再生は開始できません。そのため、「SWIFT = 許可要」に対して、「Bitcoin = 許可不要」と言ったりもします。

許可不要は唯一の方法ではない

誰もが、信頼性のある、プライベート・ネットワークでブロックチェーンの技術を使いたいと考えるでしょうし、有効なトランザクションやブロックがどのようなものであるか、全てのルールを公開したくない場合もあるでしょう。そんな時、ネットワークのルール変更をコントロールしたくなるかもしれません。
信頼性のあるプライベート・ネットワークをコントロールすることは、ビットコインのような全ての人に公開されている、信頼性のないパブリック・ネットワークをコントロールすることよりも簡単です。

防御: 悪さから防御する方法は?

無許可の、またはオープンなネットワークは、誰かから攻撃されることがあります。例えば、信頼性のない参加者がいたとしても、ネットワーク全体を信頼できるものとすることが必要です。

悪党は何ができて何ができないのか?

誠実でないマイナーができることとは…

  1. 有効なトランザクションを他のノード(マイナー)に送信しない
  2. 自身に都合がいいよう、特定のトランザクションを含む、または含まないブロックを作成しようとする
  3. 連なったより長いチェーンを無視し、関係ないブロックでチェーンを作ろうとする

誠実でないマイナーができないこととは…

  1. 根拠のない(※)ビットコインを作成する
  2. 他人のアカウントからビットコインを盗む
  3. 他人になりすまして、支払いを発生させる

心配することはありません。

※実際できないことはありません。しかし、彼の台帳にのみ、そのトランザクションが記されているだけであり、 他のノードからは拒否されます。そのため、多くのノードがトランザクションを確認することが重要です。

トランザクションに関して、悪さを働くことは、とても困難です。他の大多数の、誠実者であるノードは、悪党から分配される無効なトランザクションを拒否し、有効なトランザクションのみを読み込むため、悪党は無効なトランザクションを分配できません。

ブロックに関して、悪党が十分なブロック作成力を持っている場合(その力にかかるわけですが…)、ブロック読み込みを拒否することで、トランザクションを遅らせることができます。
しかし、このトランザクションは、他の誠実なノード達によって、「未承認のトランザクション」と認識され、ブロックに書き込まれます。

更に困ったケースとして、悪党が、他の参加者よりも長いチェーンを作り、より短いチェーンを蹴飛ばして「ロンゲスト・チェーン・ルール」を悪用することができます。

どのようにするかというと…

  1. 同じビットコインに支払い方法を2つ作ります。1つは、オンライン業者に紐付け、もう1つは、あなた自身(自身でコントロールできる別の場所)に作成します。
  2. 業者への支払いのみを公開します。
  3. 支払いがブロックに追加されると(真実のブロックとします)、業者はあなたにその対価である何らかの物品を送ります。
  4. 秘密裏に、業者への支払いを除き、自分への支払いを含む嘘のブロックで、より長いチェーンを作ります。
  5. より長いチェーンを公開します。「ロンゲスト・チェーン・ルール」に従っているので、他のノード達は、業者の支払いが含まれる真実のブロックを無視し、嘘のブロックチェーンの次にブロックを構築していきます。真実のブロックは「孤立している」と見られ、無視されます。
  6. 実際の業者への支払いは、「嘘のブロックチェーン内にて消費された支払いである」とみなされ、誠実な他のノード達によって、無効とされます。

「二重支出」アタック

これは、同じビットコインが2回支払われたため、「二重支出」と呼ばれています。
2回目の支払いは最終的なブロックチェーンの一部となり、1回目の支払いのブロックチェーンは結果的には拒否されます。

どうすれば、悪党がブロックを作ることが困難になるでしょうか?

ここで、これはブロックメーカーが信頼されていない台帳という環境の場合にのみ問題になることを思い出してください。

そもそも、ブロックを追加することを困難にするか、悪事を働く人に対してブロックを追加するための敷居を高くすればいいですよね。
ビットコインでは、ブロックの追加に計算コストかかります。
なぜなら、計算コストが高いとは「コンピューターの処理能力が非常に高い」という意味であり、経済的に高価なものになるからです。(コンピューターを購入して実行し、それを維持する必要があるため。)

この計算は、数字を当てる推量のゲームです。というのも、ブロックメーカーがブロックデータの残りの内容を高速処理した際に、特定の数よりも小さいハッシュ / 指紋をもたらす数を推測する必要があるからです。
この数値は、トータルのネットワーク処理能力に関連するマイニング(発掘)の「難しさ」に関連します。ブロック作成に参加するコンピューターの数が多くなればなるほど、自己中心的な調整サイクルをすることがより難しくなります。

ビットコインネットワークでは、2,016ブロックごと(約2週間おき)に、ブロックが作成された速度に基づいて推測ゲームの難易度を調整します。

上記のような推測ゲームは「Poof of work(作業の証明)」と呼ばれています。
ターゲット番号よりも小さい指紋を利用してブロックを公開することで、その時点でネットワークを満足させるのに十分な推測作業を行ったことが証明されます。

インセンティブ: 検証者(バリデーター)への支払い方法は?

トランザクションとブロックバリデーションは、簡単でコストも安いです。(ゆっくりで費用のかかる方法を選ばない限りですが…)

独自ネットワークでバリデーターをコントロールする、もしくは、バリデーター達が信頼できる場合、

  • 費用をかけてブロックを追加する必要はありません
  • つまり、バリデーター達へのインセンティブ報酬を減らすことができます。

「バリデーターを実行する人々に報酬を支払う」や「バリデーターとして実行する人と契約を結ぶ」などの方法も使うことができます。

ビットコインの「パブリック(公開)」な構造を悪用者から守るために、「作業の証明」を使って、コンピューター的にブロック追加を難しくさせます。(防衛セクションを参照)
これにより、発掘のコスト(設備費とランニングコスト)が発生し、したがって、インセンティブ報酬が必要になってきます

金の価格が金鉱山に費やすことができる設備の量を決定するのと同じで、ビットコインの価格は、ネットワークを安全に保つためにどれくらいの発掘力が使われるかによって決定します。ビットコインの価格が高くなればなるほど、マイニングが増えることになり、悪質な人がネットワークを荒らすためのコストが高くなります。

だから、マイナーは発掘作業をたくさん行わなくてはならず、ネットワーク攻撃に対しての壁を作るなど、難しさが高まります。時が経つにつれてブロック報酬が減ることに従い、今度は取引手数料がマイナーに入るインセンティブ報酬になります。

ブロック報酬が取引手数料に置き換えられるBitcoinの理想化された状況。

これは理論上非常にうまくいっていますが、興味を持ってより深く調べていくと、インセンティブ報酬は期待通りに機能しないかもしれません。が、 これはまた別の記事で紹介することにしましょう…

結論

ビットコインを知るためには、ブロックチェーンについて理解すると便利ですが、全てのブロックチェーン・エコシステムにトークンや、発掘作業の証明、ロンゲスト・チェーン・ルールなどが必要なわけではありません。ビットコインは、正式な集中コントロールやガバナンスを持たない分散型公開台帳を維持する初の試みです。Ethereum(イーサリアム)はスマートコントラクトを伴った次世代のリピート通貨(ビットコインの反復)です。
まだまだ、重要な課題があるのが事実です。

一方で、他の一連の問題を解決するために、プライベートまたは内部分配型の台帳やブロックチェーンを配置することができます。これまでと同じように、各ソリューションにはトレードオフや長所・短所があり、ユースケースごとに個別に検討する必要があります。

ブロックチェーンで解決できるビジネス問題などがありましたら、是非、こちらからご連絡ください。意見交換ができればたいへん幸せです。

関連記事: