时间:2023-08-22|浏览:152
关于IPFS,很多读者都有一个误解---当用户将文件存储在IPFS系统中时,系统会为存储的文件生成哈希值(也称为CID)。如果哈希值不公开,那么存储的内容就不会公开。而实际上,这是一种误解。
当用户将文件存储到IPFS网络后,系统所生成的哈希值有可能被系统的任何节点获取,只要节点要检索该文件。因为如果这个文件的哈希值不分享给其他节点,那么其他节点就不知道系统中存储了这份文件,就无法检索文件。
目前这个问题看起来还不太严重,这并不是因为IPFS已经有了隐私保护机制,而是因为IPFS还是一个很年轻的项目,使用还不够广泛,人们使用它做的项目还不多,人们还没有认真考虑如何监控IPFS。
那么为什么IPFS的哈希值是公开的呢?
IPFS像很多其他分布式存储技术一样,使用了分布式哈希表(Distributed Hash Table,DHT)。当IPFS存储了新的文件时,它会向系统中的所有节点广播。
这样系统中的所有节点才能知道去哪里找到这个文件。节点越多,这个文件就越容易被检索。
系统的这种广播行为是在内部发生的,它是IPFS的工作原理之一。但在商业应用领域,这种广播行为就变得非常敏感了。
出于商业利益考虑,如果有公司知道这样的事情会发生,为了搜集情报,公司会尽可能记录所有被广播的内容。
记录的方法也很简单,只需要在IPFS节点中加上日志功能记录下所有被广播的哈希值就行。
不仅哈希值可以被追踪,检索内容的用户也可以被追踪。
当一个节点需要从IPFS系统检索某个内容时,这个节点会向它连接的所有邻居节点发送检索请求。因此,可以仿照记录哈希值的方法,对内容检索的请求也进行详细记录。这样一来,哪个节点曾经检索过什么内容就一清二楚了。
有没有办法在IPFS中保障隐私呢?
有,我们分享几种常用的办法。
第一个办法就是构建私有的IPFS网络。
私有IPFS网络能提供最高级别的隐私,保护内容不被非相关人员看到。私有IPFS网络在工作原理上和公有IPFS网络是一样的,唯一的区别是它只允许网络中的节点查看信息。
接入私有IPFS网络的节点需要私钥。因此构建私有IPFS网络时,最关键的就是要保护好私钥,严防外泄。
第二个办法是对内容进行加密。
如果不使用私有IPFS网络,在公共的IPFS网络中存储文件时,建议用户在上传文件之前先对文件内容进行加密。尽管这无法阻止哈希值被广播,但即便有人拿到了哈希值,也无法看到文件原文。
第三个办法是使用网关。
网关在保护数据隐私方面也可以派上用场。当用户检索内容时,可以通过网关隐藏他们的真实身份。
使用网关在公共的IPFS网络中检索,其他节点只会看到网关在检索内容,而不会知道具体使用网关进行检索的用户。
不过这里也有一个隐患,那就是网关可能会记录用户的检索行为。因此如果对此不放心,用户还需要另外思考其他办法保护自己的身份。
当我们使用IPFS时,要铭记在心的是,我们实际上使用的是公共网络。我们在公共网络上的每一个行为都可能被记录和跟踪。
尽管我们给出了几种保护隐私的办法,但每种办法都有其长处和短处。用户需要根据自己的实际情况选择合适的方式。
参考链接:https://medium.com/pinata/ipfs-privacy-711f4b72b2ea
热点:ipfs