8BTCCI: 13798.97 -1.74% 8BTCVI: 6882.61 -0.41% 24H成交额: ¥3503.42亿 -3.49% 总市值: ¥19057.10亿 -1.84%
She Knows访谈 |开年超强硬核对话,创新工场王嘉平万字探讨公链性能

She Knows访谈 |开年超强硬核对话,创新工场王嘉平万字探讨公链性能

SheKnows 发布在 链头条 区块链 94855

She knows:She knows是巴比特旗下首档社群互动访谈栏目,邀请资深区块链人士犀利作答:技术趋势,行业现状,热点事件。无所不谈,言无止境。想了解有关区块链的一切?与巴比特小姐姐们一起,探索区块链边界。

She Knows第四期对话嘉宾:王嘉平博士,创新工场执行董事,投资方向为区块链和人工智能。原为微软总部雷德蒙研究院主管研究员,专注分布式系统,计算机图形学和视觉以及用于机器学习的GPU集群等领域的研究。

对话人:小喵MiaBao,《喵懂区块链》负责人,巴比特直播间负责人。擅长无死角全天候深度对话全球区块链创业者。

神秘观察员:洒脱喜,巴比特学术向文章译者,潜藏于区块链舞台背后冷静旁观的资深观察者。

“区块链不可能三角”是指区块链网络很难同时兼顾扩展性(Scalability)、安全性(Security)、去中心性(Decentralization),三者至多只能取其二。以太坊创始人Vitalik和巴比特创始人长铗在这方面的理论论述颇有影响力。

近日,王嘉平提出Monoxide“异步共识组”方案,尝试解决区块不可能三角问题。王嘉平如何看待不可能三角?Monoxide方案又将如何挑战不可能三角?本篇文章为巴比特She knows主持人小喵、洒脱喜与王嘉平2小时的深度访谈全文,现摘录部分精华观点如下:

1、伸缩性现在的核心瓶颈在于要求每一个节点负责整个网络的交易,导致没有办法被伸缩。所以从当前几个不同的研究方向来看,分片技术是最靠谱的解决方案。对于1000TPS以上的系统来讲共识技术已不是瓶颈,不管你用什么样的共识机制,它的瓶颈一定是在通讯带宽上面。

2、全节点的压力不仅仅只是带宽,但为什么要强调带宽?因为唯独带宽会严重影响去中心化程度。它不是说花钱就能买到,它会限制你的地理位置,如果你要1G带宽,那么你唯一的选择就是找到一个大型的数据中心,把节点部署在里面。

3、主链的伸缩性基本上就靠分片,侧链可以根据垂直业务去做各个业务上的优化,未来,大家可以看到一个主链上应该会部署不同类型的好多侧链,服务于不同的垂直业务。

4、所有分片项目考察的核心点就是两个。一是如何有效处理跨片交易,第二是如何有效解决算力分散问题。

5、大家现在看涨看跌基本上都是在几个月尺度的上面,如果这么看,那么跟产业、技术、业务都没有关系,你就看谁比较能忽悠就可以了。

注:本次访谈中王嘉平对共识算法等概念进行了深度剖析,所有观点仅为个人看法,不代表其就职单位观点。

 

转型:从不同的角度看同一件事情

She Knows:问题1,您何时了解到比特币?为何会对比特币、区块链产生浓厚兴趣?
王嘉平:2009年,我机缘巧合看到了比特币白皮书,那时我还在微软亚洲研究院。我发现它整个技术设定跟以往的分布式系统非常不一样,定位是数字货币。第一感觉是技术很有意思,很有突破性。但当时没有想到比特币世界真的这样就开始了。

大概是2013年,我正在研究一些分布式系统相关的项目,用GPU挖了一阵子LTC,也做了一些量化交易相关的事情。这个过程中就看到越来越多的人参与其中,也就更着重去观察到底发生了什么?

