【ブロックチェーン】を事業に活用するときに、クリアすべき5つのこと


ブロックチェーンを実現する基本的な技術

技術的には単なる電子署名のセキュリティと多数決の分散システムである。ロジックやメリットについては、日本のサイトも数年前からあると思うので省略する。
分散システムはタネンバウムの本が参考になる。

一般的に言われているウリ

セキュリティ的に強いためトークンを安全に管理でき、政府とは独立した取引に使える。というような声が聞こえる。

ここでいうセキュリティとは、盗聴を防止したり、秘匿性にしたりすることではなく、主に改ざん抑止力という意味。

論文(ちょっとチラ見)やサイトを読んで理解すると、ブロックチェーンの仕組みを理解すると、実用的に結局クリアできていないのではないか。長所をのこしたまま、気になるデメリットを抑えようとするとそもそも長所がなくなっているような気がした。

そういう思う点があるので、頭の整理をかねて、批判的に文章に起こしてみる。

ここでいう批判とは、ただ単に反論するという意味ではなく、何が正しいか根拠を突き合わせながら、合ってる間違ってる等を評価・判定を下していく思考プロセスに沿っていく。例えば純粋理性批判などと同じようなやり方をとる。

範囲としては、ビジネス~システム概要で、技術的に事業や業務に影響しそうな範囲を対象に含める。

ちなみに仮想通貨の値段が上がるのは、需給関係による。また今のような円、ドルなどの裏付けが実態によらない、仮想通貨が意味を成すのは、使うとき(あれこれに使えるという信頼の総意)と、貯めて安心・自尊心を得る時だと思う。

気になる課題

ひとつひとつ気になる点をあげながら、対策内容と副作用を考えてみる。

  1. オープン性であるがゆえのデメリット
  2. トランザクション完了タイミング の扱いにくさ
  3. セキュリテイ強度とコストパフォーマンス
  4. プラットフォームの恒常的な運営と信頼度

1. オープン性であるがゆえのデメリット

取引をブロックチェーン上でやるとするとオープンにする必要がある。

具体的に合うオープンな取引情報とは

ただやはり、プライベートな情報をオープンに取り扱うのは抵抗がある。特に期待されている仮想通貨や商取引き情報を 直接流すことなど。

かといってオープンな取引が想像つかない。もしそういう適したものがあればこのブロックチェーンの技術が良いかもしれない。

例えば、信頼できるプラットフォームでICOのようなものか、
オープンなトークンシステムならできるだろう。
(株式会社情報は今もIRとして公開されているので同様に慣れ親しんでいる。信頼度が薄いので、融資を多数から集めるのは難しそうだが。)

ICO:

仮想通貨のIPOのようなもので、株のような資金調達・事業投資に関するもの。株やお金の代わりに、仮想的トークンや仮想通貨を使う。初期投資の比率に応じた配当は得られるが、経営権はなく、法整備とうも未熟であり、持ち逃げされるリスクがある。2018年で、中国やアメリカは禁止、韓国は一旦停止し整備しており、スイス、台湾は導入に前向きである。

株式の現方式でも困っていないため有効性が高いかというと、特段なさそうに思える。

取引(台帳)内容を公開したくない場合のシステム設計

もしクローズドにしたい場合、1社で対応するか、連携する別のシステムが必要。

1社で対応するとしても計算量的に強度が弱く、別のシステムでやると接点となる別システムの間でまた新たなセキュリティ課題が出てくる。

1社独占のプラットフォーム

クローズ度性のために、セキュリテイを確保しつつ1社で分散台帳を管理するのは 計算量の面でコスパ上ほとんど意味がない。管理者が一つになるというのも、ブロックチェーンの非中央集権型であるメリットを生かしきれてない

連携する別システム で取引の具体的内容を管理

もう一方のケースで、 取引内容を 直接ではなくある程度クローズドにしておきたい場合、パスワードでよく使われるハッシュなどの技術を使えば、トークンの内容の正しさをかなりの確度で担保できる。そのプラットフォームのプロトコール策定が必要になる。

同じブロックチェーンを持つか、過去の商取引(トークン)をブロックチェーンから検索するには、indexや hash でチェックできそうだ。→ストレージ、検索上の問題はなさそうだ。

ブロックチェーンの中に、実態の取引情報のハッシュや別システム上での具体的なインデックスを入れておけば、セキュリティは担保できる。

ハッシュとは:
元のデータから生成される一定な長さ(64文字とか)のランダムな文字列で、元データが1文字違えば全く別のハッシュ文字列になり、ハッシュ値から元のデータの推測が困難な特徴を目指した技術(MD5,SHA-256など)。

例えばPWやクレジットカードの情報を直接保存しなくても、実質的に同一性の確認が間接的にできるので、PWの管理システムやgitなどにおけるファイル同一確認や、セキュリティにおける重要ファイルの改竄性チェックによく使われてる。電子署名も一部の特性は似たような目的で利用されている。

