用程序员听得懂的方式介绍零知识证明

本来想写《用人话解释零知识证明》,但是发现做不到,因为至今我也没能用人话解释区块链原理,零知识证明比区块链原理更抽象,网上的资料90%以上是关于这个算法的推导,但是对于90%以上的程序员来说,我们并不关心哈希算法的原理,我们只关心哈希算法怎么用。(作为一个10年+老码农,我也不懂哈希的原理,但我并不惭愧,会用就好)

首先,这是一个非常基础的函数结构:

如果这个function是一个哈希算法,那么,输入任意文件,就可以得到对应的哈希值。假设有这样的一个情况,某个哈希值我们大家都知道了,想要知道是哪个文件,这个文件在你手上,你很兴奋的说,文件找到了,大伙说好啊你把文件拿出来,我们算一下哈希,看能不能对上。这时候你就犯愁了,这是个机密文件,哪能说提供就提供的,咋办?

NFT市场总交易额达600亿美元:6月29日消息,NFT市场总交易额已达600亿美元,该指标在今年4月10日突破500亿美元,这意味着在不到三个月时间里增长了100亿美元。此外,当前NFT持有者总量已接近250万,截至目前为2,484,910个,交易者总量为1,630,092个。

市值方面,当前NFT市场总市值约为226.5亿美元,市值最高的NFT类型为PFPNFT,约为132.84亿美元,其次是收藏品NFT,市值约为32.17亿美元,游戏类NFT市值位列第三,约为18.64亿美元;第四和第五位分别是实用类NFT(约18.81亿美元)和艺术类NFT(约17.19亿美元),虚拟土地类NFT市值排在第六位,约为16.69亿美元。[2022/6/29 1:38:20]

这就请来零知识证明,这个算法结构如下:

比特币当前全网未确认交易数量为994笔:BTC.com数据显示,目前比特币全网未确认交易数量为994笔,全网算力为125.17EH/s,24小时交易速率为3.00交易/秒,目前全网难度为15.56T,预测下次难度上调7.10%至16.66T,距离调整还剩4天4小时。[2021/8/21 22:28:29]

橙色部分就是zk-proof,分成证明和验证两个部分,其中证明部分也叫电路circuit,需要用电路描述语言编程(Rust\C++\Circom),最终编译为电路逻辑(.wsam\.r1cs)。在这个例子里,我们用circuit写了个哈希算法,用来替代原来的function,circuit的特点是输入是不需要公开的,输出的是哈希值和proof,这个proof证明的就是:

重要的事情说三遍!并且我还要画出来:

这个proof就相当于对这个过程的认证盖章,就这么板上钉钉了,无争议了,别问input是啥,问就是不知道,所以叫零知识。已知的是啥呢,电路逻辑(这部分理应开源),输出的值,还有证明文件proof。

在这个例子中,电路逻辑相当于哈希函数,如果你算出的哈希值和公开的那个哈希值一样,那就说明你输入的文件就是大家要找的那个机密文件,而你并不需要提供这个文件,只需要提供证明文件proof就行。

验证的时候,大家把哈希值和proof放进verify函数,返回true,那就证明了:

那还能是哪个文件,那肯定是那个正确的文件啊,要不怎么生成这个哈希!

zk-proof显而易见在隐私场景很有用。混币的原理是用户把币存进保险箱,保险箱的密码的哈希值帖在保险箱上,谁要是能提供这个密码,谁就能把保险箱里的币全部拿走。跟上面这个找文件的原理是一样的,用户不用提供密码,只要提供proof就行,合约校验通过就让你提币。

还有一个问题,如果你能开某个保险箱,那就说明你就是放钱进去的人,谁放了多少钱到哪个保险箱,这在链上是可查的,所以你开哪个保险箱,你不能说。在合约里用树形结构来存放保险箱,且层数固定,一般为16层。从你要开的保险箱到树根root,中间的15个节点确定了,就确定了你要开哪个保险箱,所以这15个节点(路径),也在circuit的private input里面。

最后合约校验的时候,证明了保险箱的位置、保险箱密码全部正确,但不知道是什么密码也不知道是哪个保险箱,可能用户也不知道,但是用户把proof保管好就行,谁拿这个proof都可以去提款。

zk-proof除了隐私场景的应用,这两年还发现可以做区块链扩容。区块里的每一个tx,都有用户的签名,用来证明这个(转账)操作不是伪造的,一个区块的大小是有限的(固定的),所以要是能在区块中塞入的tx越多,TPS也就越高。

如果把签名砍掉,给tx瘦身,那就可以塞入更多的tx。问题是,砍掉了签名,又如何证明这个操作是用户签名过的呢?用零知识证明,把用户签名的校验逻辑写进circuit电路,输入是(包括签名的)区块数据,输出是(不包含签名的)区块数据,并附上proof,一个proof这就能证明所有tx都是被用户签名过的,达到瘦身目的。本文来源:https://bress.xyz/zh/post/nKtuByYTvPri75xHQoA7f8vNyJ6NQPvCL_YH8KVp31Q

作者:加戈

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

DOGE金色观察|推特接受马斯克收购:或将算法开源 接受狗狗币支付

美国社交媒体公司推特(Twitter)周一(4月25日)宣布,该公司董事会已接受亿万富翁特斯拉创始人埃隆?马斯克(Elon Musk)提出的收购交易,以及接受将推特私有化的提议。 根据推特发布的新闻稿,马斯克将以每股54.20美元的现金交易,总价值约440亿美元买入。交易完成后,推特将成为一家私营公司。

NEAR币圈老炮告诉你币圈和加密推特的 40 个真相

铁子们,下面的内容是我在过去 4 年的币圈大周期中摸爬滚打悟出来的想法: 1. 95% 的币圈参与者从来没有阅读过项目的白皮书。 我们中的绝大多数人真的只是被我们信任的人推销某个加密货币,然后模仿他们的操作并祈祷买入的币只涨不跌。 2. 币圈 90% 的参与者无法解释区块链的工作原理。 大多数参与者只关心钱(我猜还有去中心化)。

DYDX聪明钱追踪:加密VC都在投什么?

尽管市场情绪不佳,加密货币风投公司持续在不同的领域积极扩张,丝毫没有停止的迹象。 随着市场变化,加密VC们的关注点也在发生改变。了解它们的投资动向,意味着了解行业需求。本文挖掘了一些顶级VC今年一季度的投资信息,给大家提供一些参考,也看看未来行业可能发生的叙事。

[0:0ms0-13:73ms