IPFS 一个分布式系统,用于存储和访问文件、网站、应用程序和数据

IPFS 一个分布式系统,用于存储和访问文件、网站、应用程序和数据,第1张

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的IPFS 是一个分布式系统,用于存储和访问文件、网站、应用程序和数据。

而且,当您使用 IPFS 时,您不只是从其他人那里下载文件——您的计算机也有助于分发它们。当您在几个街区外的朋友需要相同的 Wikipedia 页面时,他们可能会像从您的邻居或任何使用 IPFS 的人那里一样从您那里获得它。

IPFS 不仅可以用于网页,还可以用于计算机可能存储的任何类型的文件,无论是文档、电子邮件,甚至是数据库记录。

可以从不由一个组织管理的多个位置下载文件:

最后一点实际上是 IPFS 的全名: InterPlanetary File System 。我们正在努力建立一个系统,该系统可以在不连贯或相隔很远的地方工作,就像行星一样。虽然这是一个理想主义的目标,但它让我们努力工作和思考,几乎我们为实现这一目标而创造的一切在家里也很有用。

IPFS 是一个点对点 (p2p) 存储网络。可以通过位于世界任何地方的对等点访问内容,这些对等点可能会传递信息、存储信息或两者兼而有之。IPFS 知道如何使用其内容地址而不是其位置来查找您要求的内容。

理解 IPFS 的三个基本原则:

这三个原则相互依赖,以启用 IPFS 生态系统。让我们从 内容寻址 和内容的唯一标识开始。

互联网和您的计算机上都存在这个问题!现在,内容是按位置查找的,例如:

相比之下,每条使用 IPFS 协议的内容都有一个 内容标识符 ,即 CID,即其 哈希值 。散列对于它所来自的内容来说是唯一的,即使它与原始内容相比可能看起来很短。

有向无环图 (DAG)

IPFS 和许多其他分布式系统利用称为有向无环图的数据结构 (打开新窗口),或 DAG。具体来说,他们使用 Merkle DAG ,其中每个节点都有一个唯一标识符,该标识符是节点内容的哈希。
IPFS 使用针对表示目录和文件进行了优化的 Merkle DAG,但您可以通过多种不同的方式构建 Merkle DAG。例如,Git 使用 Merkle DAG,其中包含许多版本的存储库。

为了构建内容的 Merkle DAG 表示,IPFS 通常首先将其拆分为 块 。将其拆分为块意味着文件的不同部分可以来自不同的来源并可以快速进行身份验证。

分布式哈希表 (DHT)

要查找哪些对等方正在托管您所追求的内容( 发现 ),IPFS 使用分布式哈希表或 DHT。哈希表是值键的数据库。 分布式 哈希表是一种表在分布式网络中的所有对等方之间拆分的表。要查找内容,您需要询问这些同行。

libp2p项目 (打开新窗口)是 IPFS 生态系统的一部分,它提供 DHT 并处理对等点之间的连接和交谈。

一旦你知道你的内容在哪里(或者更准确地说,哪些对等点正在存储构成你所追求的内容的每个块),你就可以再次使用 DHT 来查找这些对等点的当前位置( 路由 )。因此,要获取内容,请使用 libp2p 查询 DHT 两次。

然而,这确实意味着 IPFS 本身并没有明确保护 有关 CID 和提供或检索它们的节点的知识。这不是分布式网络所独有的。在 d-web 和 legacy web 上,流量和其他元数据都可以通过可以推断出很多关于网络及其用户的方式进行监控。下面概述了这方面的一些关键细节,但简而言之:虽然 节点之间 的 IPFS 流量是加密的,但这些节点发布到 DHT 的元数据是公开的。节点宣布对 DHT 功能至关重要的各种信息——包括它们的唯一节点标识符 (PeerID) 和它们提供的数据的 CID——因此,关于哪些节点正在检索和/或重新提供哪些 CID 的信息是公开的可用的。

加密

网络中有两种类型的加密: 传输加密 和 内容加密 。

