主页 > 最新imtoken官网 > 什么是零知识证明以及如何在区块链中应用零知识证明

什么是零知识证明以及如何在区块链中应用零知识证明

最新imtoken官网 2023-01-17 12:29:20

区块链技术一直受到金融巨头的关注。 像联盟链这样的共享账本帮助银行节省了大量成本,但他们仍然希望保护自己的私人数据。 因此,零知识证明是金融机构可以帮助实现这一愿景的工具。 Zcash 首先提出了一种零知识证明的方法,银行可以通过这种方法将资产转移到这些网络,而不会泄露其信息或泄露客户的秘密。

如何实现交易过程中的完全匿名? 匿名交易的实现依赖于一种称为“零知识证明”的密码学方法。 本文将为您讲解ZCash的交易原理以及零知识证明在交易过程中的应用。

1. 什么是零知识证明?

80年代,麻省理工学院首次提出零知识证明3354方法。 证明者 A 向验证者 B 证明某物的真实性,除了明确说明的事实外,没有透露任何额外信息。 比如登录一个网站,现在普遍的做法是web服务器保存原始密码的hash值,用户登录时对比hash计算结果。但是这种方式暴露了用户的密码,如果服务器受到攻击。 如果能够实现零知识证明,用户不需要知道用户的密码,只需要随机验证即可登录,即使服务器被攻击,也不会存储用户的明文密码,有效保证了用户的安全。

一个基本的零知识证明是交互式的,其中验证者 B 需要向证明者 A 询问一系列关于其拥有的数据的问题。 如果他们都能给出正确答案,那么证明者 A 很有可能确实有相关数据。 例如,如果有人声称知道数独谜题的答案,零知识证明的一种形式是让验证者随机指定这个时间来按列、行或方格检​​查。 每次不需要看数摆的具体位置,只需要查看是否包含1-9位数字即可。 只要验证次数足够多,就可以大概率相信验证者知道数独的解法。 但是,这样简单的方法并不能让人相信证明者A和验证者B都不是假的。 以数独为例,两者可能事先串通,让证明者A在不知道答案的情况下通过了验证。 如果他们要说服第三方,验证者B还必须证明他们每次的测试计划都是随机的,不存在与验证者A串通,

零知识证明 比特币_比特币李笑比特币身价_比特币期货对比特币影响

非交互式零知识证明,顾名思义,不需要交互过程,避免了串通的可能。 然而零知识证明 比特币,可能需要一些额外的机器和程序来决定测试序列:例如,在数独的情况下,测试序列必须保密,否则,如果验证者提前知道测试序列,则可以使用此信息并提前准备。

随机验证的零知识证明可以分为两类:

事实陈述:如“证明一个数n是合数”。

数据表示语句:如“知道n的因式分解”。

但并非所有问题都有用于零知识证明的密码方案。 Goldreich、Micali 和 Wigderson 给出了零知识证明解决方案的理论有效范围。 他们发现对于决策问题(只有是/否答案的问题)有一个已知的零知识证明方案,其解决方案可以在多项式时间内得到验证。 我们只需要在这样的问题中找到我们要证明的论证,并将其转化为图的三着色问题的例子,就可以利用现有的协议来实现零知识证明。

2.零知识证明在区块链中的应用

实际的零知识证明技术涉及到非常深的数学和密码学基础知识。 因此,为了更形象地描述零知识证明的交易过程,我们请来数字货币领域最著名的CP:Alice和Bob,以Qtum的交易为例,演示零知识证明是如何进行的应用于区块链。

交易场景:Alice 发送 Bob

零知识证明 比特币_比特币李笑比特币身价_比特币期货对比特币影响

Alice 在转账 QTUM 之前,需要提前准备好一个 QTUM。 为了便于理解,我们将 Alice 将转出的 QTUM 视为一张面值为 1 QTUM 的权益票据。

从这个法案可以看出:

爱丽丝确实有 1 个 QTUM

Alice 使用私钥证明 Alice 有权转移此资产。

票据的面额和转账权限已经明确,Alice可以转账给Bob。 转账的原理很简单,就是为Bob新建一个相同的bill,证明Bob有一个QTUM。 与此同时零知识证明 比特币,小易网小编2022撕毁了Alice手中的票据,就这样实现了资产所有权的转移。

比特币期货对比特币影响_零知识证明 比特币_比特币李笑比特币身价

以上逻辑其实也不难理解,就和日常生活中的银行转账一样。 通过银行转账,我们不必在交易中转移实物货币,而是通过银行记账实现“资产所有权”的转移。

ZCash的转账原理与QTUM相同,ZCash的交易过程也是“资产所有权”的转移。 继续计费类比。

交易场景:Alice转1 ZEC给Bob。

在转账之前,爱丽丝创建了一张面额为 1 ZEC 的钞票。

比特币期货对比特币影响_比特币李笑比特币身价_零知识证明 比特币

从这个证书我们可以知道:

Alice 确实拥有一个 ZEC,Alice 使用私钥证明 Alice 有权转移这个资产。

