为了能更好地比较中心化存储和去中心存储各自不同的特点以及体验去中心化存储带来的优势,Alice做了一份存储项目调研报告并决定将这一文件存储在Filecoin网络上。为了确保个人数据安全以及这份报告不被滥用,Alice在将文件上传到Filecoin上之前利用她的公钥进行了加密,最终将所得的密文上传到Filecoin网络上。这是一个保护数据不被泄露的通常做法,这确保该文件只能被掌握对应私钥的人,即Alice自己,进行解密和查看。
此时,Alice得知她的朋友Bob正好也需要这一份调研报告,她也很乐意将她的劳动成果共享给Bob。Alice需要将Filecoin上的文件传给Bob。但由于Filecoin上的文件使用Alice的公钥进行了加密,因此Bob不能简单地下载该(密文)文件进行查看,因为他没有对应的解密密钥。Alice想了想,自己把该文件下载了下来,用自己的私钥进行解密得到调研报告的原文。为了在将调研报告传给Bob的过程中数据不被泄露,Alice采用Bob的公钥对调研报告再次进行加密,并将得到的密文传给了Bob。
当然,Alice可以将这次得到的密文也传到Filecoin网络上,让Bob在需要的时候自行下载。Bob最终利用自己的私钥解密得到了Alice的调研报告,细细阅读以后深受启发。
当多个朋友想让Alice共享其文档时,她又陷入了烦恼,如何更便捷地将密文数据分享给其他人?
在这样一个实际案例中,为了将自己的数据共享给另外的人,同时确保整个过程中的数据隐私性,Alice不得不进行多次操作,她首先拿自己的公钥加密,然后用自己的私钥进行解密,再用Bob的公钥进行加密,最后Bob用自己的私钥进行解密。在这样一个“加密-上传-下载-解密-再加密-上传-下载-再解密”过程中,不仅需要较大的通信开销和运算代价,并且Alice还需要增加本地存储空间。如果她需要将该份文件共享给多个朋友,她将疲于这样的操作。Alice是我们熟知的一个老朋友了,我们不忍心她陷入这种毫无意义的机械化工作中。那么,有没有什么办法能够帮助减少Alice的操作,将她从这种繁复又枯燥的过程中解救出来呢?