1. 首页 > 自媒体

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

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算法,同样也会存在一个分散的问题,我相信应该不难解,但我们的论文里并没有涉及到那个部分。

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

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

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

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

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.fjxmta.com/zmt/33618.html

联系我们

在线咨询:点击这里给我发消息

微信号:wx123456