She Knows:问题2,从微软亚洲研究院转战创新工场是换了一条不一样的路吗?转换的契机和吸引点是什么?
王嘉平:中间有段时间在美国的研究院。当时基本上生活的压力没有了,就想去看一看象牙塔之外的世界,除学术之外的世界。非常感谢开复老师赏识,让我有一个机会从不同的角度去看同一件事情,我认样为这不是一条截然不同的路。

分片技术带来破局:不可能三角可以打破?

 

She Knows:问题3,大家普遍认为“区块链不可能三角”是由Vitalik提出,但Vitalik在和经济学家Nouriel Roubini的互怼中曾公开回应道 “我从来没说过区块链三角是不可能的,我只是说很难罢了。而且解决方案也已经完成设计,目前已经到了实践的阶段。”Vitalik这里说的解决方案就是我们熟知的分片技术。

而除了分片技术,很多研究工作都围绕如何在“不可能三角”上取得一个优美权衡而努力,而这些努力大致可分为三个大类: 1. 从共识机制出发,比如DPoS,Algorand等;2.从区块结构出发,比如DAG等;3.是从系统实现出发,比如多链并行、侧链、分片技术等。

您认为上述哪几类方案比较靠谱可行?各自实现的难点在哪?

王嘉平:首先,我认为不可能三角其实是挺奇怪的一个定义。因为如果我们不需要这种去中心化的安全,不需要去中心化,这个伸缩性(scalability,我们常理解为可扩展性,性能)好像自然就有了,事实上并非如此。

我像现在说到伸缩性的核心瓶颈是在于现在的单链系统要求每一个节点负责整个网络里面的交易,这件事情导致了系统没有办法被伸缩,即使他不做安全验证,也一样没有办法伸缩。如果区块链系统要能够有伸缩性必须就要改变一件事情,这可能是唯一出路,就是要使得不同的节点能够负责网络的不同部分,然后大家一起来维护整个网络的安全和性能。

所以,当前看得到的几个不同的研究方向里,分片技术是最靠谱的解决方案。当前,不断有人提出一些新的共识机制去解决伸缩性的问题,其实对于现在1000TPS以上的系统来讲,共识机制本身已不是瓶颈,不管你用什么样的共识机制,它的瓶颈一定是在通信带宽上。

刚刚讲到区块结构,DAG(有向无环图)的方法其实是除分片以外的另一种可能性,它也可以使得不同的节点去负责网络的不同部分,这是一个办法,一个有益的方向。我也曾跟踪过这个方向的进展,但至今并没有很好的方案出来。

然后说侧链,我们看到很多侧链项目出来,它要攻克的难点看上去跟Layerone的技术是一模一样的,都是我要扩容,我要做伸缩性。这是个挺奇怪的事情,因为如果我们对系统分了层,不同层的解决方案一定是针对不同的需求,攻克不同的问题,不会说我把系统分成了两层,然后它们分解的是同一个问题。

那侧链有意义吗,我想是非常有意义的,侧链最重要的意义在于Layerone解决不了的问题。因为Layerone设计出来后,它上面的算法必须适用于主链上所有的应用,它不能去利用单独某个特定应用里面的一些交易结构,一些可以优化的地方它没法用,因为Layerone必须做到最广泛的通用性。

而Layertwo的侧链不一样,一个主链上可以部署多个侧链,每个侧链可以针对不同的垂直业务,垂直应用,侧链可以利用这些应用自身的交易结构做优化。另外还有一个问题,延迟这件事情很有可能是需要依赖侧链来解决,那真正的业务对延迟的要求可能是几百毫秒的级别,像这样的延迟基本上只有侧链才能达到。

总结一下,主链的伸缩性基本上就靠分片,侧链可以根据垂直业务去做各个业务上的优化,大家可以看到届时一个主链上应该会部署不同类型的好多侧链,服务于不同的垂直业务。

