我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 知识证明 >

区块链解读-零知识证明

归档日期:07-20       文本归类:知识证明      文章编辑:爱尚语录

  前段时间听到有朋友谈到,区块链发展技术中的零知识证明,这几天翻阅了下资料看了下这一块内容,看完之后深深觉得自己数学知识和数学理解能力的不足,大概写下零知识证明的理论,也不深究,其实具体很多东西也没看懂,就当是一个知识名词的解释。

  “零知识证明”-zero-knowledge proof,是由S.Goldwasser、S.Micali及C.Rackoff在20世纪1985年提出的。和笔者年纪一样大,笔者还去网上找了这个论文试图看下,结果论文找到了,实在没能力去理解。有兴趣的朋友可以搜索下图是论文截图:

  所谓零知识证明,大致理解证明者能够在不向验证者提供任何有用信息的情况下,让验证者相信你。看这一句解释你会觉得就是忽悠。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。看了这一句解释,很多人会理解这不就是游戏里的一个比划一个猜的游戏吗。(百度对这个概念的解释说明,笔者也是看了这个概念开始理解)

  在S.Goldwasser等人提出的零知识证明中,证明者和验证者之间必须进行交互,这样的零知识证明被称为“交互零知识证明”。80年代末,Blum等人进一步提出了“非交互零知识证明”的概念,用一个短随机串代替交互过程并实现了零知识证明。非交互零知识证明的一个重要应用场合是需要执行大量密码协议的大型网络。到这里,零知识证明是一种密码学知识而不是游戏。在零知识证明过程中,如果提出验证的一方可以通过不泄漏自己任何加密信息的情况下,向来验证的一方证明自己,那这样对匿名隐私保护将更彻底,可以有效解决很多问题。这就是这个证明的意思所在。

  1.假如语句为true,诚实验证者遵守协议,那么将由诚实的证明着就确信这个true。

  2.假如语句为false,那么不排除这个有概率的欺骗者可以说服诚实的验证者是true。

  3.假如语句为true,证明者的目的就是要验证者证明并让验证者相信自己,同时证明过程不向验证者泄漏相关证明消息和内容。

  这个三个属性其实也理解的比较抽象,明确点来解释就是这个证明是不确定的,他是一种概率证明,因为存在小概率事件,会存在欺骗者骗过证明者,那么既然这样这个证明存在有什么意义呢?这就又是理论和实际应用的关系了,在实际应用过程中通过一种计算模型来把这个小概率事件降低,确切的说是降低到可以忽略的值。最常见的就是图灵机的计算模型。

  假设有两方人,甲方是证明者,乙方是验证者。他们在一个工作环境内有相同的一组函数和一组数值。证明开始:

  4.乙方对响应进行验证,验证失败就退出,验证成功回到1,然后继续顺序执行n次。

  如果每一次乙方验证都是成功的,那么乙方就相信了和甲方之间的共识。在整个过程中没有透露任何相关秘密信息。

  那么怎么现实实现下理解这个过程呢,举个现实世界的例子,结合七夕节,“保护私房钱”:

  男方有一笔私房钱放在一个保险柜里,女方想让男方交出来,但是男方不想让女方知道保险柜密码,那么怎么在不让女方知道保险柜密码的同时取出私房钱。于是两边约定,男方到保险柜前去取钱,女方必须远离他10米,然后女方说取,男方用密码打开保险柜,取出钱来,女方不知道密码但是还是拿到了保险柜里的男方的私房钱,但是也有可能男方偷偷的是从自己钱包拿出来的而不是保险柜里的钱,于是这个过程反复,女方不停提出数额,男方一次次用密码打开取钱,关闭保险柜的动作,那么女方也就相信了这些钱都是保险柜里取出来的私房钱,男方确实有保险柜的密码,使用这个保险柜来藏钱。

  1)A要向B证明自己拥有某个房间的钥匙,假设该房间只能用钥匙打开锁,而其他任何方法都打不开。这时有2个方法:

  ①A把钥匙出示给B,B用这把钥匙打开该房间的锁,从而证明A拥有该房间的正确的钥匙。

  ②B确定该房间内有某一物体,A用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给B,从而证明自己确实拥有该房间的钥匙。

  后面的②方法属于零知识证明。好处在于在整个证明的过程中,B始终不能看到钥匙的样子,从而避免了钥匙的泄露。

  2)A拥有B的公钥,A没有见过B,而B见过A的照片,偶然一天2人见面了,B认出了A,但A不能确定面前的人是否是B,这时B要向A证明自己是B,也有2个方法。

  ①B把自己的私钥给A,A用这个私钥对某个数据加密,然后用B的公钥解密,如果正确,则证明对方确实是B。

  ②A给出一个随机值,B用自己的私钥对其加密,然后把加密后的数据交给A,A用B的公钥解密,如果能够得到原来的随机值,则证明对方是B。

  3)有一个缺口环形的长廊[1] ,出口和入口距离非常近(在目距之内),但走廊中间某处有一道只能用钥匙打开的门,A要向B证明自己拥有该门的钥匙。采用零知识证明,则B看着A从入口进入走廊,然后又从出口走出走廊,这时B没有得到任何关于这个钥匙的信息,但是完全可以证明A拥有钥匙。

  那么区块链中,ZCASH数字货币就是使用零知识证明,在整个交易过程中,完全匿名。他不同于比特币的交易,他同样也有UTXO,但是这个是完全封闭,

  在ZCASH交易过程中,不同比特币,在A转账给B的时候,他会当B的面UTXO会作废,但是ZCASH中,A转账给B,新建一个UTXO,原先的会发送到一个作废列表,但是这个列表记录的是之前的序号或者代号,证明之前的UTXO失效。在这个过程中B是看不到A之前的信息,但是确实交易还是发生了,同样道理,矿工也看不到之前的A的交易信息,只是能确定之前的交易序号或者代号存在于作废列表了。

  ● 证明方执行一个秘密的计算,并将结果发送给验证方,这个结果称为“响应”;

  ● 验 证方对“响应”进行验 证,如果验证失败,则表明证明方不具有其所谓的“知识”,并退出此过程。否则,继续从第一步开始,重复执行此过程t次。

  如果每一次验证方均验证成功,则验证方相信证明方拥有某种知识。而且此过程中,验证方没有得到关于这个知识的一点信息,成功地保护了证明方的隐私。

  所谓零知识证明,指的是示证者在证明自己身份时不泄露任何信息,验证者得不到示证者的任何私有信息,但又能有效证明对方身份的一种方法。从本质上讲,零知识证明是一种协议。所谓协议(Protocol),就是两个...博文来自:tiandiwuya的专栏

  一、什么是零知识证明“零知识证明”的定义是:证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。举个简单的例子:A要向B证明自己拥有某个房间的钥匙,假设该房间只能用钥匙打开...博文来自:vivian_ll的博客

  作为刚刚踏入密码学的领域的一只小白,我最近在学习ZCash(ZeroCash)的原理,也就是zk-SNARKs。将一点点感悟和理解写下来,以抛砖引玉。(不得不说看得真让人头大啊!)zk-SNARKsz...博文来自:whrunningduck的博客

  零知识证明-(Zero—KnowledgeProof)从字面去翻译一下这个词:不提供任何相关的信息来达到证明的目的。当然,这是我在查了一定量的资料之后得出的理解,当我第一次看到这个词的时候,在我脑海里...博文来自:weixin_42321292的博客

  虽然目前区块链技术发展飞快和日趋成熟,但仍有不少企业对应用区块链还有些顾虑,主要因为传统区块链技术要落地到商业应用特别是金融应用,仍有比较多问题,其中最大三大问题分别是交易性能、隐私保护、监管缺失。但...博文来自:Elwin随心博客

  zkSNARKs的成功实现让我们印象深刻,因为你可以在不执行,甚至不知道执行的具体内容是什么的情况下确定某个计算的结果是否正确--而你唯一知道的信息就是它正确的完成了。但是不幸的是,大多数关于zkSN...博文来自:omnispace的博客

  昨晚8点,大治如期给大家解答了关于同态加密和零知识证明方面的问题,并发布新一期考题。本期测试六班学委尘突围成功,将获得DRC平台积分奖励!祝贺!以下为问答整理(后附大神考核,新进的小伙伴们可自测哦~)...博文来自:weixin_34337265的博客

  1,活动基本信息1)题目:【区块链技术工坊29期】SERO基于零知识证明的隐私保护公链解决方案2)议题:在区块链隐私保护领域,零知识证明被认为是最前沿的解决方案,同时也是最强大的,以太坊创始人V神就多...博文来自:weixin_33744141的博客

  2018-5-21待字闺中李康区块链算法:零知识证明算法之zkSNARKs今天编者注:最清楚的中文zkSNARKs算法介绍。首页定义分类算法...(略)原理...(略)项目参考文献原链接:2018-5...博文来自:weixin_33922670的博客

  世人皆知区块链,却不知梅克尔树呀最近,研究中本聪大神的论文,他提到了梅克尔树让我很好奇,打算研究一下,谁知道网上各种乱天飞的文章几乎都定义成:梅克尔树(Merkletrees)是区块链的基本组成部分。...博文来自:newsonglin的专栏

  解读区块链,跨链技术随着区块链技术的发展,现在越来越多的链,包括公有链、联盟链、私有链都开始层出不穷,那么链与链之间的互联操作,越来越被重视,跨链的需求就由此而来,其实目前有不少成功的跨链平台,如:r...博文来自:sxjinmingjie的博客

  区块链隐私保护技术分为3类:基于混币协议的技术、基于加密协议的技术、基于安全通道协议的技术。1、基于混币协议的技术...博文来自:weixin_43783865的博客

  零知识证明(zero-knowledgeproof),由Goldwasser等人在20世纪80年代初提出的。它指的是证明者在不对验证者提供任何有用的信息的情况下,使验证者相信某个论断是对的。换句话说,...博文来自:jxfang的专栏

  零知识证明基本定义:证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信...博文来自:的博客

  我一般不用微信支付,我压根就没有支付宝,我在能不刷卡的时候就不刷卡,我喜欢用现金!因为它是匿名的(我没有那么大额度的支付,所以不会动用武装力量关联我个人和纸钞上的数字代码)。诉求你以为我很土吗?不,我...博文来自:Netfilter,iptables/OpenVPN/TCP guard:-(

  第一讲至第八讲文档,熟悉fabric源码及原理,非常有帮助,本人由小白入门摸索,受益匪浅! 1 区块链商用之道 2 Hyperledger 项目与社区概览 3 Bluemix上的区块链服务 4 开发和部署一个区块链应用 5 HyperLe...

  物联网和区块链的结合,实现了链中链和跨链的通信,通过特有零知识证明来解决用户隐私问题。

  2018-10-15笔记默克尔树默克尔树可以用于快速检查数据中哪一部分不一致。做法是,通过将数据以块的形式分割,然后每一个块进行Hash,将生成的Hash值作为默克尔树的叶子,然后相邻的两片叶子的Ha...博文来自:weixin_34311757的博客

  零知识证明:不泄露个人信息的前提下证明自己是某信息的合法拥有者 Fiat-Shamirheuristic 根据wiki:前提:持有相同的messagex的用户可以相互认证,他们持有相同的验证函数,以指...博文来自:y734564892的博客

  当今密码学世界中最酷炫的一件事,莫过于那些优美又神秘的专有名词。我们可以自由的以这些术语给朋克乐队或Tumbirs博客起名字,像是“硬核谓词(hard-corepredicate)”、“陷门函数(tr...博文来自:跨链技术践行者

  简介:之前我翻译了zcash官方关于零知识证明讲解的一系列文章,但以我个人的经验来看,我们还需要这篇文章,才能真正理解零知识证明。这篇文章也是翻译自Zcash官方的一篇介绍zk-SNARKs的文章,原...博文来自:weixin_34283445的博客

  概念解读区块链几乎是数日间成为人尽皆知的名词,这个名词也勾起了我强烈的兴趣,但是通过在网上搜罗资料,多方阅读,发现很多介绍区块链的文献要么模棱两可,要么作者本身的理解也很有限,导致很多关键的问题叙述不...博文来自:BmwGaara的博客

  区块链知识之VRF:可验证随机函数介绍可验证随机函数(VerifiableRandomFunction,简写VRF)是一种将输入映射为可验证的伪随机输出的加密方案。该方案是由Micali(Algora...博文来自:罗朝辉(飘飘白云)

  写在前面众所周知,超级账本的fabric技术还是一个还在不断进化中的区块链框架。到目前20170613为止,还只是在beta阶段,对于这个时机开始解读源代码会不会为时过早,或者说正式版出来是不是有很大...博文来自:乐扣老师lekkoliu——区块链、量子计算

  非交互式是参考shamir的方案,可能不是其他论文的非交互式的零知识证明方案,不一定正确。...博文来自:的博客

  背书策略:背书策略就是需要什么节点背书交易才能生效。chaincode在实例化的时候,需要指定背书策略。发起交易的时候,发起端(一般是SDK),需要指定交易发给哪些节点进行背书验证(fabric不会自...博文来自:的博客

  一直很多的区块链技术,前段时间一直霸占各大技术网站的头条,更因为比特币将这个技术推向了一个新的境界,好后悔当初没买比特币。和原来一样,一个技术的出现,就会有很多技术文章的分析,太技术的东西我就不说了。...

  2018年,《计算机研究与发展》期刊在第55卷9期发表了一篇区块链论文“区块链数据分析:现状、分析和挑战-计算机研究与发展”,这篇论文是由中山大学的陈伟利,郑子彬编写,主要介绍了区块链数据分析领域...

  2009年中本聪发表论文《比特币-一种点对点的电子现金系统》之后比特币横空出世,比特币诞生至今的9年时间币价增长了200万倍,2016年至今区块链行业也产生了爆炸式的增长,越来越多的人开始关注区块链行...

  8月23日下午,“挑战旧范式,定义新未来”数字化赋能智慧财税生态沙龙上海站,在静安公园8号景鹄艺术媒体中心召开。在大数据、区块链、人工智能、金税改革、企业数字化转型的科技背景下,本次沙龙吸引了近60余...

  SERO是真正使用零知识证明的隐私保护平台。SERO不但是世界上第一个支持智能合约的隐私加密货币,也是世界上第一个允许开发者发行支持智能合约的隐私加密货币并且可以在DApp是使用的开发平台。SERO系...

  若有看不懂或者不理解的地方,表明文章没解释清楚或者梳理明白,请留言,我会重新修改,以期望得到一篇新手能看得懂的文章,谢谢!!!。    本章初步介绍了什么是比特币交易,区块,挖矿和区块链,只为了有...

  ZcashVSSERO零知识证明加密速度大比拼_腾讯视频请看视频!!超零协议(SERO=SuperZero)技术上处于国际领先水平,是利用零知识证明机制真正实现区块链隐私保护的加密技术,并且是能支持图...

  作者:王玮 北京志顶科技创始人“中关村20周年突出贡献奖”获得者,在金融IT领域从业近20年,主持过世界上最大的基于开放平台和分布式技术的银行账务系统的设计与开发。目前从事区块链技术在金融等领域应用的...

  比特币现金(BCH)为什么要部署零知识证明在最近的比特币现金技术讨论中零知识证明成为了一个热门话题,很多人都在讨论BCH是否有必要部署零知识证明。所谓零知识证明就是证明者能够在不向验证者提供任何有用信...

  一、1、选择性披露让身份所有者可以控制在特定上下文中共享多少数据。典型的例子是出生日期。当您在酒吧出示驾驶执照时为了证明你已经大到可以喝酒,酒保能够看到你的整个约会出生。这不仅仅是他实际需要了解的信息...

  区块链热议:区块链项目入选2018年度中国科协学科发展项目科学网消息,中国科协学会学术部公布了2018年度中国科协学科发展项目入选项目,共75个。其中包括中国自动化学会的《区块链技术前沿热点综述》项目...

  中本聪在他的创世论文中一个概念,就是SPV,中文意思是简单支付验证,从这里我们可以看出SPV指的是“支付验证”而不是“交易验证”,那这两者有什么区别吗?简单的说就是支付验证只需验证该笔交易是否被确认过...

  noob_django:[reply]xiaoCCD[/reply] python中的协程切换是指一个协程(函数)让出cpu的控制权,但是不包含让系统调度器调度另一个协程利用CPU运行的能力。这也是作者说的协程由代码控制不由操作系统控制的原因。但是在golang中底层已经实现了协程在多个cpu的调度。严格来说,作者说的协程,没有考虑到golang的协程实现模型。golang的协程模型是可以利用多cpu的能力的。

本文链接:http://muangphet.com/zhishizhengming/405.html