这张“凭证”多了一串随机数,用符号r表示,这串随机数作为发票编码,唯一标识该票据。 爱丽丝的票证代码是 r1。 有了以上明确的信息,Alice 就可以把 ZEC 转到别的学校了。

1. 和QTUM一样,你应该先为Bob创建一个新的“账单”。 Bob 的账单代码 (r2) 与 Alice 的账单代码 (r1) 不同。

比特币期货对比特币影响_零知识证明 比特币_比特币李笑比特币身价

2、当新的“资产所有权”产生时,我们必须想办法摧毁原有的“资产所有权”。 也就是说,我们必须想办法让爱丽丝的“账单”失效。 不同于QTUM的“直接撕裂”,它使用了“remark voiding”的方式来达到同样的效果。 怎么理解就是新建一个作废单据列表,小易网小编2022输入要作废的“发票代码”,不对原单据做任何处理。

零知识证明 比特币_比特币李笑比特币身价_比特币期货对比特币影响

从上图可以看出,原来爱丽丝持有的纸条依然存在,并没有消失,只是这张纸条已经被记录在“作废列表”中了。 在确定资产权属时,需要同时阅读两种存货的信息。 判断Bob资产归属的判断方法是:Bob持有的“note”代码不存在于无效列表中。

但是为什么要这样设计呢? 其实这样设计的目的就是为了在交易过程中使用“零知识证明”。

让我们回顾一下 QTUM 和 ZCash 的例子。

爱丽丝想转一单位数字货币(QTUM/ZEC)给鲍勃,即爱丽丝想转一单位资产所有权给鲍勃。 这时候有两种方法:

(1) QTUM:Alice 有一张 1QTUM 的账单。 在给 Bob 转账时,她应该先为 Bob 创建一个新的 1QTUM 账单,并在 Bob 面前撕掉她的原始账单。

(II) Zcash:爱丽丝拥有一张 1ZEC 票据。 在给 Bob 转账时,她应该先为 Bob 创建一个新的 1ZEC 账单,然后将 Alice 的发票代码记录在一个约定的无效列表中,证明 Alice 的账单已经过期。

ZCash 的方法属于零知识证明。 在整个交易过程中,Bob 没有看到 Alice 的账单,但还是实现了资产所有权的转移。 在 ZCash 的整个交易系统中,还有其他人在见证 Alice 和 Bob 之间的交易,也就是负责记录交易信息的矿工。 同样,矿工也不必看到Alice的账单,只要能确定代号为r1的账单已经作废即可。

进一步解释了ZCash的匿名交易过程。 这是相同的示例:Alice 将一个 ZEC 转移给 Bob。 本例涉及的角色是转账方Alice和Bob,记账人(矿工)。

首先,爱丽丝和鲍勃都有一张票。

比特币期货对比特币影响_比特币李笑比特币身价_零知识证明 比特币

两个“法案”都是有效的。 Alice 的票从一开始就存在于整个 ZCash 网络中,Bob 的票生成后会向全网广播。 为了隐藏交易者的信息,需要对两张票进行加密。 信息是加密的,可以用所有者的私钥解密。

零知识证明 比特币_比特币期货对比特币影响_比特币李笑比特币身价

同时,由于只能有一个资产,所有矿工仍然有一个无效列表。 爱丽丝想同时广播她自己的“发票代码”并将其输入到无效列表中。 发票代码也被加密。 所以矿工看到的信息其实是这样的。 其中Alice的ticket已经存在,Alice的ticket code r1和Bob的ticket在交易过程中由Alice广播。

比特币期货对比特币影响_零知识证明 比特币_比特币李笑比特币身价

矿工可以获得的信息是相当有限的,但这并不影响矿工对交易有效性的判断。

判断逻辑很简单:矿工拿到Alice给的bill code r1,在无效列表中查找。 如果r1已经存在于撤销列表中,则证明r1对应的票据已经作废; 如果r1不在撤销列表中,则证明r1对应的票据仍然有效。 此时矿工将r1加入到失效列表中,将新生成的bill加入到bill列表中。 因此,记账的过程就是将原票据登记作废,存入现有票据的过程。

在这个过程中,不难发现,矿工每笔交易只能收到一个invoice code和一个新的invoice code,而且都是加密的。 所以矿工不知道这两方是谁,也不知道转了多少钱。

在现有区块链上的交易中,除了用地址代替交易双方的真实身份使交易部分匿名外,发送和接收的地址和金额都是已知的,其他人可能会在网络上传递各种信息和现实世界。 网络中的交互记录对应真实身份地址,存在隐私泄露隐患。

零知识证明可以在不透露具体币种的情况下验证你是否真的花掉了这笔钱。 为了把这笔钱转给他人,我们逻辑上有必要让这个隐私币不被别人花掉。 隐私币的工作方式是共同维护一个失效列表,其中包含所有花费的隐私币的序列号。

矿工在验证这笔支出交易时使用零知识证明方法。 他们不需要知道花费了哪个隐私币,也可以验证隐私币的序列号是否在撤销列表中。 由于交易中没有输入地址和签名信息,矿工在整个交易过程中并不知道这枚私人币的来源,因此很难分析交易历史并获取用户身份。