取引内容の確認

ただ公開台帳で直接見えないようにすると 使用者側であるユーザが、取引の正しさをチェックしたい時、クローズドだと 取引内容がわかりにくく、 検索や確認等ができない。 その対応策として、別のデータベース上で管理(索引INDEX)システムが必要であろうと想像できる。

取引内容を、どこまで広く確認させるかというのも、システムの複雑性、可用性、セキュリティの面で検討したいポイントだ。

ただ透明性が欲しいといっても、多くのユーザがシステムを直接作りたいわけではなく、任せたいと思うので、検索方法は委任するプラットフォーム上の誰かにやってもらうことになる。どのような形で取引内容を見れるようにするかは別途仕様が必要だ。

もちろん、いつでも取引内容を確認できるようにしているだけでも透明化の担保になる。

結局プラットフォーム参加者を信用するかどうかとなるのではないか?
→あとからいつでも確認できるようになっていれば一応問題はない。

そもそも普通の取引に、そういうセキュリテイ強度は必要か?ということはある。
→中央で管理しないという意図であれば、電子署名+多数決でも十分。効果があるとしても入り込まれていたら+αで改ざん抑止にはなる。

台帳の写し

耐障害性はあるといっても、日本外でも連携してサーバを置くとなると、醸す範囲が大きくなる。データだけ分散すればいいと思うが。
→一般的によくあるの分散システムのようにセキュリティ対応(VPN,FWなど)すればできそうだ。

2.トランザクション完了タイミング の扱いにくさ

確定タイミングの担保方法

商取引のトランザクション完了タイミングの見極めが難しい。

なぜなら、ブロックチェーンに登録した時点で、取引完了とするにしても、確率は低いが他のブロックチェーンが伸びていつでも覆る可能性がある。

つまりブロックチェーンの仕組み上、確定タイミングはいつまでも決まらない。しかも改ざん防止機能が強いにもかかわらずだ。

そのため、ブロックチェーンシステムの外で"取引完了"の担保する必要がある。

取引を修正する場合、他のブロックチェーンが伸びて覆ったら足し算的な情報で後追いするしかない。復元できれば問題ない。レアケースだが、復元できなければ大変そうだ。→とりあえず問題ないとしてもいい

計算力において独占されていると、ほかのブロックチェーンが延びる可能性が高いので、取引完了したかどうかのコントロール不能状態に陥る(四六時中トランザクションが覆っていては話にならない)。
または無効を許可できるトークンシステムである必要がある。

レアケースだが、 3つのブロックチェーンが、がんこに同時に伸び続けてしまった場合、どれも正しいと同時に間違った取引になる。計算報酬をどうすればいいか微妙だ。
→とりあえず、後で上書き更新する形で対応するとして、問題ないとしてもいい 。

今書いていて気付いたが、ブロックチェーンが今後伸びていったとき、何をもってただ出しいと即座に計算(チェック)できるのだろうか。すぐ計算できるのだろうか?。→技術面以外にもかなりの規則(プロトコール)策定が必要になりそうだ。

ブロックチェーンの性能

確定するにしても、平均で10分ほど時間がかかる。その間買い物を待つなんてことはあるだろうか?投票するにしても、待ち時間が長すぎる

国際取引、土地、車、特許、商標などなら、金銭的手数料や確定完了時間を考慮しても、規模感に合うかもしれない。一部はオープンな特性にもあう。

3. セキュリテイ強度とコストパフォーマンス

ブロックチェーンに頼れるセキュリティとは

ブロックチェーン自体にセキュリテイ強度を期待するのは少し違う。メインで期待する特性は改ざん抑止や改ざん検知などだ。

ひとつひとつのセキュリティ強度は単なる電子署名と同じである。

その計算結果の末尾が00というのであれば、多少レアパターンではある。

ただ 力業で解決するので セキュリテイ強度を上げても、強度以上に計算リソースを相当消費する。一社でやるとなおのこと。また、1取引あたり4セントかかるという情報もある。

セキュリティ対処するまでの長い無防備時間

また時間軸で見ると、プラットフォーム内でオープンなデータであるため、一つ目のブロックチェーンに取り掛かってから計算するまで、トークンは裸状態で置かれその時間が長い。 ブロックチェーンの ひとつ目が見つかったとしてもまだ強度は、それほど強くない。 ブロックチェーン が2つ以上つながって初めて強度が増してくる。

一度の取引確定まで8分から10分くらいかかるという情報もある。

