首先,简单得说一个问题。IPFS,也就是星际文件系统,事实上是一个协议层的设计,就像HTTP也是协议层一个道理。而Filecoin则是IPFS的金融层应用,所以二者其实并不是同一个东西。
那么什么是零知识证明呢?简单来说,就是:我知道一个秘密,我在不告诉你秘密是什么的前提下,让你知道我知道这个秘密,而不是在蒙你。?看上去有点无厘头,但这样的思想在我们的生活中随处可见。?比如窃格瓦拉偷了一部手机,结果遇到了警察,那么警察应该如何证明这部手机是不是窃格瓦拉偷的呢?答案很简单,就看窃格瓦拉能否解锁这个手机。(无论是开机密码还是指纹)
关键来了,警察根本不需要知道具体的密码是什么,只要看切格瓦拉能不能解锁手机,打开手机桌面就行了。这就是零知识证明,因为警察压根就不知道具体打开手机的信息(知识)。?那么为什么这个零知识证明技术在Filecoin中如此重要呢??这是因为Filecoin是基于IPFS的,而IPFS又是分布式的,这下问题来了,由于没有任何一个强有力的中央力量,如何防范每个人作弊呢?我们首先来看看,有哪几种作弊方式,比如小明是存数据的,小红是存储矿工:第一种:小明,明明存了数据,但小明硬说他没存,不想给钱。第二种:小红,明明没存数据,但她硬说她存了,非得要钱。第三种:小红声称她存了,但实际没存,当小明要数据时,小红跑到别的地方下载了一份,再传给小明,然后骗钱。解决这个问题的思路很简单,就是要时时刻刻保证矿工存了客户的数据。就好比小明把一本书放在了小红家保管,怎么证明小红没有吧书丢掉或者送给隔壁的小王呢?小明可以的一个做法就是随机地给小红打电话,问:书的某一页的某一行的某一个字是什么,如果小红答上来了,就说明小红还有这本书,如果没答出来就说明书不在小红这里。?但在分布式网络里打电话的这个人不应该是小明(不然小明太累了),而是其他的人(也就是矿工),但是小红并不想让其他人知道这本书里的具体内容,那么怎么做呢??这里就涉及到同态加密,为了不出现数学公式,将通俗进行到底,我这边再讲一个小故事。?哆啦A梦有一个缩小隧道,人走过去之后就会变小,东西也会变小。如果大雄手上有一把钥匙和一把锁,在缩小之前钥匙是能打开锁的,在缩小之后钥匙还是能打开锁的。但钥匙和锁都不是原来的钥匙和锁了。那么也就是如果大雄在缩小之后钥匙还能打开锁,那么他就一定知道在缩小之前钥匙也是可以打开锁的。那么缩小隧道就是同态加密。?Filecoin就是这样做的,数据经过同态加密之后再进行随机挑战,就能保证没有人可以作弊了,同时发起挑战的矿工也不会知道数据具体是什么了。最后总结一下,零知识证明是分布式存储进入大规模应用的基础,而Filecoin是第一个做到的,它彻底解决了分布式的不信任问题,同时结合了IPFS的技术的前景,未来的存储将一定是Filecoin与IPFS的天下。目前意识到这一点的人不多,很多人以为Filecoin只是一个普普通通的区块链数字货币,但殊不知一个真正伟大的应用已经来临了。