IPFS与区块链之间有何联系和区别?
IPFS和区块链都是现下讨论比较热门的话题,很多人会把这两者搞混,或者不知道二者的区别在哪里。今天小编就带着大家来了解一下IPFS和区块链之间的联系和区别。
IPFS(Inter Planetary File System)的中文译名是“星际文件系统”,是一个基于内容寻址、分布式的、点对点的新型超媒体传输协议,其创建的初衷是颠覆传统网络的HTTP传输协议。
区块链(Blockchain)则是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
作为一种主打分布式存储的互联网技术,IPFS技术栈里面并未使用到区块链技术,所以可以理解为,IPFS技术本身跟区块链没有什么关系。
编辑搜图
请点击输入图片描述
1、IPFS和区块链有哪些区别?
区块链是一种记录交易数据并在区块中维护历史的技术;IPFS旨在取代HTTP,它是一种协议和网络,设计用于共享和存储媒体的点对点方法。
区块链技术不适合存储大量数据;IPFS由需要可公开访问的数据库的区块链应用程序使用,IPFS将大量数据存储在不同的节点上,它使用区块链的通证经济来保持这些节点在线。在区块链上输入数据后,无法更新或删除,使用先前块散列函数的链接创建新块;在IPFS中,只有在另一个节点选择不重新托管时,才能删除网络数据。
同时,IPFS支持版本控制。区块链将数据存储在具有数据、哈希函数和先前哈希的块中;文件存储在IPFS对象中。这些对象可以存储高达256KB的数据,还可以链接到其他IPFS对象。
正是基于以上特性,IPFS成为分布式存储数据的理想场所,可以使用区块链技术进行参考和时间戳。
既然不是区块链项目,也不发币,那为什么会有IPFS挖矿的说法呢?其实严格来说挖矿指的是Filecoin。
Filecoin是运行在IPFS上的一个激励层,是一个基于区块链的分布式存储网络,完整并且创新的区块链技术,创新了“算力”概念,巧妙的重用了算力形成过程的数据来进行共识,规避了PoW带来的大量能源与计算资源的消耗。
IPFS把云存储变为一个算法市场,代币在这里起到了很重要的作用。代币是沟通资源(存储和检索)使用者(IPFS用户)和资源的提供者(Filecoin矿工)之间的桥梁,Filecoin协议拥有两个交易市场—数据检索和数据存储,交易双方在市场里面提交自己的需求,达成交易。
IPFS和Filecoin相互促进,共同成长,解决了互联网的数据存储和数据分发的问题,特别是对于无数的区块链项目,IPFS和Filecoin将作为一个基础设施存在。
编辑搜图
请点击输入图片描述
2、 IPFS为区块链带来了什么样的变化?
区块链的诞生本是为了做到去中心化,在没有中心机构的情况下达成共识,共同维护一个账本。它的设计动机并不是为了高效、低能耗,抑或是拥有可扩展性(如果追求高效、低能耗和扩展性,中心化程序可能是更好的选择)。IPFS与区块链协同工作,能够补充区块链的两大缺陷:
1、区块链存储效率低,成本高。
2、跨链需要各个链之间协同配合,难以协调。
针对第1个问题,区块链网络要求全部的矿工维护同一个账本,需要每一个矿工留有一个账本的备份在本地。那么在区块链中存放的信息,为了保证其不可篡改,也需要在各个矿工手中留有一份备份,这样是非常不经济的。设想,现在全网有1万个矿工,即便我们希望在网络保存1MB信息,全网消耗的存储资源将是10GB。目前,也有折中的方案来缓解这一问题。在搭建去中心化应用DAPP时,大家广泛采取的方式是,仅在区块链中存放哈希值,将需要存储的信息存放在中心化数据库中。而这样,存储又成为去中心化应用中的一个短板,是网络中脆弱的一环。
而IPFS则提出了另一个解决方法:可以使用IPFS存储文件数据,并将唯一永久可用的IPFS地址放置到区块链事务中,而不必将数据本身放在区块链中。针对第2个问题,IPFS能协助各个不同的区块链网络传递信息和文件。比特币和以太坊区块结构不同,通过IPLD可以定义不同的分布式数据结构。这一功能目前还在开发中,目前的IPLD组件,已经实现了将以太坊智能合约代码通过IPFS存储,在以太坊交易中只需存储这个链接。
IPFS和区块链是完美的搭配,我们可以使用IPFS处理大量数据,并将不变的、永久的IPFS链接放置到区块链事务中,而不必将数据本身放在区块链中。毕竟,区块链的本质是分布式账本,本身的瓶颈之一就是账本的存储能力,目前大部分公链的最大问题是没法存储大量的数据在自己的链上。比特币至今全部的区块数据也才数百GB,以太坊这样可编程的区块链项目也只能执行和存储小段合约代码,DApp的发展受到了很大的制约。运用IPFS技术解决存储瓶颈是可行方案之一。