【IPFS相关】点对点是开源软件分发的解决方案吗?

本文由IPFS原力区收集译制

使用AppImage,应用程序作者可以使用一种格式将Linux应用程序直接分发给最终用户,而无需中介,例如由中央实体控制的分发或集中式存储库。然而,仍然需要托管,镜像,CDN,安全基础设施等,所有这些都倾向于由大公司拥有或者设置繁琐且昂贵。点对点技术能否解决这个问题,同时仍然易于使用?我们可以将开源软件分发完全分散吗?

挑战

今天为Linux分发应用程序有什么复杂的?

  • 您需要将应用程序分配到分发中(由于分发设置的策略,这可能非常麻烦),或者您需要为每个分发和版本设置私有存储库(例如可能破坏系统的个人包存档,对用户来说麻烦,并且通常不赞成)。但是,使用AppImage,有一个“一个应用程序=一个文件”格式,允许用户在大多数常见的桌面Linux系统上运行您的应用程序 -  问题基本解决

  • 要上传内容,您需要有某种形式的托管(付费或免费),必须设置帐户,必须处理密码 -  需要简化

  • 在免费服务的情况下,托管可能随时消失 -  需要解决

  • 需要在单独,繁琐的步骤中对数据进行数字签名 -  需要简化

  • 在用户所在的每个国家/地区都没有镜像 -  需要解决

  • 访问可能会受到某些国家/地区的限制,例如,中国用户可能很慢或无法访问GitHub这样的网站 -  需要解决

  • 使用https保护安全是麻烦的,需要付费和/或摆弄证书 -  需要简化

  • 用户需要知道他们可以信任谁,以便不从一些随机的getthisgreatshinyapp.com网站下载应用程序 -  需要解决

  • 内部软件分发意味着一遍又一遍地从互联网上下载相同的东西(这可能是缓慢的,昂贵的,或两者兼而有之),或者设置本地镜像,这是一个繁琐(因此,昂贵)的管理任务 -  需要简化

解决方案?

IPFS

输入IPFS,“点对点超媒体协议,使网络更快,更安全,更开放”。

【IPFS相关】点对点是开源软件分发的解决方案吗?

IPFS。资料来源:  ipfs.io

根据维基百科,

星际文件系统IPFS)是一种协议,旨在创建一种永久和分散的存储和共享文件的方法。这是一个内容可寻址,对等网络 超媒体分发协议。IPFS网络中的节点形成分布式文件系统。IPFS是自2014年以来开发的开源项目

它可能是下一次互联网革命。

