零知识证明定义 零知识证明:zkSNARK,zero-knowledge Succint Non-interactive ARguments of Knowledge 的简称:Succinct:证明的数据量比较小Non-interactive:没有或者只有很少交互。ARguments:验证者只对计算能力有限的证明者有效。拥有足够计算能力的证明者可以伪造证明。这也叫“计算可靠性"(相对的还有”完美可靠性")。of Knowledge:对于证明者来说在不知道证据(Witness,比如一个哈希函数的输入或者一个确定 Merkle-tree 节点的路径)的情况下,构造出一组参数和证明是不可能的。零知识证明示例———以数独为例 证明 有一天,小明出了一道非常难的数独题,小红花了很长时间尝试去解开这个数独,但是怎么都解不出结果。小红觉得小明在耍她,“这题压根就无解!小明你耍我!”,她跑到小明那抱怨。“我能证明给你看这题是有解的,而且我知道这个解”,小明淡定的回答道。“好啊”,小红暗自想着,“哼哼,等你证明给我看之后,我就把解记下来然后去戏耍下小刚,给他也做一下这题。”小明接着说:“我会用零知...