在两方之间发送数据时使用传输加密。阿尔伯特加密文件并将其发送给莱卡,莱卡在收到文件后对其进行解密。这会阻止第三方在数据从一个地方移动到另一个地方时查看数据。

内容加密用于保护数据,直到有人需要访问它。Albert 为他的每月预算创建了一个电子表格,并用密码保存它。当 Albert 需要再次访问它时,他必须输入密码才能解密文件。没有密码,Laika 无法查看该文件。

IPFS 使用传输加密,但不使用内容加密。这意味着您的数据在从一个 IPFS 节点发送到另一个节点时是安全的。但是,如果拥有 CID,任何人都可以下载和查看该数据。缺乏内容加密是一个有意的决定。您可以自由选择最适合您的项目的方法,而不是强迫您使用特定的加密协议。

如果您精通命令行并且只想立即启动并运行 IPFS,请遵循此快速入门指南。请注意,本指南假定您将安装 go-ipfs,这是用 Go 编写的参考实现。

ipfs将其所有设置和内部数据存储在称为 存储库的目录中。 在第一次使用 IPFS 之前,您需要使用以下ipfs init命令初始化存储库:

如果您在数据中心的服务器上运行,则应使用server配置文件初始化 IPFS。这样做会阻止 IPFS 创建大量数据中心内部流量来尝试发现本地节点:

您可能需要设置大量其他配置选项 — 查看完整参考 (打开新窗口)更多。

后面的散列peer identity:是您节点的 ID,与上面输出中显示的不同。网络上的其他节点使用它来查找并连接到您。如果需要,您可以随时运行ipfs id以再次获取它。

现在,尝试运行在ipfs init 那个样子ipfs cat /ipfs/ /readme。

您应该看到如下内容:

您可以 探索 存储库中的其他对象。特别是quick-start显示示例命令尝试的目录:

准备好将节点加入公共网络后,在另一个终端中运行 ipfs 守护程序,并等待以下所有三行显示您的节点已准备好:

记下您收到的 TCP 端口。如果它们不同,请在下面的命令中使用您的。

现在,切换回原来的终端。如果您已连接到网络,您应该能够在运行时看到对等方的 IPFS 地址:

这些是 /p2p/

现在,您应该能够从网络中获取对象了。尝试:

使用上述命令,IPFS 在网络中搜索 CIDQmSgv并将数据写入spaceship-launchjpg桌面上调用的文件中。

接下来,尝试将对象发送到网络,然后在您喜欢的浏览器中查看它。以下示例curl用作浏览器,但您也可以在其他浏览器中打开 IPFS URL:

您可以通过转到 来查看本地节点上的 Web 控制台localhost:5001/webui。这应该会d出一个这样的控制台:

Web 控制台显示可变文件系统 (MFS)中的文件。MFS 是内置于 Web 控制台的工具,可帮助您以与基于名称的文件系统相同的方式导航 IPFS 文件。

当您使用CLI 命令ipfs add 添加文件时,这些文件不会自动在 MFS 中可用。要查看您使用 CLI 添加的 IPFS 桌面中的文件,您必须将文件复制到 MFS:

—END—

开源协议:MIT License

开源地址:>

B站服务器突然宕机

七月十三日晚上,“b站崩盘”冲上微博热搜第三名。新闻称,B站疑似发生服务器宕机事故,页面提示称“非常抱歉,该页面暂时无法访问”。除了网站和移动端显示加载错误之外,B站出品的轻视频、剪辑软件等均无法打开,显示页面加载出错。

在经过B站崩完,一时间承载不了庞大访问量的A站也崩了。豆瓣、晋江更是紧随其后。多个app齐崩,官方给出的回应是部分服务器机房发生故障,同时多个站点出现问题,大概率是与站点没有关系,应该是和云服务器有关。在经过短暂的排除修复之后,造成崩盘的原因应该就是短时间大量重复访问和数据承载量不足的影响。

IPFS实现存储“广撒网”

