Solid项目——一个可能改变互联网格局的开源项目

zhyjc6于2019-10-03发布 约4989字·约11分钟 本文总阅读量

一、背景

在伯纳斯-李于1989年发明万维网二十年之后,他在为万维网联盟撰写的草稿中概述了万维网的设计问题,并提出了开源的Solid项目。伯纳斯-李越来越沮丧地看到他发明的万维网被滥用,例如:

谁也不想自己创造的东西被恶意利用偏离最初的设计理念,伯纳斯-李也一样。伯纳斯-李最初设想的互联网是自由的,没有哪一家公司一家独大,用户可以控制自己的数据并确保隐私安全。但是事与愿违,如今互联网被少数的几家大型企业垄断,用户的数据不受自己管控,隐私被肆意窥探。网上还充斥着大量的虚假信息、网络暴力,互联网甚至还涉嫌干涉了美国大选。

伯纳斯-李想要改变当前互联网的运行现状,于是提出了Solid开源项目,这是他改变互联网的第一步。

2015年,该项目收到万事达为支持Solid的开发而捐赠的一百万美元。伯纳斯-李的Solid项目研究团队与卡塔尔计算研究所和牛津大学合作。

2018年9月,伯纳斯-李宣布与网络安全企业家约翰·布鲁斯(John Bruce)共同创立了创业公司Inrupt,该公司的使命是“将合法的数据所有权恢复给每个网络用户”。

二、设计

Solid是什么?

Solid是social linked data (社交互联数据) 的缩写

pods是Personal Online Data Stores(个人在线数据库)的缩写

数据所有权归你,你授权可以读取你数据的应用

在 Solid 生态中,你可以自由选择将你的数据存在哪里。这些数据包括但不限于你拍摄的照片,发表的评论、地址簿联系人或日历上的事件。这些都是存储在 Solid Pod 中的,这个 POD 可以是你家里的,也可以是你公司的,甚至其他在线 POD 提供商也可以。因为你拥有数据的所有权,所以你可以随时随地无障碍的移动数据,而不受服务商干扰。

你必须授权权限给第三方应用后,他们才能对你的 POD 进行读写。所以当你注册一个新应用后,你不必再重复填写你的个人信息,因为这些都可以从 Solid Pod 中直接读取。在 A 应用中存储的数据,在 B 应用中也可以访问,你不必手动同步,因为你的数据会永远跟着你。

这些措施不仅保护了你的隐私,还对开发者有非常大的好处。因为他们可以拥有大量数据,避免了冷启动的过程(用户数据从无到有逐渐积累的过程)。

你的 POD 就相当于你的个人网盘

你可以在 Solid 中存储任何东西。PODs 就像是一个基于 Web 的 USB,而且还可以随时访问。当你给了其他人访问你数据的权限后,他们可以对你的照片、文章进行互动。你可以控制哪些应用和哪些人可以看到你的数据。

你可以把 POD 想象成你的一个私人网站,但是其中的数据可以和你信任的应用进行交互,这意味着你对自己的数据有一个完全可控的 API 可以操作。当你评论了网上的一个视频后,你的朋友们可以在任意应用中看到这条评论。这都是你的数据,他们可以以任何形式展示。

你可以拥有无限个 POD,只要有 Solid 服务器的地方,他们就可以被访问。如果你想自己搭一个 Solid Server,请看这篇文章,如果你想申请一个 Pod,请点击这里

你的 POD 就相当于你在互联网上的身份

为了证明你拥有你的数据,你需要拥有一个身份。在 Solid 中,Pod 就是证明你是谁的一个工具(不用依靠任何第三方公司)。所以在未来, “使用微信登录”、“使用微博登录” 会变成 “使用 Solid Pod 登录”。

你可能还不清楚这意味着什么

这是伯纳斯-李也是我们从巨头公司手里收回网络力量的方式!

阿里一个账户可以让你登录所有阿里系的产品;腾讯的一个账户可以让你登录腾讯系的所有产品;但是阿里与腾讯相对于对方来说依旧是数据孤岛。而Solid就是打通这两座数据孤岛的桥梁,数据只需要存储在Solid上,一个Solid账户即可登录所有应用(前提是支持Solid)。各家应用不再费尽心思监视用户、搜集用户的各种信息,而是在Solid那里向用户申请数据的使用权限。也就是说,互联网对于你来说是一个地方,在那个地方你只有一个账户,使用这个账户你可以登录所有联网的应用畅游网络而不必每个应用都注册一个账户了。

上图是中心化与去中心化

上图是SoLiD 平台大致工作流程。用户将他们的数据存储在个人在线数据存储(pod)中,该个人在线数据存储驻留在 pod 服务器上。用户使用存储在其 pod 中的 RDFprole 文档控制他们的身份。要使用 SoLiD 应用程序,用户从应用程序提供程序加载应用程序。用户从应用程序提供程序加载应用程序。应用程序从用户的身份信息获取用户的 pod。然后,它遵循身份信息的链接来发现用户 pod 以及其他 pod 上的数据,并在需要时执行身份验证。

上图是pod 服务器概述。pod 存储 rdf 和非 rdf 资源。服务器支持 ldp、修补资源、访问控制、实时更新和 sparql。

