火星链 火星链
Ctrl+D收藏火星链
首页 > KuCoin > 正文

金色学院前沿课第六讲: 零知识证明:潜力与价值

作者:

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

本课主题:零知识证明:潜力与价值

课程介绍:也许你曾经听说过ZKProof或零知识证明。但是,你好像从来没搞清楚它是什么?在本节课中,你所有关于零知识证明的问题都将得到解答,我们从例子出发,讲解什么是零知识证明以及零知识证明如何被用于SK-SNARK和PLONK协议中。

课程大纲:

1.什么是零知识证明ZKPs

2.举例说明零知识工作原理及特征

3.ZKP在区块链中发挥何种优势

4.分析零知识证明在未来有何前景

导师简介:

王泽华

加拿大UBC大学客座教授、博士、博导;加拿大VerilogSolutionsInc.创始人;加拿大英属哥伦比亚大学客座教授;以太坊基金会合作伙伴。

王泽华博士,VerilogSolution安全审计公司创始人。加拿大UBC大学电子与计算机工程系客座教授,博士生导师。参与创办的UBC大学区块链研究生项目2021年排名加拿大第一。他在UBC开设的区块链核心课程包括区块链基础和区块链软件工程,每年培养上百名Web3行业从业者。王泽华博士2009年毕业于武汉大学软件工程专业,2016年获得UBC大学博士学位,其任职首席科学家的RightMesh项目在2018年获得加拿大总理特鲁多表彰。2019年回UBC任教,2021年创办VerilogSolutions?Inc.区块链安全审计公司,目前是多家公链生态和风投基金的官方合作伙伴。

课程内容:

大家好非常感谢金色财经的邀请,今天为大家带来了零知识证明的潜力与价值系列讲座。

1.?什么是零知识证明

首先,什么是零知识证明?零知识证明有的时候指的是零知识证明本身,泛指一切可以不需要泄露任何有用信息即可以证明我知道这些知识的方法。同时零知识证明有的时候也可以用来指代零知识证明实现的算法和协议。这里有必要指出的是零知识证明实质上是一种涉及两方和更多方的协议及两方和更多方完成一项任务所需采取的一系列步骤证明者向验证者证明并使其相信自己知道或拥有某一消息但证明过程不能向验证者泄露任何关于被证明消息的信息。最后一点,零知识证明也可以用来指代零知识证明过程中交互的消息。虽然拥有知识和信息的一方即证明方不需要告诉被要求相信的一方这些信息本身但是验证方需要和证明方产生交互才能达到信任证明方的目的。这些交互的消息有时候也会被称为零知识证明。

金色晨讯 | 7月24日隔夜重要动态一览:21:00-7:00关键词:USDT增发、V神、黄金、以太坊转账

1.灰度总资产管理规模达到43亿美元。

2.Tether在波场网络增发1.2亿枚USDT。

3.CME比特币期货7月合约突破9600美元。

4.V神:已开始进行Eth1到Eth2的合并工作。

5.现货黄金上破1890美元/盎司 再创九年新高。

6.以太坊在一分钟内出现8笔大额转账,价值约2.9亿美元。

7.美股三大股指收盘均下跌 道琼斯指数跌超350点。

8.以太坊多客户端测试网络Medalla将于8月4日21点启动。

9.比特币持续上涨,日内最高报9660美元,最低报9510.20美元。[2020/7/24]

所以我们在说零知识证明的时候,根据语境的不同强调的侧重点也不同。有的时候我们说的是零知识证明的算法,有的时候我们说的是零知识证明在验证过程中交互的消息。但是无论怎样,我们都需要了解零知识证明是如何工作的,我们需要掌握的是零知识证明是如何可以达到不告知对方有用信息的情况下达到向对方证明我知道这些信息的目的的。

为了讲清楚零知识证明我们需要从一个计算机科学里面的基本概念讲起这个概念就是P问题和NP问题。P问题指的是在多项式时间内可以解决和验证的问题,NP问题是指在多项式时间内可以验证但是目前为止找不到多项式时间内完成的解决方法的问题。现在计算机科学领域普遍认为P问题不等于NP问题。我们比较感兴趣的是这种NP问题,也就是说给定一个问题,并且给出这个问题的一个解答,人们很容易在多项式时间内判别这个解答是不是正确的。但是想找到一个正确的解,很难在多项式时间内实现。

