Powered By Blogger

Tuesday, August 21, 2018

Zero Knowledge Proof


这个概念其实在80 年代已经出现,但是此时却使用在虚拟货币的安全问题上。不过在此之前,我们先来了解什么是Zero Knowledge Proof。

假设你有一样知识或者一个秘密,但别人是无法知道,但你又要让别人知道你知道这个秘密,于是你应该怎么证明呢?

通过以上的视频,你就会有一个比较好的概念了。简单来说,条件有三个:

1. 完整性(Completeness)

2. 可靠性(Soundness)

3. 不知(Zero Knowledge)

具体的做法就是,我要证明我知道这个秘密,但决不能让你知道秘密的关键是什么,也不能给你知道这个秘密是什么。那就需要通过审核,但要怎样的审核才是正确的呢?

假设这个村子里有一个保险柜,没有人知道密码。但有一天,你声称你知道了。于是,村里的人要你打开。但这是你的伟大发现,所以不愿意公开。但为了证明你真的知道,于是你就秘密的打开保险箱,拿了一件东西出来,以作证明。

可是,这并不是好的证明,因为那件东西可以是你买来的。更好的办法是,你带大家来到保险柜前,证明是关紧的。之后,你呼吁大家出去,之后再打开保险柜给大家看!这样既完整,可靠及大家不知道如何打开保险柜的密码。

这个看似无关紧要的概念,其实就带给金融,银行的安全问题的革新,而现在更运用在虚拟货币上。目前对我而言,要了解区块链,就要懂得两个概念,那就是拜占庭将军难题和这个Zero Knowledge Proof. 

之前已经介绍过拜占庭将军难题,所以你们可以自己爬文或者上网自行寻找。

介绍这些有趣的概念是因为很可能在将来,我要收集这些概念来集结成书。我发现大量的运用都是来自很久以前的概念,所以我很珍惜这些伟大的概念,否则我们的世界不会像现在这样。可是这也带来更大的隐忧,现代还有什么厉害的概念吗?

除了区块链,App,网路,好像也没有什么更厉害的东西了。人工智能那些都是50年代就有的概念。

我希望通过理解这些概念,大家可以思考更多,说不定你就是下一个影响世界的人!

No comments:

Post a Comment