在刚过去的黑山以太坊 EDCON 大会上,ZK 成了最火热的话题。从 19 号到 23 号整整 5 天的时间里,无论是个人演讲还是圆桌 Pannel,嘉宾们的话题大都围绕 ZK Rollup、zkEVM 和 ZKML 等词汇展开。在「以太坊核心圈」眼中,ZK 已经成为媲美 2019 年 DeFi 创新的、能够撬动下一轮行业爆发的究极新叙事。
长期以来,技术实现都是 ZK 面临的主要难题,这也使得它在大多数人印象中,一直都是「未来的解决方案」。然而今年,Arbitrum 生态还没热透,作为技术替代者的 ZK Rollup 们就已经上来敲门了。今年最明显的一个感受,就是各式各样的「ZK 项目」突然变多了。开发者开始 FOMO ZK 技术,ZK 转账、ZK 身份还有 ZK 桌游,只要能和隐私沾边的,项目名称里一定会有「ZK」二字。这般繁荣景象,当然得益于 Starknet、zkSync 等 ZK Rollup,以及 Scroll、Polygon 等 zkEVM 项目的集中发力。而在这些中流砥柱的背后,是一位叫做 Eli Ben-Ssason 的以色列大汉。
Eli(@EliBenSasson)是最早一批将 ZK 技术与加密技术进行结合的科研者,他是 Zcash 和 StarkWare 的创始人,也是 zk-STARK 的创作者。而后边这项技术标准,正是当今 Starknet,乃至整个加密 ZK 赛道的重要技术基石。BlockBeats 在黑山 EDCON 期间见到了这位传奇人物,在近一个小时的对话中,Eli 展现出了强烈的技术自信,他向 BlockBeats 透露了自己对 STARKs、SNARKs 和 Rollup 赛道的看法,以及对 Starknet 生态的期许。
关于乐观欺诈证明、zk-STARK 和 SNARK
很多人认识 Eli,都是通过 StarkWare 联合创始人这一身份,很少有人知道,他同时也是 zk-STARK 这项项关键技术标准的创作者。早在以太坊之前,Eli 就开始结合 ZK 技术来解决区块链的扩容问题,并与彼时还是 Bitcoin Magazine 作者的 Vitalik 在这一方面有过深入交流,而 StarkWare 也是 Vitalik 为数不多参与投资的项目。
Eli Ben-Sasson 在 StarkWare Sessions 2023 大会上做演讲,图源来自 StarkWare
作为一个技术驱动型创业者,Eli 对 ZK 技术及其背后的数学原理有着绝对的自信。那么他是如何看待「ZK 劲敌」Optimistic Rollup?对 zk-STARK 和 zk-SNARK 的未来又有什么看法?
BlockBeats:您好 Eli,首先请简单向读者们介绍一下您为什么会进入加密货币领域,以及为什么创立 Zcash 和 StarkWare?
Eli:我曾是一位计算机科学教授,做的是理论计算机科学研究。在中国大陆的人们可能听说过清华大学的姚期智,他是理论计算机科学的重要推动者,图灵奖得主,安全多方计算的发明者。我比他晚很多年才进入这个研究领域。
2008 年我开始做零知识证明(以下简称 ZKP)相关的一些研究。2013 年的 5 月,也就是十年前,我参加了在圣何塞举行的比特币大会,我意识到区块链领域就是我所做的理论研究、数学等最好的应用场景。我很确信我是第一个认识到通用计算的证明和区块链可以非常好地结合在一起的人。十年前以太坊还没有出现,当我第一次遇到 Vitalik 时,他还不是以太坊的创始人,是 Bitcoin Magazine 的一位内容作者。我们讨论了很多关于证明、有效性证明和零知识证明的问题。
我早期的一篇合著论文就叫《Zerocash: Decentralized Anonymous Payments from Bitcoin》,讲的是如何使用零知识证明来保护比特币上的支付。这就是后来的 Zcash 项目,我们一直在发展这项技术。2018 年前后,我们提出了更好的技术改进,并将其称之为 STARK,它有助于扩大以太坊或者通用区块链的规模。2018 年我们联合创立了 StarkWare,创始人包括我、Uri Kolodny、Alessandro Chiesa 和 Michael Riabzev。如今人们已经普遍认为我们的有效性证明是扩展以太坊的最佳方式。
BlockBeats:你提到很早就与 Vitalik 有接触,我记得他很早就开始投资并支持 StarkWare。
Eli:是的,Vitalik 是 StarkWare 的早期投资者之一。这是他迄今为止为数不多的投资之一,我们为此感到非常自豪。
我记得 Vitalik 成为核心投资者是在 2018 年秋天左右。我和他参加了一次会议,貌似是清华大学组织的,但肯定是在深圳。我记得我们在一个非常漂亮的水鲜市场里走着,一起讨论这些事情,比如 StarkWare、他的投资以及一大堆事情。所以这个决定的细节是在中国达成的。
BlockBeats:在以太坊之前就开始考虑使用 ZK 证明作为扩容解决方案,您是如何看到区块链一定会有扩容性问题的?
Eli:我相信中文社区的读者们一定对支付宝和微信支付很熟悉,他们的交易速度可能已经达到了每秒一百万笔。现在,区块链需要做 NFT、游戏、投票、选举和治理,要让所有这些发生,目前的技术就不够好,在比特币和以太坊上,大概每秒有 10 到 20 笔交易。这就需要其它技术,需要一些不降低区块链安全性,但又能扩大区块链范围或触及面的技术,这就是 Starknet 所做的。
BlockBeats:Arbitrum 创始人 Ed Felten 教授也在 2014 年左右开始解决扩容性问题,但他很果断地选择了交互式欺诈证明,也就是后来被普遍认为是更加可行的乐观欺诈证明。为什么您从开始就决定使用 ZK 作为解决方案?
Eli:这是一种更好的技术,而且它确实有效。其实在以太坊核心团队中,人人都知道 Optimistic Rollups 并没有开启他们的核心技术。Arbitrum 和 Optimistic 上都没有欺诈证明。他们之所以没有启动,是因为它根本就不起作用。
相反,我们从来没有在无 STARK 有效性证明的情况下提交过状态更新。即使我们的系统性能达到以太坊的 10 倍,我们也只使用了不到 1% 的以太坊资源。Optimistic Rollups 是个好主意,但是它不起作用,而正因为它不起作用,所以没有开启。一个应该起但却没有起作用,甚至没有被开启的东西,和另一个确实起作用且可以证明的技术之间,是有很大区别的。
BlockBeats:但虽然 Vitalik 投资了 StarkWare,但他随后又支持了 Optimism。加密领域似乎有一个越来越强的共识,那就是扩容性问题应该首先从 Optimistic 开始,然后再转向 ZK,因为 ZKP 或 ZK Rollup 在技术上实现起来比 Optimistic 困难很多。您怎么看这件事?
Eli:我喜欢 Optimism 团队,他们是社区的杰出成员,但是技术并不行。就好比说,为什么我们不能把羽毛附在人们身上,然后让他们扇动翅膀来建造飞机呢?这的确更有意义,这就是为什么莱昂纳多·达芬奇画了身上有翅膀的人。但是它在数学和经济学上不起作用。我很喜欢和欣赏他们的聪明才智和真正伟大的社区成员,但也不能改变那是一项不能很好运作下去的技术的事实。
BlockBeats:但作为普通用户,Optimism 和 Arbitrum 就目前来说的确是切实可用的解决方案。
Eli:当然,但是需要意识到的是,你的资产安全是在信任单个运营商,然后它工作得非常有效。这里有另一种可能,效果很好。你可以将你的资产桥接到你非常信任的任何计算机。它可以是一个中心化的交易所或者任何类似的事物,然后你会得到惊人的 TPS 吞吐量,但你是在将自己所有的资金托付给由那个人控制的那台计算机。如果它出现故障、掉线,或者作恶,那么你的所有资金都会消失。
Arbitrum、Optimism 与 Binance 有相同的安全假设,Binance 对用户来说是一个很好的产品,可能甚至比 Arbitrum 更好,但对用户来说很重要的是他们不应该被愚弄,认为自己在转移资产时有更高的安全级别。如果有人说我不会使用 Binance,因为 Binance 是由一套中心化流程控制的,我要去中心化,我要把资产放到 Arbitrum 或 Optimism 上,但其实这是同一件事。
BlockBeats:所以用户在使用 Optimism 或 Arbitrum 时,其实相当于在使用一个中心化的交易平台?
Eli:它们正在使用的是一个中心化的系统,甚至更糟糕的是,它基于一个代码库,这个代码库并不是从一开始就设计为由单个运营商操作。所以我认为它给你提供的法律保护还不如 Binance 多。
BlockBeats:说回 ZKP,您在被广泛认可的 zk-SNARK 外又创立了 zk-STARK,为什么要要为 ZK 技术设定两个不同的技术标准?以及为什么 StarkWare 最后选择了 zk-STARK?
Eli:SNARKs 技术,Groth-16 类型的预处理 SNARKs,它使用的是椭圆曲线,可以早一些准备好投入生产,但我认为在效率和安全性方面,它是一个较次的技术。这就好比有一个技术,它不是那么好,但是它先出现,就像蒸汽机没有汽油发动机好,但是它先出现,我觉得有点类似这个情况。
至于为什么选择 zk-STARK,这是一个不需要思考的选择。它具有最安全、最具有未来保障的基础技术,依赖于经过战斗测试的数学和加密技术。值得一提的是它是后量子安全的,这是其它系统都无法达到的。它有最快和最高效的证明,由于这些,它达到了所有证明技术中最高的水平。
zk-STARK 与 zk-SNARK 技术细节对比图,图源来自 Horizon Acadamy
BlockBeats:当前很多 ZK Rollup 和 zkEVM 项目都采用了 zk-SNARK,您对 zk-SNARK 的未来有什么看法?
Eli:我认为它会被逐渐淘汰。可能会留下来用于个人的屏蔽交易,在某些情况下用户可能不在乎证明时间的低效率。而且确实有非常短的证明,大约 200 字节左右。所以他们可能在隐私领域有一定的用途,用于个人屏蔽交易,但一旦达到更大的吞吐量,就只能这样了。所有在 Polygon 系统中的项目都在使用我们发明的 STARKs,从 Hermez、Miden 到 Polygon Zero 等等。有的项目目前暂时使用 SNARKs,但最终都要转向 STARKs。所以,现在最大数量的区块链有效性证明项目都在使用 STARKs。
关于 Starknet、Cairo 和 zkEVM
很多人难以理解的是,作为一个以太坊的 L2,Starknet 本身是不兼容以太坊 EVM 的,开发者需要使用 Cairo 这套全新的语言进行合约开发。这似乎让 Starknet 失去了许多 EVM 兼容 L1 和以太坊等效 L2 的优势,即最大程度降低开发成本,以在短时间内迅速启动生态。但在 Eli 看来,在 Cairo 带来的巨大潜力面前,这些问题变得不再重要。更关键的是,Starknet 生态对此已经有了自己的解决方案。
BlockBeats:为什么 StarkWare 会创立 StarkEx 和 Starknet 两个不同的项目?为什么不能将两者结合起来?
Eli:StarkEx 和 Starknet 服务于两个不同的目的。当你谈到一种非常明确性质的高吞吐量交易,比如铸造和交易 NFT 时,那么你可以从一个专门为此构建的系统中获得更好的性能和吞吐量,这就是 StarkEx。我们从一个非常特定的用例开始,对整个技术进行了实战测试,我们对此非常自豪。
而 Starknet 则首先经过了更复杂的构建,因此理所当然的是它会更晚出现,而且它服务于不同的目的,允许你进行通用计算,就像以太坊一样,但这种通用计算意味着,与专门用于一个用例的特定性能相比,它的性能不会那么好。所以,这是一种通用性与效率的权衡。
BlockBeats:所以对 StarkWare 团队来说,在特定应用场景中实现高交易 TPS 是非常重要的?
Eli:是的,对我们来说,达到这个目标非常重要。很多团队「在 Twitter 上跑自己的项目」,他们发布一些好看的数字,然后期待着人们会被愚弄,认为这是一个有效的系统。但我们为自己运行多年的高 TPS 系统感到自豪。这一切都是为了提高吞吐量和降低交易成本。
我想说的是,到现在为止,我们的系统已经处理了近 1 万亿美元的交易,超过 4.5 亿笔交易,发行了超过 1 亿个 NFT。没有其他任何一个 L2 可以做到这些。我们每日 TPS 比以太坊高 50%,每周 TPS 比以太坊高 30%,持续一整周。没有其他的系统能够达到这个水平,而我们却从未使用超过以太坊 Gas 的 1%,即使我们的 TPS 增加了 30%。
BlockBeats:StarkEx 是一个非常具体的用例,作为技术驱动型项目,StarkWare 似乎从一开始就对自己的商业模式有非常明确的定位。
Eli:我常喜欢说「仰望星空,脚踏实地」。我们非常了解数学、工程和技术,容易被下一个很酷的科学项目所吸引,并且喜欢展示一些时髦的新事物,这对我来说是非常诱人的。但我们把不能满足用户即时需要的酷炫内容放到一边,相反我们非常专注、非常努力地提供用户和客户真正需要的东西。作为一名科学家,整个团队都知道我因为不能做椭圆曲线快速傅里叶变换(ECFFT)之类的东西而感到非常遗憾,以及很多我们明知可以将性能提高 10 倍甚至 100 倍的各种奇特技术。
StarkWare 团队成员,图源来自 StarkWare
BlockBeats:接下来我想聊一聊 Cairo 语言。作为一个以太坊 L2,Starknet 并不兼容以太坊 EVM,开发者必须使用 Cairo 语言来构建应用。这似乎让 Starknet 失去了许多「EVM 兼容生态」的优势。为什么选择构建自己的语言?
Eli:是的,关于 Cairo 我想说几件事。首先,它是一个先进的、下一代的智能合约编程语言。它从一开始就支持一些新功能,例如智能钱包,或者说账户抽象,这些是内置在 Cairo 语言中的。这是一个受到 Rust 启发的编程语言,许多尝试 Solidity 并使用它的开发人员,特别是那些知道 Rust 的人,他们会说他们更喜欢用 Cairo 编程而不是 Solidity。所以它本身就是一个非常非常好的编程语言。
我想说的第二件事是,使用一个专用的语言来创建 STARK 证明或者一般的有效性证明的原因,跟你想要用 Solidity 编写智能合约的原因很相似。你需要用 Solidity,并不是因为它比 Python、Rust 或 C++有更好的开发者体验。相反,它的开发者体验更差,但是当你转移到有区块链基础设施的新框架时,你就必须使用不同的编程语言,Solidity 很好,因为它可以有效地编译到以太坊虚拟机。我再给一个例子。如果你想利用 GPU 写出真正好的图形,你应该用 CUDA 写,因为这是一种可以最大程度地利用 GPU 性能的语言。
对 STARK 证明也是一样的。有一个不同的虚拟机,就有一套关于什么使得某件事有效或无效的不同约束条件。如果你想达到 STARK 证明所能达到的性能,比如在以太坊的一个区块中放入一百万个 NFT,你就必须更有效地使用编程语言。我们可以在 Immutable X 上的一个证明中铸造一千万个 NFT,我无法想象任何基于 EVM 或任何 zkEVM 能够接近我们能放入区块链单个证明中的内容。我可以挑战全世界的 zkEVM,他们不会做到的。这就是为什么你需要一个不同的计算模型和一个不同的编程语言。
BlockBeats:但许多曾在 Polkadot 等采用 Rust 语言的生态项目普遍会向我反馈运营成本的问题,因为聘请或者培训一个懂得用 Rust 语言开发合约的工程师代价非常高昂。另一方面,如果团队在以太坊或者在兼容 EVM 的 L1 上开发项目,那就非常便宜。您怎么看待这个情况?这对 Starknet 生态来说是一个问题吗?
Eli:这可能是个问题,但开发者正在涌向 Cairo 和 STARK。开发者和团队的数量每天都在增加,我认为他们看到了潜力。很多人理解了规模化的问题,并问自己最好最具有前瞻性的解决方法是什么,是什么真正开放了全球需求的扩展性,我认为他们中的很多人得出了正确的结论,那就是走 Starknet 和 Cairo 1.0 的道路。
这里有个类比,通常你会用 Python 写你的软件的第一个版本,但是当你想要实现规模化时,你就需要用 C++、WASM、Rust 等其他一些非常高效的语言来写。我认为在 Cairo 上也会发生完全相同的事情,你可能会拿 Solidity 代码部署到 Kakarot,但这就像用 Python 写一个高频交易引擎一样,是不应该的。你需要用另一种语言写,那种其他的语言就将会是 Cairo。
BlockBeats:现在也有一些项目基于 Starknet 开发 zkEVM。
Eli:是的,有非常好的项目正在构建 StarNet 上的 ZK-EVMs。第一个叫做 Warp,由 NetherMine 团队制作,这个团队非常优秀。第二个叫做 Kakarot,这是一个正在形成的社区。
Kakarot 就是一个 ZK-EVM,它是建立在 Cairo 之上的。所以我非常确定大多数的 ZK-EVM 将部署在 Starknet 上。如果你已经有了把你的 Solidity 代码或 EVM 代码移植到 L2 上,一个有效性 Rollup 的想法,你最好的方式是在 Kakarot 或 Warp 之上做。所以这再次展示了 Cairo 和 Starknet 的力量。
ZK Rollup 的赛道竞争和 Starknet 的生态开发
BlockBeats 在采访中还提及了 ZK Rollup 之间的竞争,以及 Starknet 自身生态发展的问题。作为整个加密行业中技术含量和要求最高的领域,普通用户似乎很难分别 zkSync 和 Starknet 之间的优劣。对大多数人来说,实际情况是谁更会「来事儿」就看好谁。从这个层面来看,StarkWare 以技术创新为核心驱动的理念似乎给 Starknet 出了难题。Eli 本人是如何看待 ZK Rollup 之间的竞争?他对 Starknet 生态的发展又有哪些期许?
BlockBeats:在当前的 ZK Rollup 赛道,Starknet 和 zkSync 是绝对龙头,二者之间似乎也存在着很强的竞争关系。在您看来,Starknet 和 zkSync 之间的区别是什么,Starknet 的优势在哪里?
Eli:你必须问自己,最好的技术步骤在哪里?哪个地方最可能汇集最多的开发者,并提供最好、最安全的技术?我们在 zkSync 之前就展示了我们的能力,他们很会讲故事,但他们讲的故事和开发者的体验之间有很大的不匹配。我有一个建议,我鼓励正在阅读这篇文章的开发者试一试在 zkSync 上开发或部署一些东西,并试一试在 Starknet 上开发和部署一些东西,你会感到有一个鲜明的差别。
我来告诉你一个故事,有人之前在 Reddit 上问谁做一个能进行 30 万次交易的东西,我们在主网上做到了,TPS 大约在 3000 左右。一两周后,zkSync 团队出来说,我们有 3000TPS,但是这 3000TPS 从未被测量、证明或展示过,不过它是一个很好的故事。在这个行业里有许多人乐意讲故事,也有人展示事实,我们以展示事实的能力自豪。
BlockBeats:也有用户反馈,目前在 ZK Rollup 上转移资产或者交互的 Gas 很高,这是为什么?
Eli:目前由于需求量很大,Starknet 出现了拥堵现象。两周内我们将发布 12 版本,这将极大地提高 TPS,解决大部分的需求。然后在下一个版本中,当我们完全集成 Volition 以进行链下数据处理时,价格将大幅度降低,这可能会在一两个月后发生。
BlockBeats:提到生态开发者,确实有人反应在生态发展方面 Starknet 比 zkSync 更加平衡。
Eli:没错,这是更好更深入的技术理解的结果。我们已经在这个领域耕耘了很长时间,在生产环境中部署过内容,并磨练了系统。我们知道我们在做什么。但我们不太会讲故事,很少炒作。我们就像特斯拉,特斯拉没有营销部门,我们的产品就是我们的营销。
StarkWare Sessions 2023 大会现场,图源来自 StarkWare
BlockBeats: 但在 Web3 领域,懂得营销的团队似乎更吃香。许多技术驱动型项目在生态发展中都多少出现了问题不是吗?
Eli:不,我认为这不是接下来会发生的事情。我之所以这样认为,是因为以太坊就是这样发展过来的。有一天,会有一个非常成功的 App 明了 Starknet 的能力。那个 App 是什么,我现在不知道。如果要我猜,我认为它不是目前已经存在于 L1,且可以轻松复制粘贴到 L2 上的产品。
所以我认为它会使每个人都会看到并谈论它,因为这全新的、在 L1 甚至是其他 L2 上都无法实现的应用。这将会成为转折点,开发者会蜂拥而至。正因如此,我们把大部分注意力放在这里,我们这次来 EDCON,就是为了接触到更多开发者,邀请他们加入我们的生态。因为他们当中,将会有人创造出我无法预测的美妙之物。
BlockBeats:对准备在 Starknet 生态进行开发的开发者,您对他们有什么方向上的建议吗?Starknet 能为他们提供什么?
Eli:我无法为他们回答这个问题,即使我给出了答案,他们也不应该听我的,他们应该自己决定他们自己。我认为有些东西是惊人的,在 Starknet 上建立数据库基础设施,像高级 Oracle 服务、Proof of Humanity、社交网络等,有很多真正令人惊奇的事情可以做,他们应该研究一下,找出他们认为缺失的东西,或者他们认为最有趣的东西是什么。
Starknet 是区块链演变的下一步,这是一个非常重要的步骤。如果你是一个开发者,Starknet 将会准备好供用户使用,我们正在为最终的用户构建它。我认为我们有一个非常清晰的前进道路,更多的开发者还有很多工具要建立,还有很多事情要做。有很多的机会让你脱颖而出,并通过努力工作为自己赢得名声。
BlockBeats:在最后,您还有什么想和读者说的话?
Eli:如果有一台时间机器,你可能会希望回到以太坊的早期,构建几乎你想建的任何东西都会非常成功,比如第一个预测市场、第一个钱包等。但游戏并未结束,还有下一代机会,而这一代的赢家我认为将是 Starknet。所以现在除了拥有一台时间机器,大家还可以去了解一下 Starknet,现在是时候了。