这里我们可以想几个例子,什么样的问题是我们所感兴趣的NP问题呢?比如,分解由两个很大的质数相乘得到的合数。我们想要分解这样一个很大的合数需要耗费很多的计算资源,但是给出了其中的一个质因数我们就可以很容易的得到其他一个。而且验证一个解非常容易,只要将这两个质数相乘看看是不是等于这样个比较大的合数就可以了。另外一个NP问题比如说,三色问题。三色问题指的是在一个有点和边连接的图中,如何将网络中的点着色,使得有公共边的结点颜色互不相同。如果我们知道一个解,我们很容易去验证它是不是对的,但是找到一个这样正确的解需要花费很长时间。另外,比如说四色问题,如何给地图填色使得相邻的州或者相邻的国家颜色不同。如果我们知道一个解,我们很容易去验证它是不是对的,但是找到一个这样的解需要耗费很长的计算时间。

金色晨讯丨3月25日隔夜重要动态一览:21:00-7:00关键字:Telegram、法定数字货币、数字美元

1.法官根据SEC的要求暂停Telegram加密货币发行计划。

2道指收盘创1933年以来最大单日涨幅。

3.CFTC发布数字资产实际交付最终解释性指导。

4.业内人士:中国央行已更接近发行数字货币。

5.美国国会新冠病刺激法案最新版本取消“数字美元”提案。[2020/3/25]

在知道了NP问题的基本概念之后,我们就可以开始梳理零知识证明的脉络了。首先零知识证明是一套基于数学的程式化的算法,这种程式化的算法可以很容易用计算机帮助我们实现我们的目。我们需要构建一个NP问题,而且这个NP问题的答案就是我们的知识。我们想要证明我们知道这个知识,但是不想告诉别人这个知识究竟是什么。同时,我们也不能直接就把这个NP问题告诉别人,因为如果直接把这个问题告诉别人,就意味着除了告诉别人真正的答案和知识,没有别的方法证明我知道这个知识,也就无法做到零知识证明了。

那怎么办呢?我不能告诉你这个NP问题本身,我更不能告诉你这个NP问题的答案。我们需要做的,首先是把我的这个NP问题的解,带入到我的NP问题当中,并把原来的NP问题转换成等式的形式。再把这个等式的形式转化为另一个维度下的另一个NP问题,这个转化后的新的NP问题会被分解成比较方便验证的形式。这样做的目的是,别人可以验证的是这个新的NP问题,这个新的NP问题是原NP问题将解代入后的一种变化形式。别人知道的是,只有在知道原问题的解的情况下才能完成这种变化,那他就会相信我知道原问题的解了。

有点绕,但是我们来整理一下思路。就是我有一个知识,我构造出来一个NP问题使得我这个知识就是我这个NP问题的解。但是你可以检验的不是这个NP问题或者这个NP问题的解本身,而是在拥有解的一方将解带入这个原NP问题并转化后的另一个问题的完备性。因为你知道,倘若这个人没有解的话这种转化是不可能完成,当通过一系列消息交互对这个转换后的问题的完备性进行考验之后,你就可以相信这个人是有原NP问题的解的。

金色相对论 | 陈军:联盟链、私有链适合无币模式 公链更适合有币模式:本期金色相对论中,对于无币区块链和有币区块链各自的优势及各自应用场景,杭州量子大学区块链研究院联合执行院长陈军表示,如果我们把区块链技术区分为公链、联盟链、私有链的话,联盟链、私有链更适合无币模式,公链更适合有币模式。通常情况下区块链项目生成代币的作用有四个:一是众筹开发资金;二是激励系统参与者;三是为资产定价;四是标记资产。这其中前三个是币的概念,一般是通过发行的方式生成的,用来融资、激励和交易。最后一个是用来做标记的,是不能流通的。而基于代币的用途,其场景适用性为:

联盟链不需要发币,比如金融系统的联盟链,他们用区块链技术解决整个产品体系中的清算、结算问题。 私有链不需要发币,私有链通常是为企业产品赋能的方式,是可以直接用来赚钱的,比如电子合同、电子交易信息存证服务,开发者只需跟监管部门联合记账即可。企业内部的系统安全升级不需要发币,比如企业中的日常检查、审计、预算管理、数据永久保存等场景都可以用区块链来解决。[2018/9/29]

2.?举例说明零知识工作原理及特征

