5

从头开始揭秘 zk-SNARK (一)

 2 years ago
source link: https://www.jinse.com/blockchain/1080851.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

近日以太坊基金会公开了正在支持的研发团队的项目和领域,其中涉及「应用零知识证明」的团队和技术最多,近 14 个项目。零知识证明,"零知识"的概念可能有些令人费解,zk-SNARK 很快就会变得复杂,因此让我们从头开始。

本篇文章,星际视界将为读者掀开zk-SNARK的神秘面纱,从密码学展开,对zk-SNARK进行由浅入深的讲解。

什么是密码学

密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。简单地说,密码学是对保密通信技术的深入研究。当人们只希望发送方和接收方查看消息内容时,他们经常使用密码学。

密码学已经存在了几个世纪,最早密码学出现在古埃及,克努霍特普二世(Khumhotep Il)的追随者在他的坟墓上刻了加密符号。密码学早在公元前400多年就已经产生,人类使用密码的历史几乎与使用文字的时间一样长,密码学的发展大致可以分为 3 个阶段: 1949 年之前的古典密码学阶段; 1949 年至 1975 年密码学成为科学的分支; 1976 年以后对称密钥密码算法得到进一步发展,产生了密码学的新方向—公钥密码学。

1976 年,W.Diffie 和 M.Hellman 在发表的文章“密码学的新方向”中首次公开提出了公钥密码( Public-key Cryptography) 的概念。公钥密码的提出实现了加密密钥和解密密钥之间的独立,解决了对称密码体制中通信双方必须共享密钥的问题,在密码学界具有划时代的意义。

加密货币世界中的密码学

加密货币世界中最常见的密码学元素之一是哈希函数,它是任何区块链的支柱。哈希函数——特别是SHA-256,大多数区块链中的哈希函数——基本上将单词短语或数字等输入转换为一个固定长度的加密信息,看起来像这样:

77077b1f4c3ad44c83dc0bdb8d937e9b71c0ef07a35c2664bb7da85be738eacf

哈希函数允许像比特币这样的区块链处理交易,将区块链接到一个或另一个,并确保区块链数据的完整性得到维护。就像哈希函数一样,zk-SNARK是一种密码学形式。它们被用来保证比用户在区块链上获得的更强的隐私。

什么是zk-SNARK

zk-SNARK是“zero knowledge Succinct Non-interactive ARgument of Knowledge”的缩写,这一长串名字的主体是“argument of knowledge”,即“知情证明”,也就是掌握某事内幕的证据。修饰主体名词的定语由三部分组成,分别代表了此技术要解决的三个问题,分别是:

1、zero knowledge:零知识,即在证明的过程中不透露任何内情,如上文的例子所示;

2、succinct:简洁的,主要是指验证过程不涉及大量数据传输以及验证算法简单;

3、non-interactive:无交互。上文中举的两个例子虽然实现了零知识证明,但Prover和Verifier之间需要经过多次交互才能取得满意的可靠性,而此技术试图彻底避免这些交互。

合起来,zk-SNARK是一种“证明我知道内情的技术,简单、易操作,最关键的是你除了“我是对的”啥也不会知道”。通常我们都称zk-SNARK为零知识证明。

zk-SNARK在行动

zk-SNARK是"零知识"密码学的一种形式,zk-SNARK 允许加密用户以完全加密的方式在区块链上发送交易,这意味着没有人可以读取它们,同时表示交易以合法方式进行。零知识证明允许A向B证明陈述X是正确的,而不透露任何超出陈述X本身有效性的信息。想象一下,向某人证实你已过21岁,但不透露你的生日或你已经25岁。这是想象zk-SNARKs如何工作的一种有用的方式。

Zcash 是首个使用零知识证明机制的区块链系统,它可提供完全的支付保密性,同时仍能够使用公有区块链来维护一个去中心化网络。与比特币相同的是,Zcash代币(ZEC)的总量也是2100万,不同之处在于,Zcash交易自动隐藏区块链上所有交易的发送者、接受者及数额。只有那些拥有查看密钥的人才能看到交易的内容。用户拥有完全的控制权,他们可自行选择向其他人提供查看密钥。

每一种新的隐藏支付都会在区块链上产生三种类型的记录——通过哈希保护的记录。所涉及的哈希情况表示:交易接收者的地址、发送的金额和交易本身独有的数字。结果是,隐藏的交易依赖于像比特币一样的哈希值,但正是 zk-SNARK 增加了一层新的隐私。像Zcash和Monero这样的加密货币在一些用户中很受欢迎,因为加密行业是由许多自由主义者组成的。这两种货币都试图将自己与比特币等更流行的加密货币区分开来,声称如果你使用他们的货币,就没有人能窥探你的私人财务生活。

zk-SNARK的未来

zk-SNARK是匿名加密交易的有用工具。但除了隐私币之外,它们也在帮助推动越来越多的其他应用程序。

例如,Celo是一个专注于移动支付的加密货币协议,它希望创建一个更具包容性的协议。

Celo从事产品和工程工作的Pranay Mohan认为,zk-SNARK这项技术的潜力远远超出了那些主张保护隐私的人。Mohan特别指出了zk-SNARK如何帮助发展中国家的人们。“如果我们想想这些人现在如何能够使用加密货币,这几乎是不可能的,他们没有使用Metamask,并在一个随机DeFI项目中投入1万美元,”他说。Mohan补充说,使用zk-SNARK,移动电话用户可以立即与区块链同步——保留加密货币同样的不可信属性,但在不具备高度技术能力的设备上。

尽管zk-SNARK很有前途,但它仍然非常小众。即使在加密这样的高科技行业,很多人也不知道它们是什么。但随着越来越多的公司开始接受这项技术,这种情况可能正在改变。这些包括Aleo,最近从蓝筹风险投资公司筹集了2800万美元的初创公司,用于构建工具,让Web开发能够整合各种互联网应用程序中的零知识证明——该项目承诺让消费者在不透露大量个人数据的情况下浏览网络。

但这并没有阻止全球最大的会计师事务所之一安永(EY)尝试这种先进的密码学。

安永通过运用了非交互式零知识证明算法zk-SNARK,研发了自己的通证化开源协议,成功实现了以太坊公网上第一条私密交易,并将逐步应用于各类区块链企业级应用中,让客户在不牺牲用户隐私的情况下拥抱区块链的潜力。

据Brody说,该会计事务所自己的Nightfall解决方案提供了一种在以太坊网络上进行绝对隐私交易的方法,同时为企业提供服务。虽然对高度私人的金融交易存在监管方面的担忧,但Brody相信zk-SNARK将在未来成为主流。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK