ゼファーネットのロゴ

IPFSとは何ですか? –ビギナーズガイド

日付:

著者プロフィール写真

前の 役職、シェアリングエコノミーの将来とそれを形作る上で中心となる可能性のあるエキサイティングなイノベーションについて話し合いました。 言及された主要なテクノロジーの2つは、惑星間ファイルシステム(IPFS)でした。 これはピアツーピア(pXNUMXp)ファイル共有システムであり、情報が世界中に配信される方法を根本的に変えることを目的としています。 IPFSは、通信プロトコルと分散システムのいくつかの革新で構成されており、これらを組み合わせて他に類を見ないファイルシステムを作成しています。 したがって、IPFSが達成しようとしていることの全幅と深さを理解するには、それを可能にする技術革新を理解することが重要です。

IPFS通信プロトコルと分散システム

1980人が情報を交換するには、情報の送信方法と送信時期を定義する共通のルールセットが必要です。 これらのルールは通信プロトコルとして広く知られていますが、それはかなり一口なので、単に言語と呼びます。 母国語を話さない外国に行ったことがあれば、おそらく通信プロトコルの障害(または欠如)を経験したことがあるでしょう。 これはコンピューターの場合でした。 それらは互いに通信することができず、コンピューティング用の最初の通信プロトコルが発明されたXNUMX年代初頭まで、孤立した計算デバイスとして存在していました。

「プロトコルは、プログラミング言語とは何かを計算に伝えることです」

コンピュータでは、通信プロトコルは通常、いくつかの層のバンドル(プロトコルスイートと呼ばれます)で存在します。 たとえば、 インターネットプロトコル スイートは4つのレイヤーで構成され、各レイヤーが特定の機能を担当します。 通信プロトコルに加えて、理解すべき重要な関係は、コンピューター間の相互接続の基本構造です。 これは、 システムアーキテクチャー。 いくつか存在しますが、私たちに関連するXNUMXつのタイプは クライアントサーバー & ピアツーピアネットワーク.

インターネットは、インターネットプロトコルスイートに依存するクライアントサーバー関係によって支配されています。 これらのうち、ハイパーテキスト転送プロトコル(HTTP)はコミュニケーションの基礎です。

データは一元化されたサーバーに保存され、ロケーションベースのアドレス指定によってアクセスされます。 これにより、データの配布、管理、保護、およびサーバーとクライアントの両方の容量の拡張が容易になります。 ただし、セキュリティ、プライバシー、効率の領域には多くの弱点があります。サーバーの制御は、データの制御に変換されます。 これは、サーバーを制御しているすべての関係者がデータにアクセス、変更、および削除できることを意味します。 これは、サーバーに対する正当な権限を持つエンティティまたは悪意のあるハッカーである可能性があります。 ロケーションベースのアドレス指定では、データはコンテンツではなく、場所によって識別されます。 この制限は、同じデータがどこか近くで利用可能であっても、特定の場所にアクセスしてデータにアクセスする必要があることを意味します。 また、クライアントはデータが何であるかではなく、どこにあるかを知るだけでよいため、データが変更されたかどうかを判断する方法もありません。

しかし、クライアントサーバーモデルとHTTPは、その歴史のほとんどでインターネットにかなり確実に役立ってきました。 これは、HTTPWebがテキストや画像などの小さなファイルを移動するのに非常に効果的であるためです。 Webの最初の2年間で、平均的なWebページのサイズは約2キロバイトから約XNUMXメガバイトにしか増加していません。

ソース

HTTPは、Webサイトの読み込みには最適ですが、大量のデータ(オーディオファイルやビデオファイルなど)の転送用には設計されていません。 これらの制約により、Napster(音楽)やBitTorrent(映画など)のような代替ファイル共有システムの出現と主流の成功が可能になった可能性があります。

オンデマンドHDビデオストリーミングとビッグデータがユビキタスになりつつある2018年に早送りします。 私たちは、データを処理するためのより強力なコンピューターを開発するとともに、ますます多くのデータを生成/消費するという上向きの行進を続けています。 クラウドコンピューティングの大きな進歩は、この移行を維持するのに役立ちましたが、このすべてのデータを配布するための基本的なインフラストラクチャはほぼ同じままです。

InterPlanetaryファイルシステム