多数決の強度を保とうとすると、ブロックチェーンに保存したいトークンはレアなキーを探す分、トークン情報はオープンであるため、長い間オープン(改ざんの可能性)な状態にさらされる
→オープンにする情報であれば問題ない。またクローズドにしたい場合、 ブロックチェーン計算前の処理に 多数決システムを組み込んだり、そのブロックチェーンプラットフォームに参加している複数の他社同士または単独でのキャッシュ、ハッシュなどによりラッピングする対策は可能。

ここでは、参加各社がそれぞれ別の次の取引情報を使うかどうかは明確にしていない。各社別の取引情報を扱っているのであれば、長い間オープンにさらされることはなく実装できる。

かといって、完全クローズにして、1社で行うと多数決による改竄に対する強度が増やせない。

また取引件数が少ない時、ブロックチェーンを計算し始めるのはもったいない。かといって止まると、セキュリテイ強度が高く保てない。

多数決によるセキュリティ強度

多数決は情報の信頼度のためだが、改ざんにたいしては すでに ブロックチェーンでチェックしているのであまりこれ以上の信頼度が必要かと言われても、特段必須条件というわけではない。

信頼が重要となるケースは、どちらかというとブロックチェーンプラットフォームを信頼するかしないかが主な信頼指標であり、信頼できない団体が参加していたらこのシステムによる信頼度は増えない。

データロストに備えた冗長性や可用性についても、DBのような履歴ログの確保、バックアップ、RAIDなどの手法があり、ブロックチェーンの仕組みが特段優秀な方法だとは言えない。

RAID:
データを冗長的に保存し、障害体制を備えた仕組み

他システムとの接点とセキュリティの弱点

中央集権ではないという特徴を生かそうとすると、オープンにしなければいけないが、オープンな取引の適応事例がそう多くないだろうと思われる。

クローズにするとしても、 ブロックチェーン側と他のシステムの接点がなお一層狙われやすく、連携する周りのシステムをの個所をしっかり検討することが重要となる。

例えば仮想通貨は現実との境目、ブロックチェーンと実マネー(本質的にはどっちも仮想通貨だが、、)部分で問題が起こる可能性が高いので気を付ける。

例えば日本円と交換できるようなシステムであれば、そちらが弱ければ全体的に弱くなる。

それにしても、一部または全部の情報をトークンと紐づけクローズドにするなら、セキュリテイ強度が特段高くなく、またはコスパが良くない。そもそもクローズドに囲う外側の部分は普通のシステムと同じ。
→侵入されても中はブロックチェーンだから大丈夫というスタンスか。それならいいかもしれない。

オープンな状態での長期運用リスク

ブロックチェーンも長く終わりに近づいてくると 、オープンであるがゆえに取り替えられやすくなる。

レインボーテーブルによる攻撃方法や、辞書式のアタックに弱くなってくる。例えば、事前にブロックを組み替えられるパターンをたくさん用意しておき、そのパターンに合うのであれば、すり替えるという方法も考えられる。
→ケースもレアであり、システムの外側は一般的なサーバのセキュリティ対策で十分かもしれない。そこまでくるとルール上早めに寿命を迎え次のシステムに切り替える方法も取れる。

レインボーテーブル

https://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%A4%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB

4. プラットフォームの恒常的な運営と信頼度

セキュリテイ実現には
・十分な参加者と計算量が必要であり
・それぞれの参加者が均等な(過半数を超えない)計算力を持つ必要がある。
・信頼できるプラットフォームが必要である。

信頼度を 単純計算で 見てみると
    90%ぐらいで信用する参加者が 5社あるとすると、
90%^5 = 59%ぐらいの信用度になる。
95%^5=77%
5社の内少なくとも上位3社が信頼のおける会社でなくてはならず、CPUパワーも十分である必要がある。

また現実的には、参加各社のアルゴリズム、スペックが同等のものになるのか非常に難しいと予想される。プラットフォームが小さく分割されればされるほど、各プラットフォーム内でのそのリスクは高まる。

圧倒的な計算力で1社のみ、ブロックチェーンを伸ばすようなことになると他社の存在意義が少なくなり、プラットフォームが小さくなる力(辞退・分離)が働く。

またプラットフォーム技術が同じなら安いところに頼む。
→レッドオーシャン

それを回避するには、なんらかのインセンティブを広く持たせないといけない。小さくなればそれは、 プラットフォームの信頼度低下につながる。

(ただ、計算力がなくても、ブロックチェーンリストをもっておくだけでも信頼度担保の点では意味はあると思う)

運営として、多数決システムを維持するには、同ブロックチェーンプラットフォーム上の他社(他サーバ)とのアンバランスによりセキュリテイ強度の担保が難しそうだ。

運営上の難しさを回避するため一社で運用すると自作自演感がでるがクローズドにはできるが、信頼度は弱い。

システムの柔軟性

改ざん防止機能が強いが故のデメリットもまたある。