下面我们举例说明零知识证明的工作原理及特征。首先我们要知道的是。在数字货币和区块链中,所有的信息都是数。这个数可以很大,可以有成百上千位。这些数可以被连接成更大的数,也可以被切割成很多稍微小一些的数,用来传达不同的意义。这些字段可以是钱包地址,可以是金额,可以是交易的签名,等等。所有的这些信息都是数,很大很大的数。但是本质上跟我们接触到的正常的数没有任何差别。?

我也可以把一则消息数字化,比如我可以把一段英文字符完全转换成很大很大的一个数,这个数就是我们NP问题的解。

我们上面说的三色和四色问题虽然说也是NP问题,但是他们不适用于我们想要实现零知识证明的NP问题。是因为我们很难将解带入三色和四色问题并且把这个NP问题转换到另外一个维度上。我们想要的问题是那种可以直接用等式表达其正确性的。这样的问题比如说求解高维度下的多项式,这个多项式可以是成百上千次方,甚至是百万次方级别的多项式。求解这样一个百万次方的多项式或者说方程,是很困难的。但是我们很容易去验证一个解。比如说一个数是不是这个一元n次方程的解,我们只需要把这个解代入到原方程当中看它等式两边是不是相等就可以了。我们接下来用一个例子来讲为什么求解一元N次方程是一个好的NP原问题,那我们也会讲到多项式方程把解代入其中之后如何转换成另一个维度下的另一个问题,而且这种转换后的NP问题如何可以用于被校验。

金色财经现场报道 首支深圳天使母基金战略投资的区块链专项基金成立:金色财经现场报道 首支深圳天使母基金战略投资的区块链专项基金在2018全球首届万国区块链技术博览会上成立,深圳天使母基金在今年3月24日成立。之前杭州有区块链基金26天内募集100亿元人民币,不过深圳对于区块链产业的投资和关注不弱于杭州,这支区块链专项基金是政府引导,合规打造区块链\"强关系\"生态社群。挖掘和培育优质区块链项目,致力成为行业领导者。 该支基金首期5亿元人民币,深圳市政府出资占比40%,其中深圳天使母基金战略投资2亿元人民币。[2018/4/22]

再次想要重申的是,在区块链和数字货币的世界里,所有的信息都是数。和我们平时说的13579、24680,没有任何区别。在我们的这个例子中为了方便表达,我们用一个比较小的数X=2做例子,这个2就是我们想要证明的知识,就是说我们不想告诉别人我们知道这个数是2,我们也想让别人相信我知道这个数是2。

现在我们需要构建一个多项式方程而这个多项式方程的解就是2,我们这里用到的是x^2+2x+1=9。?在实际系统中这个值可以是一个非常非常大的数,有成百上千位。而这个多项式也可以是百万次方级别的一元N次方程。?

方便的同学可以把这个多项式写在纸上:x^2+2x+1=9。大家可以看到x=2就是它的解。如果不做任何转换我除了告诉你这个解好像没有别的方式让你相信我。我们需要完成一种转化,达到我不告诉你解等于2,也能证明我知道这个解。实际系统中的多项式很复杂,我们需要借助计算机完成。但是想让计算机帮我们转换转化,我们就需要一用一套简单的计算逻辑。计算机需要把上面的多项式打开,每个步骤只干一件事,并引入额外的临时中间变量存中间的结果。所以,我们可以把x的平方转化为x乘以x,?2x其实就是2乘以x,前两项的相加我们把这两项的中间结果分别定义为t1和t2,所以前两项的相加结果就是t1加t2,我们再把这个结果定义为中间变量t3。?t3再加上1,就是我们最后的输出结果。具体说来,我们现在应该有四个等式,t1=x*x,?t2=2*x,?t3=t1+t2,out=t3+1。这个里面的常量包括1和2,因为他们是线性关系我们只保留1,再把x,t1,t2,t3,out全部提取出来变成一个向量。也就是说一个常量1是第1个元素,未知数x是第2个元素,多项式的输出output是第3个元素,中间变量t1,t2,t3分别是第4,5,6个元素。这样的话我们就把这样一个具有6个元素的向量定义成我们这个系统的solution。也就是解。那其实我们对应的解应该是?,也就是说如果我知道x=2,那么就很容易构建出来这六个元素组成的向量是。为了方便表述,我们后面把这个向量成为解向量。