IPFSは、新しいp2pファイル共有システムを介してクライアントサーバーモデルとHTTPWebの欠陥に対処しようとします。 このシステムは、いくつかの新規および既存のイノベーションを統合したものです。 IPFSは、によって作成されたオープンソースプロジェクトです。 プロトコルラボ、ネットワークプロトコルおよび以前のYCombinatorスタートアップのR&Dラボ。 Protocol Labsは、次のような補完的なシステムも開発しています。 IPLD & Filecoin、これについては以下で説明します。 世界中の何百人もの開発者がIPFSの開発に貢献したため、そのオーケストレーションは大規模な作業でした。 主なコンポーネントは次のとおりです。

分散ハッシュテーブル

A ハッシュ表 キー/値のペアとして情報を格納するデータ構造です。 分散ハッシュテーブル(DHT)では、データはコンピューターのネットワーク全体に分散され、ノード間の効率的なアクセスとルックアップを可能にするために効率的に調整されます。

DHTの主な利点は、分散化、フォールトトレランス、およびスケーラビリティにあります。 ノードは中央調整を必要とせず、ノードに障害が発生したりネットワークを離れたりしてもシステムは確実に機能し、DHTは数百万のノードに対応するように拡張できます。 これらの機能を組み合わせることで、一般的にクライアントサーバー構造よりも回復力のあるシステムが実現します。

ブロック交換

人気のあるファイル共有システムBittorrentは、革新的なデータ交換プロトコルに依存することで、数百万のノード間のデータ転送を正常に調整できますが、それはトレントエコシステムに限定されています。 IPFSは、BitSwapと呼ばれるこのプロトコルの一般化されたバージョンを実装します。これは、あらゆるタイプのデータのマーケットプレイスとして機能します。 このマーケットプレイスは Filecoin:IPFS上に構築されたp2pストレージマーケットプレイス。

マークルDAG

マークルDAGは マークルツリー および有向非巡回グラフ(DAG)。 マークルツリーは、p2pネットワークで交換されるデータブロックが正しく、損傷を受けておらず、変更されていないことを保証します。 この検証は、を使用してデータブロックを整理することによって行われます。 暗号ハッシュ 関数。 これは単に入力を受け取り、その入力に対応する一意の英数字の文字列(ハッシュ)を計算する関数です。 入力が特定のハッシュになることを確認するのは簡単ですが、ハッシュから入力を推測するのは非常に困難です。

これらXNUMXつを混同しないでください。 ソース: http://www.merkletrees.org/

データの個々のブロックは「リーフノード」と呼ばれ、ハッシュ化されて「非リーフノード」を形成します。 次に、これらの非リーフノードを組み合わせてハッシュし、すべてのデータブロックを単一のルートハッシュで表すことができるようにします。 これを概念化する簡単な方法は次のとおりです。

DAGは、サイクルのない情報のトポロジシーケンスをモデル化する方法です。 DAGの簡単な例は、家系図です。 マークルDAGは基本的に、ハッシュを使用してDAG内のデータブロックとオブジェクトを参照するデータ構造です。 これにより、いくつかの便利な機能が作成されます。各データブロックには一意のハッシュがあるため、IPFS上のすべてのコンテンツを一意に識別できます。 さらに、以下に示すように、データを変更するとハッシュが変更されるため、データは改ざんされにくいです。

情報源: イーサリアム.org

IPFSの中心的な信条は、一般化されたマークルDAGですべてのデータをモデル化することです。 このセキュリティ機能の重要性は誇張することはできません。 クライアントサーバーシステムとの比較については、この男がどのように 40分で7のWebサイトをハッキング.

バージョン管理システム

Merkle DAG構造のもうXNUMXつの強力な機能は、分散バージョン管理システムを構築できることです(VCS)。 この最も一般的な例はGithubです。これにより、開発者はプロジェクトで同時に簡単に共同作業を行うことができます。 Github上のファイルは、merkleDAGを使用して保存およびバージョン管理されます。 これにより、ユーザーはファイルの複数のバージョンを個別に複製および編集し、これらのバージョンを保存して、後で編集内容を元のファイルとマージできます。

