ブロックチェーンの欠点を補う!?「分散型ストレージ」とは?
ブロックチェーンやスマートコントラクトと言った仮想通貨の土台となっている技術は、現在の主流である中央集権的なインターネットに取って代わる可能性を秘めています。今後より普及していくためには「分散型ストレージ」の分野への応用が期待されます。今回はそんな分散ストレージとブロックチェーンについて紹介します。


今回は分散型ストレージについて話すぞ

ストレージってブロックチェーン関連以外でも聞き覚えがあるなぁ。

分散型ストレージはストレージの一種類じゃ。ストレージ自体はタカシのパソコンやスマホなどにも内蔵されておる。ストレージがないと画像や音声の保存もできないし、アプリもダウンロードができなくなってしまうんじゃ

データを保存するなら、ブロックチェーンも分散型ストレージのひとつと考えていいのかな?

いいところに気がついたのう。だけどブロックチェーンは分散型ストレージと呼ぶには大きな課題を抱えているんじゃ。だから分散型ストレージとブロックチェーンを組み合わせることで、更に便利にすることができるんじゃ。ではまず、ストレージについての説明から始めるとしよう
ストレージとは何か?
まずストレージとはIT分野では広く使われる言葉で、データを長期間記録しておくための補助記憶装置を指す言葉です。
パソコンで言えばハードディスクやUSBメモリなどがストレージの例として挙げられます。スマホにはストレージが内蔵されており、必要に応じてSDカードなどを使うことで外部からストレージを拡張することができます。
近年ではインターネット上でストレージを提供する、クラウドストレージ(オンラインストレージ)サービスも登場しました。代表的なものとしてはGoogle DriveやDropbox、主に事業者を対象としたAWS(Amazon Web Service)などが挙げられます。
これらのクラウドストレージサービスはDropboxやGoogle、Amazonなどといった特定の企業が管理するサーバーやデータ領域に管理を委託する、中央集権的な仕組みを採用しています。
一方、特定の企業やサーバーに依存せずP2Pネットワーク上にファイルを保存する、非中央集権的な仕組みもあります。P2Pネットワーク上で世界中のノードが提供する空き容量にファイルを保存するのです。
もちろん、ただ他のノードの空き容量に移すだけでは保存したいファイルを閲覧されたり、悪意あるノードによって加工される恐れがあります。そのためファイルを暗号化したり、いくつもの断片に分割することでセキュリティ対策を施します。
データを分散して保存するために、この非中央集権的なクラウドストレージは「分散型ストレージ」と呼ばれます。
中央集権的なストレージの抱えるリスク
昨今では中央集権的なストレージの抱えるリスクが語られるようになりました。特によく言われるのがデータを運営元に見られてしまうリスクや、保存したファイルが流出するリスクです。
2012年、Dropboxの従業員用パスワードが流出し、利用者のメールアドレスが盗まれるという事件が起きました。当時は被害規模が明らかにされませんでしたが2016年8月にDropbox社が6800万件ものメールアドレスとパスワードハッシュが漏えいしていたと公表しています。
情報を1か所に集める現在のクラウドストレージでは、Dropboxの事例のように些細なヒューマンエラーでファイルやメールアドレスなどが流出するリスクは回避できません。
ミスがなくとも、悪意ある攻撃によって流出する可能性もあります。運営元がGoogleやAmazonといった有名どころなので安心してファイルを保存してしまいますが、だからこそ攻撃の対象となる確率も上がるでしょう。
また例えば天災などでサーバーが物理的に破壊されたり、ストレージの提供元が倒産してしまうことだってあり得ます。もしそうなれば保存したデータを利用できなくなるかもしれません。
その点、分散型ストレージであればそもそも攻撃されるサーバーがないため流出のリスクは低くなります。ファイルは運営から独立したノードの空き容量に保存してあるため、もしサービスを終了しても保存したデータを利用できなくなるリスクも抑えられるでしょう。
もちろん現在の中央集権的なストレージにも分散型ストレージに対して優位な点はあります。しかしこれらのリスクから、将来的に分散型ストレージが中央集権的なストレージに置き換わる可能性はあるでしょう。
スマートコントラクトとブロックチェーンを組み合わせるには?
ブロックチェーンと分散型ストレージを組み合わせたケースはいくつかありますが、最も有名なものは「Storj(ストレージ)」プロジェクトでしょう。
Storjは先に述べたような、P2Pネットワーク上でファイルを保存する分散型ストレージサービスです。ファイルは「Shard(シャード)」という32メガバイトの断片に分割、暗号化を施されてネットワーク上の複数のノードの空き容量に保存されます。
Storjの利用者は保管料を「STORJ(ストレージ)」という仮想通貨で支払います。STORJはイーサリアムベースの通貨で、スマートコントラクトによって保管料の支払いを自動化しているために確実に保管料を徴収することが可能です。
有料プランとして1TBや2TBを買い切るDropboxやGoogle Driveと違い、Storjでは1GBごとに0.015ドル料金が発生する従量制を採用しています。
既存サービスの無料プランでは容量が足りないが、有料プランにすると容量が余り過ぎるという場合などにはStorjのほうが保管料を抑えることができるかもしれません。
またStorjの利用者はストレージを他の利用者へ貸し出すことで、STORJを稼ぐこともできます。
現状ではまだあまりうまくいっているとは言えませんが、独自性と利用料金の安さから、将来的に成長する可能性を秘めたプロジェクトです。
分散型ストレージはブロックチェーンの欠点を補う
ブロックチェーンは可用性と分断耐性に優れたシステムで、内部のデータは改ざんが困難です。
課題だった一貫性についても、PoWによってある程度改善されています。目下の課題であるスケーラビリティ問題にも、数々の方面からアプローチされています。
ストレージとしてブロックチェーンを見たとき、これらの点から機能面はとても優秀だと言えるでしょう。
ですがブロックチェーンは主に2つの理由から、従来のクラウドストレージの主な対象となる画像やテキストなどのファイルの保存に向いていません。
1つ目はこれらのファイルはそもそも大容量のため、ブロックチェーン上に記録すると多額の費用がかかってしまう点がひとつめの理由です。
そしてもうひとつの理由が、ブロック内のデータ同士が関連性を持っているためにファイルの書き換えができない点です。仕事で使うファイルなどは頻繁に書き換える必要があることもあるため、ブロックチェーンの仕組みはマイナスに働きます。
もしブロックチェーンに画像やテキストなどのファイルを支障なく保存できればスマートコントラクトを活用した電子書籍サービスなど、DAppsの可能性は更に広がることでしょう。
そこでこのブロックチェーンの欠点を補うために、分散型ストレージを利用します。
ファイルそのものは分散型ストレージへ保存し、ファイルのハッシュ値をブロックチェーンに記録するのです。そうすることで、間接的にブロックチェーンをストレージとして利用することが可能になります。この仕組みを「コンテントアドレス(コンテンツアドレス)」と言います。
例えば自宅のセキュリティを万全にするとき、自宅をまるまる金庫に収めることは不可能です。ただ自宅を厳重に戸締まりし、たったひとつの鍵を金庫にしまうことで、万全に近い状態にすることはできます。
これがコンテントアドレスの考え方です。

分散型ストレージについては理解できたかの?

従来の中央集権的なストレージのリスクが明らかになることで、分散型ストレージは将来が期待されているんだね

ブロックチェーンの欠点を分散ストレージで補うことで、更にサービスの幅も広がることになる。要注目の技術じゃろうな
まとめ
中央集権的なネットワークの抱える問題は、ブロックチェーン以外の方向性からも解決策が模索されており、分散型ストレージもそのひとつです。
WinnyやBitTorrentなどのファイル共有ソフトで技術的に実用化はされていますが、安全で合法な利用にはまだまだ遠い状態にあります。