以>IPFS是星际文件传输系统,是一种超文本传输协议,是让全球用户提供存储空间,参与网络。而Filecoin是IPFS的激励层,通过FIL代币的经济模型,激励全球用户参与。提供存储空间,就可以获得FIL代币,而需要存储的用户参与网络,就需要提供代币。
所以,他们之间的关系,本质上是协作关系。Filecoin提供激励系统,让用户把存储空间贡献出来,而IPFS是做这件事的项目。

目前的ipfs、Filecion矿机越来越火热,对于很多人来说,不理解IPFS分布式存储是什么,也不知道Filecion矿机到底是什么意思,那让我们来聊一聊!
Ipfs是一个全球性的、P2P点多点分布式存储协议,它可以将所有的相同的文件系统连接起来,传统的互联网协议>

如果我告诉你,一只加密猫在2018年的时候价格为600ETH,一副数字作品《EVERYDAYS-THE FIRST 5000 DAYS》在佳士得拍卖会上拍出6934万美元,约45亿人民币天价。你们相信吗?不要怀疑,这就是NFT。

NFT是Non-Fungible Tokens的缩写,意思是不可互换的代币,它是相对于可互换的代币而言的。不可互换的代币也称为非同质代币。什么是可互换的代币?比如BTC、ETH这些代币都是同质代币,所以相互之间是可互换的,也就是说,你的一枚ETH和我的一枚ETH本质上都是一样的,具有相同的属性、价格。而不可互换的代币,或者非同质代币,它们都是独一无二的,就像是艺术品,每件都不一样。它们之间无法相互替换,所以称之为不可互换代币或非同质代币。

一般而言,NFT具有独一无二、稀缺、不可分割的属性。它不能像BTC一样,可以分成001BTC,它是作为整体存在。

当NFT逐步体现价值时,盗窃事件也在不断发生:社交代币平台Roll热钱包被盗;CREAM Finance等DeFi项目暂时失去对域名的控制;黑客针对没有启用2FA双因素认证的Nifty Gateway用户发起攻击,部分用户因为密码遭到窃取,导致账户和NFT被盗。

那么黑客都是使用怎样的技术来窃取你的NFT呢?

一般攻击向量包括以下几种:

所以怎么保护好NFT财产成为了收藏者们关心的话题。

这时候,IPFS创始人在社交号上喊出了:Not on IPFS,Not your NFT

为什么NFT需要IPFS?

因为大多数NFT底层都依赖于ERC-721,当然还有ERC-20,但无论是ERC-721还是ERC-20,在NFT世界中,谁拥有了这个NFT代币的私钥,谁就拥有了这个 NFT代币内的东西的所有权,而这个NFT代币内包含的东西,无论它是Twitter,是绘画,还是行为艺术的香蕉都是有容量的,也就是说都会占用内存。

因此,拥有独特且价格不菲的NFT,它的底层数据究竟应该存储在哪里?才能真正保证NFT不会因为站点关闭而失效?除底层存储问题外,NFT用户目前还面临一个问题,NFT存储资产有什么可靠性?

而IPFS就能解决这两个NFT目前遇到的难题。

IPFS是基于内容寻址,内容寻址就是使用散列值描述内容本身的链接。IPFS使用高效的路由算法来搜索网络,也就是只向你信任的对等点请求数据,IPFS分散的模式使Web应用程序能够在本地网络上工作。而本地网络是从原始源断开连接的,不管是在失去上行链路的办公室、位于各种图书馆中的科学论文,还是连接较差的偏远村庄。

这就是说,IPFS可以增强我们的数字信息,使数据能够抵御底层Internet的故障,以加密方式保护数据,并使数据永久化,您和与您共享数据的人可以保存信息的副本,并依赖同一链接永久化存储。

因此,只有当NFT真正被存储在IPFS分布式存储网络或Filecoin分布式存储公链中时,才能从根本上解决NFT存在的问题,让NFT用户更加放心,使NFT的价值得到更好的体现和传递。(可以看我之前发的文章《IPFS是如何存储数据的?》)

所以胡安才会说出这样一句话:“Not on IPFS,Not your NFT”。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/13262408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-28
下一篇 2023-06-28

发表评论

登录后才能评论

评论列表(0条)

保存