She Knows:问题4,您近日提出的突破不可能三角方案——Monoxide(异步共识组)就是属于上面提到的多链并行架构。Monoxide被计算机顶级学术会议 NSDI 2019 收录,并即将于 2 月底在波士顿正式公开发表。另一明星项目图灵奖得主、麻省理工学院教授的Silvio Micali 的 AlgoRand 项目也曾受其收录,您在上个问题当中讲到通过改善共识机制类型的项目,它的硬顶是通信带宽上,那么是否可以认为algorand的硬顶目前是几千tps?
王嘉平:确实如此,所有单链系统只要你要求每个结点负责整个网络上的所有交易,那它的带宽不会超过6000TPS。这个6000是根据当前互联网平均带宽的这个现状推演出来的一个TPS上限。

这个带宽限制影响了去中心化程度,因为你可以把带宽要求提高,矿场是有能力连接很高的带宽的,但普通人在部署全节点时就出了问题,因为他即使什么都不干,仅接收确认过的交易都会把他的本地带宽消耗殆尽,它没有办法赶上整个网络的出块速度。这也是当时BCH分叉时双方对出块大小争论的由来。

She Knows:问题5,您在Monoxide一文中曾用“一个中心”“两个基本点”来概括Monoxide,跟大家科普一下Monoxide到底如何打破“区块链不可能三角”?
王嘉平:为什么要强调带宽这件事情呢?因为全节点的压力不仅是带宽。计算内存、磁盘等都是都是负担,但唯独带宽会严重影响去中心化程度,它会限制你的地理位置,如果你要1G带宽,那么你唯一的选择就是找到一个大型的数据中心,把节点部署在里面。而不是说在世界各地任何一个地方去部署全节点。

所以Monoxide的核心设计理念是说我做分片,每个片有自己独立的一个链,让这个链去处理整个网络里一部分的交易和地址状态。等我有很多很多分片时,全网的性能和容量也就上去了。

但对于所有的分片设计和分片系统都有两大问题,也就是我说的两个基本点。其一,每个片本质上跟其它分片一定是相关的,因为它们要处理跨片交易。比如支付场景里两个用户在不同的分片里,怎么办?第二个问题就算力分散带来的安全性的问题。

在Monoxide之前也有一些分片解决方案,也是一个多链系统,让每条链独立工作,但比较坑的是你如何有个有效的方案去处理跨片交易,最初以太坊提出过一些动态的分配方案,去尽量减少分片交易出现的可能性,但这是不切实际的。因为系统性能提升需要更多分片,这一定会带来更高概率的跨片交易。在我们论文里面有个实验,当分片在64片以上时,跨片交易比例高达95%,这是我们根据以太坊的历史交易进行分片所得到的结果。如果我们试图回避跨片交易,一定会使得这个系统出现这样内在的矛盾。

所以在Monoxide的系统里我们不回避,且允许任意比例的分片交易。如何切分是完全随机的,遵守非常简单的原则。即便一个轻钱包都可以自己独立的去算出来,这个地址和交易应该属于哪个分片。

在安全性这个问题上,我们知道所有区块链系统都依赖于一个可信的大多数。比如POW的大多数代表了算力,POS的大多数就代表了抵押的资产。那么,分片后每个分片是独立出块,那意味着每个分片都有独立的共识系统,上面的矿工需要分散算力,对于POW来讲,单个分片的防御算力会是分片总数分之一,这是非常大的降低。这种情况下我们需要保障任何一个分片都很难被攻击,才能保障整个网络的安全性。

总结一下,所有分片项目考察的核心点就是两个。一是如何有效处理跨片交易,第二是如何有效解决这个算力 分散问题。

She Knows:问题9,以太坊在实施Sharding分片之前将会从PoW转向PoS,而Algorand的共识机制也是PoS的变种,您明确提出Monoxide是适用多种共识机制,它们不同会影响到分片等扩容方案的实施吗?
王嘉平:我聊一下共识算法吧,这纯粹是我个人的一些看法,可能存在偏见。

从技术上讲,只有POW算法才是真正纯粹的无需许可的共识算法,它对进入没有壁垒,是个人就可以参与。POS大家都熟悉,但其真正的共识算法并不是POS,是BFT等。这些共识算法要依赖于一个权重,POW里面是算力,BFT里面是抵押的代币。

