公钥和私钥的组合,就是建立在数论上面,而且是建立在一个更高层的数论上面,叫椭圆曲线。大家可能知道,数学里面曾经最大的一个猜想——费马大定律,最近被证明了,这个证明就是建立在椭圆曲线上。这个听起来是非常非常抽象的数学,但是今天我们每次网上购物的时候,就用到了奇妙的数学。
另外就是哈希函数。它有一个单向性,任何的东西进去,出来都是一串随机数。这跟黑洞很像,黑洞任意输进去,出来的都是随机数。
还有一个是零知识证明( zero-knowledge proof )。比如说我解了一个难题,但并不想把我的答案直接告诉你,却要使你相信,我的确把这个难题解了。这也是非常奇妙的数学问题,但是这是有解的。我可以给你一个比特的信息,我解了这个难题,但是不告诉你任何别的信息。这对整个数据的市场会是非常非常有用的,我可以一个比特一个比特把信息给出去,而不是一下把信息全部给出去。
两个百万富翁,可能有一个人是千亿万富翁,有一个人是百万富翁,他们不想把自己的财产公布出来,但是却要知道到底谁更有钱。这用清华大学教授姚期智的办法就能算出来,只给出一个比特的信息,就可以知道谁更有钱。
数据自己拥有的话,我永远学不到大数据的智慧。可是我想了解统计数据,其他人却想保护个人隐私,所以有一个非常简单的办法——在个人隐私数据上故意加一些噪声,这些噪声使得你辨别不出来这个数据到底是不是你自己的个人数据。在收集到这些数据之后,在大数据的环境下,这些噪声就会相互抵消,我得出来的统计数据还是完全精准的,这个办法就叫差别隐私( differential privacy )。
最后一个概念叫形式验证( formal verification )。上世纪最伟大的数学发现是什么?是证明了数学的不完备性。如果我要给在座的同学推荐一本书的话,有一本我认为是千古奇书,它讲了数学不完备定理、艺术家的画和作曲家,三者之间的共同性。这本书是《哥德尔、埃舍尔、巴赫》(G.E.B)。
这些奇妙的数学,都可以用在区块链上,可以用来做 Formal verification。因为今天我们来到的是开源的时代,我们今天在区块链上的智能合约,完全是开源写出来的。但是开源写出来之后,一般人读不懂,甚至专家也不一定看得懂。那么有没有一种数学的程序,能够告诉你智能合约到底是不是吻合你的白皮书上想做的?这是一个非常奇妙的思想,用的是数学中的逻辑学。