「区块链」详解Bulletproofs与Mimblewimble两者的关系

原创 北慕城南  |  文章来源:币圈达人发布时间:2020-05-24 01:40  阅读 100 次 评论 0 条
众人帮 趣闲赚 牛帮
摘要:

介绍
Bulletproofs
BulletProofts是不同的零知识证明系统家族的一部分,例如零知识简洁的非交互知识论证(zk-SNARK);简洁透明的知识论证(STARK)以及布尔电路的零知识证明和验证(ZKBoo)。零知识证明的设计

介绍

Bulletproofs

BulletProofts是不同的零知识证明系统家族的一部分,例如零知识简洁的非交互知识论证(zk-SNARK);简洁透明的知识论证(STARK)以及布尔电路的零知识证明和验证(ZKBoo)。零知识证明的设计使得证明者能够间接地验证语句的真实性,而无需提供超出语句验证范围的任何信息。例如证明发现了一个数字,可以解决密码难题,并且适合散列值,而不必揭示Nonce。

Bulletproofs技术是通用算术Circuitsdef的非交互式零知识(NIZK)证明协议,具有非常短的证明(知识论点),并且不需要可信的设置。它们依靠离散对数(DL)假设,并且使用Fiat-Shamir Heuristicdef使其不交互。

Bulletproofs还实现了多方计算(MPC)协议,借此,在计算Fiat-Shamir挑战并将其发送给验证者之前,将具有秘密承诺值的多个证明者的分布式证明汇总到单个证明中,从而最大程度地减少了交流次数。秘密的承诺价值将保持不公开。

Bulletproofs的本质是其内积算法,最初由Groth提出,然后由Bootle等人进一步完善。后者的发展为满足给定内积关系的两个独立的(不相关)bindingdef向量Pedersen Commitmentsdef提供了证明(知识的论据)。Bulletproofs建立在这些技术之上,这些技术产生了高效的通信,零知识证明,但是提供了一个进一步的替代品来代替内部产品论证,后者将总体通信减少了三倍。

Mimblewimble

Mimblewimble是专为隐私交易设计的区块链协议。本质上是,可以将Pedersen承诺0视为椭圆曲线数字签名算法(ECDSA)公钥,并且对于有效的隐私交易,输出,输入和交易费用之间的差额必须为0。因此隐私交易可以使用输出和输入的差作为公用密钥来签署交易。这可以大大简化区块链,在其中可以去掉所有花费的交易,并且新节点可以有效地验证整个区块链,而无需下载任何旧的和花费的交易。区块链仅由块头、剩余的未使用事务输出(UTXO)及其范围证明和每个事务的不可运行事务内核组成。Mimblewimble还允许在提交到区块链之前聚合事务。

Bulletproofs如何工作?

隐私交易的基础是用Pedersen Commitmentsdef代替输入和输出的金额。然后可以公开验证交易余额(提交的输入之和大于提交的输出之和并且所有输出均为正),同时隐藏特定的提交金额。这使得它成为一个零知识交易。交易金额必须编码为integersmodq,它可能会溢出,但是要通过使用范围证明来防止这样做。这就是Bulletproofs的用武之地。Bulletproofs的本质是它能够从内部产品计算包括范围证明在内的证明的能力。

证明者必须使证明者确信承诺C(x,r)= xH + rG包含一个使得x∈[0,2n-1]的数字。如果a =(a1,...,an)∈0,1n是包含x位的向量,则基本思想是将金额的所有位隐藏在单个向量Pedersen Commitment中。然后必须证明每个比特满足ω(ω-1)= 0,即每个ω为0或1,并且它们的和为x。作为随后协议的一部分,验证者将约束和质询∈ℤ

历史上的今天:

本文地址:https://www.u5881.com/7093.html
版权声明:本站推荐的部分活动具有时效性,老淘本人并不能保证当您看到本文时,该项活动是否仍在继续。

发表评论


表情