什么让IPFS对开源软件分发感兴趣?

  • 正如来自中国的AppImage用户所报道的那样,似乎真正在全球范围内发挥作用
  • 【IPFS相关】点对点是开源软件分发的解决方案吗?

 

  • 你不需要登录和密码(但是私钥 – 毕竟你需要一些东西
  • 数据不存储在一些大公司拥有的中央服务器上
  • 每个人都可以上传(但我们需要找出一些信任网,以便用户下载来自信任上游作者的文件,而不是来自一些随机的人)
  • 没有摆弄https,服务器配置,证书
  • 没有单独的签名步骤,它可以内置到工作流程中

但仍有一些悬而未决的问题:

  • 有关IPFS文件的元数据如何通过生态系统传播?我们是否可以构建一个点对点数据库来保存有关可用AppImages的信息?
  • 我们如何实现不同的渠道(如发布,测试版,阿尔法,夜间,连续等)?
  • IPFS是最合适的选择吗?或者我们应该使用Dat?IPFS似乎有更长的历史,但Dat拥有这款名为Beaker Browser的酷炫对等网络浏览器。为什么有两个系统似乎随着时间的推移变得越来越相似?即使在阅读了两个项目的FAQ部分之后,我仍然没有找到杀手论点,为什么我们需要两个这样的系统,或者我们应该使用另一个这样的系统

Beaker浏览器和数据

直接从他们的主页:

Beaker是一个用于探索和构建点对点Web的实验性浏览器。(它)增加了对称为Dat的对等协议的支持。它是您熟悉和喜爱的网络,但不是HTTP,网站和文件都是通过Dat传输的。

这是读写网络,可能接近Tim Berners-Lee最初设想的万维网,当他在NeXT计算机上创建它时。

这很棒,很容易,它提供了完美的用户体验。Beaker 浏览器甚至可以作为AppImage用于Linux 。但为什么他们不在Dat上托管AppImage?

让我感到困惑的是,为什么我们在这里有两种类似的竞争技术让我感到困惑,以至于我一直采取“等待,看看哪一个将成为每个人都使用 ” 的立场。

或者IPFS与Dat之间存在技术差异,使得一个或另一个更适合二进制文件的分发,尤其是AppImages?

我们从哪里开始?

作为第一步,我们需要更深入地了解IPFS等系统带来的范式转换。点对点开源软件分发应该如何?

行动计划可能如下所示 – 您如何看待它?

  • 使其易于使用:将IPFS(或DAT或其他类似系统)集成到AppImage工具中,以提供极其简单的工作流程,而无需用户了解ipfs的内部工作原理
  • 构建元数据的中心基础架构:考虑一个基于IPFS,完全分散的AppImageHub数据库
  • 让它值得信赖:建立一些信任网
  • 提高效率:与IPFS作者合作,让IPFS分块机制了解squashfs(AppImage使用的格式),以便最大限度地重复数据删除 – 毕竟,如果我们只需要下载libQt5Core.so.5一次,那将非常酷使用相同版本的所有AppImages …如果需要,调查squashfs的不同压缩器(或完全不同的格式)
  • 使其具有弹性:对于无法使用IPFS的用户,需要无缝回退到HTTP(S)…

试试看

当然,我们可以通过将其集成到appimaged类似工具中来简化这一过程:

请尝试使用ipfs下载QQ-20171129-x86_64.AppImage。
人们做的越多,下载速度就越快。
wget https://dist.ipfs.io/go-ipfs/v0.4.13/go-ipfs_v0.4.13_linux-amd64.tar.gz
 tar xfv go-ipfs_ * 3_linux-amd64.tar.gz 
./go-ipfs/ IPF问题守护
./go-ipfs/ipfs得到QmNdcsAskKYYqrrykgtFbxjp4axNMa3j65oGpkbNVJLXLy 
./go-ipfs/ipfs针加QmNdcsAskKYYqrrykgtFbxjp4axNMa3j65oGpkbNVJLXLy 
MV QmNdcsAskKYYqrrykgtFbxjp4axNMa3j65oGpkbNVJLXLy QQ-20171129-x86_64.AppImage 
使用chmod + X QQ-20171129-x86_64.AppImage 
./QQ-20171129-x86_64.AppImage

如果您无法ipfs在本地安装,还有HTTPS网关:

  • https://ipfs.io/ipfs/QmNdcsAskKYYqrrykgtFbxjp4axNMa3j65oGpkbNVJLXLy
  • https://ipfs.jes.xxx/ipfs/QmNdcsAskKYYqrrykgtFbxjp4axNMa3j65oGpkbNVJLXLy
  • https://upload.global/ipfs/QmNdcsAskKYYqrrykgtFbxjp4axNMa3j65oGpkbNVJLXLy

但是如果你从那里下载,你就不会共享,因此无法帮助保持文件的可用性和快速性。

注意:由于我在一个季度前写过这篇文章,文件已经消失了。所以我们不能依赖“只是把文件扔到那里”并假设他们会以某种方式神奇地活着。

也许所有这些基于服务器的东西仍然太麻烦,我们应该选择基于浏览器的纯解决方案,如https://beakerbrowser.com/?哪种方法更具牵引力?

AppImage开发人员在irc.freenode.net上的#AppImage。

probono是AppImage项目的创始人和首席开发人员

【IPFS相关】由IPFS原力区译制整理,收集外网中各领域人士在使用或开发IPFS及其相关应用时所分享的文章内容。

IPFS原力区官网:http://ipfsforce.com
IPFSER社区: http://ipfser.org
微博:http://weibo.com/ipfsforce

【IPFS相关】点对点是开源软件分发的解决方案吗?

原创文章,作者:IPFSforce,如若转载,请注明出处:http://ipfser.org/2018/12/04/ispeertopeerthesolutionforopensourcesoftwaredistribution/

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

邮件:ipfsforce@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code