IPFS 使用案例和潜在场景
用途和案例
IPFS 是一个用途很广的技术,有巨大的使用场景。下面是一些基于 IPFS 打造的项目列表,这个列表很长,而且还在一直发展。其中有一些只是最小原型,有些是背后有成熟公司支撑的完整项目.
[toc]
一、共享文件
一个最简单的用例就是点对点的传输文件。
桌面应用
IPFS Desktop 是 IPFS 的官方桌面客户端. 它有一个内置的 IPFS 节点服务,可让你在 IPFS 上固定(PIN)文件并提供共享文件链接。这是 IPFS 生态系统中最容易的一个入口点。
Arbore 是一个免费开源的文件共享软件,可以让你无限制的私下给你的联系人发送图片或文档。
另外一个替代产品是 Orion . Orion 是一个易于使用的IPFS 桌面客户端。它有助于在公共 p2p 网络上共享内容,而无需任何命令行或技术知识。该应用程序包括启动个人 IPFS 节点所需的一切。
共享你的文件或出售文件副本
Enzypt.io 允许你出售文件或仅仅生成共享链接就可以共享文件。
FileNation 用来共享文件的一个替代软件。直接输入对方邮箱地址和指定文件即可发送。
Dead drop
dead drop 是一个物理固定在公共位置的磁盘驱动器或其他存储设备,供人们读取和存放文件。比如将 U 盘嵌入墙中。这是一个IPFS版本,感谢 IPFS Dead Drop项目。
二、协作
让 IPFS 协调你和同事之间的数据流,即使在脱机工作或在局域网上也是如此。
文档写作
PeerPad.net 是一项软件服务,可让你直接在浏览器中编写、协作和导出 Markdown 文档,类似于 Google 文档的工作方式。
版本控制
行星间版本控制系统(IPVC) 是一个类似于 git 建立在 IPFS 之上的分布式版本控制系统。它适用于任何类型的数据,而不仅仅是人类可读的内容。它也特别适用于对大文件进行版本控制。基本概念深受 git 和 gitless的影响。
事件连接助理
Gthr.io 是一个简单的演示应用程序,通过让参与者扫描彼此的二维码将参与者连接到同一个现场活动。它是为2019年 IPFS Camp 大会制作的。你可以查看他们的演示文稿 。代码在 https://github.com/JustMaier/gathering 。
信息通讯
Berty.tech 是一个基于 IPFS 的消息通讯程序,它让设备之间不通过服务器直接建立连接。如果没有互联网连接,它也可以在局域网上运行。还可以通过蓝牙或其他近距离传输技术来实现通讯。 Berty 正在将 IPFS 引入移动互联网领域 。专业人士也制定了一些指导方针 ,以促进IPFS在移动互联网的发展。
三、资源存储
通过将项目的脚本或大型数据库存储在 IPFS 上,可以获得以下几个收益:
- 即使用户不使用 IPFS 客户端,也可以达到重复内容消除的目的;
- 如果用户使用客户端,你的用户只需要将他们的数据生成种子,减少你基础设施上的负载,
- 即使你的服务中断了,用户还是能继续使用你的服务;
- 你的用户不用从你的服务器直接获取内容,减少服务器和带宽成本。
去中心化虚拟现实VR
Decentraland 是一个虚拟世界,你可以用虚拟现实设备、电脑或智能手机去探索一下它。它们将所有资料存储在 IPFS 上,因此客户端可以同时从几个节点获取大文件,更快地加载和同步。
视频存储平台
DTube 在 IPFS 上托管视频,以减轻其基础设施的压力。DTube 网站本身不是去中心化的,主要管理用户之间的协调和内容的可发现性。你还可以学习如何在 IPFS 上复制 Youtube 。
共同托管大型数据集
Qri 是一个用于管理大型数据集的开源工具。Qri用户可以降低托管成本,跟踪数据更改,回滚到以前的版本,并在更新数据时更容易协作。跨数据集的重复数据消除还有助于尽可能减少物理存储使用量,同时减少同步时间。
并行化大数据分析
在一些繁重的数据分析中,你可以使用 Hadoop 在多个节点上并行计算提高效率。但是在非常大的数据集上,获取每个节点的相关子集所需要的时间甚至比计算需要的时间还要长。Scott Brisbane在一篇论文中提出了一种设计 ,使用 IPFS 大幅减少数据读取时间,并将总体分析时间降到之前的1/4。这里是概念总结 。
死亡开关
Killcord 是一个开放项目,如果用户在一段时间后没有登录签到,系统会自动公开发布预先保存的数据。这可以确保在记者自己无法进行调查的情况下,公众可以继续对其开展调查,因为收集的信息现在将自动公开。
地图 on IPFS
IPFS devgrant 在IPFS 上托管 OpenStreetMaps 资料 。长远来看,这可以让应用程序同步速度更快,服务器的带宽要求更低。
P2P 视频流平台
Blust.tv 希望在用户请求时使用 IPFS 来分发电影。通过专用加密手段,促进 P2P 网络上视频流的合法使用。
帮助存储重要数据
得益于IPFS集群最近的升级,你可以让IPFS集群来帮助你存储数据,而不必担心其他节点会不会改变你的数据。通过协作模式 ,你无需了解IPFS的复杂性,即可随意复制 Pacman 包或2019冠状病毒疾病相关论文 。
实时视频流
让你的用户之间相互传输数据流,可以减少对服务器的带宽需求,从而避免流媒体服务器过载。你可以从Toronto Mesh网格的工作原型 或 Fission 的实验 中获得灵感。Fleek 也使用他们的 Amazon S3/IPFS 兼容性工具进行了一些实验 。
去中心化机器人
机器人公司KODA 正在开发世界上第一款去中心化机器人狗KODA-9 。它使用 IPFS 存储用户数据,例如监控录像。
四、IPFS 作为基础设施
使用 IPFS 可以抽象出服务器之间协调的复杂性。无论你的架构如何,IPFS都可以满足负载平衡、重复数据消除、缓存和高可用性等多种要求。它的高度模块化设计也意味着你可以轻松地根据需要进行定制。
去中心化集群
IPFS集群 是官方 IPFS 集群管理工具,可以用来复制数据。与任何分布式集群一样,可以达到冗余、负载平衡和写权限管理的目的。你可以把 IPFS 集群连接到 IPFS 网络,作为 IPFS 网络的一部分,也可以单独运行一个独立的 IPFS 集群。借助协作模式 ,你还可以邀请外部人员帮助复制你的数据,而无需他们具有写访问权限。
CDN 内容分发网络
内容分发网络(CDN) 把内容存储在离用户物理位置较近的服务器上,这些服务器组成一个 CDN 网络。让服务器在物理上更接近用户,可以保证更低的网络延迟,实现负载平衡,并允许你根据需要扩展内容的可用性。IPFS 网络在设计上就是一个CDN,因为每个节点都会缓存它们读取过的数据,并将这些数据提供给网络内对等的节点。
去中心化包管理器
NodeJS 包管理器(NPM) 在 IPFS 上建设了镜像存储。通过在 ipfs 上使用专用的客户端 npm-on-ipfs ,可以从 ipfs 中提取包并分发给需要它们的其他客户端。例如,在同一栋大楼内工作的团队可以相互提供缓存的包,这意味着该公司的出口网络成本更低。
Nix包管理器 的开发人员正在集成 IPFS 以分发二进制包和源。
部署软件容器
Netflix 正在使用 IPFS 在全球范围内同步其 Docker 容器 。由于每个节点都是从各自链接最快的节点去获取资源,因此同步速度大大快于常规同步方法。
高效工厂网络
Actyx正在帮助制造业将其工厂升级到工业4.0时代,这意味着将机器连接在一起以获得更好的性能、故障容忍度和灵活性。Actyx 在所有机器上部署 IPFS ,在其之上构建了一个自定义操作系统。它们可以发出监控数据、接收订单、同步信息,并在本地计算下一步的动作。
五、降低存储使用量
我们可以在节点上只存储一份相同的数据,因此一些存储受限的项目天然适合运行在 IPFS 上。
压缩遥测数据
传感器数据通常是结构化的,还包含重复的数据块。在记录大量传感器数据的情况下,得益于重复数据消除技术,IPFS甚至可以比简单的压缩更有效地减少磁盘使用量。
六、把你的数据去中心化
通过分散存储你的数据,你可以提高数据的可用性,以防服务器出现问题、ISP对你发布的内容不满意,或者敌对政府发布了禁令造成你的数据丢失。你还可以减少节点已连接用户的加载时间,也可以让你的应用程序脱机或在本地网络上运行。根据你的应用程序实现情况,你的用户还可以通过本机重复数据消除和缓存来减少存储占用和下载时间。
去中心化数据库
OrbitDB 是一个无服务器的分布式 P2P 数据库。OrbitDB 使用 IPFS 作为其数据存储,IPFS Pubsub 自动将数据库与其他节点自动同步。它是一个最终一致的数据库,使用 CRDT 进行无冲突的数据库合并。 OrbitDB 成为去中心化应用程序(DAPP)、区块链应用程序和 离线优先 web 的最佳选择。有 Go 和 Javascript 实现。
如果您当前使用的是 MongoDB,那么您可能更喜欢 ThreadDB 或 AvionDB ,它们是构建在 IPFS 之上的非结构化数据库。
Textile IPFS托管
Textile是一家 IPFS 托管公司,开发 IPFS 上层应用。除此之外,他们还提出了称为 bucket 的隔离云环境。Textile 还构建了一个令人印象深刻的工具集,用于构建去中心化应用程序和集成 。
NextCloud 集成
JusticeNode 为流行的自托管云服务 NextCloud 创建了一个扩展。这种集成允许用户将IPFS用作外部存储。
在 IPFS 部署网站
Fleek.co允许你轻松地在 IPFS 上构建网站和应用程序。该工作流类似于 Netlify :开发者可以将其网站或 GitHub 上托管的web应用程序链接到 Fleek,并在对特定分支进行更改时自动在IPFS上构建和部署。Fleek 还提供了以太坊名称服务(ENS)和域名集成,并计划尽快实现更多的部署方式:更多 Git 提供商、通过命令行界面部署、拖放文件夹、通过API等。
以太坊和固态特定应用
Embark是一个用于构建和部署去中心化应用程序的一体式开发平台。它目前与以太坊区块链、去中心化存储(如 IPFS )和去中心化通信平台(如 Whisper 和 Orbit )集成。
静态站点生成器
有几个插件可以使你的网站去中心化,如VuePress或Gatsby,这些流行的静态站点生成器可以用来构建静态网站。
七、构建 dApp
有许多可用的框架可以在IPFS上构建去中心化应用程序DAPP。例如,请参见Dappkit、Fission、Fleek或Textile。
SecureMyState
这个用于政府与公民沟通的应用程序是在DenverETH 2020黑客竞赛期间两天内开发的。它允许科罗拉多州公民管理自己的国家所有数据,如驾驶执照状态或商业执照。你可以在Medium 上找到有关此项目的更多信息。
Marketplace市场
Origin是一个区块链驱动的在线商业平台,在IPFS上存储数据。Brave浏览器有自己的商店来销售他们的商品。
BT trackers
BitTorrent是一种强大的P2P文件共享技术,但在中心化的 tracker 帮助下,它可以更好地工作,帮助用户知道谁拥有什么。有人试图将这个功能去中心化,也取得了一定成功。你可以在这里找到他们的工作原型。
COVID-19 疫情跟踪
这个简单的跟踪 API 允许任何 IPFS 节点请求有关 2019 冠状病毒疾病大流行的最新数据。查看 GitHub 上的代码 。
GitHub 集成
这个简单的 GitHub Action 允许您在 IPFS 上自动上传 GitHub 项目发布结果。
备份 Wolfram 数据
在最近的一次更新中,Wolfram 允许用户将其计算或资产存储在IPFS上。查看版本说明以了解更多信息。
音乐流平台
Audius 是一个基于 IPFS 的音乐流媒体平台。艺人掌控一切,平台不收取任何费用,听众可以在离线时欣赏他们的音乐。
音乐播放器
Diffuse.sh 是一款在线音乐播放器,你可以连接到你的音乐库,在任何地方收听。你现在可以将其连接到 IPFS 存储库。
去中心化自治组织 (DAO)
Aragon 是一种用于创建 DAO 的服务,它使用 IPFS 存储数据。
八、Web自身去中心化
网络的一些核心部分仍然是中心化的,这使得它更容易被破坏或被审查。IPFS 可让网络更具弹性。
去中心化 DNS
域名系统(DNS) 是网络中最集中的部分之一。通过查询一个中心服务器可以知道在哪里可以找到 google.com 或 facebook.com,中心服务器的设计很失败。在 IPFS 上备份 DNS 可以提高 DNS 服务器的可用性。一个 Javascript 实现的去中心化 DNS 服务器原型已经在 NPM 上发布 。
归档web
得益于重复数据消除特性,IPFS 是一个强大的 web 存档工具。InterPlanetary Wayback 正在解决这一问题。
抗审查
维基百科在土耳其已经有几年都无法访问了。IPFS 背后的公司 Protocol Labs(协议实验室),在 IPFS 上托管了一个维基百科镜像。有关更多信息,请参阅博客帖子 和项目代码 。
九、区块链案例
IPFS 天然适合区块链 场景。链的公共状态分布在参与者之间的链上,特定数据存储在 IPFS 上。得益于内容寻址技术,区块链只需要存储 IPFS 的 multihash 哈希值,用户可以确保从任何节点获取到正确的数据。这种架构正在成为区块链应用的事实标准。
数据存储的全局市场
Filecoin 允许存储所有者为需要额外空间的用户托管数据。这是 IPFS 存在的首要原因。在今年晚些时候,等 Filecoin 它将成为 IPFS 增长的巨大加速器。Filecoin 项目由协议实验室开发 。
Textile.io 为你的应用构建 Powergate 工具,以便在 Filecoin 主网络启动后与 Filecoin 进行交互。
交换IoT数据
IOTA 是维护 Tangle
的基础,一个零费用的区类块链式网络。他们的愿景是实现传感器、机器和其他设备之间的数据交换自动化。大家可以免费使用或向供应商购买服务。IOTA 宣布 数据现在可以托管在IPFS上,如本演示所示 。
将加密货币发送到人类可读的地址
Humanize Pay项目 让您拥有一个易读易记的以太坊地址,用户不必处理冗长而难以记忆的地址。
AI 即服务
MindSync 希望建立一个区块链来主办人工智能比赛,并让人工智能技能提供服务和需求用户满足。
教育平台
RocketShoes 是一个教育平台,学生在其中制作和标记学习材料、作业、笔记和数字资源。这些存储在 IPFS 上,用区块链确保时间戳、所有权证明和激励层。
跨链查询 DWeb
TheGraph 希望借助其查询语言 GraphQL 和 IPFS 对链的索引,使用户能够在任何区块链或分布式服务上查找信息。
所有权证明
通过 IPFS 和区块链,您可以在证明你对文件的所有权,而无需公开文件具体内容。请参阅此处的实现示例 。
真人证明
Idena 是一个区块链,用来证明你是人类(这个概念与 DID 不同)。它在底层用的是 IPFS。
构架智慧城市应用
Robonomics 正在以太坊和 IPFS 的基础上为智能城市 应用程序构建一个框架,以方便交换数据(例如,传感器或服务器之间)。
去中心化预测市场
Augur 是一个区块链和去中心化的市场,在那里你可以对任何事情下注,也可以向智慧的群众请求预测。像许多基于区块链的应用程序一样,数据托管在 IPFS 上。
去中心化天气数据
天气风险市场 Arbol 依赖区块链技术来跟踪和核对天气数据。Arbol 使用 IPFS 存储数 TB 的已核对天气数据,而无需担心篡改。
十、去中心化身份标识
Decentralized Identity去中心化身份标识 的概念是将您的所有个人数据存储在您的设备上,而不是让您使用的每项服务都存储一份。你对数据的控制意味着你决定哪个应用程序可以访问什么,你只需填写一次信息,你也可以撤销授予过的访问权限。去中心化身份是一个热门话题,IPFS 是许多工程师构建的核心技术之一。身份钱包 Nomios 在 2019年 IPFS 夏令营 期间分享了一些关于去中心化身份生成技术的想法 。
Element
Element 是一个开源项目,它结合了以太坊智能合约的内容寻址和互动性,提供了一个管理身份的工具。
3ID Connect
3ID Connect 由 3Box 开发,3Box 是一个用于利用IPFS 的应用程序的个人数据管理器。3Box 想让使用去中心化身份变得像点击“Connect with Google
”或“Connect with Facebook
”一样简单。你可以阅读他们的文章 ,了解如何将其集成到你的程序中。
微软 ION
微软 开始实验,将一些去中心化的身份信息固定到 IPFS ,并将哈希发布到比特币区块链。微软写了一篇关于他们研究的博客 。
Ceramic 协议
Ceramic协议是IPFS上去中心化身份的另一个提议。一个用于数据和文档交换的完整协议。
十一、尚未实现的案例
以下是尚未实现用例的非详尽列表。你可以挑一个接受挑战,也可以遵循自己的大脑想一想 IPFS 能做什么!如果你想讨论你的想法或疑问,请访问IPFS论坛 或IPFS帮助页面。
- 协调活动家团体,不必担心审查
- 管理全世界的知识
- 为遗传数据建立一个巨大的数据库
- 在IPFS上创建网状网络
- 为现有mesh网络带来更多服务
- 无服务器在线游戏
- 将Hadoop放在IPFS上
- 将更多传输添加到IPFS以供移动使用(此处或此处)
- 共同发布你访问的网站
- 用于间隔学习的分布式卡
- 解锁脱机优先的用例
- 构建分布式操作系统
- 分发医疗数据
- 改进灾难恢复期间的信息共享
- 为你的帮助或提议获得一笔补助金或公开捐款
- 为你的课堂制作一个互动应用程序
- 构建分布式社交媒体
- 去中心化学者论文的同行评审
- 帮助托管NASA数据库
- 帮助托管LibGen素材
- 制作漫画阅读器
- 制作Gif共享平台
- 一种交互式P2P应用程序,可在节日等拥挤的活动中工作
- IPFS上的以太坊/Solidity智能合约CI工具链