暗号(仮想)通貨のコア技術ブロックチェーンとPKI
昨今、ビッグデータやIoT、AIと並び金融業界やIT業界を始め、様々な産業においてブロックチェーン技術が注目を浴びています。そのスピードは、過去に例を見ないほどのスピードで各産業界での取り組みが進められています。ブロックチェーンに関しては、海外では複数のスタートアップ企業が立ち上がり、国内では、FinTechに代表されるように大手金融機関やIT企業が検討を進めています。特に、日本国内のIT企業では、海外と違いプライベート型を想定した取り組みで、研究開発や実証実験のプレスリリースが相次いで発表されています。また、その市場規模は、一説では数十兆ドルとまで言われています。
では、なぜブロックチェーン技術がこれほど注目されるのか?それは、既存の電子的なトランザクションの管理概念を、根底から覆す事が可能な仕組みとなっているからです。例えば銀行での取引では銀行が管理しているサーバーにて金銭の送金に関して制御していますが、ブロックチェーンではこの取引をエンド・ツー・エンドの2者間で行い、その結果を分散型コンピュータで公開する事で一極管理の仲介事業社無しで実現しています。そうする事によって、管理コストを極限まで抑える事が出来る特長を持っています。また、これまでクライアントサーバーシステム構成で実現していた取引台帳の管理(電子的なトランザクション)を、分散型のコンピュータネットワーク構成(P2P)にする事で、低コスト且つ非常に信頼性の高いシステムを構築する事が出来ます。勿論、ブロックチェーンの方が全ての面において、旧来の一極管理型のシステムと比較して良いか?というと、性能面などのデメリットはあるかと思いますが、それらのデメリットを差し引いても、ブロックチェーン技術には無視出来ないインパクトがあると考えられているのだと思います。
ブロックチェーンのシステム的な特長としては、公開した取引記録が改竄出来ない事や、ロストデータがない事、システムがゼロダウンタイムで稼働出来る事など、数々のメリットがあります。このシステム的な特徴を活用し、一極管理の仲介事業社が無いことによるコストメリットとして、非常に少額な金銭の取引であるマイクロペイメントの実現や契約行為を廉価に実現出来るスマートコンストラクトなどのビジネスモデルへの応用が可能とも言われています。
実はこのブロックチェーンには、当社が得意とする分野のPKI(公開鍵暗号基盤)技術(ハッシュ、公開鍵、秘密鍵などの技術)が応用されているというのはあまり知られていない事実です。それでは、まずはブロックチェーンがどのようなものか?を、以降に簡単に説明します。
ブロックチェーンは、もともとはビットコイン(Bitcoin)の中核を担う技術として、Satoshi Nakamoto氏(現在でもその正体が不明となっている)が作成した革新的な論文(https://bitcoin.org/bitcoin.pdf)をシステム化したものとなっています。
ブロックチェーン自体は、Wikipediaにて“ブロックチェーンとは、分散型台帳技術、または、分散型ネットワークである。”と記載されていますが、世の中ではビットコイン(Bitcoin)に代表される暗号通貨を実現する複数の技術要素として語られる事が多いので、本コラムでもこの複数の技術要素をブロックチェーンと定義します。
前記のSatoshi Nakamoto氏の論文では下記のような記載があり、これがブロックチェーンの実現すべきゴールとなっています。
“We define an electronic coin as a chain of digital signatures.”「1つの電子コインは、連続した電子署名によって定義される」
このゴールを実現する為に、大きくは次に記載する3つの技術が利用されています。
➀「電子署名」によって、コインの送金に関する「なりすまし」「改竄」「否認」を防止
ビットコインでは、秘密鍵・公開鍵・アドレス(秘密鍵・公開鍵から生成)の情報をウオレットが持っています。(鍵の暗号アルゴリズムは、RSAよりも処理速度が速いECDSAと呼ばれる楕円曲線暗号が使われています。)この情報でAさんからBさんへの送金に関する取引情報を作成し、その取引情報にAさんの秘密鍵で電子署名を付与します。Bさんは、この取引情報をAさんの公開鍵で署名検証する事でAさんからBさんへの送金を確認します。秘密鍵で暗号化した情報は、その秘密鍵に対応する公開鍵でしか復号化する事が出来ず、公開鍵で復号化出来た場合には正しい秘密鍵の所有者が行った行為という事が証明出来ます。
➁「ブロック・チェーン」の公開で重複した取引を防止
①によってAさんとBさんの取引情報(ブロックと呼ばれ実際にはビットコインでの全取引情報)を、10分単位で1つにし、前のブロックのハッシュとnonce(当該ブロックのハッシュ計算において計算すべき値)を付与し、連続したブロックのチェーンを作成します。このブロック・チェーンは、全取引が含まれており、P2Pの全コンピュータで共有・公開する事で重複した取引を防止します。
➂ 「プルーフ・オブ・ワーク」による不正な改竄を抑止
②で記載したブロックのハッシュ値を作成する作業において、P2P上の各コンピュータ(マイナー)は署名アルゴリズム(SHA-256)のハッシュ値の先頭に0が13個並ぶようなnonceの値を計算(マイニング作業)します。このnonceの値をはじめに算出したコンピュータに報酬としてコインが与えられ、正当なチェーンを作成出来ます。このnonceの計算は、10分程度で完了するように制約(nonce値の先頭の0の個数)を設定されています。なぜ、こんな事をするのか?非常に理解が難しいですが、簡単に言うと、ある悪意を持ったコンピュータが取引記録を改竄しようとした場合に、改竄した取引記録とnonceの値を計算して、不正なブロックチェーンを作成していく必要があります。尚且つ、ブロックチェーンのどこのブロックの取引を改竄しても、全てのブロックに対して、同様のnonce値の計算が必要なり、多大な作業が発生します。悪意を持ったものが、そんな作業を行うのであれば正当なブロックチェーンの正しい作業を行って、正当な報酬を得た方が得だと考えるようになる事を目的としています。(ビザンチン将軍問題としてよく例えられる考え方で、複数の同一の個体が、いかに悪意を持たないようにさせるか?の解となります。)
技術本部 本部長 東 久貴
2000年頃より、PKI技術を中心としたICTシステムの認証/暗号等セキュリティシステム提案~実装に携わってまいりました。
現在は、サイバートラストの技術本部長として20名のエンジニアを率いており、市場を見据えた次世代認証局やコンテキスト認証、IoT分野向けセキュリティサービスなど、新技術開発をリードしております。