多数決であるがゆえに一か所に置くと天災などの障害に弱い。地震耐性として、 国外でやると広範囲でオープンにさらされる。
→一般的な広域サーバのセキュリティ対策で対応可能と考える。

データが壊れたら、部分的な復活は、RAIDでも、該当するハッシュに合うキーを計算するのは大変であるので、取引情報のバックアップだけでなく、nonce情報(ブロックチェーンのハッシュ計算の元データの一部)も含めて丸ごとバックアップが必要だと思われる。

うわさ話や冤罪で、プライベートの良くない情報が保存されてしまうと取り消すことがほぼ不可能に近い。
→ブロックチェーンと連携する、具体的な取引情報を持つ他システムで管理してそちらで見えないような取り決めをする。

バグに対するデータの柔軟性

取引情報に間違いが発生した時は、上書きによるやり直しをする。

セキュリティリスクが発生した場合、ブロックチェーンの寿命が来た時と同じように、まるごと新規プラットフォームを作る。もちろん不正データは ブロックチェーンと連携する、具体的な取引情報を持つ 他システムで管理しておくやり方がオーソドックスだと思われる。

仮想通貨を直接ブロックチェーン上でやると、堀つくしたとき、どうするか?
→次のブロックチェーンに引き継げばできる。

まとめ

上記の検討の中で、特に以下の点が気になった。

  1. トランザクションの使いにくさ
  2. オープン性であるが故の、 信頼度を恒常的に維持する運営の難しさ
  3. またオープン性それを活かすためのシステムが大きくなりがちになり、セキュリテイ対策の難しさ、プロトコールの複雑さにつながる
  4. セキュリテイ強度とコスパの悪さ
  5. システムの柔軟性に対する弱さ

1の取引完了契機について、システム上対応が難しく、ルール等考えておく必要がある。

2に絡んで、オープンな取引で適用可能な事例は、あまり多くないと思われる。広く技術を適用するのであれば取引となる分散台帳をクローズドに作りこめば、可能そうだ。

これらや、5の運用可用性(障害、セキュリティリスク、台帳管理の柔軟性)を考えると、別のシステムと連携して管理したほうが、実用的だと考える。ただそのとき、3と合わせて、ブロックチェーン外でのセキュリティはしっかり考えておく必要がある。

またセキュリティ上や、4に見られるように取引コスト(計算リソース、取引確定時間、お金)の面からもデメリットが大きい。オープンで非中央集権的なシステムと合わせて、適用法を考えておくべきと想定できる。

技術と直接的な関係ではないが 2のように オープンで非中央集権による信頼度を保つには、運営上の困難が伴いそうだ。

導入メリットを得つつ、デメリットを回避しようとすると
かなりハードルが高く、適用範囲を見出すのが困難ではないかと思われる。

補足

ハッシュに関する新たな脆弱性や計算力の進歩により、強度に関する状況が変わってきます。

技術とは関係ないが、お金とは使うときに意味を成すもの。受け取るときは、信頼、円の場合つまり未来の日本の生産力がものをいう。 現在の仮想通貨の円であるお金とは価値が0で、 だから生産力、消費量に本来は影響されない。

これらのため、運用の難しいブロックチェーンでは、使用時に値段の予想がつかなければ、企業側は対価として受け入れにくい。そのため普及は難しいかもしれない。

最後に

オープンな取引である必要があるかと思ったが、事前で怪しいと思っていた そのような ところは、担保されていそうだと理解した。

そもそも、ブロックチェーンの技術自体、融資できるぐらい、有名で有望そうなのに、 なぜ本人は事業化しないのかを意識して深く検討しておくべきかと思う。

世の中のフィーバーぶりを見ると、何を見ているのか実践的技術としてわからない。
有望なんだろうか
見逃している重要なポイントがあれば、ぜひ教えてほしいなあと思う。

有名人の中にはは自由な商取引をメリットがあるとみているようだ。その点には賛同するが、お金とは主に使うときに価値があるので、使うとなると他システムと連携する必要がある。その広域部分でのセキュリティを作りこみにくく、複雑になる。改ざんができない分、取引情報のミス、セキュリティタイプの変更等のインパクトが大きい。

社会的に

三方善し、調和した適用例をイメージしているのだろうか?儲かりそうではなく、役に立ち、喜ばれるそんなシステムをぜひ、検討してもらいたい。

その他

ここで検討したことは、あくまで一説です。利用環境等は各自で責任をもって検討ください。

リンク

ブロックチェーンは、メリットよりデメリットのほうが大きいのか? | 上杉周作
https://jp.chibicode.com/blockchain-good-bad/

過去のメモ

ビットコインのブロックチェーン技術の本当のところ、合わないところ

人工知能で見落としがちな3つの重要なポイント

Delicious にシェア
Digg にシェア
reddit にシェア
LinkedIn にシェア
LINEで送る
email this
Pocket

11 views.



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です