Out65

学生。前端开发者。keybase.io/outloudvi,GPG 0xA725CB57CA65CAFE。

面向 IPFS 的文章平台

经常有人想做去中心化的文章平台,有的是想借区块链的东风,有的则是因为对文章的消失感到担忧(估计主要是中国大陆用户)。Steemit 是一个例子,它把文章放在区块链上,同时通过数字货币来激励创作者;Matters 是另一个例子,它把文章副本放在 IPFS 上,同时也通过数字货币来激励创作者;瞬 Metataki 是今天看到的第三个例子,它也把文章副本放在 IPFS 上(自称),同时也通过数字货币来激励创作者(这点我可能说得不准确)。

历史渊源

前两个企划我知道得稍早一些,也有账号(虽说基本不发东西在上面),感觉它们发展得似乎还不错(不过 Matters 那边的数字货币项目 Likecoin 发邮件太多让我有点烦)。今天偶然听说了 Matataki [1],感觉这大概是 Matters 的中国大陆版 [2]。据说这项目是国内著名 ACMer 岛娘创业项目

从时间上来看,Matters 似乎出现得更早。Matataki 的文章 id 似乎是自然数,我找到的第二篇文章发布于「3 月 15 日 15:22」,考虑到「4 月 2 日 11:42」发布的第 218 篇文章有标注年份是 2019 年,我就假设第二篇文章的发布日期是 2019 年的三月十五日了。再加上 GitHub 上 Matataki-io/Matataki-Mobile-FE 的首次提交在 2019 年三月,我猜测这个项目大概在 2019 年的三月份成型(顺便说一下, Matataki-io/Matataki-FE 的首次提交在 2019 年六月,看来这个站点可能和 V2EX 一样,也是先适配的手机版本),这篇文章也证实了我的猜测(不过这篇文章不见得是官方发的)。Matters 的话,虽说我看不出哪篇是最早发布的文章,不过我有找到 2017 年末的文章,也就能说明这个项目最晚在 2017 年就存在了。

「存储到 IPFS」

IPFS (InterPlanetary File System,中文直译过来叫“星际文件系统”) 是一个分布式文件系统,有点像 ZeroNet。用户可以向文件系统上提交自己的内容,让全球的 IPFS 节点托管。咱讲过一点往 IPFS 上放东西的方法,这里不赘述了。

Matataki 是这么说的:

在瞬 Matataki 上发布的任一内容都会存储到 IPFS 的网络上,并生成对于该内容的专属哈希值(hash 值) 。
[source]

Matters 也这么说:

所有在 Matters 上發佈的作品(不含評論),皆會上載到星際文件系統(InterPlanetary File System,IPFS)的節點上,實現作品內容的分佈式存儲,完成將數據回歸創作者的第一步。
[source]

也就是说,我们可以假设,作者在 Matataki / Matters 发布的文章将在 IPFS 可见。具体点说,就是我们可以在超过一个 IPFS 节点(尤其是那些用户最多的)找到文章的副本。

Matters 是这样显示的(以为例):

Matters 上的 IPFS 标记


我们也确实能看到,这篇文章确实以这个 hash 出现在好几个 IPFS 节点上了:

IPFS 上的 Matters 文章


就连图片都放在 IPFS 上:

这样的话,我们认为这篇文章确实在 IPFS 上存在多份副本。

(是的,这两天 Matters 上大半是武汉肺炎相关的文章,不过这里选用了一篇其它话题的文章。)

Matataki 是这样显示的(以为例):

Matataki 上的 IPFS 标记


点击这个链接(对于这篇文章来说,是这个),可以查看本文在 IPFS 上(经 Matataki 渲染)的版本:

经 Matataki 渲染的 IPFS 上的此文章


原始数据其实是一段 JSON,不过这也算原文了(图片不算。JSON 中文章引用的图片都是非 IPFS 外链):

不过 Matataki 的文章在其它 IPFS 节点上的副本似乎不多。我在 ipfs.io 和 cloudflare-ipfs.com 试了一些文章,其中的多数(截至本文写作时)似乎都不存在于这些 IPFS 节点上。建议 Matataki 用户在发布文章完成之后通过几个公共 IPFS 节点访问一下你的文章,做个种什么的(ZeroNet 的时候也有不少人这么干就是了)。

另外顺便说一下,matataki.io/ipfs/ 并不是一个完整功能的 IPFS 节点(至少没有 IPNS),而且似乎也不会托管非 Matataki 的 IPFS 内容。强行试图访问会报错:

Matataki 的 IPFS 服务不能读取非 Matataki 内容


而且不知道为什么,很多 IPFS 版本都会带上一个没做混淆的邮箱地址(不过有些不含邮箱地址)。总感觉会被邮件地址抓取机器人上来爬…

Matataki 发布到 IPFS 上的部分文章的作者 Email 地址


总之

Matters 确实把文章在 IPFS 上保存了复数个富文本内容副本,包含图片。

Matataki 也尝试把文章以 JSON 形式放在 IPFS 上(不含图片),不过这些内容可能并没有被发布到其它 IPFS 节点上,因此可能仍然只存在一份文章副本。同时,即使文章被发布到多个 IPFS 节点上,这些节点上的文字可能也不是完整的文章。如果 Matataki (或用户使用的其它)的图片托管服务停止,含有图片的文章将不完整。

一条建议:最有效的防止文章(以及你所创造的其它内容)不明不白地消失的方法,就是不要把它们只放在中国大陆地区的服务(或服务器)上。如果你不记得 v2ex 的国内服务器曾经被以莫须有的罪名拔掉网线、不记得 LeanCloud 域名被不明不白地禁封、也不记得 Gitee 突然因为「涉及违法不良信息」被停止解析的话…没关系,以后一定会有更多这样的事情让你理解这条有趣又有用的建议。

脚注

  1. 嘛… Google Translate 说 Matataki = 「瞬き」,也就是说「瞬 Matataki」这个名字实际上是两个(不同语言的)同义词连接起来得到的。这里就用 Matataki 指代这个项目啦。
  2. 其实 Matters 本身是面向中文写作的,但考虑到其上有太多对于中国大陆「政治不正确」的内容,估计没法在大陆正式地运营,所以才会有人想做「大陆特供版」吧。


本文为 Blog 上原文删除所有外部链接后的版本。所有修改均以 Blog 原文为准。由于 IPFS 的不可变性,Matters 的副本无法更新。欲查看原文,请参见 Re:Linked
本文以 CC BY-NC-SA 4.0 协议发布。

發佈評論

看不過癮?

馬上加入全球最高質量華語創作社區,更多精彩文章與討論等著你。