IPFSは、データオブジェクトに同様のモデルを使用します。元のデータに対応するオブジェクト、および新しいバージョンにアクセスできる限り、ファイル履歴全体を取得できます。 データブロックはネットワーク全体でローカルに保存され、無期限にキャッシュできることを考えると、これはIPFSオブジェクトを永続的に保存できることを意味します。

さらに、IPFSはインターネットプロトコルへのアクセスに依存していません。 データはで配布することができます オーバーレイネットワーク、これは単に別のネットワーク上に構築されたネットワークです。 これらの機能は、検閲に強いWebのコア要素であるため、注目に値します。 これは、言論の自由を促進する上で、 インターネット検閲 世界中ですが、悪意のある人物による虐待の可能性についても認識しておく必要があります。

自己認証ファイルシステム

ここで取り上げるIPFSの最後の重要なコンポーネントは、自己認証ファイルシステムです(SFS)。 これは、データ交換に特別なアクセス許可を必要としない分散ファイルシステムです。 クライアントに提供されるデータはファイル名(サーバーによって署名されている)によって認証されるため、これは「自己認証」です。 結果? ローカルストレージの透過性により、リモートコンテンツに安全にアクセスできます。

IPFSはこの概念に基づいて、惑星間名前空間(IPNS)を作成します。 を使用するSFSです 公開鍵暗号 ネットワークのユーザーによって公開されたオブジェクトを自己認証します。 IPFS上のすべてのオブジェクトは一意に識別できることを前述しましたが、これはノードにも適用されます。 ネットワーク上の各ノードには、公開鍵、秘密鍵、およびその公開鍵のハッシュであるノードIDのセットがあります。 したがって、ノードは秘密鍵を使用して、公開するデータオブジェクトに「署名」することができ、このデータの信頼性は、送信者の公開鍵を使用して検証できます。

主要なIPFSコンポーネントの簡単な要約:

分散ハッシュテーブルを使用すると、ノードは中央調整なしでデータを保存および共有できますIPNSを使用すると、交換されたデータを公開鍵暗号を使用して即座に事前認証および検証できます。MerkleDAGを使用すると、一意に識別され、改ざんされにくく、永続的に保存されたデータにアクセスできます。バージョン管理システムを介して編集されたデータ

シンプルな概念フレームワーク

では、なぜこれがすべて重要なのでしょうか。

IPFSは、高スループット、低遅延、データ分散を提供します。 また、分散化されており、安全です。 これにより、いくつかの興味深くエキサイティングなユースケースが開かれます。 Webサイトへのコンテンツの配信、自動バージョン管理とバックアップによるファイルのグローバルな保存、安全なファイル共有と暗号化された通信の促進に使用できます。

以下は、IPFS上に構築されているいくつかの興味深いプロジェクトです。

アカシャ, 次世代のソーシャルネットワーク

バランス3, トリプルエントリー会計プラットフォーム

ブロック貨物, グローバル貨物のためのオープンネットワーク

Digix, 物理的な金をトークン化するためのプラットフォーム

インフラ, DAppsのインフラストラクチャプロバイダー

ライブピア, 分散型ライブビデオストリーミングプラットフォーム

Origin, シェアリングエコノミーのためのピアツーピアマーケットプレイス

uPort, セルフソブリンアイデンティティシステム

これらのさまざまなアプリケーションは、いくつかの異なるユースケースに対するIPFSの多様性を示しています。 また、パブリックブロックチェーンやその他のp2pアプリケーションの補完ファイルシステムとしても使用されています。 これを書いている時点では、EthereumスマートコントラクトにXNUMXキロバイトのデータを保存するのに数ドルかかる可能性があります。 これは大きな制約であり、現在、発売されている新しい分散型アプリ(DApp)が大幅に増加しています。 IPFSはスマートコントラクトと相互運用可能であり、 ブロックチェーン データなので、信頼性が高く低コストのストレージ容量をイーサリアムエコシステムに追加できます。 イーサリアムブロックチェーンデータをIPFSでネイティブにアクセスできるようにする試みは、次のような別のプロトコルです。 IPLD (InterPlanetaryリンクトデータ)。

課題

IPFSの優れたパフォーマンスにもかかわらず、いくつかの問題はまだ完全には解決されていません。 まず、IPNSでのコンテンツのアドレス指定は、現在あまりユーザーフレンドリーではありません。 典型的なIPNSリンクは次のようになります。

