以DTube(IPFS版的Youtube)为例看IPFS的局限

https://d.tube/ 是个类似youtube的视频网站,基于IPFS和steem开发。将中心化和去中心化融合,实现尽量去中心化的同时,又不影响使用体验。去中心化的部分包括:

  • 图片和视频使用IPFS去中心化存储
  • 激励模型:上传视频者获得的激励使用steem区块链(这个我不怎么了解,就不评价了)

D.Tube aims to become an alternative to YouTube that allows you to watch or upload videos on IPFS and share or comment about it on the immutable STEEM Blockchain, while earning cryptocurrency doing it.[1]

IPFS的局限

虽然IPFS可以去中心化的存储任何文件,但是在这里它只用于保存视频和图片。
以这个视频为例,打开这个网页时,网页请求中使用IPFS协议的包括:

  • 预览图片:https://snap1.d.tube/ipfs/QmRMpbUxaeaMiqNZ599hGjzoMLw5ZmVr4o4FZ3V2o7rPXX
  • 视频
    • 低分辨率版:https://video.dtube.top/ipfs/Qma5uh1kwRaSpojV7qfGW91uHWAAmRVugB4Hb6zHz5b61y
    • 高分辨率版:
      https://video.dtube.top/ipfs/QmQRpCZN1r2EdsxdAx6YzWgkFb7RD3g8Agp6C2SpjcGMzB

其他动态数据(视频的CID、介绍,用户的个人信息、订阅信息)、数据的检索、IPFS网关,都是中心化的。存储动态数据、检索是IPFS不擅长的,IPFS协议没有检索功能,虽然Filecoin计划加入这个功能。

这些动态数据需要中心化的方式存储,以实现高效的检索。这导致不可能实现像官网简介中说的“Resistant to censorship”。

IPFS目前其实没有给DTube带来太多好处

因为大多数用户并没有安装IPFS,访问dtube只能通过IPFS的网关,视频数据仍然是直接从dtube获取的。从用户端这边来看,dtube是完全中心化的。dtube服务器需要承载用户端所有的流量访问。
唯一的好处是,因为视频保存在IPFS网络,没法被删除。

相比而言,peertube在这方面做得更好,通过webtorrent实现观看者之间的互助,以降低中心服务器的网络压力。

如果用户具备直接访问IPFS网络的能力的话,情况可以得到改善:

  • 开发PC端的客户端,在本地运行go-ipfs,不依赖IPFS的网关
  • 使用js-ipfs,使浏览器具备直接访问IPFS网络的能力

开发者

主力开发者只有两个人

  • https://github.com/skzap
  • https://github.com/hightouch67

他们开发了播放器 embed,介绍不多,我也还没有对代码进行仔细研究,可能针对IPFS协议的情况进行了优化。使用dtube观看视频,貌似比我直接打开视频链接观看要更流畅。

ref


  1. https://about.d.tube/ ↩

你可能感兴趣的:(以DTube(IPFS版的Youtube)为例看IPFS的局限)