ブロックチェーンの課題と可能性~BBc-1(Beyond Blockchain One)から学ぶブロックチェーン開発

第1回 ブロックチェーンを取り巻く現状と課題

この記事を読むのに必要な時間:およそ 3 分

ブロックチェーンは何を実現したいのか

2018年8月現在,いわゆる「仮想通貨」「ブロックチェーン」に関する話題は,未だ花盛りです。では,仮想通貨やそれを実現するために始まったブロックチェーンは,一体,何のために生まれた技術なのでしょうか。

現在の一連の仮想通貨の原型はビットコインだといえます。ご存知のように,ビットコインの基本的な設計は,サトシ・ナカモトを名乗る匿名の個人または集団によるものです。よって本人(達)から当初の開発の意図を聞き出すことは残念ながらできませんが,設計から逆算されたその目的は,⁠自分が持っているお金を,自分の好きに誰かに送ることを誰にも止めさせない」ことだと考えられています。これについては,日本に住んでいると,ちょっとピンと来ないかも知れません。今のところは「自分のお金を自由に使えるのは当たり前」という感覚でも生活できるからです。しかし,例えばインドでは,2016年11月,高額紙幣2種類が突然廃止されたり,その混乱によって一般の人々の銀行口座が一時的に凍結されたりしました。世界的に見て,送金を止められないことは,人間の経済の自由を保障する上で大事なことだといえるのです。

この目的の達成に向けて,ブロックチェーンは,記録の書き込み,かつ書き込まれた記録のことも表す「トランザクション」の改変を事実上不可能にするべく設計されています。仮想通貨においては,お金を送ったという事実を誰にも取り消せないようにしたいのです。このことを用いると,通貨のみならず,経済活動のさまざまな局面で公正な記録の担保に応用できることになります。

仮想通貨において,もし送金の事実を確認できる第三者が決まっていると,その第三者が事実を否定することで送金が止められる可能性があります。したがって確認は誰もができるようにしなければなりません。また,お金を持っている本人だということの確認を第三者に委ねると,その第三者により本人であることを否定されて,送金ができなくなる恐れが生じます。そのため,ブロックチェーンの典型的な設計では,誰でも自由に作れる「公開鍵」「秘密鍵」の鍵ペアを用い,秘密に隠し持っているはずの秘密鍵を使えるなら本人と見なす,という仕組みになっています。

実は,そうした設計上の大前提から陥ってしまう事態に,最近ではコインチェック事件で広く認知されることになった「仮想通貨のコインが流出したとすれば,その様子は誰でも追跡できるけれども,流出したコインは誰にも取り戻せない」ということがあります。

秘密鍵を使えるなら本人と見なすということは,すなわち,秘密鍵を奪うか,秘密鍵を扱うシステムの不具合を突けば,本人として送金ができてしまうことを意味します。これと送金を「誰でも確認できる」こと,そして「誰にも止めさせない」ポリシーが組み合わさると,盗まれたコインは追跡できるけれども誰にも取り戻せない,という仕組みができあがります。

このように,取引所のセキュリティなど,使い方の問題だと思われていることでも,実際には技術の設計上の大前提にこそ,その問題の真の原因が組み込まれてしまっていることは往々にしてあります。この稿では,ブロックチェーンのそうした設計上の課題を明らかにしたいと思います。

ブロックチェーンとは何か

改めて,ブロックチェーンとは何なのでしょうか。⁠自分が持っているお金を,自分の好きに誰かに送ることを誰にも止めさせない」ためには,トランザクションについて「その内容も存在も誰にも否定できない」ことを達成しなければなりません(⁠内容」「存在」を分けているのは,そのために使われる技術が異なるためです)⁠ブロックチェーンを使って実現したいことは,このことに尽きます。

では,その要求を満たすための機能の階層を,下位のものから順に整理してみましょう。

(1)正当性の保証

まず「トランザクションの内容が改ざんできず,そのアセット(資産)に関する過去のトランザクション列に照らして矛盾がなく,かつ,正当なユーザにより投入されていることを保証する」機能が必要です。それが正しく行われていることの確認を第三者に委ねると,その第三者により取引が否定される恐れがあります。よって,確認は参加する誰もが行えなければなりません。また,正当な利用者が正しいトランザクションを投入することは,誰にも止められないようにする必要があります。

このことを実現する中核の技術はデジタル署名です。しかし,署名を検証する際に,署名に使った秘密鍵と対になる公開鍵が必要となり,この公開鍵が本物であるという確証が何らかの形で得られないと,なりすましの恐れが生じます。

そこで,多くのブロックチェーンでは,公開鍵に暗号学的ハッシュ関数を適用して得られた「ダイジェスト(メッセージダイジェスト,指紋)⁠を利用者の識別子(アドレス)にしています。すると,正しい識別子を知っている人は,提示された公開鍵のダイジェストを計算して,それが識別子と一致しているかどうかを確認することで,正しい公開鍵かどうかを検証できることになります。

これは,従来はPKIのような煩雑な仕組みを必要としていた公開鍵の正当性の確認を簡略化したという意味で,画期的な設計だと思います。しかし同時に,秘密鍵と公開鍵のペアが利用者の識別と不可分になってしまっていて,秘密鍵を失うと本人であることの証明ができなくなるという問題を生んでいます。

著者プロフィール

斉藤賢爾(さいとうけんじ)

1964年京都市生まれ(生まれただけ)。

一般社団法人ビヨンドブロックチェーン代表理事。慶應義塾大学SFC研究所 上席所員・環境情報学部 講師(非常勤)。

2000年よりP2Pやデジタル通貨を含む「インターネットと社会」の研究に従事。30年以内(2048年まで)にこの世から「お金」の概念を消し去ることが当面の目標。

みかんとSFが大好物。

Twitter:https://twitter.com/ks91020

コメント

  • 退職自由人

    退職したての自由人です。組織のしがらみに関係なくスキルの向上に努めています。

    Commented : #1  栗田和好 (2018/08/22, 18:12)

コメントの記入