木星链 木星链
Ctrl+D收藏木星链

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

作者:

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

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

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

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

尼日利亚CBDC钱包应用程序将进行更新:金色财经报道,尼日利亚央行的一位官员表示,尼日利亚央行数字货币(CBDC)钱包应用程序将进行更新,用户将可以支付付费电视等公用事业和为通话时间充值。在钱包应用程序中增加非结构化补充服务数据(USSD)功能,该功能意味着没有银行账户的人也将能够使用CBDC进行支付。[2022/5/11 3:05:56]

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

钓鱼攻击瞄准Web3 DeFi应用程序,受资金超10万美元:太坊网页钱包MyCrypto与安全公司PhishFort联合发布的一份调查报告显示,在此前的研究中发现针对Ledger、Trezor、MEW、Metamask等用户的虚假浏览器扩展程序。最近的研究中发现了恶意的Web3应用程序「网络钓鱼 dapp」,它们伪装成合法的应用程序或服务来窃取加密货币。已经追踪到了超过 10 万美元的SAI被转移到了攻击者账户。这些攻击通过直接在Web界面输入私钥来进行钓鱼攻击,从样本来看,这次Web3钓鱼攻击的迭代版本似乎是由一群恶意参与者运行的。[2020/6/25]

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

动态 | 三星区块链手机将支持Elrond项目的游戏应用程序:区块链项目Elrond的游戏应用程序将通过三星Galaxy Store发布,这款名为“Battle of Elrond”的应用预计将于今年第一季度上线,Elrond的创始人兼首席执行官Beniamin Mincu表示,游戏玩家可以获得ERD代币。(theblockcrypto)[2020/1/10]

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

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

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

动态 | Polymath终止两个内部项目,并将专注于证券型代币应用程序:据cointelegraph报道,基于以太坊的证券型代币平台Polymath将终止其两个计划中的内部项目,并解雇了这两个项目的10名员工。该公司正在将公司资源汇集到其证券型代币应用程序Polymath Token Studio,迄今为止已经发布了130多个证券型代币。[2019/7/6]

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

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

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

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

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

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

混币

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

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

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

扩容

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

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

作者:加戈

标签:ROOProofPROCIRWAROO币Evident Proof Transaction TokenGlitch ProtocolCIR价格

比特币交易所热门资讯
DAO:DAO 与合作社如何相互学习?

作者通过亲身参与DAO和合作社的经验,比较了两者之间的异同,总结了两者之间可以相互学习的部分,比如一人一票VS一代币一票,资金的获得与使用的难易与优劣,组织的创建动力和愿景.

1900/1/1 0:00:00
WEB3:14个新项目 Binance Labs第4季全球孵化计划项目一览

近日,BinanceLabs第4季全球孵化计划已正式启动,通过该计划,其将继续支持更多有潜力的区块链项目.

1900/1/1 0:00:00
MET:Meta开设第一家以元宇宙为主题的实体商店

元宇宙这个话题当前已经出现在了大众视野。5月9日,MetaPlatforms表示将在旧金山湾区开设第一家以元宇宙为主题的零售店。在三星开设了第一家实体元宇宙商店之后,Meta紧随其后.

1900/1/1 0:00:00
比特币:金色观察 | 加密货币的完整历史

加密货币正逐步成熟。然而我们是怎么达到这样的?我们的未来是如何被引导的,这种对价值的新理解是从什么漩涡中出现的?OnomyProtocol就加密货币的完整历史进行了如下阐述.

1900/1/1 0:00:00
BTC:金色晚报 | 5月3日晚间重要动态一览

12:00-21:00关键词:CathieWood、JaneStreet、灰度GBTC、CoinShares1.消息人士:华尔街交易公司JaneStreet将借入高达2500万美元的USDC.

1900/1/1 0:00:00
加密货币:金色趋势丨比特币注意后市中期变盘

金色晨讯 | 11月13日隔夜重要动态一览:21:00-7:00关键词:乌克兰、以太坊、SEC、Forte 1.

1900/1/1 0:00:00