面向 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 是这样显示的(以此为例):
我们也确实能看到,这篇文章确实以这个 hash 出现在好几个 IPFS 节点上了:
- https://ipfs.io/ipfs/QmbaxsyNyWQstEykY3mNXoWwVHyC2bu56jLvqL3gd7mNWb/
- https://cloudflare-ipfs.com/ipfs/QmbaxsyNyWQstEykY3mNXoWwVHyC2bu56jLvqL3gd7mNWb/
就连图片都放在 IPFS 上:
这样的话,我们认为这篇文章确实在 IPFS 上存在多份副本。
(是的,这两天 Matters 上大半是武汉肺炎相关的文章,不过这里选用了一篇其它话题的文章。)
Matataki 是这样显示的(以此为例):
点击这个链接(对于这篇文章来说,是这个),可以查看本文在 IPFS 上(经 Matataki 渲染)的版本:
原始数据其实是一段 JSON,不过这也算原文了(图片不算。JSON 中文章引用的图片都是非 IPFS 外链):
不过 Matataki 的文章在其它 IPFS 节点上的副本似乎不多。我在 ipfs.io 和 cloudflare-ipfs.com 试了一些文章,其中的多数(截至本文写作时)似乎都不存在于这些 IPFS 节点上。建议 Matataki 用户在发布文章完成之后通过几个公共 IPFS 节点访问一下你的文章,做个种什么的(ZeroNet 的时候也有不少人这么干就是了)。
另外顺便说一下,matataki.io/ipfs/
并不是一个完整功能的 IPFS 节点(至少没有 IPNS),而且似乎也不会托管非 Matataki 的 IPFS 内容。强行试图访问会报错:
而且不知道为什么,很多 IPFS 版本都会带上一个没做混淆的邮箱地址(不过有些不含邮箱地址)。总感觉会被邮件地址抓取机器人上来爬…
总之
Matters 确实把文章在 IPFS 上保存了复数个富文本内容副本,包含图片。
Matataki 也尝试把文章以 JSON 形式放在 IPFS 上(不含图片),不过这些内容可能并没有被发布到其它 IPFS 节点上,因此可能仍然只存在一份文章副本。同时,即使文章被发布到多个 IPFS 节点上,这些节点上的文字可能也不是完整的文章。如果 Matataki (或用户使用的其它)的图片托管服务停止,含有图片的文章将不完整。
一条建议:最有效的防止文章(以及你所创造的其它内容)不明不白地消失的方法,就是不要把它们只放在中国大陆地区的服务(或服务器)上。如果你不记得 v2ex 的国内服务器曾经被以莫须有的罪名拔掉网线、不记得 LeanCloud 域名被不明不白地禁封、也不记得 Gitee 突然因为「涉及违法不良信息」被停止解析的话…没关系,以后一定会有更多这样的事情让你理解这条有趣又有用的建议。
脚注
- 嘛… Google Translate 说 Matataki = 「瞬き」,也就是说「瞬 Matataki」这个名字实际上是两个(不同语言的)同义词连接起来得到的。这里就用 Matataki 指代这个项目啦。
- 其实 Matters 本身是面向中文写作的,但考虑到其上有太多对于中国大陆「政治不正确」的内容,估计没法在大陆正式地运营,所以才会有人想做「大陆特供版」吧。
本文为 Blog 上原文删除所有外部链接后的版本。所有修改均以 Blog 原文为准。由于 IPFS 的不可变性,Matters 的副本无法更新。欲查看原文,请参见 Re:Linked。
本文以 CC BY-NC-SA 4.0 协议发布。