2021-03-05 03:10 | 出处: 一休哥
本文整理自昨晚 Nervos 首席架构师兼研究员谢晗剑(以下简称Jan),在币乎直播间的AMA分享。直播进行1小时45分钟,文字内容分1、2、3部分发出来。
以下是AMA内容的第1部分,这部分 Jan 会谈到以太坊 2.0 的 Rollup 方案演进过程以及 Nervos 的项目定位。让我们开始吧,一定可以 Get 到很多干货。
enjoy。
一休哥:我印象中,这应该是我第二次和 Jan 面对面地聊,上次是在去年 11 月底,我去了杭州,参加 Nervos 主网上线一周年的 Party,那是我第一次见到 Jan,我印象很深的是,那天有很多 Nervos 的朋友都从不同的地方赶来,大家在星火矿池的场地吃着烤全羊,喝着精酿啤酒,一起聊这个行业的东西,那天晚上十点过才逐渐散场。
今天应该是 Jan 第一次来到币乎直播间,有一些小伙伴可能不太熟悉你,在正式今天的 AMA 之前,我想替观众朋友们问 Jan 一个问题,能否给大家分享一下在这个行业里的经历,以及为什么当初选择从以太坊出来做 Nervos?
Jan:我加入这个行业其实算比较早,因为很早就接触到了比特币。然后也是经过一些曲折的一些经历吧,就是经过了一个从怀疑到有更深刻的认识,然后觉得这个行业很有前途,然后开始进入这个行业,然后做过很多事情。
因为我自己本身也是一个程序员背景,很喜欢开源,很喜欢开源项目,在区块链之前就非常喜欢开源这个事情,就觉得这是一个很符合未来的一个事情。所以,在研究了比特币以及很多其他的项目之后,到了以太坊出现的时候,就很自然被以太坊吸引了。
因为以太坊本身也是完全开源的,所以就可以很容易去贡献代码。你可以去帮它去做各种各样的研究。我在加入以太坊团队之前,我就给以太坊做过很多事情。恰好就有一个机会,以太坊的 Research Team (研究团队)招人,因为有之前这些积累,我就很自然地进入了以太坊的研究团队。
其实我从研究团队出来之后,不是马上做 Nervos,其实中间也经历了很多。也做过很多其他的事情,包括联盟链,包括一系列的东西,因为这些都是我很感兴趣的东西。我觉得是经历了这样一系列的不同的事情之后,你会对区块链认识更多,然后更有信心去做一个你觉得有价值的项目,对吧?因为在我看来,不是所有的公链都很有价值的。
所以当你想清楚之后,你自然就会去做。为什么做 Nervos ?我觉得也是到到了那个时间,到了那个积累,你就会自己会想。因为如果你总是想挑战一些更难的事情的话,你肯定会不可避免的走到公链上来。因为相比区块链行业里面所有其他的方面来说,公链本身是最有难度挑战的一个事情。因为它是处在一个最难的环境里面,对吧?——它是运行在公网上面,全世界有很多很多的攻击者,可以想办法攻击你,你不知道他们在哪里,但是他们知道你在这里,你的代码都是开源的。所以这是一个很危险的事情,但是它富有挑战性。
一休哥:从我对 Jan 的了解来看,感觉他像是一个捉摸不透的顶级棋手,就是你作为一个普通选手你想未来的两步,他想十步,20步。这就是为什么 Nervos 两年前提出来的一些设计理念,比如分层架构 Layer 2、状态管理等,到2020年底,甚至今年初,逐渐被大家认识到并引起行业的重新关注。
上周五 Nervos 团队发布了 2021 年的技术路线图,我们也在周末从各个不同的渠道收集到小伙伴的问题,然后我们筛选出一些比较有代表性的问题,来请 Jan 回答。
Q1、一休哥-CKB 吧主: Vitalik 说 3 月份以太坊的 Rollup 出来,你作为曾经以太坊 Core team 的一员,以及现在 Nervos 首席架构师,也时刻关注着以太坊社区的发展,这部分你最有发言权了,你怎么看以太坊的 Roll up 方案?以及它可能的实施路线是什么样的?
Jan:这里面有好几个点,我我尝试拆细一点说。首先说以太坊。以太坊长期以来的一个大的目标是要做 ETH 2.0,这个 ETH 2.0 曾经的主要方向是分片,这个方向其实做了很久,同时也有一些其他的研究在开展。
以太坊有一个论坛上面有很多研究,然后有一段时间很火的是 Plasma,Plasma 是一个 Layer 2 的方案,那段时间其实是分片和 Plasma 同时在做。然后 Plasma 做了很久后,大家发现里面有一些比较核心的问题是很难解决的。
因为 Plasma 的整个流程其实和 Rollup 很像,也是说用户先要把资产充值到 Plasma 这个Layer 2 的链里面,然后在 Layer 2 ,在 Plasma 里面可以做各种各样的交易,用各种各样的应用。最后用好了之后,又可以把自己的资产拿出来。
其实这整个流程和现在的 Rollup 是差不多的。但是它因为有一个比较核心的问题,就是说在用户想要把资产拿出来的时候,如果这个时候刚好 Plasma 的这个运营者,他又是个坏人,他想作恶的话,这个时候用户的资产是有比较大的风险的。
不是说 Plasma 不能用,但是它的风险、安全性相对于 Layer 1 来说就差了一个数量级。你可以认为它就是两种不同的东西。
所以为了解决这样一个问题,同时以太坊上面它的这个整个生态在飞速地发展,交易费用越来越高,Gas price 越来越高。一边是就是 Layer 2 的进展不顺利,一边是 Layer 1 上面这个生态越来越拥挤。 Rollup 方案是在这样的背景下提出来的。
从实际来看,其实 Rollup 我在我看来它是一个救急的方案。因为扩展性的问题一直解决不了,生态已经越来越大,已经堵得不行了,大家都受不了。所以在这个时间点必须要有一个过渡的方案,能够让以太坊平稳地度过这段中间的时期(相较于以太坊 2.0目标态)。
你也可以发现它就是一个过渡的方案,因为它本质上是把 Plasma 往后撤了一步,就是说 Plasma 其实它的可扩展性比 Rollup 要好。往后撤的一步是什么呢?
Plasma 只需要在 Layer 1上面存很少很少的数据。然后 Rollup 是这样做的:既然 Plasma 有这样一个问题,那么我们就把更多的数据存到 Layer 1 上面,存到以太坊上面,这样就可以把这个问题给绕过去。但代价就是,因为把更多的数据放到了 Layer 1 上面,所以 Rollup 的可扩展器就没有 Plasma 好。但是它更安全,它现在就可以用。
虽然可扩展性不好,但总比以太访现在快,总能够缓解一下现在的问题。
所以,从实际效果上来说,Rollup 是一个很有实用性的方案。
另一个方面,在经历了 ETH 2.0 还有 Plasma 的挫折之后, ETH 2.0 的整个路线也往回撤了一步。因为过去是说我们就是要依赖分片,所有的所有都是在分片上面,甚至还还要去设想,分片上再叠加 Layer 2,对吧?
那个都是非常遥远的东西,然后现在撤回到一个什么呢?短期就现在撤回到说以 Rollup、以数据可用性为中心的一个路线上。交易的执行只是考虑数据的可用性,这个其实是已经向现实妥协的一个方案。
Rollup 之后,以太坊还是要搞 Sharding 分片,还是会面临很大的困难。但是已经比以前那个以太坊 2.0 更加实际了。所以你会发现以太网整个路线图也有一个往后撤的一步。
以太方现在整个 Rollup 方案,严格来说不是基金会做的,不是以太坊核心团队在做的,其实是社区做的。我们现在看到的 Rollup 方案其实都是社区的方案。
因为他本身其实只是你可以认为它其实只是一个思路。然后它在工程实现上就是细化的话,它可以细化成很多不同的方案。比如说,大家同样是做一辆汽车,说汽车都是四个轮子,四个门,一个车身,大家所有人都知道,这就是 Rollup 。但是,每个人做出来的汽车是不一样的,它的细节会不一样,有的人这个是电动的,有的人是汽油的。所以现在以太网社区有非常多的 Rollup 方案。
目前这些方案大的潮流上分成两类:Optimistic Rollup 和 ZK Rollup(基于零知识证明的方案),它们各有各的优点,简单来说 Optimistic Rollup 它的通用性更好,它可以支持各种各样的合约,包括现在我们看到的 DeFi 应用,任意的应用都可以直接往上搬,但是它的资产退出时间会更长。它的安全性可能会比 ZK Rollup 要差一些。
零知识证明用了非常高深的密码学方案,但是现在所有的这些基于零知识证明的方案,其实没有经过很长时间的检验。大家要知道,在安全领域,真正能检验一个东西是否安全的,其实只有时间。你可以做很多理论的证明,但是理论的证明不代表实际。当你把它通过工程变成一个可用的产品的时候,它可能实现的细节上就不一样了,它会导致出现各种各样的漏洞。所以理论和工程是不一样的,这是零知识证明面临的一个问题。
然后 ZK Rollup 面临的另外一个问题,是不太通用,现在一般要么就是说用于支付的场景。我做了一个只能用来做支付的 Rollup,或者说我做了一个 DEX 的 Rollup,它上面就是一个 DEX,你不能再部署一个 Compound 这样的借贷合约上去,你不能随便部署它,它就是专门为 DEX 做的。
所以这是现在两种大的流派,然后两种大的流派都有很多项目在做。都在蓬勃的发展当中。
2021 年以太网上会出现很多这样的 Rollup方案,然后我还是蛮期待的。我觉得这是整个区块链行业的一个进步。
Q2、(公众号)乡野农夫/c·yu: 技术路线图里提到的2024年基础设施全部完备,Nervos 计划用五年的时间去达成以太坊十年的网络规划。请问Nervos应该从哪方面切入?或则说Nervos的定位是什么,与以太坊的差异和打法在哪里?
Jan:这是个很好的问题。
我觉得这也是任何创业项目,在一开始就要想清楚的问题。因为创业其实是一个很艰难的过程,我自己也经历过很多项目。其实创业,经常会面临的很多困难,你和别人的区别,甚至说可能你一开始有区别。但是如果你的想法真的很好,可能你把它做到了 A 轮、B 轮,这个时候别人开始来抄你了。大哥来抄你了,大哥把你们抄走了,大哥还有很多用户,这时候你怎么办?你这个创业就死定了。
我觉得在公链的领域,道理也是一样的。因为像比特币、以太坊,他们有先发优势,他们在正确的时间点做了一个正确的事情,然后发展到今天这样一个地步。所以其实你要复制它的成功是很难的。你如果只是小小的改动一下,然后想要通过加强它、去超越它也是很难的。尤其在区块链,在公链这个领域。为什么呢?
因为公链领域是一个完全开源的领域,所有代码都是开源的,所有的想法都写 paper ,都是公共领域的知识。所以,在这个领域里面,别人想要抄你是非常容易的。如果你对这个领域的想法研究得够多的话,你会发现包括以太法也是在不停的抄别人。以太网的很多想法是从比特币社区出来的,还有我们所谓的山寨币社区。
在 2015 年之前,其实有非常多的有创意的想法,那些想法有的在当时可能沉下去了,没有合适的机会发展出来。但是过了五年、十年之后,你会发现,慢慢地大家又把它翻出来,又开始在做了。
尤其是发展到现在这个阶段,代码都是现成的,比如说以太坊代码就在那里,我 fork 一下,我可以改个共识,它就是一个新的链,或者我改点其他什么东西。
但是这种玩法在公有链,我觉得是没有戏的。因为以太坊它在不停地学习别人在做的东西。如果你的改进真的非常好,而且可以被融合进以太坊的话,它是一定会被融合进去的。
这是我们在过去五年,从以太坊出现以来看到的现实。以太坊在这 5 年一直在学习别人,一直在吸收新的想法,Vitalik 是非常聪明的人,以太坊社区也有非常多的优秀的工程师和研究者,然后这是一个开放的领域。所以为什么不去学别人呢?如果别人真的好,我又能学的话,我肯定学嘛,而且这里面没有任何的道德负担,整个领域管这个叫借鉴。而且我把你的代码复制过来,然后我改了一改,没有人会指责你说你是在抄袭。这是公有链这个领域非常有意思的现象。
我觉得这个可能才是未来吧。因为你会发现这样没有任何像专利、知识产权的门槛,这也是为什么这个领域发展的非常快的一个原因。全世界的人才,大家在拼命的往前冲。
铺垫了这么多,其实想说的就是说,Nervos 稍微改一改是不行的!如果你是稍微改一改,你不如就帮以太坊做就好了,你不要另外开一个项目。比如说如果我想稍微改一改的话,我的最好的选择应该是留在以太坊的研究团队,把这个好的改进就直接加到以太坊里面去。
所以,Nervos 刚开始做的时候,这是我们想的第一个问题,就是如果我们真想做一个新的链,那它一定得是我非常不同的一个东西。如果它有一些优点的话,这个优点应该是很难被抄的一种优点,这样你才能够说在长远的发展过程中能够保持一个优势,能够获得自己生存的空间。不会说你长到两岁的时候直接被抄了,然后你就死掉了,就也就是为别人贡献而已。
其实这个点我觉得就是刚才那个问题所说的,就是这个差异点是什么?我觉得首先是说一个完全不同的一个智能合约的模型,这个对于非技术的人来说可能会比较难理解。
你可以认为就是说大家都在做智能手机,有一种模型叫做 iOS,另外一种模型叫 Android。如果你作为普通用户的话,首先你可以很明显感到这两种手机是不一样的。苹果公司它的一系列的手机是那个风格,然后安卓有很多厂商它是这个风格。但是他们两个都有自己的生存空间。
然后如果你是做技术的人,其实你会知道,它们的底层、整个生态都是不一样的,从工具到应用与应用之间的相互调用,都是不一样的。所以,安卓可能做一些事情容易,做一些事情难,苹果也是。另外,它们的优缺点各种各个方面都不一样。
但是有一点是肯定的,大家都能够看到它们两个都发展得很好,都有生存空间,而且没有办法说谁去把谁抄过来,因为它们实在是太不一样了,你把它抄过来其实是自废武功。
我举个例子,比如说安卓现在想要把苹果抄过来的话,谷歌说我现在要把安卓的整个系统的这个编程的模型换掉、接口换掉,换成苹果那样,我觉得他那个好,我们就学过来。
那么,你现在就会把在安卓上面做了这么久应用的这些技术公司,把他们的积累毁于一旦,因为这是你的生态。你你生态上面有很多公司在做,他们做了十年,然后你说现在我们要转方向了,我们要去走苹果那条路,那一下子就让以前在苹果生态上做的那些公司,他们变得有优势了,反而跟着你做了十年的这些安卓的应用公司,他们就没有优势了。
任何一个有思考能力的平台,他都不会做这样的事情。因为你是自毁前途,其实没有必要。而且就算你学了别人,反而你可能更差了。因为你都学别人了,那我为什么不留在那个原创的人那里?
这是为什么 Nervos 一定要做一个完全新的平台,就是当发现确实有这样一个机会的时候,确实有这样一个编程模型。在那儿还没有人做过的时候,我们很开心的说,这是一个机会。
这个机会不同于一个共识的改进?共识的改进其实是可以被吸收的。我觉得很多人有一个误区,他们觉得共识的改进是个很大的改进。不是的!
大家想一想,以太网现在做的事情,本质上是起了一条新的链。
如果你关注以太坊 2.0 的话,它的的迁移的方案是什么?就是我做一条新的链,我把 PoW 换成 PoS,然后这条新的链我怎么改都行。
在这种情况下,你共识的改变也是可以被吸收进来的。谁的共识好,我就用谁的。因为我有用户,我有这个生态在,这谁的好,我就学谁。
这是最好的做法。这是领先者的做法。
那么当你去找到一个新的编程模型,找到一个新的平台的时候,这个时候就是你最有利的地方。为什么?因为他没有办法去借鉴,你可以尽情地去发展,因为他学你的话,就意味着以太坊向现在的所有的生态、各种工具链,他们的这个开发工具通通都会没有用,这个属于自费武功的行为,不可能有人这么做。
所以这就是,就算你觉得好,你也不会学,就像是苹果和安卓的关系一样。就算我觉得它确实在那些方面有优点,但是我也不会学。那是你的,咱们就各有千秋就好了。
所以只有这样的路,我觉得才能创造出一个创业的生存空间,才能创造出这个项目的生存空间,你才有继续走下去的机会。所以我觉得这是 Nervos 和其他很多项目不同的地方。
从技术上来说,这就是我们经常说的账户模型和 UTXO 模型的区别。现在基本上所有的其他智能合约的链都是账户模型,UTXO 链的是比较少的,Nervos 其实是沿着比特币的 UTXO 模型这条路线往下走。
我觉得从定位上来说,Nervos 其实和比特币、以太仿是比较类似的,都是想做一个世界范围内的无需许可的公链,任何人都可以用,你想用的时候你就能用,你只要生成一个私钥,你就能加入这个网络就能用了,它应该是一个足够去中心化、足够开放的网络,它应该是全球的一个基础设施。这是我们非常想做的。
这也是让我觉得非常有意义的一个事情。因为就从技术上来看,它就是很有挑战。做技术的人肯定都曾经梦想过,就两个梦想。我觉得就是基本上所有人都想过。
一个是我能不能写一个操作系统?这个基本上是所有学计算机的人都会想我能不能做一个操作系统,干掉微软,或者代替 Linux。
另外一个,你可能会想,我能不能做一个互联网?大家都能看到互联网很有价值,但是互联网是有很多协议,对吧?你就很希望自己早出生三四十年,你就能赶上互联网那波基础设施建设的时候,你就能做很多,现在看来非常牛逼的事情。
我觉得公有链恰恰是这样的事情。
我们再过 30~40 年看,往回看时,现在这个时代出现的很多很多东西,都是今天奠定的,这是一个很有意思的东西,Nervos 正在努力做这件事情。
(明天发布后续内容)
以下是CKBFans群的广告时间:
虽然一休哥知道CKB一定会爆发,但我不希望看到大家盲目地买,去CKB吧精华区域多看,研究了看懂了后,再入手也不迟,才拿得住。
江卓尔说,如果一个币拿不了5年,绝不拿5分钟。就是这个道理。
然而,这谈何容易,每个人的认知、理解都因人而异,也正是因为这些差异,有人赚到了钱,有人却亏了本。
CKBFans 群是一群相信 CKB、相信未来的小伙伴儿聚集的地方。在这里,没有广告,没有羊毛,没有带单;在这里,随时有人帮你解答你对CKB的疑惑;在这里,不定期地分享币圈的那些坑;在这里,时不时地会有CKB红包奖励正在精进的你:
无研究,不持币,加入CKBFans群,给自己一个撬动财富杠杆的支点。