ipfs.io/ipns/QmeQe5FTgMs8PNspzTQ3LRz1iMhdq9K34TQnsCP2jqt8wV/

これらのリンクは、ドメインネームシステム(DNS)を使用してより単純な名前に短縮できますが、これにより、コンテンツ配信の外部障害点が発生します。 ただし、コンテンツには元のIPNSアドレスから引き続きアクセスできます。 一部のユーザーは、IPNSがドメイン名の解決に時間がかかり、最大数秒の遅延が発生する可能性があることも報告しています。 この問題の原因が正確に何であるかは明らかではありません。

アップデイト : 03年26月2018日、IPNSは、公開/解決を高速化するための実験的な機能を備えたアップグレードをリリースしました。 利用可能な詳細 こちら

IPFSでは、ノードがネットワーク上のデータの長期バックアップを維持するインセンティブもほとんどありません。 ノードは、スペースを節約するためにキャッシュされたデータをクリアすることを選択できます。つまり、理論的には、データをホストするノードが残っていない場合、ファイルは時間の経過とともに「消滅」する可能性があります。 現在の採用レベルでは、これは重要な問題ではありませんが、長期的には、大量のデータをバックアップするには、強力な経済的インセンティブが必要です。

ストレージ市場

Filecoinは、IPFS上のファイルストレージに経済的インセンティブを追加し、エンタープライズクラウドストレージ(Amazon S3など)に匹敵する分散ストレージ市場を育成するために設計された別個のプロトコルです。 IPFS + FileCoinは、固定価格の集中型インフラストラクチャの代わりに、需要と供給に基づいて価格を自由に設定できるローカルプロバイダーのグローバルネットワーク上にストレージを提供します。 の代わりに 実績 のようなコンセンサスアルゴリズム Bitcoin、ファイルコインは ストレージの証明 セキュリティと信頼性を確保するため。 そのため、誰でもネットワークに参加し、コンピューティングデバイスに未使用のハードドライブスペースを提供し、データストレージおよび取得サービスのファイルコイントークンで報酬を得ることができます。

ネットワークはイーサリアムで開発されているため、スマートコントラクトの統合により、ストレージ市場でエスクロー、保険などの高度な機能を生み出すことができます。 理論的には、この経済モデルは、大規模なプロバイダーよりも潜在的に低コストで、競争の激しい自由市場を発展させるはずです。 しかし、FileCoinはまだリリースされていないため、これらの概念が実際にどのように機能するかを観察することは興味深いでしょう。

IPFS入門

IPFSは非常に野心的な取り組みであり、明らかに、システムの機能の正確なメカニズムは、このガイドで説明されているものよりもはるかに複雑です。 これらの詳細は、暗号学者やコンピューター科学者が楽しめるように残しておきます。 あなたは専門家である必要はありません つかいます IPFSなので、利点や使用例のいずれかが有用または魅力的であると思われる場合は、IPFSをダウンロードして開始してください こちら。 ギガバイトまたはテラバイトの未使用ストレージがあり、そのアイドリング容量を有効に活用したい場合は、次のことができます。 アカウント登録 ネットワークが起動したときに初期のファイルコインマイナーになること。 あなたもすることができます アカウント登録 初期のストレージユーザーになることに興味がある場合。

IPFSの使用は非常に注目に値し、それを可能にする技術的な魔法を理解することはさらにエキサイティングです。 成功すれば、IPFSとその補完的なプロトコルは、次世代のWebに回復力のあるインフラストラクチャを提供する可能性があります。 配布され、安全で、透過的であることが約束されたWeb。

ソース

カマー、ダグラス。 コンピュータネットワークとインターネット。 ピアソン、2015年。 goo.gl/AbM8st

IPFSホワイトペーパー(ドラフト3) http://goo.gl/zwKD9J

ファイルコインホワイトペーパー https://goo.gl/RrxcvX

タグ

ハッカー正午に参加

無料のアカウントを作成して、カスタムの読書体験のロックを解除します。

ソース:https://hackernoon.com/a-beginners-guide-to-ipfs-20673fedd3f?source = rss

スポット画像

最新のインテリジェンス

スポット画像

私たちとチャット

やあ! どんな御用でしょうか?