本文由尘埃科技整理编辑发布,请拖动至文章底部查看更多精彩内容
编辑|RR
zk-SNARK最近多次出现在了我们的视线中,很多人还没搞清楚zk-SNARK到底是什么,到底有什么原理,能解决什么问题,今天我们就跟大家全面解读zk-SNARK相关的一切。
尽管加密货币交易与任何人的身份无关,但由于被公开记录在区块链上,它们通常是可追踪的。如果你想避免这种情况,你需要一种被称为隐私币的特定类型的加密货币。隐私币用来保持交易匿名的方法之一是一种叫做zk-SNARK的技术。
对于那些正在考虑将隐私币用于个人用途或作为加密货币投资的人来说,了解其背后的技术非常重要。虽然zk-SNARK有些复杂,但我们将在本指南中详细介绍它的作用。
zk-SNARK是什么?
zk-SNARK是一种零知识证明协议,在这种协议中,人们可以证明自己拥有某些信息,而无需披露这些信息,也不需要各方之间进行任何交互来证明和验证这些信息。
术语“zk-SNARK”是“Zero-Knowledge Succinct Non-Interactive Argument of Knowledge”的缩写。这个名字的每一部分都指代了zk-SNARK的一个特征,因此单独查看每一个组成部分会有所帮助:
Zero-Knowledge:证明方可以向验证方表明他们拥有某项信息,而不需要提供信息本身。
Succinct:由于证明的长度最多只有几百个字节,所以证明可以在几毫秒内得到验证。
Non-Interactive:证明包括从证明者到验证者的单一信息。
Argument:Argument是这些证明的术语,因为它们不完全符合证明的传统定义,但有效地服务于相同的目的。
Knowledge:指证明者所拥有的信息。
在加密货币中,zk-SNARK是一种在区块链上对交易进行私有和完全加密的同时,仍然使用网络的共识规则进行验证的方式。zk-SNARK可以表明发送者拥有他们想要转移的资金数额,而不需要公开该信息。
zk-SNARK解释
zk-SNARK来自零知识证明的概念,该概念是Shafi Goldwasser、Silvio Micali和Charles Rackoff在1985年的一篇论文中首次提出的。正如前面所解释的,零知识证明是一种方法,它允许一方只表明他们拥有一条信息,而不透露信息本身或任何其他信息。
早期的零知识协议要求证明方和验证方来回发送消息。Nir Bitansky、Ran Canetti、Alessandro Chiesa和Eran Tromer在2012年的一篇论文中创造了术语“zk-SNARK”来描述一种新的零知识协议。与之前的方法不同,它不需要证明方和验证方在单一信息之外进行交互。
合著者Chiesa后来帮助创立了Zcash ,这是一种2016年推出的隐私币。它使用zk-SNARK技术来支持私人交易。
zk-SNARK如何工作
大多数类型的加密货币通过网络检查交易是否满足某些条件来进行验证。具体来说,其条件是发送方拥有可用的资金,并且他们提供了正确的私钥来表明资金属于他们。
zk-SNARK允许交易的发送方在不透露任何涉及的地址或金额的情况下证明这一切。为了做到这一点,区块链网络在zk-SNARK中编码了一些共识规则。
在交易过程中,zk-SNARK将需要证明的信息转化为方程。这些方程可以在不透露信息本身的情况下计算和求解。
zk-SNARK的优缺点
zk-SNARK的主要好处是其提供的隐私和效率。它们屏蔽了敏感信息,只需几毫秒即可验证,而且不需要相关各方之间的长期交互。所需要的只是从证明者到验证者的一条消息。
尽管zk-SNARK没有任何明显的缺点,但如果有人拥有用于建立协议的私钥,他们就能够创建虚假证明并伪造资金。使用zk-SNARK的隐私币必须采取措施,确保没有任何一方能够获得该私钥。
zk-SNARK vs. zk-Rollup
zk-SNARK远非加密货币使用的唯一类型的零知识证明。另一种常见的技术是zk-Rollup,这是一种帮助以太坊更有效地处理交易的扩展解决方案。
Rollup将一大群交易捆绑在一起,并在链下验证它们,这意味着所有的计算都在主以太坊区块链之外处理。然后它们被打包成一个单独的交易,发送到以太坊的执行层。
有不同类型的Rollup可供选择。例如,Optimistic rollup假设交易有效,直到它们被证明为错误。另一方面,zk- rollup可以即时验证交易并生成加密的有效性证明。证明可以使用zk-SNARK或另一种类型的零知识证明技术zk-STARK生成。
zk-SNARK用例
zk-SNARK最著名的用例是屏蔽加密货币交易。Zcash是zk-SNARK的第一个广泛应用。该隐私币允许用户在私有地址和透明地址之间进行选择。当用户选择私有地址时,zk-SNARK会屏蔽交易数据。
其他区块链项目也在使用zk-SNARK。以太坊在2017年开始致力于整合Zcash和zk-SNARK。同年,Zcash与摩根大通合作,用zk-STARK构建了一个基于区块链的支付系统。
虽然zk-SNARK目前被用于私有化金融交易,但这并不是它们的唯一应用。在未来,我们可以看到它们被用来保护人们在网上活动时的数据。
如何应用zk-SNARK
zk-SNARK通过将需要证明的信息转化为数学方程来进行应用。交易的发送方会构建一个证明来证明:
传输的输入和输出值匹配。
发送方拥有输入的私有支出密钥。
这些私钥以加密方式与交易的数字签名进行链接,以确保它不能被没有私钥的人修改。
zk-SNARK是一项有用的技术,结合了这项技术的加密货币已经成为了热门投资。虽然隐私币有明确的效用,但请记住,它们并不稳定,其提供的隐私水平可能会导致未来的监管问题。如果你决定投资某种隐私币,请采取保守的方法,避免投入超出你承受能力的资金。
信息来源自The Motley Fool,略有修改,作者Lyle Daly
尘埃科技
更多DAO、Web3、NFT、Metaverse
专业研究请关注尘埃科技旗下「老雅痞」
Web3知识点、干货类内容
请关注尘埃科技旗下「Allrecode重构」
为Web3从业者建立内部链接,了解「重构研究院」
“商务合作”、“内容转载”请直接在后台回复关键字

