主页 > 下载安卓版imtoken钱包 > 戴家乐:详解IPFS的本质、技术架构和应用

戴家乐:详解IPFS的本质、技术架构和应用

下载安卓版imtoken钱包 2023-03-21 05:44:47

哈希算法比特币_比特币算法原理详解_比特币算法原理

01

什么是IPFS?

IPFS的中文名称为星际文件系统,由Juan Benet于2014年5月发起,Juan Benet的个人经历堪称传奇。 他毕业于斯坦福大学。 在创建IPFS项目之前,他创办的第一家公司被雅虎收购。 2015年,他创建的IPFS在YCombinator孵化​​大赛中获得了巨额投资,同时建立了协议实验室。 实验室团队由 14 名核心开发人员和数百名社区代码贡献者组成。

IPFS 本质上是一种内容可寻址的、版本化的、点对点的超媒体分布式存储和传输协议。 它的目标是补充甚至取代过去 20 年来使用的超文本媒体传输协议 (HTTP)。 一个更安全、更自由的互联网时代。

我们每天上网都是使用HTTP协议浏览朋友圈、微博。 它基于TCP/IP的计算机应用层,将超文本数据从服务器传输到本地浏览器。 本地浏览器或者APP渲染出来呈现给用户。 基于这样的网络环境,形成CS或者BS架构,最后注入BAT等大型网络提供商。

互联网平台提供的网络服务大致经历了三种模式的迭代过程:

第一个模型是中心化的。 比如12306早期,只有一个中心服务群,因为不能分布式。 所有的购票流量都直接加载到这个服务组上,压力很大。

第二种模式属于去中心化集群,类似于O2O百团大战,每个网站需要在不同的区域建立服务群。 他们背后的IDC机房,将相同的业务分散在一个区域,减轻了中心服务器的负担。 压力。

前两种模式容易出现一些弊端:第一种模式下,服务高度依赖于中心网络。 大公司或初创公司无法承受停机时间。 运维有一个KPI指标,叫做SLA。 如果稳定性达不到99.9%,则基本不合格。 SLA需要消耗特别大的成本。 大公司需要聘请一批运维专家或专业人员来保证系统的稳定性。 在第二种模式下,存储的数据有丢失的风险。 大家经常笑话的电缆被剪断,员工删库跑路,这些都是隐患。

同时,这两种方式的带宽成本都比较高,会造成一定的带宽资源浪费。 例如,《中国新说唱》首轮海选视频播放量达10亿次。 假设视频文件大小为1GB,播放整个视频会消耗1000PB的带宽。 如果1GB带宽成本为0.001美元,爱奇艺光需要为第一个节目向ISP(互联网服务提供商)支付100万美元。

哈希算法比特币_比特币算法原理详解_比特币算法原理

IPFS 有望成为第三种模式。 IPFS要创建一个点对点的网络拓扑结构,相当于颠覆了HTTP所代表的分布关系。 它具有内容可寻址的特性,通过文件内容生成唯一的哈希标识,一定程度上节省了空间开销成本。

HTTP协议使用的域名寻址,最终会映射到底层去寻找某个域名对应的IP地址下的某个主机,某个文件目录下的某个文件。 不关心同一个文件是否存在,内容寻址会通过一个唯一的标识符来访问它,并提前检查这个标识符是否已经存储。 如果已经存储,可以直接从其他节点读取,无需重复存储,一定意义上节省了空间。

举一个具体场景的例子。 假设我想看电影“环太平洋”。 小明以前下载过这部电影。 他启动 IPFS 节点并将视频文件添加到 IPFS 网络。 他会得到一个哈希指纹b,同时发布到公共网关,得到一个路径名/IPFS/b。

他告诉我哈希指纹和路径名。 我要做的就是启动一个本地节点,向网关发送寻址PIN的请求比特币算法原理详解,IPFS会自动索引分布式哈希表的哈希值,找到指纹b对应的节点列表。

大视频通常不存在于一个节点中,在其他子节点中可能是碎片化的。 IPFS 并行抓取所有这些节点列表,最后由本地管理器组装成一个完整的文件。 并行的速度远大于直接下载完整文件的速度。 我很快就能在本地化浏览器上看到这部电影,并继续与他人分享。

02

IPFS的架构

IPFS至少有八层子协议栈,从上到下分别是身份、网络、路由、交换、对象、文件、命名、应用。 每个协议栈各司其职,相互协作。

比特币算法原理_比特币算法原理详解_哈希算法比特币

身份层和路由层可以一起解释。 通过Kademlia协议制定对端节点身份信息和路由规则的生成。 KAD协议的本质是构建一个分布式的松散哈希表,简称DHT。 每个加入DHT网络的人都必须生成自己的身份信息,然后通过这个身份信息,才能负责存储这个网络中的资源信息和其他成员的联系方式。 就像微信名片分享一样,如果不能直接搜索微信号,想找人,可以通过分享名片给有此人联系方式的朋友建立联系。

