撰文&采访 | 潘致雄
责编 | Carol
出品 | 区块链大本营(blockchain_camp)
斯坦福大学计算机密码学博士 Benedikt Bünz 认为,零知识证明和密码学非常擅长于平衡隐私和透明的需求。虽然有些项目声称使用了非常厉害的新技术,但是这些技术可能还不具有实用性,效率低甚至不可扩展。
在万向区块链实验室举办的国际区块链周活动中,Findora 联合创始人兼首席科学家 Benedikt Bünz 在其中一场分论坛中分享了一种全新的零知识证明技术 Supersonic (超音速)。
Benedikt Bünz 不仅是 Bulletproofs (防弹证明)的发明人之一,还是以太坊 2.0 的密码学核心组件「可验证延迟函数」(Verifiable Delay Functions)概念的作者之一,所以他是加密货币领域非常重要的前沿密码学研究者,在隐私计算领域更是超一流的专家,当然这与他是斯坦福大学计算机密码学博士的教育背景密不可分。
后来 Bulletproof 被 Benedikt Bünz 等人提出,相比 zk-SNARKs,不需要初始化可信设置,但是验证成本可能会高一些,但还是远低于其他技术比如 zk-STARKs。在今年,全球密码学研究人员也陆续提出了各种各样的零知识证明相关的技术,比如说 PLONK、Halo、Sonic、DARK proofs、Supersonic。
不久前,记者有幸采访了 Benedikt Bünz 博士,听听他对于最新的零知识证明技术有哪些看法。采访内容在不影响原意基础上有所编辑。
核心看点:
对于最新的零知识证明技术:PLONK、Halo、Sonic、DARK proofs、Supersonic,该如何选择适合的工具?
除了隐私相关的密码学算法,还有哪些密码学工具值得关注?
通用型的多方安全计算 MPC 平台是不是能和区块链契合的很好?
以太坊的智能合约设计有哪些问题吗?
微信是否可以在区块链上重现?
在 CESC 2017 大会中的 Benedikt Bünz
记者:对于零知识证明技术,其实有很多的种类,比如 Zcash 使用的 zk-SNARKs 和 Vitalik Buterin 经常提到的 zk-STARKs。相比之下,您提出的 Bulletproofs 有什么特点?
Benedikt Bünz:Bulletproofs 更适合在中或低复杂度的交易中使用,但是对于那些非常高复杂度的交易中,验证(verification)过程就会非常耗时。SNARK 的优势是具有很高效的验证速度,但 SNARK 最大的问题是需要初始化可信设置(trusted setup)。
记者:上个月,两位研究人员发表了一个名为 PLONK 的零知识证明论文,试图优化 zk-SNARKs 的问题,而且相比另一个名为 Sonic 的技术有显著的性能提升,而 Sonic 又可以和你们提到的 DARK proofs 结合而成 Supersonic,这些技术有些什么样的关联?
Benedikt Bünz:Sonic 和 PLONK 在零知识证明技术的某些方面有一些进展了,虽然他们还是需要进行初始化可信设置的,但这个初始可信设置再也不是专用(application specific)的了。我们最近发布的 DARK Proofs 算是一种加密学工具,它可以帮助 Sonic 和 PLONK,让他们变得更好,因为可以移除他们的可信设置。所以我们将 Sonic (音速)与 Dark Proof 组合的技术称之为 Supersonic (超音速),用一句话来说的话,Supersonic 是一种无需初始化可信设置的 SNARK。
所以如果有一个复杂度非常高的交易或需要提供一个证明,Supersonic 的验证将会是非常高效的。而且该证明的体积也非常小,比如说只要 10 到 20kb。虽然没有 Bulletproofs 小,但已经非常小了,远小于 STARK 这类需要几百 kb 的证明。
记者:在本月初,Zcash的密码学家作为第一作者发表了一种名为 Halo 的新技术,Zcash 创始人称该研究发现了「无需信任的」零知识证明递归组合,是密码学「长期以来取得的突破」,可能成为「保护和扩展区块链」的关键。对于该技术,您有什么看法?
记者:除了以上提到的和零知识证明相关的密码学算法,还有哪些其他的密码学工具值得关注?目前你们会把精力放到这些新技术的研发上吗?
Benedikt Bünz:还有很多,不过可以提两个,其中一个是「匿名凭据」(anonymous credential)。如果系统中用户存储了身份信息,类似于护照一样会有很多数据比如姓名、性别、年龄等等,一般在做 KYC 的时候会需要使用这类的身份信息。
如果用户参与某个活动的要求是 18 至 22 岁,那这个功能就会发挥作用,不需要揭露其他的数据,也不需要揭露用户的实际年龄,但是可以通过系统证明自己的年龄是否在这个范围内,所以也可以称为「选择性揭露凭据」(selective disclosure credential)。这个密码学工具在金融领域的应用里非常重要。
另外值得一提的是在部分场景中需要的多方安全计算(multiparty computation),简写为 MPC。使用这个工具可以之后,可以实现比如说很多人共同参与一个拍卖,但是没有人需要泄露自己的拍卖价格。
但我们还是会把目前的精力放在优化目前已经规划的这些算法,把它们做到更高效。虽然有些项目声称使用了非常厉害的技术,但是这些技术可能还不具有实用性,效率低甚至不可扩展。
记者:现在也有一些核心主打通用型的 MPC 区块链项目,在现阶段 MPC 可以和区块链契合的很好吗?
Benedikt Bünz:如果真的想把多方安全计算 MPC 带入通用计算领域,「低效」是最需要克服的问题。比如说,在一次计算中可能需要多轮的交互,所有计算的参与者都需要在线,所效率会很低,而且在这种去中心化的场景中,你并不知道计算进行中的对手方是谁。
比如说多个医院需要共同研究一组的数据,每一方都有自己病人的数据,也知道其他医院是哪些,它们 IP 地址是什么。MPC 的整个计算过程就是这些参与者互相发送数据,比如量级在 MB 甚至 GB 的数据,之后他们就可以得出一个最终的结果,这才是 MPC 最擅长的场景。这其实和区块链的环境和设定还不太一样,因为区块链可能会有上千个节点,而且节点之间也互不认识。
记者:作为公认的第一个图灵完备的区块链项目,以太坊在通用型的智能合约的设计上还有些什么问题吗?
Benedikt Bünz:从智能合约实现上来说,以太坊是基于账户的系统,合约的语言类似于 Javascript,叫做 Solidity。出于性能的考虑,我们认为区块链本身并不擅长处理通用的计算,比如说以太坊虽然可以做类似于 4+3 的运算,通过 Solidity 语言的处理和计算可以得出结果为 7,但这样做比较愚蠢,因为可能全球上千个矿工都在计算这个题目。所以这类问题我们还不如心算出结果,或者可以通过其他方式计算。所以我们的项目并不会关注在通用计算上。
记者:对于一个专注于金融领域的区块链项目,和通用型公链项目有何不同?
Benedikt Bünz:比如说对于投资基金或借贷平台,他们对于隐私和透明度都有特殊需求。从透明度来说,因为他们需要符合监管条例,还需要给用户和监管方显示他们的偿付能力,并可以被审计。金融应用还有隐私的需求,比如说不能公开用户的余额,公司的商业机密,投资过哪些公司等等。
零知识证明和密码学非常擅长于平衡隐私和透明的需求。
记者:那在密码学和共识算法上与其他通用型的公链有哪些区别?
记者:我们知道预言机是一个对于区块链非常重要的工具,可以将链下的数据带到链上,这将会极大程度上打开区块链的实际应用场景。那在预言机方案上,你们是如何考虑的?
Benedikt Bünz:我们一直在积极寻找合作方为我们提供预言机工具。不过我们的数据还是会先聚焦在金融机构和金融业务的需求上,比如说让经纪商在链上发行股票,我们已经有一些合作伙伴会提供这类数据了,他们可以帮助提供很多金融数据和金融资产到 Findora 区块链上,我相信这些才是我们所需要的预言机和数据。
对于其他应用类的数据,比如说什么天气数据,或者是运动比赛的数据,这些可能都不是 Findora 目前需要关注的数据,不过我们的平台还是可以与其他的预言机工具互操作(interoperability)的。
记者:在中国,微信是一个绕不开的工具,我们是不是可能通过区块链技术搭建一个微信这种平台,实现聊天、支付、借贷等综合性场景?
Benedikt Bünz:或许聊天工具的部分,是发生在其他平台中,甚至可能不一定是区块链,但是支付和借贷,完全是可以通过区块链实现的。目前中国用户都在用微信,他们储存了用户所有的资产,如果发生了破产那可能就是金融危机了。但是如果将这些业务运行在注重隐私的区块链上,会带来的好处包括,去中心,无需信任,而且当你转账的时候,就不需要将转账的信息给任何其他人知道,交易可以很快的被处理。
还有一个很酷的事情是,区块链还可以提供一种标准化和公开的接入方式。如果微信的支付运作在区块链上,哪怕他们是一个中心化的区块链,用户还是可以基于这些区块链上数据搭建其他 App,他们也就不需要微信的许可和 API 了,所以区块链对于这类标准化是非常有帮助的,相当于给金钱加上了一种开放式的 API。
既然是跨场景的应用,可能会和跨链技术相关,也就是原子交换和跨链协议。以 Findora 项目为例,Findora 本身会有一个公开的网络,但还可能会有很多小的私密网络,比如说许可式的网络。这些私密网络是可以连接至 Findora 公链的,虽然各条区块链可能采用了不同的共识算法,但还是可以在各条链之间转移资产的,因为我们采用了原子交换技术让跨链更无缝。
PS. 如果想了解更多零知识证明和密码学的知识,可阅读以下内容:
推荐阅读:
以太坊交易量第一合约FAIRWIN被爆漏洞, 竟是因为这个接口被滥用……
雷声大雨点小:Bakkt「见光死」了吗?
用万圣节糖果解释什么是“零知识证明”, 可能是关于密码学很通俗的解释了……
猛戳"阅读原文"有惊喜哟
老铁在看了吗??