区块链零知识证明 零知识证明是什么意思
一、通俗易懂-零知识证明在区块链
零知识证明在区块链的通俗解释
零知识证明,听起来很复杂,但实际上是一个既巧妙又实用的技术。简单来说,它允许一个人(拥有者)在不透露任何秘密信息的情况下,向另一个人(证明者)证明自己确实拥有某个秘密。现在,我们来看看这个技术在区块链中是如何应用的。
一、零知识证明的基本概念想象一下,你有一个宝藏箱的密码,但你不想让任何人知道这个密码。然而,你希望向别人证明你确实知道这个密码,以便他们相信你能够打开宝藏箱。零知识证明就是这样一个技术,它允许你做到这一点,而无需透露密码本身。
二、零知识证明在区块链中的应用区块链是一个去中心化的数据库,它记录了所有的交易信息。在区块链中,零知识证明的应用主要解决了两个问题:
交互式改非交互式:在原始的零知识证明中,通常需要一问一答的交互式过程。但在区块链中,这样的交互是不现实的,因为它会增加上链成本,并且不够友好。因此,零知识证明在区块链中被改造成了非交互式的形式,即一次性完成证明过程,无需来回拉扯。
问题的随机性与普适性:为了确保证明的有效性和安全性,问题必须具有随机性和普适性。这意味着问题不能太过简单,也不能与上次的相同。在区块链中,这通常通过引入一个公开的随机变量(CRS)来实现,该变量由多方共同签名验证,以防止被一方独自控制。
三、zkSnark的Groth16实现简介zkSnark是一种具体的零知识证明技术,而Groth16是zkSnark的一种实现方式。它通过将逻辑电路转换为R1CS电路,再进一步转换为QAP问题,从而实现了非交互式的零知识证明。
逻辑电路:开发者需要构建的逻辑电路,它描述了输入数据之间的约束关系。R1CS电路:逻辑电路的变换形式,由三个向量(a, b, c)组成的序列,其解必须满足特定的多项式方程。QAP:将R1CS电路通过拉格朗日插值法转换为QAP问题,所有输入就是这个QAP问题的一个解。QAP问题具有非确定性多项式时间可解的特性,即虽然无法在固定时间内找到解,但可以在极短的时间内验证解的正确性。等值校验:最后一步是利用椭圆曲线的同态性进行等值校验。这意味着可以不提供明文输入信息,而是提供另一个同态信息给验证者去验证,从而保护了秘密输入。四、总结零知识证明在区块链中的应用是一个复杂但非常有趣的话题。它允许在不透露任何敏感信息的情况下进行验证和交易,从而提高了区块链的隐私性和安全性。虽然这个技术听起来很高大上,但实际上它是建立在各种密码学基础之上的,通过巧妙的数学变换和算法设计来实现的。
希望这个通俗易懂的解释能够帮助你更好地理解零知识证明在区块链中的应用。如果你对这个话题感兴趣,还可以进一步深入学习相关的数学和密码学知识。
二、区块链和零知识证明在信用系统中的作用方式
区块链中的零知识证明在隐私保护方面起重大作用,它在信用系统中自然不例外,但在系统中的哪个环节以及以何种方式发挥作用却是一个值得思考和研究的问题。
第一,信用问题,不能完全依赖技术上的可靠,有些问题政府权威就足够,比如户籍与身份信息,这些并无必要有进一步的追问。
第二,区块链存证的使用场景,应该是那种存在较长的数量化的证据链条的场景,比如根据流水统计月度年度汇总,保证汇总的计算过程没有欺诈。而流水明细是在证据链的上游,时间上是在事前,在上游作假,提前几个月几年作假,对攻击者计划能力以及作假成本都要高的多。高到一定程度,从经济学意义上就具有达到防止欺诈经济可行性。
事实上这里涉及到前文所说领域事件在链上的闭合度问题。对于几乎没有可能,或者在可见未来不具备完全闭合的现实可能性的领域,闭合度是一个有灰度级别的问题,如果沿事件的逻辑链条向上游追溯将其上链,达到一定程度使得攻击者的攻击变得相当或极度困难,区块链应用就会产生价值,并不要求完全的闭合,这样区块链的价值领域就会突破虚拟币以及去中心化金融defi这类完全闭合于链上的系统,得以扩展。这个逻辑并不限于信用系统,而适用于区块链与领域结合应用的一般逻辑。再举一例,溯源系统到底是否能够达成防伪的作用,这个问题取决于溯源在证据链条的上溯深度是否足以造成作假者的困境,不考察这一点,仅仅是形式上使用了区块链存证是没有意义的。
所以我们几乎可以得到一个定理:
区块链在领域应用中的价值水平与证据链的上溯深度成正比例关系。
然后随之而来的第二个问题是:沿着证据链的反向上溯,越是上游越接近主体(公民隐私或组织的商业机密)隐私。这个问题的解决就是零知识证明的作用领地,也是它的作用方式。很多零知识证明的应用价值含混不清,现在我们把它放在证据链条的上下文中加以考量就会清晰起来:
1.零知识证明是用来处理数量化的证据链追溯过程中,在不泄露上游证据链明文细节的前提下完成追溯,既发挥了区块链沿证据链存追溯的作用,又保护了隐私。
2.对于没有追溯必要的场景,证据链不存在,零知识证明的作用与意义也是不明确的。比如一般身份户籍信息,行政权威应被视为可信,并无追溯必要。注意这里说的证据链并非物理意义上的因果关系,而是经过系统应用目标的价值取舍。
总结一下:
1.用区块链技术保留证据链上游。
2.证据链越是上游越接近公民隐私,使用零知识证明来保护隐私
1.参考MIT媒体实验室的zkledger,使用区块链结合零知识证明来处理公民和组织的财务与税务等流水的汇总报告问题。
2.技术上需要解决的问题是,zkledger的场景中,很有限的几个银行的大额交易,数据量少,而用于公民个人场景,数据量巨大,要找到方法解决性能问题。
三、零知识证明是什么意思
零知识证明(Zero-KnowledgeProof,简称ZKP)是指在一个交互式过程中,证明人可以向验证人证明某个陈述的真实性,而不需要向验证人提供任何多余的信息。
也就是说,证明人通过完成一定的计算任务,使得验证人可以信任其所声称的陈述却并不能了解到除此之外的任何信息。这种方法的特殊之处在于,证明人不会揭示任何额外的与陈述无关的信息,确保了隐私性和安全性。
ZKP可以应用于许多领域,如密码学、分布式账本技术、公共验证系统、电子投票等等。下面我列举几个具体的应用场景来说明ZKP的意义:
1、加密货币和区块链技术
在加密货币的交易中,ZKP可以排除双方交易的隐私泄漏问题。举个例子,Alice想向Bob转账并想要证明她拥有足够的数字货币来完成这一操作,但她不想泄漏自己的资产数量和详细信息。使用ZKP,Alice只需向Bob证明她的余额是否足够即可,同时不泄露任何其他细节信息。
2、科学研究
科学研究中常常需要保护数据和隐私,而ZKP可以帮助研究人员通过对其数据进行加密并证明统计分析结果的正确性。例如,利用ZKP技术可以证明某个药品确实能够治愈某种疾病,同时不泄漏患者的个人记录。
3、电子投票
在传统选举过程中,塞选操作和计票方式本身存在着不同的安全漏洞,往往容易导致选举结果被篡改甚至被黑客攻击和破解。通过使用基于区块链和ZKP的电子投票系统,选民所做出的选择将得到强有力的保护,并具备不可逆性,使得其避免遭受相关泄漏和攻击的威胁。
总之,零知识证明在现实应用中能够极大地提高数据安全性和隐私保护性,其重要性和意义是不言而喻的。
虽然目前还存在着一些技术难点,但相信在各行业权威和科研人员的共同努力下,ZKP技术将得到进一步关注和发展。
四、什么是零知识证明
姓名:王镭璋
学号:19011110177
链接:
20世纪80年代初,麻省理工学院研究人员S.Goldwasser、S.Micali及C.Rackoff提出了“零知识证明”的概念。
零知识证明,指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的,它实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。
证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
举个例子,
假如A要向B证明自己拥有某个房间的钥匙,该房间只能用钥匙打开锁,而其他任何方法都打不开。B确定该房间内有某一物体,A用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给B,从而证明自己确实拥有该房间的钥匙。这就是零知识证明。
它的好处在于,在整个证明的过程中,B始终不能看到钥匙的样子,从而避免了钥匙的泄露。
再举一个更具体的例子:
如下图:
洞穴里有一个秘密,知道咒语的人能打开C和D之间的密门。对其他任何人来说,两条通道都是死胡同。Peggy知道这个洞穴的秘密。她想对Victor证明这一点,但是她不想透露咒语。下面是她如何使Victor相信的过程:
1.Victor站在A点。
2.Peggy一直走进洞穴,到达C点或者D点。
3.在Peggy消失在洞穴中之后,Victor走到B点。
4.Victor向Peggy喊叫,要她:
从左通道出来,或者从右通道出来。
5.Peggy答应了,如果有必要她就用咒语打开密门。
6.Peggy和Victor重复第1~5步n次。
假设这个过程重复了十次,我们把这个例子放到刚才提到的交互式系统中,在Peggy知道咒语的情况下,那么她有很高的概率(1-1/2^10)让Victor相信她知道这个咒语(完备性),但是如果她不知道咒语,那么Victor相信的概率最大为 1/2^10,也就是有很高的概率Peggy没法欺骗Victor(公正性)。
进一步设想一下,如果Victor和Peggy上面的交互过程用摄像机记录下来,然后Victor拿给第三个人Carol看,Carol会相信吗,答案是否定的,因为Peggy和Victor完全可以事先商量好进入哪个通道,从哪个通道出来,这样Peggy在不知道咒语的情况下也可以正确的按照Victor的要求从通道走出来。或许他们不这么做,Peggy走进其中一条通道,Victor发出一个随机的要求,如果Victor猜对了,好极了;如果他猜错了,他们会从录像带中删除这个试验。总之,Victor获得一个记录,它准确显示与实际证明Peggy知道咒语相同的事件顺序。
这就说明了两件事情,其一,Victor不可能使第三方相信这个证明的有效性;其二,它证明了这个协议是零知识的。在Peggy不知道咒语的情况下,Victor显然不能从记录中获悉任何信息。但是,因为无法区分一个真实的记录和一个伪造的记录,所以Victor不能从实际证明中了解任何信息——它必定是零知识。
零知识证明满足的性质
(1)正确性。P无法欺骗V。换言之,若P不知道一个定理的证明方法,则P使V相信他会证明定理的概率很低。
(2)完备性。V无法欺骗P。若P知道一个定理的证明方法,则P使V以绝对优势的概率相信他能证明。
在零知识协议中,除满足上述两个条件以外,还满足下述的第三个性质。
(3)零知识性。V无法获取任何额外的知识。
零知识证明的优点
安全,随着零知识证明的使用,安全性会大大提高。
高效,零知识证明过程计算量小,双方交换的信息量会大大减少,因此较为高效。
零知识证明能够保障数据的安全性,能够解决很多隐私问题,而且能让双方交换的信息量减少,在各个领域都能有较好的应用。
零知识证明的应用
零知识证明最初经常被应用于身份验证,数字签名,认证协议等,而后,区块链的出现给零知识证明的应用提供了更多新的方向。
它可以解决区块链中的隐私问题和安全问题,可以在不知道客户密码的前提下,进行客户登录的验证,即使服务器被攻击,由于并未存储客户明文密码,用户的账户还是安全的。
运用零知识证明技术来保证个人信息的隐私安全。
目前的数据以亿为计量单位的,必须对链上的数据进行加密储存,在大部分的数据应用场景中,运用零知识证明,保证链上输出的有效性和安全性。
数据使用者只可以获取到与其业务相关的有限信息字段,确保数据使用者难以获取完整有效的明文用户信息,
意义
区块链兴起之后,密码学受到更大的重视,零知识证明作为一种密码学方法,热度也提高了很多。但是零知识证明到底有什么现实意义,可以用在哪些场合呢?
以前零知识证明还有一个名字叫“最小暴露证明”,意思是可以在证明一些命题的同时,对信息进行非常好的保密,这个特点显然对保护隐私是有帮助的。例如,我现在要贷款,贷款公司要求我的月收入是大于两千元的,但是我不想暴露具体我的工资是多少,这个时候就可以用零知识证明的方式来达成。
另外在区块链上,也可以用零知识证明来达成隐藏转账信息的作用。熟悉比特币的同学知道,比特币上每一笔交易都是透明的,谁给谁转了多少钱都是公开可查的。但是,通过零知识证明技术实现的隐私币,例如 Zcash就可以达成隐藏交易信息,但是同时能让全网验证交易合法性的效果。
Web3.0时代是个人持有数据的时代,是隐私需求非常高的时代,这个背景下,零知识证明在很多场景下都会非常有用。
结论
这就是对零知识证明的基本介绍了。我们要记住的是,零知识证明是一种密码学方法,示证者要在验证者对信息本身“零知识”的前提下去证明跟信息相关的某个命题是成立的。在 Web3.0的数据经济时代,个人隐私问题尤其突出,零知识证明会大有用武之地。
-
芝麻开门交易所官网地址 芝麻交易所排名 11-09