金色财经独家解读:韩国区块链协会自律控制案不具备法律效力,但协会可与商业银行合作关闭不参加宣言的交易所的法币兑换通道:今天韩国区块链协会发布数字货币交易所自律控制案,金色财经第一时间对此方案进行了解析。其中对交易所最重要的一点便是,韩国区块链协会自律控制案不具备法律效力,但介于协会与政府及商业银行的友好关系,协会可以通过与商业银行的协议关闭法币-代币转换通道。而这便直接导致了大部分韩国大型交易所一致支持宣言,其中包括bithumb,korbit,coinone等。但upbit或因其主要业务为新币种交易,拒绝接受宣言。在场的小型交易所也因为此方案对广告限制的范围过于广义,而没有同意宣言。

一家小型交易所对金色财经表态,他们认为这样的宣言内容会对中小型交易所造成不利的竞争环境,希望协会能够重新斟酌此方案。[2017/12/15]

现在我们分别要把t1=x*x,?t2=2*x,?t3=t1+t2,和out=t3+1写成解向量表达的形式。我们可以用点乘,也就是内积,的形式将需要的元素过滤出来。我们构建一个向量,这里面唯一一个1对应的是t1在解向量中的位置,再构建向量,这里面的1对应的x在解向量中位置,这样,t1=x*x,就可以写成一个解向量的向量内积t1,等于包含有解向量的第二个向量内积x,乘以包含有解向量的第三个向量内积x。这部分在后续的文字版中会加上插图方便听众理解。我们用相同的方式,可以把t2=2*x写成一个包含有解向量的向量内积t2等于两个包含有解向量的向量内积结果相乘的形式,同理t3=t1+t2可以写成解向量的一个向量内积t3等于一个解向量的向量内积乘以1,而这个1其实也是一个解向量的向量内积。这个包含解向量的向量内积等式同样可以用于表达最后一个等式,就是out=t3+1。

我们发现,我们已经把一个简单的数字2,变成了一个向量解,而且,这个向量解在经过我们上面的一连串算法变换之后,变成了由四个方程约束的向量解。现在如果我告诉别人这四个约束方程的话,也不能完全达到零知识证明的目的,因为向量解里面包含了我们的真实解x=2。那么怎么办呢,我们一定要继续对这四个约束方程在进行变化。

这四个约束方程,其实可以大致写成C=AxB的形式,这样的等式有4个。其中每一个中的C,A,B,都对应一个6个元素的常向量,就是我们上面使用的通过内积过滤所需元素的向量。对应于等式左边,我们把这4个用过内积过滤元素的向量写成按行排列的矩阵,就得到了一个4行6列的矩阵,对应于等式右边的A和B,同样每一个A或者B我们也有4个常向量用于过滤元素,同样可以写成一个4行6列的矩阵。所以,我们有三个4行6列的矩阵,分别对应于C,A,和B。为了进一步变换,我们现在将C,A,和B这样的4行6列的矩阵,按照列向量处理。对应于C的第1列,我们有,第二列也是,第三列是,第四列是,第五列是,第六列是。同样对于A和B也是分解成列向量。

我们用拉格朗日插值法对于每一个这样的列向量,把每个元素的位置,即n=1,2,3,4作为输入,得到每一列的解析式。比如,对应于C矩阵的第三列,我们有f(1)=0,f(2)=0,f(3)=0,f(4)=1。使用拉格朗日差值法,我们可以得到第三列的解析式:

所以我们把C,按列的方向,分别写成

6个关于n的三次方解析式。同理A和B矩阵也可以分别写成6个关于n的三次方解析式。我们把这六个解析式写成列的形式,即每个矩阵现在被转化成了一个6x1的列向量,其中每个列向量的每个元素是一个n的三次多项式。此时,我们已经把原问题转化成了另一个维度的问题。我们用C矩阵对应的列向量的转置乘以我们的解向量应该等于A矩阵对应的列向量的转置乘以我们的解向量,再乘以B矩阵对应的列向量的转置乘以我们的解向量,其结果应该是一个n的6次多项式。上面的等式,应该是在n=1,2,3,4时都成立。把右边挪到左边变做减法,我们得到了一个三次多项式减六次多项式等于0的形式,并且要求该六次多项式等于0,在n=1,2,3,4时都成立。

