インターネット
 Computer >> コンピューター >  >> ネットワーキング >> インターネット

ティム・バーナーズ=リー氏が手掛ける「Solid」とは?プライバシーとデータ主権のためのWeb再分散化

ティム・バーナーズ=リー氏が手掛ける「Solid」とは?プライバシーとデータ主権のためのWeb再分散化

著者:Arnav Bansal

最近、Webの発明者であるティム・バーナーズ=リー教授が「Solid」というプロジェクトを発表しました。筆者は早速このプロジェクトを調べてみました。本記事では、Solidが目指すものと、その始め方について解説します。

Solidとは?

Solidは、Webを「再分散化」する試みです。

「再」分散化とは?

かつてWebに対するビジョンは、分散型で協働的な読み書き可能な空間でした。世界初のブラウザ(WorldWideWeb)は、実はエディタでもあったのです。

しかし、Webの発展に伴い、さまざまな理由からWebアプリケーションの設計は中央集権化していきました。ユーザーのデータは、インターネット企業にとって権力と収入の源泉となったのです。

Solidは、この問題へのソリューションです。

SolidはWebアプリケーションの新しいパラダイムであり、既存のWebとの後方互換性を保っています。

Solidはテックスタック、つまり関連するプロトコルや実装、そして成長中のコミュニティの集合体です。それはまるでWebそのもののようです。

アプリとデータの分離

インターネット以前のコンピューティングでは、パーソナルコンピュータがあなたのデータを保存していました。

しかし、人々が複数のコンピュータを使うようになり、スマートフォンが生活に加わると、「あなたのデータはあなたの手元にある」というモデルは、「あなたのデータは世界中の巨大なデータセンターにあり、アプリ開発者が管理している」というモデルに取って代わられました。

こうして、アプリケーションはそのデータと深く結合することになりました。Web上でアプリを作るということは、大規模に人々のデータを管理することを意味します。

アプリとその収益力は、「データサイロ」の規模で測られるようになりました。アプリごとにデータの保存形式が大きく異なるため、あなたのデータは他のサービスへの移行が困難です。

その結果どうなったでしょうか?ほぼすべてのアプリが「囲われた庭(walled garden)」的な特徴を持つようになったのです。これにより、開発者がアプリレベルでイノベーションを起こすインセンティブが低下します。既存プラットフォームは、データロックダウンによってユーザーが移動しにくくなるため、競合からの破壊を免れることになります。

データ保護規制

一部の国ではデータ保護法が制定されています。企業はユーザーのデータを提供する義務があり、ユーザーはダウンロードまたは削除を選択できます。

これはデータのコントロールをユーザーに取り戻そうとする試みですが、あくまで法的な処方箋であり、技術的な現実ではありません。ユーザーデータは依然としてアプリ開発者の手にあり、代替サービスへ移行できない限り、データをダウンロードできてもあまり意味がないのです。

Pod:自分のデータを持ち歩く

Solidはこの問題を技術的に解決します。アプリケーションが、あなたの「pod(ポッド)」に保存されたデータを読み書きする形で構築できるようにするのです。

あなたにはpodがあります。友人にもpodがあります。podはあなたのデータを保存し、あなたはアプリにpodへのアクセスを許可します。

複数のpodを持つこともできます。家庭用と仕事用に分けるのもよいでしょう。podは自分のコンピュータ上に置くことも、デバイス間に分散させることも、ホスティングサービスに任せることも可能です。

さらに、podは「リンクトデータ(linked data)」を保存します。あなたのpodは、私のpod上の情報や、Web上のどこかにあるものにリンクできます。

私たちはデバイスを横断して動作するアプリケーションを望んでいます。同時に、データの自律性も望んでいます。そして、異なるアプリが同じデータを利用し、書き込める能力こそが求められているのです。

Solidの背後にあるアイデア

Solidに入門すると、Web開発を学び始めた頃を思い出しました。HTML、CSS、JavaScript、そして当時のフレームワークを同時に学んだことを覚えています。

唯一の違いは、Solidは新しい技術であるため、参考になる情報を見つけるのが難しいという点です。

以下は、Solidの開発を始めるために知っておきたい基本概念のまとめです。

(PS:すぐに実践したい方は、「最初の一歩」までスキップしてください)

リンクトデータ(Linked Data)

Solidの力、そして一般にWebの力は、データがハイパーリンクで結び付けられていることに由来します。

Solidでは、生成したデータを好きな場所に保存できます。個人データはおそらくあなたのpod上に置かれるでしょう。このデータを参照するには、Webと同じようにURLを使います。

