时间:2023-06-24|浏览:167
相信你对位置寻址已经非常熟悉了,无论是寻找文件还是访问网页,我们都需要输入一串地址来定位或找到这些东西。
这种习惯不仅体现在互联网,也是我们在现实中经常使用的方式。比如有人要你去他家帮忙找一本书,按照位置寻址的模式,他会形容这本书的位置:“xx大街xx号,上二楼,在左手边的书架从上到下第二层,从右到左第三本书”。只要他提供的信息绝对正确,且书架和住处不改变,你就能找到他想要的书。
内容寻址又是什么呢?我们知道它是根据内容进行搜索,如果使用上述找书的例子,那对方会形容“我要找本名为《xxx》的书,它的ISBN编号为xxxxx”,这样,如果这本书在家,无论位置在哪,你都可以直接通过书名找到这本书,如果在图书馆,你也可以通过搜索ISBN编号正确找到它。
如果要找的内容转移到互联网上,位置寻址则是使用URL创建链接来链接数据,以提供数据的主要位置,这种方式很方便,但也会有一些问题。
首先,我们会先入为主地通过URL猜测内容是什么,比如一串URL以dog.jpg结尾,那么我们会认为这个URL导向的是一张小狗照片,但实际上,它可能是一段音乐或者一个视频。在很多时候,容易造成信息传达错误的情况。
其次,URL导向的数据本身一般是存储在中心化服务器上的,因此在访问前,我们并不知道访问它的权限、安全性等,也不知道该链接是否正确导向我们需要的内容,除非你专门去确认。
如果数据已经从服务器删除,那么你通过这个URL永远无法找到你需要的数据。想再次寻找它,过程十分艰难。
最后,位置寻址会使数据被大量的反复存储、并链接到新的URL,从而导致大量冗余——比如某张图片可能会被无数URL进行多次保存,久而久之,会使得网络处于一种混乱状态,且无法简单的进行判断与清理。
如何解决这些问题?答案你已经知道了,即内容寻址。这是一个比较新的概念,很多人对它有许多疑惑,比如你可以通过书名找到一本书,但如果这个内容是一张图片、一段视频又或是一首歌曲、一串代码,要怎么正确形容这些内容并进行搜索呢?
实际上,内容寻址并不是形容通过内容本身进行搜索,而是使用了一种新的链接形式,即加密哈希(Cryptographichashfunction)。这是一种单向数字算法,可以将任何大小的数据映射到固定大小的位字符串,你可把这个字符串看做是这个数据的唯一名称。
很明显,它比xxx.com/dog.jpg难懂多了,但对于数据来说,这串数字更加安全。因为加密哈希是从数据本身的内容中导出,意味着任何人对相同的数据使用相同的算法都会得到相同的哈希,减少了互联网中大量冗余。
此外,加密哈希是唯一的,哪怕你对一张图片进行了一个像素的改动,那么哈希值也会完全不同,也就是说你只需查看该哈希值,即使无法访问文件本身,也很容易判断该文件是否包含相同的数据。
它还可以解决中心化网络的信任问题——以往我们更信任权威,但权威拥有对数据的绝对掌控权,而如果不是权威机构,经常会遇到一个URL导向错误内容的恶意欺骗行为。但在去中心网络上使用内容寻址,即使不了解数据托管方,我们也可以通过哈希确认是否有文件内容方面是否有欺骗。
上文中我们还提到,如果文件丢失,我们则无法通过保存的URL找到它,但加密哈希可以做到,在全网范围内,只要我们匹配到相同的哈希值,无论是论文、视频或者JSON对象,都一定能找到完全相同的文件!
IPFS和Filecoin又是如何使用内容寻址的呢?答案是CID(ContentIdentifier)。CID是包含加密哈希和编解码器的单个标识符,包含有关“如何解释该数据”的信息。编解码器以特定格式对数据进行编码和解码。
CID还有一个作用,即可以统一不同的加密哈希。目前去中心化网络中,很多工具与协议都开始使用内容寻址,如Git工具、以太坊和比特币等协议,但不同的协议与工具在解释数据和加密函数的方式都是有所不同的,CID可以为任何这些系统创建一个通用标识符。
只要通过EveryCID标识符。它包含用于解释数据的codec和一个自描述哈希multihash,它可以告诉你这个加密哈希具体是使用哪种类型哈希函数创建的。
无论是中心化还是去中心化网络,我们都需要依靠“链接”这一功能将资源联系在一起,传达信息,它使得网络具有交互性。
因此,为了网络的安全与进步,不断完善这个链接是非常必要的,IPFS与Filecoin则更进一步,通过CID来表达数据结构,传达了数据之间的关系。而这个进步,也是我们迈向web3的必经之路。
热点:ipfs
用戶喜愛的交易所
已有账号登陆后会弹出下载