网络层比较核心,使用的LibP2P可以支持任何传输层协议。 NAT技术让内网设备共享同一个外网IP,这就是我们都体验过的家用路由器的原理。

比特币算法原理详解_比特币算法原理_哈希算法比特币

交换层是迅雷之类的BT工具。 迅雷实际上模拟了一个P2P网络,创建了一个中心服务器。 服务器在注册请求资源的用户时,允许请求相同资源的用户组成一个小集群swarm,在这里共享数据。 这种方法有缺点。 一台服务器由迅雷维护。 如果出现故障或停机,则无法执行下载操作。

集中式服务还可以限制某些下载请求。 人们发明了一种更聪明的方法是Bittorrent,它可以让每个种子节点存储的数据通过哈希表存储在其中。 BT工具相对不受监管,服务效率更高。 稳定。

IPFS 团队创新了 BitTorrent,称为 Bitswap,它添加了信用和计费系统以鼓励节点共享。 我推断FileCoin大概率是基于Bitswap,用户在Bitswap中添加数据会增加信用分,分享越多信用越多得分越高。 如果用户只检索数据,不保存数据,信用分会越来越低,其他节点嵌入连接时会优先选择信用分高的节点。

这种设计可以解决女巫攻击。 刷机是不可能提高信用分的。 如果你一直刷搜索请求,信用评分会越来越低。 请求数和存储量的变量之间有一个更微妙的算法,类似于抛物线。 很多事情前期是可以容忍的,到了一定次数之后就不再给予信任了。

对象层和文件层适合讨论。 他们管理着 IPFS 上 80% 的数据结构。 大多数数据对象都存在于 MerkleDag 结构中,这为内容寻址和去重提供了便利。 文件层是一种与DAG并行的新数据结构,使用与Git相同的数据结构,支持版本快照。

命名层具有自我验证的特性(其他用户获取对象时,使用指纹公钥验证签名,即验证使用的公钥是否与NodeId匹配,从而验证发布对象的真实性用户,同时也获取了有效的变化状态),并加入了IPNS的巧妙设计,使加密后的DAG对象名称可定义,增强了可读性。

最后是应用层。 IPFS 的核心价值在于其上运行的应用程序。 我们可以利用其类似CDN的功能,以较低的带宽成本获取想要的数据,从而提高整个应用的效率。

新技术替代旧技术,无外乎两点:第一,可以提高系统效率; 其次,它可以降低系统成本。 IPFS 两者兼而有之。

哈希算法比特币_比特币算法原理详解_比特币算法原理

我整理了一个IPFS族谱关系图,也是一个垂直的数据流图。 刚才说的八层协议,其实就是把每一层的实现都绑定到对应的模块下,进行了直观的图设计。

在开发时,IPFS团队采用高度模块化的集成方式,像搭积木一样开发整个项目。 Protocol Labs团队成立于2015年,17年来一直致力于IPLD、LibP2P、Multiformats三大模块的研发,服务于IPFS底层。

比特币算法原理_哈希算法比特币_比特币算法原理详解

Multiformats是一系列hash加密算法和自描述方法的集合(可以知道value是怎么生成的)。 拥有SHA1\SHA256\SHA512\Blake3B等6种主流加密方式,用于加密描述nodeID和指纹数据的生成。

LibP2P 是 IPFS 核心的核心。 面对各种传输层协议和复杂的网络设备,可以帮助开发者快速搭建可用的P2P网络层,速度快,性价比高。 这也是IPFS技术在很多领域被广泛应用的原因。 区块链项目之所以受到青睐。

IPLD实际上是一种转换中间件,将现有的异构数据结构统一为一种格式,以方便不同系统之间的数据交换和互操作。 IPLD目前支持的数据结构是比特币和以太坊的区块数据,同时也支持IPFS和IPLD。 这也是IPFS受到区块链系统欢迎的第二个原因。 其IPLD中间件可以将不同的块结构统一为一个标准进行交付,为开发者提供了一个比较高的成功标准,而不用担心性能、稳定性和bug。

IPFS应用了这些模块的功能,将它们集成为一个容器化的应用程序,运行在独立的节点上,以Web服务的形式提供给大家使用和访问。

最后,还有 Filecoin。 作为去年7月公布的项目,其开发进度一直保密。 Filecoin重视这些应用的数据,通过类似于比特币的激励政策和经济模型,让更多人创建节点和使用IPFS。

我希望大家分开来看 IPFS 和 FileCoin。 如果 IPFS 玩得好,可以创建很多 FileCoin 项目。 其自身的价值和意义没有IPFS大。

03

IPFS的应用意义

