作者:OneBlock
Manta Network(下文简称 Manta)团队最近有点忙。
在过去的 9-11 月,Manta Network 团队的身影活跃在世界的各个角落。无论是整个 Web3 行业的年度盛会,如 Token 2049、第六届 DEVCON 以太坊开发者大会、还是大大小小的地域区块链周,如 SF Blockchain Week 、Vietnam Blockchain Summit 2022、Lisbon Blockchain Week,抑或如哥伦比亚大学这样的高校区块链会议,都留下了 Manta 核心贡献者的声音。
事实上,随着 DeFi 繁荣生长,以太坊完成合并升级,智能合约以及链外数据的隐私保护和隐私计算已经成为新的刚需。越来越多的头部 VC 和开发者仍在入场,隐私赛道的角逐日益激烈,零知识证明更是在近年来成为热门流派,而作为波卡首个基于零知识证明的链上隐私保护协议,且已经获得 Polychain、ParaFi、Binance Labs 等顶级投资机构的支持,经过近两年的发展已成为隐私赛道的实力选手,行业需要 Manta Network 的声音毫不意外。
那么在 Manta 团队看来,零知识证明为 Web3 隐私提供了怎样的方案,目前是怎样的进展?作为零知识证明赛道的领头羊,如今取得了什么样的进展?对此,Oneblock 采访了 Manta Network 的联合创始人 Shumo,期望获得以上问题的答案。
专访嘉宾
Shumo 是美国华盛顿大学博士,他在美国顶级学术期刊上发表了多篇论文,曾主导了 Algorand 的智能合约的研发,在区块链技术落地上有丰富的经验,更是业内顶级的密码学专家。
在采访中,Shumo 详细讲解了零知识证明赛道的现状以及相关问题,并讲解了 Manta 给出的解决方案和对底层技术的优化。据他透露,目前 Manta 已经在进行零知识证明的可信设置(Trusted Setup),并即将推出隐私支付产品 MantaPay,接下来会有更多的隐私产品推出。
针对零知识证明技术门槛高的行业瓶颈,Manta Network 除了完成自身各种紧急开发任务的同时,还将一部分资源和时间投入到 ZK 领域的整体发展上,如发布了开源零知识证明(ZK)库 OpenZL 倡议、并将一部分精力放在 programmable privacy(可编程隐私)的研究。对于想要学习零知识证明的开发者,Shumo 也给出了真诚的建议与思考。
Shumo:Manta 于 2020 年 10 月份开始组建,到现在已经有两年的时间了。我们坚定的抱着解决区块链世界隐私问题的想法,因为在区块链上的所有的数据都是公开的且永久的,一旦链上公钥、地址和个人身份建立联系,将来你就永远处在一个裸奔的状态,所以我们觉得,隐私问题是区块链走向主流甚至走向 10 亿人的最大掣肘,这也是 Manta 想要解决的问题。
我们一开始从技术架构和市场的角度出发,认为在波卡这条公链上搭建隐私层是最合适的。在当时零知识证明还没有特别普及,各种开发工具还比较匮乏的情况下,我们非常幸运有一个很强大的开发团队。当时我们发现目前市面上的隐私产品都不是很易用,在三个月的时间里做出了第一版的测试网,并在去年 8 月份上线,随后我们又迭代了两版测试网:今年 4 月份上了第二版的测试网,11 月份即将上线第三版测试网。
从技术层面来看,Manta 拥有业界非常强的密码学团队。我们的零知识证明协议受到了 Zcash 的启发,但同时又比 Zcash 强大很多,基本上有三点:第一, ZCash 是一个单资产的隐私协议,Manta 是一个支持多资产的隐私协议;第二点,Manta 支持的资产类型比 Zcash 要更丰富,后者开始只支持Fungible tokens,我们是既支持 Fungible tokens 也支持 NFT(non-fungible token);第三点,Manta 隐私协议的实现比 ZCash 要高效很多,比如说 Manta 生成零知识证明的速度比 ZCash 快 10 倍,此外,我们基于整个波卡的生态,利用好波卡的跨链协议 XCM,以打通整个波卡资产的隐私层。
从产品的角度来说,我们借鉴了很多主流的 Web3 产品设计思路,比如 Uniswap;另外我们的产品本身是比较易用的,应用的背后其实是我们团队三个版本测试网的迭代。
目前在测试网已经做到比较理想的程度之后,我们最近开始做零知识证明的可信设置(Trusted Setup),并向社区开放 Trusted Base 的名额,目前已经有超过一万人注册。原理是,只要一万人中有一个人是诚实的,那么这个零知识证明电路的可信度就是可以保证的。在可信设置(Trusted Setup)仪式结束之后就会上线第一版隐私支付产品——MantaPay。
Shumo:首先波卡非常去中心化,同时还保证了高性能,它的高性能并不是用牺牲去中心化来换来的;第三点是波卡 Substrate 模块化的开发工具,对于开发来说十分友好。
Shumo:在零知识证明电路的里面,你需要有一个公钥来生成零知识证明电路,公钥其实是对应一个私钥的,如果有一个人拿到了零知识证明的公钥对应的私钥,那么他就有可能伪造零知识证明,这就是零知识证明协议设计之初需要考虑到的一个技术细节。
那要怎么做才能让这个公钥的私钥不被其他人知道呢?
我们现在就需要一个 Trusted Setup,应用到的是多方安全计算的密码学协议,简单来说,就是把私钥分成数份,每个参与者各自拿到的私钥碎片就叫 Toxic waste,中文名叫“有毒废料”,我们在 Trusted setup 中设计了一个软件,会把每个参与者的有毒废料扔掉,如果你将自己的那份破坏掉,就没有攻击者可以利用“有毒废料”。假如有 3000 个人参加,只要其中有一个人是诚实的,那么整个私钥就是完全保密的,也无法利用它来做恶。
更多关于 Manta 可信设置的介绍,请参考:
Shumo:Manta 是一个项目(Project), p0xeidon labs 相当于是 Manta 的开发实体,支持 Manta 的运作,接下来还有更多的开发,包括 SDK、Manta API;我们也会做一些更长期的调研与研究,比如说我们做了一个新的研究项目——p0xeidonVM,专注于怎么做 programable privacy(可编程隐私)的研究。
Shumo:大家都知道技术发展是有一个时间线的,从不成熟到成熟的过程。我个人从 2018 年的时候就开始关注零知识证明了,2019 年对我来说是一个很重要的一个转折点,当时我在 Algorand 做 research scientist,Algorand 有着业界最强的密码学团队,创始人是图灵奖得主、麻省理工学院教授 Silvio Micali,他同时也是零知识证明的发明人。不为人知的是 Algorand 当时还有全同态加密的发明者 Craig Gentry,团队有非常强的密码学氛围,大家在交流时都认为零知识证明是以后的趋势。
离开 Algorand 之后,我去了加州大学圣塔芭芭拉分校出任助理教授,研究方向是零知识证明的编译器,所以说在创办 Manta 之前我就一直在做零知识证明相关的事。
Manta 之所以从一开始就坚定看好并选择零知识证明技术,是因为从大的趋势上来讲,整个社会都在朝着去信任化的方向发展,而整个区块链系统就是在解决信任问题。目前零知识证明有两个大的应用方向,第一个是 rollup,对交易做打包提供证明来验证,第二个是隐私保护,目前主要的隐私技术有零知识证明和可信执行环境(TEE),但我们认为可信执行环境不太适合在去中心化的环境实现隐私,可行执行环境并不能从根本上解决隐私的问题。长远地看,零知识证明让链上密文交易转变为现实,是链上隐私唯一的解决方案。
Shumo:现在零知识证明的应用已经非常广泛了。如果你两年前问我这个问题,我可能会回答你 zk-SNARK、zk-STARK ,但现在零知识证明具体的技术开发已经很模块化了,zk-SNARK、zk-STARK 只是换一个多项式承诺。
从零知识证明系统的角度来讲,基本上是有 zk-SNARK 和 zk-STARK 的区别,zk-STARK 的话它的 proven performance比较好,但是零知识证明的体积比较大,上链的数据比较大,验证费用会稍微昂贵一点;另一个区别是 zk-STARK 不依赖初始可信设置,zk-SNARK 需要初始可信设置。
从零知识证明的具体应用角度来讲,目前基本上有三种主流的应用,第一种是隐私;第二种是压缩计算(compressing computation),就是把应该上链的计算转移到链下,用的比较多的是在 ZK Rollup上,比如有专注于应用的 ZK Rollup,像 Immutable X、ZKsync V1,也有这种 EVM 的 ZK Rollup,像 Polygon ZK EVM、Scroll、ZKsync V2。
第三种,既不是做隐私也不算做扩容,而是去论证一个东西。举个例子,比如说 ChainLink 最近做的 DECO,可以在链上证明你在链下的状态,比如银行账户的余额。现在也兴起了不少零知识证明的应用,比如匿名社交、匿名投票等,我觉得应用的空间还是比较广阔的,这三种应用从我的角度上来看都在朝着更好的方向发展。
关于 Manta 在 ZKP 基础上的创新,前面提到了 Manta 和 ZCash 在产品层面的不同,从性能角度来说,Manta 重新设计了很多隐私协议的实现细节,使用了对零知识证明更友好的哈奇函数—— POseidon hash 让整个密码学协议更 streamline,在经典的隐私技术如椭圆曲线密码术(FH-ECC)算法等的基础上进行了优化和升级,目前零知识证明生成的速度比 Zcash 要快 10 倍。
在 Web3开放的世界,用户的需求也开始多元化。Zcash 等早期隐私项目,仅支持单一资产的隐私协议,满足不了用户差异化的需求。Manta 的多资产隐私协议让 Web3 世界的未来有了更多的可能,在编程上有更广泛的应用空间,比如隐私 NFT、隐私社交、具有可编程性的隐私等等。
Shumo:以太坊基金会里面有一个分支叫 PSE(privacy and scaling exploration),这个子机构规模人数近 70人,不管是在零知识证明基础设施上,还是隐私应用的基础设施和编程层的基础设施上,他们都做了非常多的探索和基础设施的工作。Manta 最近也和他们交流比较多,寻找一起合作的机会。
我们有兴趣去合作的一个方向是,他们做的一个服务于 ZK 应用的 ZKOPRU,这和我们赋能更多 zk 应用的方向是不谋而合的,此外他们也在做一些 tooling(工具) 相关的事情。
提到海外学术科研机构都在密切关注的重点,我们最近在以太坊的 Devcon 上发现,基本上 20% 的话题(topics)都是关于 ZK 的,而这 20% 的话题中有超过 50% 其实是讲各种新型的 zk 应用。
我们可以看到零知识证明的应用越来越多了。有的是跟 Web2 的产品相结合,比如跟推特,举个例子,你在线下参会的时候,可以通过扫描一个二维码在推特上匿名吐槽,这个就是基于零知识证明和链上身份的一个产品;也有不跟 Web2 产品相结合的 Web3 的应用,这个是我们最近看到比较有意思的点。
Shumo:这是一个很有意思的问题。我觉得开发难度高有两个原因,第一个原因是这个东西本身难度就很高,因为用零知识证明开发并不是开发一个程序,后者可以用各种编程语言,我们在跟很多开发者聊的过程中的发现,他们欠缺的不是怎么使用零知识证明的各种工具,因为零知识证明开发本质上是在开发一个新的密码学协议,就是所谓的 programable privacy(可编程隐私),不管零知识证明技术如何发展,这个难度也还是存在的。
对零知识证明感兴趣的小伙伴,最好先去学一些基础的密码学,不然有可能出现这样的情况:你用零知识证明的一些编程语言写了一个零知识证明电路,但是那个电路本身是不安全的。
另外,零知识证明的工具链还在一个发展的过程中,虽然过去三年发展好很多,但还是在比较早期的阶段,Manta 也一直在关注并探索更好的解决方案。
目前我们的一个想法是想要让大部分的应用开发者不需要写零知识证明的代码也能配置隐私选项。Manta 正在做的事情是构建一个零知识证明中间层,以便大部分应用的开发者可以通过调用 Manta API,就能直接用我们写好的零知识证明中间层。
Shumo:零知识证明的应用已经跑了快 10 年了,零知识证明的第一个应用试验场当然是 ZCash。现在也有很多零知识证明的用例,包括像 LoopRing、zkSync V1、Immutable X。
DID 当然是一个很好的零知识证明应用了,但是我觉得零知识证明应用非常广阔,不光是 DID, 任何需要链上隐私的应用就需要零知识证明。以后的趋势是所有的应用都会用到零知识证明,隐私会作为一项功能被整合到基础设施中而不是作为一个单独的应用。
Shumo:我认为,链上隐私的未来有三个方向,第一个是为普通用户提供更好的产品,而不只是黑客;第二个是更多隐私杀手级应用,比如 DeFi、NFT、DAO 工具、互动链上游戏;第三个是需要构建更好的工具来让加密资产发行方定制不同的资产政策,包括合规等。
Web3 隐私的未来需要结合以上所提到的所有方向,这也是我们团队正在努力的方向。
关于隐私和合规的关系,一个可能的方向是使用零知识证明来解决合规和用户的主权隐私之间所存在的矛盾。我们最近发布的全新资产类型 zkAssets 就支持可定制的资产政策,比如 KYC 规则、访问权限,是否将黑客资产列入黑名单。同时,在资产持有人许可下,zkAssets 支持披露可证明的资产信息。具体来说,持有者可向审计者披露资产交易历史,而不必披露花费密钥(Spending Secret)。持有者也可有选择性地披露可通过ZK进行验证的资产信息。
相比现有的加密资产,zkAssets 给资产持有者带来了隐私,同时,让审计者和监管合规选项易于实现。
Shumo:我们现在着重在做零知识证明基础库,其实有很多的技术难点。要做一个库,首先解决一个问题就是库是给上游的开发者,要和其它的 API 来结合到一起来工作,这就涉及到零知识证明电路可组合性的问题;我们是用了 CP-SNARK ,这是一个全新的东西,在 19 年一篇关于 Legosnark 的文章有提及,目前我们内部第一个 CP-SNARK 库已经跑通了,正在做一些库的开发工作,这对于零知识证明开发来说是个 game-changer。当然从做一个开发者的库,到形成开发者生态,还是需要相对较长的时间。但是我们希望过两三个月,我们就可以把这个库的初始版本推给开发者来使用。
我们的零知识证明基础库想要解决的核心问题是,把零知识证明电路原子化,也就是说把它拆散成很多个原子化块,以方便应用开发者在上层把这些块给组合起来。
这个库是基于 OpenZL 的核心技术来做的,但我们会在这个基础上做一些对开发者更为友好的改进。
Shumo:首先,大家要明确自己学习 ZK 的目的是什么。ZK 的技术栈很深,明确目的更有效率。第二点是如果大家想做 ZK 专家的话,那么就需要从基础的密码学内容学起。年轻一代的密码学家都是看一些比如斯坦福大学教授 Dan Boneh 的公开课开始学的,因为那就是密码学最基础的一些东西。
第二个就是可以去看 Github 上开源的库,实际用起来我觉得基本上就是这两个方面。一个是说你能让学习就从密码学最基础的这些直接开始学习。第二个实践上就是把这个程序开始写起来。
Manta Network 致力于通过隐私保护构建一个更好的 Web3 世界。Manta 的产品设计从第一性原理出发,通过 zkSNARK 等领先的密码学架构为区块链用户提供端对端的隐私保护。在保障隐私的同时,Manta 兼具互操作性、便捷性、高性能以及可审计性,允许用户进行任意平行链资产间的隐私转账和交易。Manta 的愿景是为整个区块链世界提供更便捷的隐私保护服务。
Manta 的创始团队由多位加密货币资深人士,教授和学者组成,他们的经验包括哈佛大学,麻省理工学院和 Algorand。Manta 的投资机构包括 Polychain、ParaFi、Binance Labs、CoinFund、 以及 Hypersphere 等。Manta 也是波卡官方 Web3 基金会资助获得者,Substrate Builder Program 成员,伯克利大学区块链加速器成员。
We're Hiring! 访问查看开放职位:https://jobs.lever.co/MantaNetwork
关注官方频道了解有关 Manta/Calamari 的更多信息:
Website:https://manta.network/
Github:https://github.com/Manta-Network
Twitter:https://twitter.com/MantaNetwork
Medium:https://mantanetwork.medium.co
Telegram:https://t.me/mantanetwork
Discord:https://discord.gg/ZtSuSKRy8X
Telegram中文:https://t.me/mantanetwork_zh
Twitter中文:https://twitter.com/manta_china