在BFT这个共识算法里面,它其实本身是一个需要许可的算法,早被广泛用在中心化的分布式系统之中。为什么这么说,因为它的系统里存在N个验证者。这个N就确定了共识开始前有几个人才有资格参与共识。POW里根本没有这个N。

在BFT共识算法里,它需要一个公式把它转换成一个无需许可的算法,这个转换过程就是所谓的要选举出一个委员会出来。这件事情才是那些不同的共识算法在比拼研究改善的地方。它涉及的不仅仅是技术,也是整个经济模型,整个生态圈,它是大家互相利益的权衡。

说回Monoxide,我们的算法框架对于底下的共识算法是完全中立的,也就是说不管是POW还是POS,它们都可以利用这个框架来做跨片交易。

但在算力分散这个事情上,我们只有研究了票POW算法下面的抵御措施,如果你是个POS算法,同样也会存在一个分散的问题,我相信应该不难解,但我们的论文里并没有涉及到那个部分。

深度解读:Monoxide协议在分片的跨片交易和算力分散上的应对之道

 

神秘观察员洒脱喜:问题6,最近阅读王嘉平博士撰写的两篇介绍Monoxide协议的文章,我们可以了解到,这是一种并行、异步并独立工作的多链架构,其中每个共识组都是一条单独但又通过连弩挖矿技术进行安全共享(使得单个共识组的防御壁垒回升到 51%)的链,连弩挖矿非常有意思,它和此前已经存在的合并挖矿(例如狗狗币和莱特币就是典型的合并挖矿)概念有点类似,但又不同,能否介绍下其中的核心技术思想。

王嘉平:POW的算力攻防比拼的是出块速度,并不是物理上计算哈希的算力。在单链系统里它两是完全等效的,但在分片系统里它们可以不一样。

分片系统里的攻击模型是这样子的:所有矿工把算力分散的贡献到不同的分片里,它的挖矿收益可以最大化,也使得每个分片的算力比较平均,分片数量分之一的算力。攻击者它会集中所有算力去攻击某一特定分片,假设该分片被攻击者控制,则里面的非法交易可以通过跨片交易污染其它分片,因此一个分片系统必须要保证每个分片的安全性。

连挖矿的概念就让那些正常的矿工可以把算力贡献到不同的共识组里出块。同时它的算力不分散。因为,当它计算出一次满足难度的哈希后,它不像以前那样只出一个块,它可以为多个共识组都出块,把出块速度放大N倍,N就是分片数量,这个放大后的出块速度没有办法聚集起来作用在一个分片上,必须分散到不同的分块里,它没有办法聚集算力。

对比一个没有分片的系统,对一个矿池来讲,给它再多的机器也没有办法把吞吐量和容量提上去。伸缩性并不是说这些工作量可以被节省掉,伸缩性使得你可以用很多普通的机器集中到一起把大的任务分摊掉。

补充一点,如果有大量的矿工只参与少量的共识组,整个网络的理论攻击壁垒就会比50%来的低。但我们通过激励的方式来驱使矿工一定会参与到所有的分片里去。因为当它花了同样的电力,同样数量的矿机获得一次出块机会时,如果在多个共识组出多个块就能获得多个共识组里的奖励。

神秘观察员洒脱喜:问题7,您说该方案已经过现实环境的测试,其中2048个共识组(并行、异步并独立工作的链)可以让layer 1层协议实现近1000倍的吞吐量提升。而理论上Monoxide的伸缩性天花板是千万TPS的吞吐量和几百TB的状态容量,这种伸缩性非常恐怖!不过前提要求节点数达百万数量级!在目前的环境下这个理论值显然是不太现实的,您认为目前现实的节点数能够达到多少,性能扩展能实现多少?应用这种方案后,是否会引入新的攻击向量的可能?
王嘉平:对,这是一个理论的推演。首先达到几百万这个数量级节点得要求其实并不高,因为如果我们要求那么高的TPS就意味着这个业务已经非常巨大,在时候要求全网有几百万的节点存在并不是一个不可能的事情。

