宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > ADA > 正文

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

作者:

时间:1900/1/1 0:00:00

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

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

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

Circle与离线地图应用程序Maps.me达成合作:金色财经报道,USDC开发公司Circle宣布与离线地图应用程序Maps.me达成合作。Circle和Maps.me将共同为USDC的消费者提供对Maps.me的DeFi生态系统的简单访问。Maps.me将整合对USDC的支持,用户将能够通过关联的信用卡付款、以35种不同的货币向全球的朋友和家人以低成本即时转账等。[2021/6/18 23:45:48]

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

动态 | 欧洲支付巨头SIA宣布与区块链公司合作推出跨平台应用程序:据investinblockchain消息,欧洲支付服务公司SIA在6月5日的新闻发布会上透露,它已与区块链公司Quant Network 建立合作伙伴关系,该合作旨在将Quant Network的区块链操作系统Overledger集成到SIAchain基础设施中,以实现互操作性,并为银行和金融机构创建跨平台应用程序。第一次测试将在R3的Corda和私人以太坊平台上进行。[2019/6/6]

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

动态 | 加密硬件钱包Ledger提醒用户防范针对Ledger Live桌面应用程序的钓鱼攻击:据Crypto Insider消息,4月25日,加密硬件钱包公司Ledger发推警告称:“我们检测到一个可替换Ledger Live桌面应用程序的恶意软件。电脑被感染的用户被要求在进行一次虚假更新后输入24个单词的恢复短语。请用户谨防上当。”Ledger后来补充称,该网络钓鱼攻击目标是Windows电脑,目前只检测到一起攻击事件,尚未发生造成加密货币被盗。[2019/4/26]

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

动态 | Blockstack试行新应用程序挖掘计划:据Bitcoin magazine报道,多中心化网络开发公司Blockstack正在试行一项新的应用程序挖掘计划,鼓励设计人员直接在Blockstack平台上创建新应用程序并获得比特币奖励。目标是扩展分散的应用程序生态系统,同时为构建最受欢迎的应用程序的开发人员提供资金。[2018/10/24]

这个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

作者:加戈

标签:ROOProofPROCIRROOT币Proof Of MemesBTU ProtocolMerit Circle

ADA热门资讯
融资过亿美金的项目中 将诞生多少“加密独角兽”?

最近两年的加密领域可谓是今非昔比,VC们在加密领域的投融资活动越来越密集,一笔笔越来越大的投入流向加密项目.

1900/1/1 0:00:00
NFT许可证:创作者在制作NFT时如何合法地保护他们的知识产权?

来源公号:老雅痞 到2021年底,全球娱乐业的估值超过997亿美元,而如今全球娱乐业已经开始涉足NFT了,毕竟NFT是当今文娱产业最新的收入来源.

1900/1/1 0:00:00
使用真实示例教你分析 P2E 游戏的 5 个指标

随着今年年初 DeFi 市场的下滑,加密用户和投资者纷纷涌向 GameFi 市场以扩大他们的投资组合。随后,游戏项目数量从 693 个增长到 1,406 个,同比增长 103%。在众多游戏项目中,用户往往要对项目进行筛选.

1900/1/1 0:00:00
金色Web3.0日报 | 欧盟计划启动DeFi生态监管规则试点项目

1.DeFi代币总市值:567.56亿美元 DeFi总市值 数据来源:coingecko2.过去24小时去中心化交易所的交易量:108.01亿美元 过去24小时去中心化交易所的交易量 数据来源:coingecko3.

1900/1/1 0:00:00
CC0 NFT:一场关于共享知识产权和收益的大型实验

这是一个激进的承诺,即放弃对现实世界市场中的最后一点控制权,让大众共享一切作品,从而创建一个完全去中心化的品牌,任何人都能以任何方式修改、使用CC0项目的知识产权并从中获利,无需获得许可.

1900/1/1 0:00:00
“NFT+”模式还在更新 NFT如何影响教育?

随着NFT的快速发展,我们看到了NFT更多的可能性。今天NFT被广泛应用于各个领域,从时尚到体育,从新闻到博物馆,从音乐到艺术,“NFT+”的模式被不断探索并不断更新,如今教育领域也开始关注NFT并对其进行应用.

1900/1/1 0:00:00