要求该六次多项式等于0,在n=1,2,3,4时都成立,其实就是意味着是它的子因式,我们把定义为Z,上面的六次多项式定义为P,我们可以求出另外一个子因式,应该是n的2次方多项式,把它定义为H。为了证明我知道原多项式的解向量,此时只需将P与H?发给检验者,检验者使用Z×H?检查是否与P相等,即可判断我是否有正确的解向量。

整个过程中,我们先构建了一个x的二次方程,将x=2扩展成解向量,并用了4个向量方程约束解向量,再把约束方程的参数以矩阵列的形式转化到另外一个维度成为n的多项式,并用因式分解的形式完成对n的多项式的验证。可以看到,如果我们不知道解x=2,是无法完成这样的转化的。一旦验证者验证了这样的转化是正确的,那么就可以在不知道x=2的情况向,相信我知道正确的答案。

3.?ZKP在区块链中发挥何种优势

隐私保护是ZKP在区块链中的最大优势。前面已经提到过,在区块链的世界里,所有的信息都可以表示成数字。类似的,区块链中的状态转换也可以用数字的拼接和分割表示不同的意义。说的直白一些,就是区块链的状态,包括各个钱包地址或者智能合约地址上的状态转换,都可以通过编码数字化。虽然这个数字化的结果是个很大的数,但是也可以构建出一个高阶多项式,使得这个数字就是他的解,之后通过我们前面讲的方法,构建出零知识证明。这样,我们可以将区块链上的交易信息隐藏起来,达到隐私保护的目的。

更进一步,我们可以把一连串的交易打包,只记录这一连串的交易对区块链造成的影响,即增量更新。这种增量更新也可以数字化成一组编码。那么用同样的方式,可以达到将一连串交易打包成零知识证明。这也就是zkrollup的最基本的原理了。

4.?分析零知识证明在未来有何前景

正如上面讲到的那样,使用零知识证明,不仅可以隐藏信息增加现有区块链上交易的私密性,同时可以将交易打包增加吞吐量。所以,使用零知识证明相关的技术,将毫无引文催生新的生态和在其上发展的应用。这对DeFi、GameFi、以及未来的元宇宙都具有很实际的意义。比如,一个人和智能合约交互的地址将是不可见的,或者一些交易记录可以被隐藏。但是我还是可以相信当前的区块链状态是正确的,是可以被验证为真实和正确的。同时可以预见的是,对于黑客来讲,最终他们的资金来源和流向将变的更加困难。可也会增加项目方和广大用户对区块链安全团队的需求和对智能合约安全性提出更高的要求。

标签:区块链UBC数字货币ZKP区块链的未来发展前景作者是谁eubchain国内数字货币交易合法吗ZKP币

KuCoin热门资讯
USD:?周星驰谈及去中心化DAO、NFT与电影

AMA关键词:NFTDAO电影去中心化集体创作 1.项目FwenClub:项目方20W全球成员JoanCornella:西班牙艺术家Ins325Wtwitter53.

1900/1/1 0:00:00
API:盘点6款链上消息通知工具:Web3通信层或将迎来激烈竞争?

随着各类加密产品的成熟度越来越高,其用户群体与影响力都在不断扩大,但目前严重制约用户体验的问题在于,用户仍然难以即时获取链上产品动态.

1900/1/1 0:00:00
NFI:链游Axie Infinity的至暗时刻

RoninNetwork的黑客事件已经过去近两周,次生灾害仍然没有结束,该区块链上构建的宠物战斗游戏AxieInfinity遭遇了各项数据的全面滑坡,有用户称无法从游戏中解押相关资产.

1900/1/1 0:00:00
EDG:浅谈NFT的注意力经济

在如今这种信息高速发展的时代中,注意力的价值将会超过信息。所谓注意力经济,是将人类的注意力作为一种稀缺的资源并且运用经济学理论来进行运营.

1900/1/1 0:00:00
ART:当以太坊扩展时 Avalanche、Solana和其他链会发生什么?

随着Arbitrum和Optimism等第二层协议继续被开发和采用,以太坊扩展解决方案变得越来越普遍.

1900/1/1 0:00:00
区块链:山西整治虚拟货币“挖矿”行为

金色财经报道,山西省发改委发布《关于虚拟货币“挖矿”用电实行差别电价政策有关事项的通知》,决定自5月10日起对虚拟货币“挖矿”用电执行差别电价政策.

1900/1/1 0:00:00