我当时做这个推延只是想说大规模的这个吞吐量以及大的整个状态、容量这件事不仅是个技术问题,同时也是跟一个社区大小相匹配的问题。

我们跟很多其它分片方案不一样,我们尽量避免引入新的实体,实际上也没有,它和大家熟悉的链本质上没有区别,也就没有引入新的攻击面。唯一需要考量的安全问题就是在分片系统里存在的安全问题(算力分散问题)。

神秘观察员洒脱喜:问题8,您是侧重于计划和其它公链合作应用Monoxide协议(比如比特币或者以太坊),还是计划自己发行Token?
王嘉平:这实际上是产品化和落地的事情,我做为一个做技术的人当然希望技术能够最大限度最大范围的被应用,但说到如何使它更好得被用起来取决于到时具体的市场情况。

熊市,投资人如何投资和看趋势?

 

She Knows:问题11,熊市是否会影响到创新工场或传统投资机构对区块链企业的投资热忱和意向?您比较看好区块链哪几个细分领域的发展?

王嘉平:我在这里不能代表创新工场,我代表自己谈谈对币圈投资的看法。

现在是熊市,投资预期回报率下降了,我相信所有人对区块链方向的投资都要比之前谨慎得多。当前这个阶段,我比较看好两个大方向,一个是整个区块链本身的基础设施,公链是最明显的,其它包括矿机、交易所,用户入口也是,比如钱包、浏览器。

另外一个可能跟很多人角度有点不一样,它并不是区块链本身,而是有了区块链之后可能出现的一些全新的方向,它可能跟区块链没有直接关系,但受益于区块链。

2006年左右,Bittorrent作为一个去中心化应用占据了互联网约百分之六七十的流量,无人能及。但BitTorrent整个业务完全不赚钱。有些业务它完全以去中心化的方式来开展,这样的业务本身很难建立我们在互联网上看到的盈利方式,比如说广告推荐,导流。但有了区块链以后,可以利用区块链的经济模型为去中心化应用建立一些商业模式。所以当时孙宇晨买了BitTorrent我还是蛮震惊的。

She Knows:问题12,您曾经表示看过无数花式白皮书,漏洞百出的技术架构,自说自话的经济模型,荒诞鬼扯的应用场景。您觉得公众最易采坑的有几种区块链项目模型或套路?
王嘉平:我讲讲跟技术有关的套路吧。当时有蛮大一批项目,尤其是公链,出场都是以技术独特性为卖点。这就落实到我们如何去评价一个技术是不是靠谱。最直接的方式就是去读白皮书,看是不是有问题。但有些项目方的白皮书很复杂,什么技术都放上去了,分层又分片,主链又侧链。有一类相对比较优秀的项目会有很简洁的技术白皮书,讲清楚它的技术是怎么回事儿,怎么实现,有什么样的架构。

但所有白皮书都有一个通病。在工业界,白皮书在产品成熟甚至开卖了才会出现在用户手里,它用来帮助用户使用产品。这些白皮书通常不会介绍说我为什么这么做,为什么这么设计。论文就不一样了,你提出新的方法就要讲清楚为什么提出这个方法,好处坏处在哪里,设计动机是什么。这是论文和白皮书最本质的区别。

另外,我们说如果一个公链项目,做性能的,那这个论文就应该发在分布式系统,网络系统上面,这些顶级会议或者其它上面去,那些地方才是真正评价这一类系统的地方。

再说一下专利,有些项目说有很多专利,那首先要看讲的是什么东西。专利在审核的时候最核心的是审核这个专利有没有跟其他专利相同,有没有重复性。那就意味着,我写一个不正确或扯淡的东西一样可以申请专利,给钱,然后不跟原来的专利重复就可以。

