王嘉平博士师从原微软全球执行副总裁沈向洋博士,在中科院计算所获得博士学位。他的博士论文获得2009年度全国百篇优秀博士论文奖,是该年唯一一名计算机科学专业的获奖者。2007年毕业后,王嘉平博士先后在微软亚洲研究院,微软总部雷德蒙德研究院从事科研工作,有数十项研究成果发表于ACM/ToG顶级期刊以及已授权的美国专利。
2017年加入创新工场担任创新工场投资总监兼AI工程院副院长,于同年主导了创新工场参投比特大陆的首轮机构融资。期间,他专注于区块链核心领域研究,于2019年发表了区块链性能提升方案「Monoxide」论文,被国际顶级计算机网络学术会议 NSDI 2019接收,这也是中国人在区块链核心技术领域第一篇发表在国际顶会的学术论文,并获得同年中国计算机协会(CCF)最佳区块链论文奖。2020年,在该论文的基础上,带领团队推出墨群区块链。
作者:江小渔
编辑:黑土
出品:碳链价值
Q1:能否简单介绍一下墨群区块链团队目前的情况?
王嘉平:墨群区块链团队现在主要分为三块,一块在美国的西雅图,一块在德国,另一块在上海。团队规模目前是二十几个人。
西雅图团队处理的是墨群区块链最底层的东西,主要是把2019年我们发布在NSDI上的那篇论文实现出来,当然也包括不断优化改进。这一块主要是我在负责。
德国团队承担的工作,是创建一种新的智能合约语言,以及创建相应的编译器和执行环境。
除此之外,我们还有一部分团队在上海,这些人主要负责网络层的高效协议,以及产品工程方面的事情,比如做原生钱包,区块浏览器等。
总体来说,我们的团队规模并不大,比较「精炼」。其实做区块链的底层本身并不需要多少开发者,甚至可以说是「求质不求量」。比如说做编译器内核,这不是靠人堆就能搞定的,这得有一两个非常强悍的技术精英把它弄起来。
要做好底层,真正需要的人其实很少,人多了也没用。底层的内部耦合非常紧密,东西不多就那么两三个,但都很复杂,难度也比较大,得有很强的人一下子把它搞定。做底层的人也很稀缺,比如你在国内找一个独立完成编译器内核的人,这是掰掰手指头都能数过来的。
说到我们团队的具体情况,西雅图这边主要是我自己。我原来是在微软做分布式计算的,墨群区块链底层的架构主要是我在写。
我们在上海的合伙人,是PPTV的前技术合伙人。PPTV是当年中国做点对点网络视频流最强的公司,所以他对点对点网络非常熟悉。现在他主要负责做工程以及网络底层。
而德国那边的负责人,原来供职于全球三大游戏引擎公司之一CryEngine,之前他也是微软亚洲研究院的人,我们很早就认识。这位朋友是数学系出身,后来转到了计算机,做密码学、形式化的东西比较拿手。
Q2:墨群区块链是公链还是私有链?有没有相应的代币?
王嘉平:墨群底层系统大概有95%的代码,跟一条链究竟是联盟链还是公链是完全没有关系的,只有很少一部分代码(尤其是跟挖矿相关的代码),在联盟链还是公有链上有区别。因此,它既可以做公链又可以做联盟链。
我的那篇论文是按照公链运行场景来设计的,所以它可以跑在公有链上面。如果你把共识算法部分,也就是挖矿部分稍微调整一下,就可以直接拿来做联盟链。
不过,因为公链和联盟链的网络环境不一样,所以他们使用墨群区块链后的性能也会有所不同。我当初的论文是以公链为使用场景去设计和做实验的,运行在互联网上。尽管论文中给的配置非常保守,但当时我们做到了1万TPS。如果把它放在企业的联盟链中,那几百万TPS都是没问题的。
至于有无代币,就涉及到我们究竟是做公有链还是私有链的事情了。我们目前没有发币的计划,至于在中国市场,那是永远没有发币的计划的。墨群区块链在中国市场的定位,就是做区块链技术,在市场层面找联盟链的机会,找私有链的机会。
我曾经思考过这个事情:就目前来看,我没有看到公链在当前市场上有一个切实的机会,也就是一个切实的应用场景。但对我们来讲,重要的是把技术准备在那里,如果公链的机会确实出现了,那我们会去做公链。但即使做公链,我们应该也不会去发行代币,而会像最初的比特币那样,大家一起公平竞争,挖矿得币。我们也不会有什么预留。
我们非常关注联盟链的场景。在这个方面,值得一提的是,墨群智能合约系统采用的是AOT (Ahead-Of-Time - 预先编译),而不是虚拟机,这对联盟链十分友好。
目前,公链项目大多采用的是虚拟机。这股潮流从何而来呢?从以太坊而来。以太坊的虚拟机做了一个很理想化的结构,但它用一个巨大无比的哈希表来表达内部状态,其实非常浪费,性能也很低。
其实区块链没有必要用虚拟机。浏览器要用虚拟机,这是因为浏览器需要运行的代码是一天到晚在变的,所以不可能说我先把它编译一下再用,这样就太慢了。但是对区块链来讲,它的代码就那么些个,所以你可以在合约部署的时候预先把它编译成本地原生指令,后面直接用。不过,由于以太坊走了这样一条路,所以大多数人都还是沿着这条路走了虚拟机的路线。
采用AOT还是虚拟机,在性能上的差距有一百倍之多。这个对公链来说其实还好,因为公链更多的压力是在网络上。但如果是对联盟链来说,那就非常不一样了,因为联盟链有非常多的压力是在CPU计算上。在这种情况下,我们这种智能合约所采用的语言就会非常有优势。
Q3:你在文章中讲到:“墨群分布式计算团队将致力于研发以分布式计算技术为基础的新一代计算基础设施,以及其上的互联网应用。”在你看来,和现在的计算基础设施相比起来,新一代计算基础设施有什么特点?有哪些改进?
王嘉平:现在所有的技术服务本质上都是一个服务器-客户端模型。对方有一个服务器,所有的东西都运行在服务器里面。所有人都依赖于服务器这样一个中介来进行沟通和交互,所有的事情都是它在管。
这个架构的存在有它的道理,因为在互联网早期,大家的客户端都很弱,很多事情交给客户端去做,客户端是搞不定的。服务器架构反向的架构是点对点架构,对网络的要求会比中心化架构对网络的要求高很多。所以互联网的历史肯定是中心化网络先占据主流,因为中心化网络成本低、效率高,开发难度也低。
但后面就出现了另外一些东西,比如BitTorrent这样的点对点网络。点对点架构有一些天生的优势,在用户层面有很直观的感受。比如文件分享的下载速度快,本质原因是互联网带宽是结构化的,离你近的带宽高,离你远的带宽低。所以点对点网络在这一点上就有很大的优势。
在区块链出现之前,当年的点对点网络真的是点对点的,它没有形成一个「全球性」的东西,人们没有办法在这样的网络中形成一个全局性的状态,对整个网络进行相应的管理。这就导致了一种混乱,让坏人有机可乘,去做一些不法的事情。
无论是什么计算机系统,要想大规模应用,就一定要在系统层面进行某些管理。管理并不是说非要以中心化的架构去做,但是当年大家不知道怎么做。现在有了区块链,使得这件事变成了可能。
点对点网络的架构,和区块链技术结合在一起,才能真正在计算机系统这个层面做出来一个彻底分布式的应用。至于它能不能成为新一代的计算基础设施,这个还是要去看市场的方向。不过目前,这件事已经有所端倪,尤其是在海外。
海外对隐私的关注比较多。比如像去年Facebook出的事情,就引起了很大的关注。我不敢说Facebook所有的功能,但至少里面有一大部分功能,其实是完全可以用去中心化的架构做出来的。
这么做的好处是什么?一旦去中心化意味着什么?
首先,所有的账号体系不会在一个中心的服务器上,所以不会有现在互联网上出现的大量脱库现象。黑客把这个网站上所有的用户整个都拉下来,全部都脱出来。这样的事情在去中心化网络中是根本不可能发生的,因为所有的信息都是分散的,黑客想要找都找不到,最后就变成大炮打蚊子了。
大规模的脱库事件其实非常可怕,比如一个人的私钥丢了,这种事情背后不会形成商业链条。只有大规模脱库背后才有商业链条。而如果一件事情背后有商业链条,那这种事情就会一次又一次的发生。只有去中心化的网络,才能对这件事进行彻底的规避。
此外,隐私问题也会得到解决。现在的隐私保护政策都是针对谁啊?针对收集隐私的人。那么是谁在收集隐私?就是那台中心化服务器啊。因为所有的信息都要经过它,所以它会成为一个中央的地方,它会收集所有人的行为。但如果是个去中心化的架构,那根本不存在这样一个东西了。
所以说,如果你想保护隐私,最好的情况就是你根本没有隐私可以保护,就是说你的隐私根本就没有去到一个地方,也就不用保护了。隐私根本不在别人那里,你的行为只有那些只跟你有交互的人知道。你今天跟这个人打了电话,整个网络就只有你们两个人知道,其他人是不知道的。
但问题是,你单纯这么做是不行的。网络上还是有坏人,治理必不可少。在区块链技术出现之前,没有人知道去中心化的治理怎么做,所有的点对点网络不具备治理的能力。现在有了区块链,这件事就有可能会做。现在提到区块链,大家总想到金融,觉得和金融高度相关。但在我看来,以后更大的机会更可能在金融之外。
我认为,下一代计算基础设施是去中心化的、隐私友好型的、有治理的。
去中心化并不是无政府主义,它只是非常具体的技术概念。它仅仅指我们的计算机系统在交换数据的时候,在做计算、存储的时候,在提供服务的时候,没有一个必经的中介机构,没有一个中心化服务器。也就是说,不存在这样一个服务器,所有人都必须通过它来交互。如果人与人之间想打交道,他们可以互相之间直接沟通,完成他想要完成的计算任务,不需要通过一个中心化服务器来做中转。
这件事并不意味着它的上层管理是无政府主义的。它的上层管理仍旧可以是中心化的,但只不过底层的技术层面是去中心化架构实现的。这样一来,现在互联网的很多问题就可以直接被规避掉,例如黑客攻击、单点故障。像数据中心挂掉导致很多应用都无法使用,这样的事情在去中心化网络中是不可能的。去中心化网络可以使计算机变得更可用、更安全。
Q4:墨群区块链有无竞品?和竞争对手相比,你认为墨群具有哪些优势?
王嘉平:从链的角度来看,我们有一堆的竞争对手。
我们的目标是,如果未来区块链领域有足够多的应用诞生,我们就要成为那个可以支撑大规模应用的链。说白了,我们在预判一件事情:如果这些应用没有大规模地发生,那么我做了也白做;如果大规模地发生了,但你却没有为这个准备好,那也还是白做。所以,性能和容量是这个领域一定有价值的事情,一定要准备好。
至于我们的优势,这个就非常具体了。
区块链为什么慢?区块链慢的根本原因,是所有的节点都在做重复的事情,这样怎么能快的起来呢?分片架构改变的就是这个事情,它让这个网络里的一部分节点做一部分事情,另外一部分网络做另外一部分事情。这样一来,你进去的节点多了,它的性能就会提升。这件事情跟什么共识算法啊,跟什么数据结构没有关系,要解决这个问题,你就不能让所有的节点都去做同一件事情。
前段时间大家都在讨论以太坊2.0的分片,那我们就和以太坊有着明显的区分点。现有的公链项目基本都是有信标链的,而我们的架构里是没有这个东西的。有信标链的问题在哪里呢?就是一旦你跨了片你还是得经过它,那它一定会成为瓶颈。所以之前就有很多人琢磨,该怎么样避免跨片。
但墨群的系统中,跨片你就跨,随便跨。我们要做的事情就是,一旦跨片发生的时候,我们可以让你把性能做得很高。跨片这件事从本质上是不可规避的。分片如何提高系统的性能?说的粗暴一点,你分的片越多,你的性能就会越高。但你会发现,你只要分越多的片,你就会有越多的用户不在这个片里面,所以你的跨片交易的比例就会越高。如果你不能很好地处理跨片,那你这个系统肯定分了几片就分不动了。
除此之外,在智能合约语言层面,语言的执行效率其实也是非常关键的。所以我们新做了一套系统,不仅在编程模型上可以和我们的底层并行系统吻合,同时它的执行性能也能做的非常高。
Q5:墨群的发展路线是什么样的?大概什么时候进入商用?
王嘉平:我们的第一个阶段是测试网上线。其实现在测试网已经有了,内部都在跑了,我们正在做各种测试。我希望把这个东西打磨得更干净一点再正式上线。当然,今年大家肯定能看到它。
墨群最早投入商用的可能就是联盟链系统。我们会在这个阶段打磨一段时间,后面可能会出公链主网。
Q6:在创建墨群之间,你的身份是创新工场的投资人。能谈一下,为什么你会选择离开投资圈,成为一名创业者吗?
王嘉平:其实我自己一直都是个创业者。早在2008年,我就做过一个C端的产品。当时我买了个iPhone,然后我发现它缺点东西,所以我就自己做了一个,这个东西和越狱有关。
当时越狱很火。虽然这个产品从前到后就我一个人,但由于站在iPhone的风口上,在创立两年后,最高的时候产品做到了600万日活。这是一件非常有意思的事情,你会感觉你在用你的产品在和整个世界交互。
这个产品虽然现在也还活着,但是整个大趋势已经过去了。这就让我体会到了很多事情,比如我上面说的,所有的事物都有终结的一天,没有永恒的商业模式。
抛开创业,我的职业生涯大部分是在做研发。我在北京的微软亚研院9年时间(包含读博士的阶段),都是做研发。到了美国后,也是在微软总部研究院做研发相关的事情,当然还有一部分是做学术研究。
比特币这个东西我很早就看到了。大概是2009年的时候,交大的一个朋友邮件给我谈到了比特币。我当时觉得比特币所采取的技术非常的新颖,但也没有想到后面会有这样的事情真的发生。直到2013年,我才又回过头来看这件事。
我看到圈内很多人在做区块链。看了半圈后,我一直也没有看到东西出来,后来我就深入研究下去,发现区块链本质上就是一个分布式计算,这个跟我以前在美国的研究非常接近,再后来就有了这篇论文。最后我想想,这个事情其实和我还蛮有缘的。
Q7:在你看来,现在的区块链赛道进展到什么阶段了?在这个领域,新的创业者还有机会吗?如何看待币价徘徊不前带来的悲观情绪?
王嘉平:行业依然非常早期,机会在于大家还不知道的地方。
大家现在拿着币价说事儿,就相当于在1999年大家拿着域名的价格说事儿。在互联网泡沫的时候,大家也有炒作标的,当时域名价格被炒到了天价。但在互联网泡沫破灭后,那些天价就跌落下来,搞得一地鸡毛。
新技术总是会多多少少带来一些可以很快参与的短期炒作的东西,一定会有,只是形式不同。但是这种短期炒作的标的本身不会为行业带来什么价值。是互联网成就了域名,不是域名成就了互联网;同样的,区块链会成就币价,币价不会成就区块链。