iNFTnews iNFTnews
  • 首页
  • 7*24快讯
  • NFT发售日历
  • NFT导航
  • 联系我们
  • 注册
  • 登录
首页 › 商业 › 用程序员听得懂的方式介绍零知识证明

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

liurui
2022-04-30 15:36:27商业阅读 25,552

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

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

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

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

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

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

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

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

有一个未知input,经过circuit的运算,生成了output

有一个未知input,经过circuit的运算,生成了output

有一个未知input,经过circuit的运算,生成了output

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

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

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

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

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

你用某个文件,经过circuit的哈希算法,生成了这个哈希值

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

混币

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

作者:加戈


来源:文章汇
免责申明:本文为本站转载/翻译内容,版权归原作者所有。如涉及作品内容、版权及其它问题,请联系本站!本站转载/翻译出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,且不构成任何投资及应用建议。
收藏(0)
北京文化产权交易中心(数字资产试点项目)联合发行“北京历史文化名城”主题数字藏品
上一篇
北京文化产权交易中心(数字资产试点项目)联合发行“北京历史文化名城”主题数字藏品
下一篇
再想想
暂无评论
2022年 5月
一 二 三 四 五 六 日
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
« 4月    
最新文章
数字技术布局元宇宙未来
Terraswap已部署至Terra新链
Terra创始人Do Kwon宣布Terra新链主网上线
山西首次发行古建筑数字藏品
加入NFT社群,了解更多NFT信息
标签
a16z Axie Infinity Beeple Bored Ape Yacht Club Coinbase CryptoPunk DappRadar Decentraland ENS Facebook GameFi Loot Meta Metamask Metaverse NBA Top Shot NFT游戏 NFT音乐 OpenSea play-to-earn Polygon Rarible Roblox The Sandbox Twitter VeVe Web3 以太坊 佳士得 元宇宙 加密艺术 加密货币 区块链 收藏品 数据 版权IP 科普 腾讯 苏富比 英伟达 蚂蚁链 融资 行业报告 观点 资讯
数字技术布局元宇宙未来
元宇宙之心
25,567 0
清退?刑拘?顶流StepN深陷法律泥潭
肖飒lawyer
21,463 0
Web3和NFT中的匿名性问题​
老雅痞
23,347 0
科普:NFR是什么?它和NFT又有什么区别?
liurui
25,471 0
  • 0
  • 0
关于我们

iNFTnews.com是一家垂直在NFT领域的全球性资讯平台,为您提供全面、专业且有品质的NFT、元宇宙、链游等相关信息资讯,致力于成为您开启NFT世界的第一站。

友情链接
吾爱元宇宙 链新
更多
寻求报道 隐私政策 工作机会 版权申明 联系我们
Copyright © 2021-2022 iNFTnews. 专业的NFT信息资讯平台 浙ICP备2021024901号
  • 首页
  • 7*24快讯
  • NFT发售日历
  • NFT导航
  • 联系我们
# 元宇宙 # # Metaverse # # 收藏品 # # 资讯 # # NFT游戏 #
liurui