大家现在看涨看跌基本上都是在几个月尺度的上面,如果这么看,那么跟产业、技术、业务都没有关系,你就看谁比较能忽悠就可以了。

开春市场起波澜,2019年区块链可以迎来春天?

 

She Knows:问题13,昨天沉寂良久的市场迎来一波小高潮,您认为这波熊市什么时候才会结束?未来春天又会可能以什么引爆呢?

王嘉平:我相信整个行业的前进不是因为一个或者两个特定的时间而爆发,而在于整个行业不管是技术也好,大众认知也好,经济层面更有效的组织方式也好,各个方面逐步推进使得行业产出成果,服务和产品为更多的人所用。

有时候确实有些事情会引爆市场,但这些引爆出来的短期大幅的暴涨,一定会在某一天跌下来,真正整个行业的推进是一个非常缓慢的过程,没那么快。

She Knows:问题14,您觉得,区块链到底能为现在或者未来的数字世界带来哪些重大变革?
王嘉平:我相信这里是会有重大变革,区块链所扮演的角色可能会更底层,到时候大家所看到的带来重大变革的是那些被区块链赋能之后的去中心化应用,这些去中心化应用会是什么呢,我们可以看看现在互联网当中剩下的问题。

我在《区块链到底有什么了不起》一文里讲到,在我眼里区块链最核心的一件事情是它使得计算这件事情、过程、这件事情可以不掌握在一个特定的人手上,这样,它的计算结果才是可信的,建立的规则是可信的。

按照现在的技术发展,搜索引擎这样规模的应用还没有办法被去中心化架构所代替。但有些应用今天也许可以。只这些应用大家去看未来的变革时千万不要仅仅把视野放在区块链上,它们很可能一开始跟区块链一点关系都没有,但当它需要建立商业模式的时候会仰赖区块链。如果它不需要盈利的话完全可以脱离区块链独立运作。所以,这些应用很可能来自于区块链外面,而不是诞生于区块链。

哪些应用适合放在区块链上?在我看来有一个非常清晰的边界,那就是应用里所发生的行为是不是需要向第三方证明。

以支付举例。每个人的余额是需要向第三方任何一个匿名方证明,这需要区块链。一个邮件系统呢?除非你要在上面收个手续费什么的,否则它可以跟区块链一点关系都没有。因为发个邮件不需要向第三方证明,双方之间验证就可以了。

我们看BitTorrent整个的发展,因为BitTorrent一直是个工具,它没有把自己发展成一个平台,有用户,不能盈利。现在大家在开发去中心化应用时区块链是唯一平台,但这个平台其实提供的不仅仅是去中心化能力,它还提供了共识能力。很多应用它想要去中心化,但其实它并不需要共识,这一类其实没有必要放在区块链上。同时也是个期待吧,未来应该是有去中心化平台出现,这个所谓的去中心化平台会满足一些在去中心化场景当中的通讯,计算,和存储,但是它不需要共识。

She Knows:问题10,为了DAPP的效率,适当舍弃去中心化,比如EOS,这样的方案您预测是否会成为未来一段时间的主流方案?
王嘉平:我想说DAPP所代表的其实远远要超过那些在公链上跑的用智能合约写的应用。因为去中心化应用在区块链之前就已经有了,比如BT下载。我们站在公链的角度去看DAPP需要什么,公链需要支持什么,这并不是一个当下固定的答案,它是一个不断变动的目标。

短期来讲,我们为了DAPP效率舍弃掉去中心化这件事情,但未来的DAPP一定不是现在的规模,它会和当前主流的互联网应用同等规模。这意味着性能、容量都非常重要,它的去中心化也会非常重要。一个业务如何可以用中心化的方式来完成,可以选择云计算,它和和区块链没有关系。

评论(1)
登录 账号发表你的看法,还没有账号?立即免费 注册
  • LYL浪荡者的独白 2019-02-19
    王教授在知乎上对于毛露露的问题为什么不敢回答?忽略了rchain就去谈分片,举例太不全面了。