【IPFS相关】进入IPFS世界

星际文件系统非常适合以分散的方式存储数据,它是在区块链空间中存储数据最常用的工具之一。在区块链中存储数据既昂贵又缓慢,而在IPFS中存储数据既免费又快速。IPFS不允许通过散列来复制数据,而散列两次将返回相同的散列。

IPFS似乎工作得很好。你可以添加数据,它会留在这个节点的全局网络中。任何具有散列的人都可以访问数据(注意,除非使用私有IPFS节点,否则IPFS上的所有数据都是公共的),并且相同的数据不会重复。此时您可能会问的问题是,“我可以使用IPFS更改数据库并完全分散吗?”

虽然IPFS非常适合存储数据,但如果IPFS节点宕机,它不能保证数据可用。困惑吗?想象一下。启动IPFS节点,运行一个月,其中包含非常重要的数据。你的机器坏了,你很庆幸这是一个公共网络这样其他人就能得到你的数据,对吧?不完全是,IPFS从不保证您的数据总是可用的。没有其他节点对它感兴趣,因此除了您的忠实节点之外,没有其他人固定您的数据。因此,您的数据将丢失,因为没有其他节点拥有它。

这就是Filecoin的作用,Filecoin允许其他节点存储您的数据,以防您的节点宕机,并收取少量费用,以避免丢失您的私有数据。Filecoin非常棒,让我们使用它吧!嗯,现在还没有……Filecoin正在开发中,将来的某个时候会上市。目前,我们必须采用现有的解决办法,包括:

  1. 运行多个IPFS节点
  2. ~ /备份。ipf文件夹
  3. 运行IPFS-cluster
  4. 使用其他方法(如Storj)

有比这更多的解决方案,但是我想讨论的是ipfs集群。Ipfs-cluster允许运行多个节点,每个节点复制数据并使用RAFT consensus保持节点同步。让我们看看需要多少个节点来保证系统的安全。一般情况下,节点可能会宕机或失去internet连接。假设我们有t个节点,我们至少需要t+1来保持系统运行,简单来说;这只意味着至少有一个节点在运行,即使其他节点都在运行。如果你认为5个节点不可能同时下降那么你的风险因子t是4。

IPFS集群使用IPFS节点存储数据,它构建在标准IPFS之上,这意味着使用集群并不意味着运行不同的IPFS节点,而是运行与使用纯IPFS相同的节点。IPFS集群有一个代理节点,用于存储所有pin请求并实现RAFT算法(基于Leader的方法)。

其思想是,您将与处理同步和备份的IPFS集群代理节点进行交互,这样您就可以将其完全视为IPFS节点。ip – cluster节点之间交换消息,例如请求确定散列或发送心跳消息以知道节点是否宕机。这种方法的最大优点之一是,一旦节点重新启动,它就可以接收它错过的所有消息,并在短时间内获得最新消息。

这太棒了!什么都用IPFS ?不要这么快!

      虽然IPFS在很多方面都很棒(甚至还有回购),但它也有自己的问题。当IPFS节点连续连接到越来越多的节点时,它的内存使用量会变得非常大——更不用说它消耗的带宽了!对于IPFS节点来说,1gb的内存是不够的,操作系统(Ubuntu)会在IPFS守护进程开始使用过多内存时杀死它,当您看到它时,您看到的只是一个单词“已死”。这听起来很可怕,如果您的应用程序依赖于IPFS全天运行,那么您将需要一台具有更多内存和带宽容量的机器。然而;解决这个问题还有其他的办法。(注意,这是IPFS节点的问题,而不是IPFS集群的问题)。

限制IPFS连接的节点数量可以解决这个问题,并且可以通过两种方式之一来实现(这里讨论的所有内容都在~/. IPFS /config中的IPFS配置文件中)。

手动:通过更改配置文件以禁用MDNS发现或将间隔设置得太高(不建议这样做,它实际上将您的节点与网络的其他部分隔离开来,其他IPFS节点能够从您的节点获取内容的可能性非常低)。

通过使用IPFS连接管理器来限制节点连接的数量。它有三个属性:

1-最大连接:

节点允许的最大连接数,并在此之后开始删除连接。

2-最小连接:

节点试图维护的最小连接数

3-时间间隔:

之后,最大和最小的时间限制将被检查,例如,如果一分钟然后你的节点将确保每一分钟分钟数≤同行(ipf群同龄人| wc – l)≤最大连接

原创文章,作者:root,如若转载,请注明出处:http://ipfser.org/2019/01/11/%e8%bf%9b%e5%85%a5ipfs%e4%b8%96%e7%95%8c/

发表评论

登录后才能评论

联系我们

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

邮件:[email protected]

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

QR code