Sparql 是 RDF 查询语言

REST 是一 种万维网软件架构风格

技术难点

要实现分布式网络,需要克服许多技术挑战。

  1. 应用程序和数据必须分开,允许人们将个人数据存储在他们想要的地方;
  2. 身份验证程序必须正确识别数据所有者,同时确保隐私;
  3. 与传统的分散的P2P网络(如BitTorrent)相比,Solid应该增加更多控制权和功能,而不是使用传统的集中式网络 ;
  4. 最后,系统必须易于使用,速度快,并且允许开发人员快捷地开发应用程序。

原理与设计

技术细节

Solid的核心是在保护隐私的前提下共享信息。用户将个人数据存储在任何自己想要的“pods”( 个人在线数据储存器 )中。在用户授予应用程序权限后,Solid认证的应用程序可以请求数据。用户可以在几个pod之间分发个人信息,例如,不同的pod可能包含个人简介、联系方式、财务信息、健康状况、旅行计划或其他信息。用户在注册经认证的社交账户时,可以通过授予其访问特定pod中的信息的权限来,以完成账户注册。用户保留对用户pod中数据的完全所有权和控制权:用户可以控制每个pod包含什么数据、每个pod的存储位置以及哪些应用程序有权使用这些数据。

Solid由以下几部分组成:

三、发起者

蒂莫西·约翰·伯纳斯-李爵士(Sir Timothy John Berners-Lee,1955年6月8日-),昵称为蒂姆·伯纳斯-李(英语:Tim Berners-Lee),英国计算机科学家。他是万维网的发明者,2016年度的图灵奖获得者。

Berners-Lee于1989年发明了万维网,1990年编写了第一个网页浏览器,并于1991年8月在互联网上向公众开放。

Berners-Lee 指出,互联网发展曾带来一个非常重要的“长尾效应”:

过去在实体世界中,如果把一个行业的公司按照知名度进行排名,曲线下降往往很快,排到 100 名左右的公司可能已规模非常小且很难生存。

但在互联网领域,曲线的下降则十分缓慢。并非所有人都集中受雇于几个最有名的网站,而是可能分散在一些中等规模的公司。各式各样的公司各有其生存空间,这就是所谓的长尾效应。

但,“长尾效应最终失效了”,他说,现在的互联网世界头部效应明显,少数网站占据了主导地位,拿走市场大部分的份额,且这些名列前茅的巨头还在不断整合的过程当中。但很多人可能都没有意识到我们已失去了最开始的互联网精神,不再是所有人都是全球创意创造力的一部分。

不仅如此,事实上,我们面临着很多的数据孤岛。尽管每个人在互联网上产生了大量数据,但这些数据却掌握在 Facebook 这样的很多大公司手中,而数据与数据之间无法相连。比方说,如果你拍了一张照片上传到 Flicker,会发现这无法与 LinkedIn 上的同事分享。这些数据孤岛让人们感到沮丧,觉得孤岛并没有充分尊重个人。

Berners-Lee认为当前互联网面临了 3 大挑战:

  1. 我们失去了对个人数据的控制权;
  2. 错误信息在网络上传播太容易了;
  3. 在线政治广告需要透明度和理解力。

于是他又提出了解决方案 Solid,核心概念是一个个人数据存储系统 Solid POD,可以将用户在网上产生包含联系人、照片和评论等所有数据,都储存在自己的 Solid POD 中,而非是互联网公司的服务器上。如此一来,所有数据都始终掌握在个人手中,可以随时新增或删除数据,授权或取消给他人读取或写入数据。也就是说,用户不再需要以牺牲个人隐私、牺牲个人数据自主权的方式,来交换互联网公司提供的免费服务。

四、现状

  1. Tim 创立的 Inrupt, Inc 将作为 Solid 项目的商业推动力量,加快开源技术建设、推广 Solid;

  2. Inrupt 公司 正在建立一个商业生态,以促进 Solid 的成功并保护下一代互联网符合 Solid 的目标。它的使命是将数据的所有权恢复到每个 Web 用户上,同时为开发人员,企业和个人释放一次创新浪潮;

  3. 为了更好地保护用户个人数据的隐私,inrupt公司正在研发加密技术以改变当前inrupt员工可以查看用户的数据的情况:

    Today, inrupters have access to the data on your Pod. Inrupt is working on encryption that would change that so that inrupters do not have access to the data on your Pod and in the meantime deliberately does not access your Pod data. When you create a Pod with inrupt via www.inrupt.net, inrupt collects and stores your email and your name as well as your password in hashed form meaning that it is very difficult for internal developers or hackers, in the case there is a system breach, to access your data. This data will only be used to reset your password upon your request, or to contact you in case of crucial service announcements. The hashed password is saved so that your identity can be verified when logging in to your Pod.

  4. github上有个Solid最新动态,每周四更新。
  5. 2018年11月: Solid 中文网发布中国境内首个 Solid Pod 服务
  6. 2019年2月: SoLiD 母公司 Inrupt 发布 Solid React 相关组件库

五、目标

  1. 网络民主不亚于人权
  2. 去中心化
  3. 旨在从根本上改变网络应用程序的工作方式,从而实现让每个人拥有真正的数据所有权,并且改善隐私状况

六、Solid 资源