ここで、Solidの正式名称を紹介しましょう。SOcial LInked Data(ソーシャル・リンクト・データ)です。

RDF(Resource Description Framework)

RDFは、主語-述語-目的語(subject-predicate-object)という形式のステートメントでリンクトデータを表現する方法です。これは「トリプル(triples)」とも呼ばれます。

RDFは抽象モデルであり、英語の文でさえ表現できます。以下はTodoリスト上のタスクの例です:

T1 is a taskT1 is labelled "Write an article about Solid"T1 is due October 5rd 2018T1 is assigned to @itsarnavbT1 is incomplete

Turtle

Turtleは、RDFデータをコンパクトに表現する方式で、subject、predicate、objectをURLで表します。

URLだけだと反復的で読みにくいため、Turtleにはプレフィックスと省略記法の仕組みがあります。ドキュメントが長くなるほど、この仕組みの重要性が増します。

セマンティックウェブ(Semantic Web)

ティム・バーナーズ=リー自身の言葉が最もよく物語っています。

私はWebについて夢を持っています。そこではコンピュータが、Web上のすべてのデータ――コンテンツ、リンク、そして人とコンピュータの間のやり取り――を分析できるようになります。これを可能にする「セマンティックウェブ」はまだ登場していませんが、実現すれば、貿易、行政手続き、そして日常生活の仕組みは、機械同士の対話によって処理されるでしょう。人々が昔から謳ってきた「インテリジェントエージェント」がついに具現化するのです。

最初の一歩

以下のことを、自分に合った順番で進めてみましょう。

  • podを取得する:無料のpodプロバイダに登録するか、自分でサーバーを運用する(それが好みなら)。
  • チュートリアルに沿ってSolidアプリを作ってみる
  • Solidで作られたハック事例を読む
  • Solidの公式ドキュメントを読む

Solidに参加しよう

Solidエコシステムに貢献する方法は次のとおりです。

  • Solid本体および関連インフラの開発に貢献する
  • Solidを使ったアプリを開発する

ティム・バーナーズ=リー氏が手掛ける「Solid」とは?プライバシーとデータ主権のためのWeb再分散化

ただし注意が必要です。現時点では、Solidの学習と開発には多くの試行錯誤と、一見愚かに思える質問を恐れない姿勢が求められます。頼れるStack Overflowはまだありません。一部のエラーのデバッグには、ソースコードを掘り下げる必要があるかもしれません。

ヘルプを得られるコミュニティはこちらです。

  • r/solid(筆者もモデレーターの一人です)
  • gitter.im/solid

最後に、筆者のDMは開放されています(@itsarnavb)。いただいた質問には、すべて答えるか、答えられる人を探すよう努めます。

また、本記事はSolidに関する最良の学習リソースを反映して、随時更新していく予定です。

さらなる学習リソース

  • Solid公式サイト - solid.mit.edu
  • Paradigm shifts for the decentralized web - Ruben Verborgh
  • One Small Step for the Web - Tim Berners-Lee

無料でコーディングを学びませんか?freeCodeCampのオープンソースカリキュラムは、40,000人以上の人々の開発者就職を支援してきました。


  1. ウェブ開発者必見!使ってみたいコードプレイグラウンドツール徹底解説

    ウェブコーディングに少しでも携わったことがあるなら、コードプレイグラウンドを一度は使ったことがあるはずです。これは通常のコードエディタとは異なり、バックエンドサーバーのセットアップを気にせずコードを手軽にテストできる環境のこと。代表的なツールとしてはCodePenとJSFiddleが有名ですが、実はそれ以外にも数多くの優れた代替ツールが存在します。 HTML/CSS/JavaScriptで手軽にアプリを作って試してみたいだけであれば、どのプレイグラウンドを選んでも好みの問題でしょう。しかし、リアルタイム共同編集、ReactやVueといったJSフレームワークへの迅速なアクセス、バックエンド対応

  2. Safari 14の注目新機能まとめ|プライバシー強化・内蔵翻訳・タブプレビューなど

    Safariは最も人気のあるブラウザとは言えませんが、Macユーザーにとっては今なおエコシステムの中核を担う存在です。Safariをデフォルトブラウザとして使い続ける熱狂的なファンも少なくありません。そしてmacOS Big Surとともに登場したSafari 14は、その魅力をさらに高めるアップデートとなりました。プライバシーと速度を重視した設計で、現代のブラウザにふさわしい進化を遂げています。この記事では、Safari 14の新機能を詳しく解説します。 プライバシーとセキュリティ オンライン上のプライバシーへの関心が高まる中、Safari 14にはWebトラッカーの状況を確認できる新しい