洒脱喜一周评丨三分钟了解新型零知识证明方案Virgo(处女座)
导读:这周我们先通过两篇科普文章了解 零知识证明 的概念,再来了解由“计算机安全教母”宋晓冬教授等人提出的新型零知识证明方案Virgo(处女座)。而在硬核技术文章周选部分,我们还会看到比特币技术年度总结、Eth2.0中继者网络与手续费机制、区块链分层模型新思路的内容。
另外,由V神提出的新方案,可能会加快ETH 2.0的整体落地进度。
(图片来自:pexels.com)
以下是上周内容的精选回顾,enjoy ~
一、理解零知识证明,新型零知识证明方案Virgo(处女座)又长什么样?
关于区块链的隐私问题,我们经常会提到零知识证明(ZKP)方案,它们可允许证明者说服验证者一个语句是真的,而不会泄露任何超出声明有效性的额外信息。
近年来,零知识证明协议在计算委托、匿名证书、隐私保护加密货币和智能合约方面已经取得了巨大的进展。而在进入这周的学术论文分享之前,我们需要先来了解一下零知识证明的概念,因此先推荐两篇科普好文:
1 零知识证明学习笔记:背景与起源
文章由斯坦福大学密码学学者东泽提供,其先从比特币的保密性不足问题入手,然后谈到CoinJoin、保密交易(CT)这两个比特币隐私提升方案所存在的弊端,接着他讲到ZCash所使用的零知识证明方案zk-SNARKs及其潜在的应用。文章链接:https://www.8btc.com/media/537030
2 郭宇:3分钟搞懂零知识证明,为何它是一把双刃剑?
由安比实验室创始人、数字资产研究院学术与技术委员郭宇分享的《零知识证明,区块链技术缺失的一环》演讲内容(经巴比特记者整理),谈到了零知识证明概念的由来,以及用地图三染色问题来解释零知识证明的基本概念,此外,2018年3月1日,ZCash团队成员在论文 [BCTV14] 附录B中的一个致命错误,可被用于无限造币,这也提醒了人们零知识证明协议离不开形式化验证。文章链接:https://www.8btc.com/article/537797
尽管研究进展是显著的,但很多零知识证明(ZKP)方案仍存在着一些局限性,例如上面提到的 zk-SNARKs ,它就需要一个可信的设置阶段来生成结构化引用字符串(SRS),而如果该陷门被泄露,那么系统的安全性将被破坏。
为了解决这一问题,最近有很多零知识证明(ZKP)方案的设计都移除了对可信设置的需求。
而来自加州大学伯克利分校及德克萨斯A&M大学的四位研究者(包括Yupeng Zhang 、Jiaheng Zhang、Tiancheng Xie 和 Dawn Song (宋晓冬))则将这类ZKP方案称为透明零知识证明(ZKP)协议,他们还根据Goldwasser等人提出的 双有效交互式证明GKR方案 ,提出了一个具有简洁证明大小和验证时间的高效透明ZKP系统。
原论文链接: https://eprint.iacr.org/2019/1482.pdf
而这一研究论文,也被安全与隐私顶级会议IEEE S&P 2020所接受。
看上去是不是感觉“灰常腻害呢”!不妨来具体看看这个协议到底长啥样吧!
根据论文介绍,该研究的贡献大致可被分为3点:
- 透明零知识可验证多项式委托(Transparent zero knowledge verifiable polynomial delegation) :研究者们提出了一种新的无需可信设置的零知识可验证多项式委托(zkVPD)方案。与现有基于配对的密钥分配方案相比,这种新方案不需要陷门和线性大小公钥,其消除了模幂运算和双线性配对等繁重的密码运算;
- 透明的零知识论证(Transparent zero knowledge argument) :研究者们将新的zkVPD协议与GKR协议有效地结合起来,从而得到了一个透明的ZKP方案,这一方案只使用了轻量级的密码学原语(例如抗碰撞的散列函数,因此可能是抗量子计算的);
- 在新方案的基础上,研究者们实现了一个名为 Virgo(处女座) 的ZKP系统,它是研究者们上一个ZKP方案Libra(不要误会,并不是Facebook的Libra哦)的升级版本,而他们还计划开源这一系统;
Virgo(处女座)与其它零知识证明方案的对比
上面,我们简单介绍了这项研究的主要贡献,为了节省时间,我们直接跳过非常复杂的技术描写而看结论,这一研究中主要的技术贡献是一个新的具有O(N log N)证明者时间、 证明大小和验证时间的透明zkVPD方案(其中的N代表多项式的大小)。另外,研究者实施的零知识证明系统Virgo(处女座)是用C++实现的,其中透明zkVPD协议大约有700行代码,而GKR部分则有2000行代码。
在单台服务器条件下进行实验后,研究者们将其与其它6种ZKP方案(包括Libra、Ligero、Bulletproofs、Hyrax、Stark以及Aurora)进行了比较,结果如下图显示:
各方案关于证明者(P)时间、证明大小及验证(V)时间的对比
其中,在前两个基准上,Virgo(处女座)相比Libra要优化了7-10倍,而在第三个基准上则要快3-5倍,而这种优化便是来自于研究者们新提出的高效zkVPD。而与其它透明ZKP系统相比,从实际证明者时间来看,Virgo是这些系统中表现最好的,它要比其它系统至少快一个数量级,而在验证时间的对比上,Virgo的表现也是非常出众的。
例如,验证一个256个子叶的Merkle树,2^26个门的电路构造,Virgo只需要花费50 毫秒的时间,它的验证时间与ZK-Stark是可竞争的。
而在证明大小方面,它要比 Bulletproofs (防弹证明)更大一些,类似于Hyrax、Stark以及Aurora。
zkVPD和新ZKP方案的应用场景
最后,在这篇论文中,研究者们提出了新方案适用的三个应用场景,分别如下:- 可验证秘密共享;
- 提升区块链项目的隐私性;
- 大规模零知识证明:除了区块链之外,也有很多其它应用需要证明大型声明的ZKP,例如美国国防高级研究计划局(DARPA)最近打算使用ZKP来证明复杂程序的行为,而不泄露敏感信息,而这样的应用需要将ZKP方案扩展到具有数十亿门的电路。
二、硬核技术文章一周精选
2、1 比特币技术年度最全总结
由Bitcoin Optech总结的2019年比特币技术进展文章,其回顾了比特币技术项目代码库近9000次commit(近2000次合并)、1500多个邮件列表帖子、数千行IRC日志以及其它很多公共来源。以下是每个月中最显著的技术进展:
1月:BIP127储备证明;
2月:(1)兼容硬件钱包接口的Bitcoin Core,(2)Miniscript;
3月:(1)共识清理软分叉提议,(2)Signet,(3)Lightning Loop;
4月:(1)AssumeUTXO,(2)Trampoline支付;
5月:(1)Taproot,(2)SIGHASH_ANYPREVOUT,(3)OP_CHECKTEMPLATEVERIFY;
6月:(1)Erlay和其它P2P中继改善,(2)闪电网络暸望塔(Watchtower);
7月:Guix
8月:无契约金库
9月:(1)SNICKER,(2)发现闪电网络漏洞;
10月:LN锚输出;
11月:(1)Bech32,(2)移除Bitcoin Core中的OpenSSL,(3)移除Bitcoin Core中的BIP70;
12月:闪电网络多路径支付
完整原文链接:https://bitcoinops.org/en/newsletters/2019/12/28/
洒脱喜简评:可能是目前市场上介绍2019年比特币技术进展最全的一篇文章,比特币迎来了一系列增量改进解决方案,而其中有很多内容是被大家忽略了,有兴趣的可以了解下。
2、2 干货 | Eth2.0 的中继者网络与手续费机制
来自以太坊 2.0 研究者John Adler的技术总结文章(由IAN LIU & 阿剑翻译),其重点关注了以太坊2.0 的中继网络及手续费机制。其中,每种提案都有其不同的权衡取舍,而且被不同的平台所采用,因此做一次合理且全面的汇总,能让新入门的研究者更快上手。文章链接:https://www.8btc.com/media/539143
2、3 Vitalik :基础层和功能逃逸速度,论并行开发layer 1和layer 2的必要性
以太坊联合创始人Vitalik Buterin在其最新发布的博文《基础层和功能逃逸速度》中提到,“保持 layer 1简单,使用layer 2来弥补不足” 并不是解决区块链可扩展性和功能性问题的普遍答案,因为这种思路没有考虑到layer 1区块链本身必须要具有足够的可扩展性和功能性,否则所谓的layer 2协议只是可信的中介。在这篇文章中,Vitalik提出了“功能逃逸速度”的概念,他还表示,短期内我们需要并行开发layer 1与 layer 2 ,而长期则要更关注layer 2的开发。文章链接:https://www.8btc.com/article/539384
洒脱喜简评:V神解释了layer 1在具备三种条件下(1、包括一种可验证任意内容的编程语言,2、丰富的有状态性,3、充分的数据可扩展性和低延迟),即可使得layer 2在无需可信中介的情况下进行部署,因此他建议短期内我们仍要并行开发 layer 1和 layer 2。
一般认为,用户对 layer 2的去中心化属性并没有太大的要求,但如果能够在实现高性能的情况下再去实现去中心化,感觉是不是很美呢?咦,似乎又会导致一些安全问题哦,原文 https://vitalik.ca/general/2019/12/26/mvb.html 下有相关的评论。
三、主流区块链项目技术进展
3、1 Vitalik Buterin发布重磅新提案,让ETH 1.0链作为分片0,更快迁移到ETH 2.0
上周,以太坊联合创始人Vitalik Buterin提出了一种将ETH 1.0数据迁移到ETH 2.0的更快方法,这种方案需要用到无状态客户端,但不需要无状态的矿工和Web程序集,因此需要更少的重构工作,而ETH 1.0将作为ETH 2.0 的分片0而存在。原帖:https://ethresear.ch/t/alternative-proposal-for-early-eth1-eth2-merge/6666/13
洒脱喜简评:这一提案有望加快ETH 2.0的整体落地进度,但它的第0阶段(Phase 0)似乎依旧还要等待半年以上的时间,而眼前以太坊还将面临一次非常重要的更新 ——“缪尔冰川”硬分叉,它将拆除难度炸弹,使得以太坊的区块时间逐渐恢复至正常的14.3s左右,这预计将在3天后发生(北京时间2020年1月2日下午)。(吐槽:开发者们也要过节日咯,这周研发进度更新内容就只有这些咯)
本周的精彩内容就到这里啦,下周再见~
文/洒脱喜 稿源:巴比特资讯(http://www.8btc.com/article_540380)