ブロックチェーンの技術を説明するのはとても難しいです。理解してしまえばとても簡単なんですが初めて知る人はいきなりは理解しづらいと思いますので、なるべく初心者でもわかるように解説しますが、説明も難しいので何度も読んで理解を深めてください。ここではビットコインを例題に説明したいと思います。ブロックチェーンとビットコイン両方の知識を一気に理解することができます。ここでいうblockchainはウォレットのことではありません。
Contents
銀行の決済業務
銀行の業務は様々ありますが、一つに決済という業務を行っています。各銀行間を手数料で貰い送金するというシステムです。利用者は振込手数料を支払いA銀行からB銀行に送金ができるわけです。本当は数字のやり取りだけって知っていましたか?A銀行からB銀行に数字が移動しただけでどちらの銀行も移動しましたと保証しているので資産を移動できているわけです。その円を管理している日本銀行が円を発行し、日本政府が円を使用するという通貨の保証を担保しているため日常的に円が日本で使われています。
これが集中管理型です。A銀行に預けている預金はA銀行が責任を持って管理しています。
集中管理型の弱点
一見しっかり管理してくれているなら弱点はないように思えます。基本的に外部から操作できませんし、プロの銀行マンが預金を管理してくれていますから。しかしどうでしょうか。その信用している銀行マンが不正を行った場合預けている私たちはどうやって知ることができるでしょうか?そうです。集中管理型は内部の悪意ある不正利用、不正改ざんにはとても脆弱性です。
過去の銀行の不正を軽く紹介しましょう。
- 2011年11月~15年9月、外貨取引のオンラインシステムを不正に操作し、同行から79回にわたって約733万ドル(約7億7000万円)を詐取。三井住友元副支店長を再逮捕
- 元みずほ銀行課長代理、「90歳代」顧客預金引き出し銀座クラブで“豪遊”の日々…印鑑、請求書偽造で逮捕 (27/1/20)
- 1973年10月21日、滋賀銀行山科支店のベテラン行員・奥村彰子(当時42歳)が横領の容疑で逮捕。6年間で、およそ1300回にわたって史上空前の9億円の金を着服
- 昭和50年7月20日、足利銀行栃木支店の貸付係が架空の預金証書を使って2億1000万円を引き出していた
- 昭和56年3月25日三和銀行(当時)大阪茨木支店において1億8,000万円の架空入金
ちょっと調べるだけでこれだけの犯罪があります。これはいずれも既に着服し何かに使用した後だということです。刑事事件にしてしまえばもう回収は不可能に近いですし、本人に支払い能力があるか疑問です。さすがに預金者に負担を押し付けることはできませんが、銀行の負債として残ってしまいます。不正を未然に防ぐ方法は難しいです。
BitcoinとBlock Chain
Bitcoinとblock chainよく一緒に解説されることが多いです。それはなぜでしょうか?
ビットコインはブロックチェーンの技術を使っているということは聞いたことがあるかもしれませんが、実際は真逆です。ビットコインを実現するためにブロックチェーンという技術が作られました。
ナカモトサトシという人物
このビットコインの仕組みは2009年ナカモトサトシという自称日本人が論文をネットに公開することで段々と広まっていきました。最初は0.1ドルから始まったすべての仮想通貨の始まりです。それが2016年11月現在8万円を超えてるまで価値が上がりました。
用語の解説
専門的な話も続くので最初に用語の解説を行っておきます。
用語 | 解説 |
BTC | ビットコインの通貨単位 |
FinTech | FinanceとTechnologyを組み合わせた造語で金融業にICT技術を応用して新たなサービスやビジネスを生み出す技術や取り組み |
コンセンサスアルゴリズム | Proof of Work, Proof of Stakeなどを用いて分散型台帳を相互承認していくためのアルゴリズム一般 |
コンセンサス | 上記のコンセンサスアルゴリズムを用いて、トランザクションを正式なものと認め、さらにその結果を相互に確認するまでの一連の処理を指すものとする |
トークン | ブロックチェーンの処理料として仮想通貨で手数料を払う場合、その仮想通貨をトークンと呼んでいる |
ノード | 通信ネットワークにおける中継点、分岐点、端末を指す。 |
ハッシュ、ハッシュ値 | ハッシュ関数にデータを入力すると一定の桁数の値が出力される。ハッシュ値から元のデータを推測するのは非常に困難とされる。 |
パブリック、コンソーシアム、プライベート | コンセンサス(ネットワーク参加者が同一の台帳を承認するプロセス)への参加が誰でも可能をパブリック、限定されていればコンソーシアム、特定組織内の利用に限られたらプライベートに分類 |
プルーフ・オブ・コンセプト(PoC) | 懸念実証とも訳され、新たなサービスやシステムの検討を行うために、簡易なシステムを構築して確認を行うこと |
略語 | 元の用語 |
IoT | Internet of Things: インターネット・オブ・シングス |
P2P | Peer to Peer: ペアー・ツー・ピア |
PoC | Proof of Concept: プルーフ・オブ・コンセプト |
PoI | Proof of Importance: プローフ・オブ・インポータンス |
PoS |
blockchainとは
まず3つ特徴があります。
- 改ざんが極めて困難
- 実質ゼロダウン・タイム(サーバーがダウンしない)
- システムの構築が安価でできる
bitcoinとblockchainの成り立ち
ここではblockchainを生み出したすべての始まりのビットコインの成り立ち、どのようにしてブロックチェーンが生まれたのかを整理します。
Satoshi Nakamotoによる論文
2008年11月、暗号技術者が情報交換する米国のメーリングリストにsatoshi nakamotoと名乗る人物が一本の論文についてメールしたのが始まりです。「Bitcoin: A Peer-to-Perr Electronic Cash System」と題された論文でビットコインの特徴として下記を挙げている。
- 第三者機関を必要としない直接取引きの実現
- 非可逆的な取引きの実現
- 少額取引きにおける信用コストの実現
- 手数料の低コスト化
- 2重支払いの防止
メーリングリストの中でしばらく議論が行われたのちに2009年1月に最初のブロックが生成され、ビットコイン、ブロックチェーンの運用が始まった。その後現在までのビットコインシステムは停止状態になったことはなくゼロダウンタイムと言われる。現在では米国だけではなく世界中で利用されている。
Bitcoinの特徴
仮想通貨や暗号通貨と呼ばれソフトウェアによって管理されるデータそのものに価値を見出しし、流通させているものがビットコインです。円やドルのように法定通貨、電子マネーと違い、明確な発行者がおらずビットコインシステムそのものが価値の裏付けになっています。また、法定通貨や電子マネーと異なり、匿名ながら取引き履歴が公開されており履歴を追跡が可能であることも特徴の一つです。
特徴 | ビットコイン | 法定通貨(円) | 電子マネー |
発行者 | システムが自動的に発行 | 日本政府(通貨) 日本銀行(紙幣) |
電子マネー事業者 |
管理者 | P2Pネットワーク参加者が管理 | 日本政府 日本銀行 |
電子マネー事業者 |
発行上限額 | 決まっている。(2100万BTC) | 無し | 事前入金された金額 |
価値の裏付け | システムの信用 | 日本政府への信用 | 供託された日本円 電子マネー事業者 |
送金方向 | 双方向 | 双方向 | 一方向 |
送金の処理時間 | 約10分間感覚でブロックを生成。 約60分で確定とみなす |
直接の受取であれば即時 長距離、大量だと時間がかかることも |
加盟店に支払われるまでの数日から1.5ヶ月程度 |
送金の手数料 | 少額 送金者負担 |
高額 場合によって両方負担 |
受取者(加盟店)負担 |
取引きの匿名性 | 取引き履歴は明らかだが匿名性がある | 高い | 低い(電子マネー事業者が管理) |
取引き履歴の公開 | 公開 | 非公開 | 一般に非公開 |
Bitcoinは2016年2月末までに約1526万BTCが発行され、その価値は68.8億米ドル相当に達している。価値のピークは2013年12月の1BTCあたり1100ドル
Bitcoinを構成する技術
Bitcoinは既存技術の組み合わせにより新たな機能が生み出されたと考えることができる。中央管理者なしに電子マネーのような仕組みを運営するには、データの改ざんや2重支払い防止、悪意を持つユーザーがいてもシステムが維持できる仕組みが必要。ビットコインにはいくつかの技術が使われている。ハッシュ、公開鍵暗号と電子署名、P2P、Proof of Workなど
ハッシュ技術
ハッシュとは暗号技術の一つ。「ハッシュ関数」にデータを入力すると一定の桁数の値(ハッシュ)が出力される仕組み。同じデータから同じハッシュ値が得られるがわずかでも異なるデータを入力すると全く異なるハッシュ値が得られるのが特徴的。そのハッシュ値から元のデータを推測するのは非常に困難とされている。この特徴を利用し、データの改ざんなどの検出に使われている。ビットコインではブロックチェーンデータの連続性の検証、保証やハッシュ値の計算しを利用したProof of Workによるブロックチェーンの生成に用いられている。
公開鍵暗号と電子署名
公開鍵暗号とは、暗号化と復号に別々の鍵を用いる暗号化方式です。復号化とは暗号化されたデータを元のデータに戻すことを言います。鍵を本人だけが用いる鍵(秘密鍵)と誰でも利用できる鍵(公開鍵)の二つに分けることによって、鍵の受け渡し問題を解決しました。暗号化と復号に同じ鍵を用いる共通鍵暗号の場合は鍵を相手のみに渡すために様々な安全対策が必要になりますが、公開鍵暗号の場合はファイルの授受を行う場合、予め受信者が両方の鍵をセットで作り、公開鍵を送信者へ配信しておくことで安全な通信が可能になります。秘密鍵を自分が管理しておけば公開鍵は別の人に使ってもらっても安全が保たれるということです。
電子署名とはネットワーク経由で送信したデータが正しいものかどうかを証明する為の仕組みです。
P2P
一般的に皆さんがシステムを使う時はA社のサービスを使いたい時A社が契約したサーバにデータやシステムファイルなどが格納されており、そのサーバにアクセスしサービスを利用するというアクセス方法がほとんどです。googleやappleのapp storeなど。
しかしP2Pはそれぞれのパソコンがデータを保持しそれぞれのパソコンがサーバとなり分散型でシステムが動くことをP2Pと言います。P2Pは接続PCが多ければ多いほど速度は安定していきます。
Proof of Work
PoWとも言いますが、直訳すると仕事の証明となります。これは単純だが手間がかかる、ただし本当にそれを行った場合は簡単な、特定の作用をあえて行わせることにより悪意のないことを確認する(不正を行う動機を低減させる)という仕組みのことを言います。
メール送信にはHashcashというPoWが用いられており、メールを送信する際に一通毎に一定のハッシュ計算を課すことでスパムメールの送信者を排除するという手法です。スパムメールの送信者は大量のメールを配信したいですし、時間とコストをかけたくないので結果的に排除されるということになります。
PoWはビットコインにおいて「発掘」「マイニング」とも呼ばれている作業です。
ネットワーク参加者が自分のの手元に届いているトランザクションデータの集合にナンス(任意の値)を加えてハッシュ値を計算する。「特定の値よりも小さい値を求める」という条件が与えられており、その値が得られるまでナンス値を変えながら計算を続けます。誰かが求める値を得られたらそれが正しいことをネットワーク参加者で相互確認したうえで計算に用いられたトランザクションデータの集合を新たな「ブロック」として、正式な取引結果と承認し、計算に成功した者に報酬としてビットコインが付与されます。
その後そのブロックに含まれなかったトランザクションデータと新たに生成されたトランザクションデータを用いて全員が次のマイニングを開始します。ビットコインではこのPoWを用いて中央管理者の存在なしにデータの改ざんや2重支払いを防止し悪意の第3者がいてもシステムが維持される仕組みを実現している。
10分程度計算し続けると誰かが発見できるように自動的に設定されています。
ブロックチェーン
PoWにより生成されたブロックのつながりがブロックチェーンです。一定期間(ビットコインでは約10分)のトランザクションデータをまとめたブロックをチェーン状に繋げています。ブロックの中にはタイムスタンプ、一つ前のブロックのハッシュ値、ナンス、生成されるブロックに含むトランザクションの情報等が含まれています。
ブロックチェーンの全体図はこちらの画像がわかりやすいと思います。経済産業省の資料の中にありました。
過去の情報を保持した状態で繋がれていくので改ざんは困難でブロックチェーンにおいて不正な取引を成立させるには過去のブロックもすべて変更しないといけない為、PoWに参加するマシンのパワー50%よりも大きな割合を確保する必要があるとされる。
次回はblockchainの問題点をお伝えします。