首先,它可以为内容创作带来一定的自由度。 Akasha 是一个典型的应用。 是一个基于以太坊和IPFS的社交博客创建平台。 用户创建的博客内容通过 IPFS 网络而不是中央服务器发布。

同时用户绑定以太坊钱包账户,用户可以用ETH打赏优质内容,内容创作者也可以以此赚取ETH,就像人脑挖矿一样。 它没有太多的监管限制,也没有中介佣金,内容收益直接属于创作者。

其次,可以降低存储和带宽成本。 之前我也举过爱奇艺的例子,比较成功的视频项目叫“Dtube”。 它是一个基于 Steemit 的去中心化视频播放平台。 其用户上传的视频文件通过IPFS协议存储,具有唯一标识。 与传统视频网站相比,减少了相同资源的冗余,同时大大节省了大量用户在播放视频时产生的带宽成本。

比特币算法原理_比特币算法原理详解_哈希算法比特币

第三个可以和区块链完美结合。 区块链的本质是分布式账本,其瓶颈之一是账本的存储容量。 目前大部分公链最大的问题是无法在自己的链上存储大量的超媒体数据。 目前比特币的区块数据总量只有30-40G左右。 以太坊等可编程区块链项目只能执行和存储小段合约代码。 DApps要想发展成超级应用,受到很大的限制。

使用IPFS技术解决存储瓶颈目前是一个过渡性的方案,最典型的应用就是EOS。 EOS引以为豪的是它可以支持百万级TPS并发。 除了DPOS共识机制的功劳外,也归功于其底层存储设计采用IPFS来解决大数据的传输效率问题。

EOS通过IPLD对自身打包的区块数据进行异构处理,统一成便于内容寻址的数据结构类型,挂载在IPFS的链路上,让IPFS网络承担存储和P2P检索的逻辑,无需消耗过多的EOS区块链系统本身的计算资源。

第四,可以为传统应用提供分布式缓存解决方案。 IPFS-GEO是我之前写的。 是一个为传统LBS应用提供分布式缓存的项目。 它可以将地理位置坐标数据通过GeoHash算法转化为一维字符串,并与检索值相关联。数据存储在IPFS网络中,由IPFS网络唯一标识,分布在各个相邻节点上。

当有检索请求到来时,系统首先比较字符串近似范围,缩小检索范围,加快检索效率,并通过NodeID从附近节点获取超媒体数据,达到类似分布式缓存的效果,大大提高整体检索LBS 应用的行动效率。

04

IPFS明星应用

OpenBazaar 是 IPFS 上的明星应用。 我把它命名为中文的 Open Bazaar。 前段时间比特币算法原理详解,刚拿到比特大陆500万美元的投资。

在之前的1.0版本中,OpenBazaar被称为黑市。 当时还没有应用IPFS,使用ZeroMQ实现P2P交易。 一定程度上也绕开了中心化检查,将交易手续费作为红利送给了用户。 同时整合了比特币作为支付渠道,引起轰动,用户数量在短时间内迅速增加。

2.0版本发布后,Open Bazaar官方考虑到法律等因素增加了一层审查机制,同时支持比特币以外的BCH等数字货币,并集成重构IPFS以替代之前的ZeroMQ .

现在,Open Bazaar 上的许多商店都可以在大型机上运行,​​而无需用户在线。 以前交易需要同时登录,现在使用IPFS相当于实现了一个线下店铺。 这也意味着光顾你店铺的人越多,店铺数据被复制的越多,有利于店铺优质的宣传推广,从某种意义上说是一种价值回报。

比特币算法原理详解_比特币算法原理_哈希算法比特币

我称它为明星项目,不仅因为它基于IPFS,做得很好,还因为它重构了所有的IPFS。 它重新开放了IPFS的所有源代码、协议和各种配套设施。 对于IPFS的分支,更改了协议名称,同时更改了协议头,在一定意义上将OB网络与IPFS主网络隔离开来。

OpenBazaar希望有更多的中心化控制,想要自己搭建矿场和机房来保证服务的稳定性,在去中心化和中心化之间选择了一个中间点。 我想大部分传统应用和公司也可以这样想。 完全去中心化是不可能的,取其精华,去其糟粕。

本文转载自微信公众号“区块链捕手”(ID:iqklbs),致力于探讨区块链技术的应用与投资。

哈希算法比特币_比特币算法原理_比特币算法原理详解

比特币算法原理详解_哈希算法比特币_比特币算法原理

延伸阅读

继续向大家推荐这个视频。 这里是Protocol Lab的创始人Juan Benet,在讲他的IPFS概念,供大家学习!

单击边框以调出视频工具栏

比特币算法原理详解_比特币算法原理_哈希算法比特币

比特币算法原理_比特币算法原理详解_哈希算法比特币

哈希算法比特币_比特币算法原理详解_比特币算法原理