IVY DOM


 

人生就像一副复杂拼图
每个人总有属於自己的记忆碎片
优质美国空间-老薛主机|IVY DOM|Flowline|

联系我

RSS




十二月 27, 2018

Solid —— 万维网之父的去中心化理想

万维网之父 Tim Berners-Lee 在 2017 年底启动了 Solid 项目,近期又组建了一家名为 Inrupt 的公司以推动 Solid 商业化。

Solid 是 Social Linked Data 的缩写,官方宣称是一个去中心化社交平台。而 Inrupt 这家公司的使命是“ Re-decentralize the Internet”,即“使互联网重新去中心化”。简单来说,现在我们的数据都在各大互联网巨头手中,基本上你没有办法将其自由导出,而 Solid 设计了一个名为“Linked Data”的规范使数据可以在互联网中自由流通。

举个例子,假如微博和微信同时支持了 Solid 协议,那么当你发一条朋友圈后,微博也会自动同步。不仅如此,如果你不向微博授权,那么微博就拿不到你的这部分数据。这就打破了由各巨头故意建造的数据孤岛,也让数据真正归创造内容的用户所有。所以社交并不是 Solid 的目的,只是 Solid 想通过社交促使更多用户将数据上传到 Solid 中,从而使完善 Solid 的生态,完成冷启动的一个阶段。

Tim 在中国是不太为人所知的,因为在中国很少谈及“万维网”,谈的最多的是互联网。万维网是互联网的子集,我们现在所访问的一个个网站,其实就是万维网的一部分。Tim 创建的“万维网联盟(W3C)”制定了一系列现在 Web 所遵从的规范,包括大众最熟知的 HTML5(民间称之为 H5)。而 Tim 本人也是世界上第一个浏览器的编写者,所以他在 2016 年获得了图灵奖。当然,他的履历很丰富,拥有的名誉数不胜数:

他在创建 Inrupt 公司后已向 W3C 委员会提议尽量少参与 W3C 的工作,所以目前基本上是全力参与 Solid 项目的设计、开发和推广。

我在“Web 前端技术的发展是否使整个 Web 偏离了万维网的原初设计”这篇文章中曾探讨过 Web 前端重客户端的发展是否偏离了 Tim 的原初设想,是在看过 Tim 的传记之后产生的启发。现在想想,我们这个世界中,有太多事情没有按照创造者的原有想法进行下去,反而获得了更大的爆发。所以,现在的 Web 不一定不是好事。

但是,Tim 是不满足的。他在万维网中相当于造物主一般的存在(Google、Facebook 不过是造物主下的亚当夏娃),他不满意他的孩子们割据地盘,人为构造的一个个数据孤岛,他要使这个世界重新架起流通的大桥和通行的飞机,让数据生产者从数据生产中受益,让隐私问题从根本上解决。他不相信互联网巨头,将权力完全下放给了用户——由用户决定哪些应用可以读取用户的数据,要将数据的所有权完全还归于用户。

为了达到这样一个目的,Solid 还实现了 WebID 这样一个身份认证系统。用户注册完 WebID 后可以用这个账户登录所有支持 Solid 的应用。也就是说,如果整个互联网都支持了 Solid,那么你只需要一套账户密码就可以通行整个互联网。拥有了 WebID 之后,用户还会拥有一个 Pod,这个 Pod 的作用是存储所有的用户数据,你可以把这个 Pod 想象一个网盘,只不过 Pod 内的数据是智能数据(这个后面再讲)。

为了让 Pod 更去中心化,所以 Solid 开源了由 Node.js 编写的 solid-server 程序,任何人都可以部署这个程序成为一个 Pod 提供商,从而让用户自由选择 Pod。目前在中国还没有人部署 solid-server,而鉴于我国的网络环境,访问美国的 Solid 是比较缓慢的,如果能在国内架设一个便可以解决网络访问慢的问题。架设 solid-server 不会像挖矿或成为 Filecoin 矿工那样获得收益,更多的是基于对 Solid 理念的认可和其他商业考量(举个例子:流量、品牌建立)。

Solid 是 Tim 发起的项目,自然是遵循现有 W3C 标准的。其大量运用了语义网(现在称为知识图谱)的研究成果,比如 Linked Data、Turtle、RDF 等。Turtle 用来编写 Linked Data,操作 Linked Data 通常使用 rdf.js (一个 JavaScript 框架)。

而这也是 Solid 缺陷最大的一个地方。RDF、Turtle 这套理论过于学术化,严重与一线开发者脱节,不利于 Solid 的推广和应用的开发(门槛略高)。所以在未来,要么 Solid 放弃 RDF 这一套理论(基本不可能,现在看来是要一条路走到黑),要么发展出来对开发者更友好的数据操作框架,完全屏蔽 RDF 的细节。

实现基于 Solid 规范的应用后,可以做到应用程序和数据的完全分离。现在我们也常常会说程序和数据分离,不过更多的是软件开发过程中的数据分离,而不是从应用层面来讨论找个事情。不仅如此,如果一个支持 Solid 的应用发展壮大,因为数据是开放的并且有很强的互通性,同一款应用会涌现出更多竞品,假如你不喜欢用微信,可以立即换一个比微信更强的软件,而不用担心自己的聊天记录、社交关系因为更换软件而消失。而且因为数据的互通,使一个软件的冷启动变的异常简单,此时整个开发团队可以立即考虑使用这些数据做更智能的事情,从而减轻运营负担,释放出更多生产力。而这种数据的重复利用,也是一种资源节约。

最重要的是,这些数据始终由用户控制、用户创造,Solid 应用只有使用权。如果你的公众号被腾讯封掉,也不用担心文章丢失。微信也不会在协议条款中写“用户所产生的所有数据归腾讯所有”这种霸王条款了。

最后总结下 Solid 的优缺点。

优点:

  1. 真正的去中心
  2. 用户只需要一套账号密码即可通行互联网
  3. 用户对自己的数据拥有完全的控制权
  4. 用户可以自由选择不同的 Solid 应用,不会被微信绑死

缺点:

  1. 发展处于早期、UI/UX 和用户体验非常差
  2. 对开发者不友好,过于学术化
  3. 访问速度较慢
  4. 技术老旧、小众
  5. 和巨头天然的对抗特性
  6. 商业化场景目前来看还有限

虽然 Solid 还有很多缺点,但正是这些缺点,给了愿意参与这个生态的所有人机会。用 Tim 的一句话结个尾吧:

我一直认为互联网是大家的。这是我和其他人为保护它而进行激烈斗争的原因。我们设法带来的变革已经创造了更好且更连通的世界。但是,为了所有我们已经获得的好处,互联网已经发展成一个不公平和分裂的引擎;受到那些利用它为自己服务的互联网大佬的影响。

Solid 资源

 

相关文章

返回
  1. 暂无评论。

  1. 暂无 Trackback

You must be logged in to post a comment.