仮想通貨の登場でブロックチェーン技術に注目が集まり、それらに付随するスケーラビリティーやセキュリティーに関する技術の進歩が著しくなってきました。
仮想通貨(暗号資産)などホワイトペーパーにはピア・ツー・ピア(P2P:Peer to Peer)、分散型台帳、Pow、Pos、ERC-20、サイドチェーン、IPFSなど色々な単語が出てきます。
今回はその中でIPFSについて調べてみました。
仮想通貨を知る上でさほど重要ではないかも知れませんが、新しい通貨のホワイトペーパーを読み解くには必要な知識になると思います。
IPFSとは「Interplanetary File System」の略で直訳すると「惑星間移動ファイルシステム」でしょうか?なんとなくイメージが掴めますか?
IPFSの仕組みを簡潔に知りたい人は「IPFS(InterPlanetary File System)とは?仕組みや技術をわかりやすく解説」の記事もご覧ください。
IPFSはP2Pシステム
一言で言うとIPFSはP2P分散型システムによるファイル共有システムです。
IPFSの開発は2015年頃から始まったようです。
ビットコインが巷に出てからP2Pという言葉をよく耳にしますが実はこのP2Pによるシステムは20年ほど前からファイル共有システムとして開発実用化がされていました。
実用化と言っても当時の「パソコンオタク」と呼ばれるマニアの間でとても重宝されていました。
「Winny(ウイニー)」、「LimeWire(ライムワイヤー)」、「BitTorrent(ビットトレント)」など他にも多数リリースされていました。
当時、おやじっちはLimeWireで音楽ファイル共有に参加していました。
音楽を入れたフォルダーをお互いに公開してユーザー同士自由に楽曲を交換できる画期的なシステムでした。
ルールとして楽曲の入ったフォルダーを公開しなければ他の人のファイルをダウンロードできないというシステムです。
しかし、不用意に音楽以外が含まれているフォルダやドライブを公開すると全てが丸見えでセキュリティーなんてあったものじゃなかったです(笑)。
ダウンロードしたい楽曲を検索すると多数リストアップされ回線速度も表示されるので、できるだけ早い回線に接続された楽曲を選んでダウンロードしていた記憶があります。
しかし、これらの行為は著作権法に違反しているのと、セキュリティー上非常に危険な状況に晒されている事に気づき次第に使うことを控えるようになりました。
その後(2010年)米国連邦裁判所の命令で「LimeWire」アプリの配布が禁止されました。
このように当時のインターネット上のファイル共有システムはP2Pシステムで構築するのがトレンディーだったのです。
何故かというと、当時の回線(インターネット)は現在(1Gbps〜100Gbps)のように速くなく、日本国内で光ケーブルが一般家庭に敷設される前で、公衆電話回線を利用して(速くて128K/bpsぐらいかな?)ネットワークが構成されていた時代のお話であります。
まだまだハードウエア環境も乏しい時代だったので、遅いネットワークを効率よく使う技術として、インターネット網の中にP2Pネットワークがソフトウエアによって接続されるという画期的なシステムでした。
以下の図はP2Pでデーターが転送されるイメージです。
(BitTorrentファイル共有イメージ:Wikipediaより引用)
また、Winnyは日本人(当時:東京大学 金子勇氏)による開発で素晴らしいシステムであったが、当時の一般ユーザのモラルやリテラシーがなさ過ぎで、多くの問題やトラブルが発生し著作権侵害幇助罪で逮捕され、一時は有罪判決となりかなりショッキングなニュースであったと記憶しています。
その後、金子氏は無罪が確定(2011年)しましたが、Winny開発は以後行われていません。
追記:Winnyが映画化されるとニュースが入ってきました公開は2020年春だそうです。
P2Pが再び注目される理由
インターネット回線やCPUの高速化によりソフトウエアやシステム構成で効率化をしなくても快適な通信環境が整う時代になってきました。
現在のインターネットではクライアント・サーバー型と呼ばれホームページや当ブログもサーバーが中心にあり閲覧ユーザーはその情報をサーバーにリクエストします(HTTP:ハイパーテキスト・トランスファー・プロトコル)。
その結果が現在皆さんが見ておられるこの画面なのです。
この場合の欠点は一度にたくさんのユーザーが閲覧のためのリクエストをした場合処理能力をオーバーすると表示が遅れたり最悪の場合はサーバーが一時的にダウンします。
取引所などで売買が集中すると接続不能のエラーを発生したりする事もあります。
つまり「1 対 多」で繋がれているわけです。
光ケーブル等により技術的なハードウエアは劇的に進歩したものの、想定を遥かに超えるインターネットの一般化により今では誰でもどこでもインターネットの回線に繋がり日常的に使用しています。
ネットワーク上で一番「起こって欲しくない事」はサーバーダウンです。特に銀行オンラインやトレードの取引所では大きな損害を与えることもあります。
ならば、サーバーを分割すれば1台あたりの負荷が減ります。
実際に重要なシステムは複数台のサーバー(予備サーバー)を稼働させているシステム構成となっています。
しかしながら、この場合複数台のサーバーは同期をとって常に同じように動いていなければなりませんし、もちろんそのうちの1台がダウンしても冗長性を持たせ、サーバーコントロールするシステムが他に必要になってきます。
あらゆる条件でサーバーダウンを避けるにはこのように複雑で高度なシステム構築をする必要があるため運用コストが嵩んでしまうのです。
という事で、物理的にこれ以上の進化を待つのではなく、ソフトウエアやシステム構成で効率化目指す技術開発が考えられ、再び、「P2Pのネットワークシステム」が見直されたのが今現在の世の中です。
随分と前置きが長くなりましたが、過去に同様のP2Pシステムが存在していた事を知って頂きたかったのです。