对话 Ted:关于 Avalanche 的二三事

Avalanche 是业内明星公链,在 2019 年 2 月完成了 600 万美金的 A 轮融资。a16z、Polychain、Coinbase 前 CTO Balaji Srinivasan、Metastable、 Initialized 和 Abstract Ventures 的创始人 Ramtin Naimi 等机构和投资人参与了该轮融资。项目的主要团队由康奈尔大学的学术团队构成。而我们此次的对话者 Ted Yin,是 Avalanche 公链的联合创始人和首席架构师,同时也是 Libra 项目共识 HotStuff 论文作者,目前在康奈尔大学攻读博士,即将博士毕业。

对话 Ted:关于 Avalanche 的二三事

作者:江小渔

编译:黑土

出品:碳链价值(ID:cc-value)

碳链价值: 作为一种共识机制,雪崩协议和 PBFT 最大的区别在哪儿?用户如何参与到系统的共识形成中来?

Ted: 在说明的它们的区别之前,我们先谈谈它们的相似之处:这两个协议都基于投票,不需要通过算力来挖矿;此外,它们看上去都像是一个通讯过程,都有群发消息。

但是,两大协议之间存在着巨大的差别。中本聪共识的安全是基于概率的,而 PBFT 的安全性是 100% 的。也就是说,在 PBFT 公式机制下,只要参与决策过程的参与者里,有不超过一定上限的人是坏人,那么这个系统就一直是安全的,安全系数为 100%;如果超过了这个上限,系统的安全性就得不到保障。但是比特币和目前以太坊的共识就不是这样了。它们有一个 50% 算力安全的概率保证。随着坏人的增加,这个系统的安全性逐渐下降,比如坏人个数从 3 个增加到 5 个,安全性就从 99.99% 下降到 99%;当系统中的坏人比例超过了 50%,系统的安全性就极大降低。

对话 Ted:关于 Avalanche 的二三事

如果我们做一个关于坏人比例和系统安全系数的函数曲线图,那在中本聪共识那里,我们将得到一个比较光滑的曲线;而在 PBFT 那里,我们将得到一个陡峭的几个线段。这就引出了我们 Avalanche 所采用的雪崩协议。在这一点上,我们反而更像是中本聪共识,也就是说我们的安全性是个概率的,这是我们和 PBFT 协议最大、最直观的区别。

当然,导致安全是概而非确定性的原因,其实是很深层次的。虽然雪崩协议和 PBFT 都是投票,但是投票的方式并不一样。PBFT 投票是个确定性的过程。举个例子,一个董事会召开会议,董事长提议说咱们要干什么,大家来讨论,最后投票决议。那么这样的过程就很清晰,因为你知道参与投票过程的有多少人,甚至可以明确到投票的人占有多少股份,知道投票人的一切情那么最后得出的结论也一定是明确的。

对话 Ted:关于 Avalanche 的二三事

PBFT 共识的模型

而雪崩协议共识机制就不太一样了。我们不像是个董事会,更像是员工之间在悄悄议论一件事情,比如公司员工私下在议论一件事情或者传闻是不是真的。如果公司全都是好员工,那么你员工的传闻和我们通过董事会得到来的结论应该是一样的;甚至,只要把坏员工比例控制在某个范围内,员工们私下讨论得出来的结论,在数学意义上仍然可以类比董事会投票。

当然,我们不能向网络询问所有员工的看法如何,因为在一个大的公司里,可能有上千号甚至上万号人,这样做太费时间,效率也不高。所以我们采用的是泛化的过程,有点像是我随机去问我周围几个朋友某件事是不是真的,然后通过他们给我的反馈来不断刷新我自己对这个事情的认知。比如我一定程度上可能认为这个事情是真的,如果我反复的得到的答案是大部分人都认为这个事情是真的,那么我就会更加确信这个答案。

在我询问别人的同时,别人也会来问我,而我会根据现在的个人倾向来决定答案。所以这就会形成一个很有意思的现象,就像现实中某个消息不胫而走,如果在某一时刻突然有一定规模的人都相信这个事情是真的,它就可能有压倒性的优势,让整个网络都认为这个事情是真的。我们利用这个原理作出公式,而这样的系统安全自然是基于概率,基于随机模型,而非完全确定的。

对话 Ted:关于 Avalanche 的二三事

对话 Ted:关于 Avalanche 的二三事

对话 Ted:关于 Avalanche 的二三事

Avalanche 共识的模型

有人会问:这样的系统是不是没有 PBFT 安全?我的答案是,既然你能够接受比特币和以太坊的概率性安全,那怎么不能接受雪崩协议的概率性安全呢?更何况,雪崩协议可以解决 PBFT 这类共识不能解决的性能瓶颈问题。在 PBFT 协议中,会有一个或者多个人需要给所有人发消息,要想不断拓展性能,这样的代价是没有办法承受的。

碳链价值: 在比特币的系统里面,大家是靠算力参与到整个系统的共识的形成的,那么在雪崩协议中大家是依靠什么来参与到共识的形成呢?

Ted: 和比特币利用算力形成共识不同,雪崩协议和 PBFT 的决策更多是一个成员机制的问题。你要参与系统决策,就得先报名,然后通过某种方式加入纯粹的算法,通过算法决定出最后的结果。算法本身并不能够保证参与者都是好人;至于怎么去控制好人的比例,这就需要交给一个额外的机制来进行。在这里,一个常用的手段就是 Proof of Stake ——交押金。只有交了押金,你才能进来玩;如果你表现的不好,那可能押金还会被扣掉,或者不给收益。

我们经常提到的 Proof of Stake 部分,其实本身跟共识或者算法的关系没有那么大。大家对这个东西误解很深,很多人会认为这世界上就两类共识:PoW 和 PoS。但其实这种分类很糟糕,因为这两个代号更多意义上是指的是准入机制,而不是指的算法或者共识机制。造成这种误解的根源,恰好是因为有中本聪协议这么一个特别神奇的存在,正好他的整个系统能同时做既做准入又做共识,以至于让很多人认为只要是个共识的算法,就得同时具备准入机制。

为什么要设置准入机制?这个其实很好理解。我们以新浪微博为例:假设我们在微博上发消息或者是登录都没有限制,没有验证码也没有时间限制,那我们完全可以写个程序,然后用机器人不停地注册很多号——可以在几分钟内注册上百万个号。这样我们就得到了很多个僵尸账号。而在公链系统中,假设没有这样的准入机制,我们也能制造许多个垃圾身份参与决策,有可能一百多万个账号参与投票而背后只站着一个坏人。这将大大损害系统的安全性。

在 Avalanche 系统中,我们通过 Proof Of Stake 交押金的方式,设置了准入门;你交了足够的押金,然后才能进来玩。我们的基本理由是,可以通过某种难以短时间大量获得的资源,来确保网络难以被某方势力推翻。至于这种资源是什么,它可以有不同的表现形式。比如说可以表现为算力,也可以变现为持币数量。然而归根结底,这些有限的资源都表现为金钱。

碳链价值: 大家对 PoW 印象是谁的算力最多,那么谁就说了算;对于 PoS 的印象是谁有最多的币谁说了就算。你怎么看待这个问题?Avalanche 如何保证网络的去中心化?

Ted: 你说到了一个比较宏大的话题。有很多人说,搞区块链是为了搞市场自由主义,不希望有寡头统治,不希望中心化,区块链的灵魂讲的也是去中心化的信任。但发展着发展着,大家就发现不是那么回事了。你比特币不是讲去中心化吗?怎么你的算力也集中在少数人手里了?你 PoS 不是也说搞去中心化吗?怎么你的币也集中在少数人手里了?

我承认,早期区块链从业者的理想相当崇高。但如果你跳开构建理想世界的乌托邦思潮去看,你不得不承认,在不反抗外在世界不平等的前提下,想凭空构造一个平等的世界,这是一个空中楼阁。

在现实情况中,世界的财富就是不均匀的。你能用算法去解决外部环境不平等给系统带来的影响吗?我觉得未必。从本质上,这不是一个技术问题,这是一个社会问题或者政治问题。算力最多的人就是主宰,币最多的人就是主宰,对应到外部世界,这两样东西都能够用金钱买到,因此最富有的人才是主宰。程序员能解决这些问题吗?我抛砖引玉,大家可以做更深的思考。

在大环境不变的前提下,Avalanche 尝试做的,是给大家提供一个更快、同时也尽量公平的算法或者平台。我们之前也看过很多项目,他们背后的公司前期持有大量的币,或者让某些投资人投持有大量的币。圈子里有些人开玩笑,把这个称为「Consensus by Skype」,就是说咱们用 skype 来做共识,虽然是跑的都是节点,但其实都是假把式。其实这个系统里就那么 10 到 20 个节点,治理权甚至是价格的涨跌,完全靠委员会开一个会就能决定。这就很没有意思了。

Avalanche 已经用实际行动表明自己的态度。与其他某些知名项目相比,甚至一些号称是美国团队的项目相比,我们可能是唯一一个正儿八经在美国注册的公司。如果去看别的项目,你会发现很多是在一些很神奇的地方注册的,那些地方可能你一辈子都不会去一次。

这是为什么呢?因为如果在美国本土注册的话,这家公司的所有商业行为都要严格受美国法律的管控,特别是在金融方面。也就是说,我们整个行为都要符合美国证监会的约束和管控,要做到这一点并不容易。我们也见过有很多美国公司在开始的时候,操作搞得很花,然后割了韭菜、骗了钱或是干了其他的什么事情,最后 SEC 给他律师函警告,公司违反相关法律,法庭上见。

合规就会意味着在很多阶段都必须要注意。如果出现寡头统治的情况,很显然这个事情在美国的政策法法规上就会出问题。所以我们从创立公司到现在,一直在讨论这个问题,为的就是保证我们能尽可能的去中心化。我们希望在已经既定的社会环境和法律法规下面,尽最大可能做一个既合规又去中心化的网络。

碳链价值: Avalanche 的代币在系统中充当了一个什么样的角色?它的代币的升值价值来自于何处?

Ted: 我们 Avalanche 的代币名称为 AVAX,总量为 7.2 亿枚代币,其中 3.6 亿枚在主网启动时即可用。代币最大的作用是保护底层系统的安全、实践链上治理,以及方便跨链。

说的细致一点,Avalanche 是通过 PoS 机制来决定验证者的。在这个网络中,持币者可以通过链上治理投票来决定抵押奖励、空投等等活动提高或降低回报率,从而进行代币的治理。PoS 机制中的验证者基于抵押的代币数量和时长进行分发,分发函数尽量追求方差最小化,保证公平分配,从而来抵御女巫攻击。此外,Avalanche 代币也作为跨链的结算层,支持 AVALANCHE 平台上的其他子网进行跨链原子交换。

总体说来,AVAX 在 Avalanche 中扮演的角色,和以太坊代币在以太坊网络中扮演的角色类似。AVAX 代币的价值,来自于 Avalanche 公链的不断扩张。Avalanche 公链的使用者越多,生态越发达,系统代币的价值也就越高。所以在这里我想讲一下,Avalanche 公链相对于以太坊和比特币的不同之处。

我们其实同时在做两方面的事情:从学术和工程上,我们希望实现一条性能比以太坊快 100 倍的公链;但光有快是不够的,我们不能只停留在学术层面,不能只盯着 TPS 不放手,更要注重用户体验。这种就像是手机跑分一样,大家买手机并判断手机是否好用,不是因为跑分高或者低,而是看用的是否顺手。

现在,通过我们的全新设计,在不分片的情况下,Avalanche 已经能够实现每秒数千笔交易,也就是几千 TPS。但这还不是 Avalanche 项目最强大的地方,我们最强大的地方在于协议里的延迟非常小。例如比特币的延迟达到了至少 10 分钟,而根据我们的测试,即便是在高度分散的网络环境下,协议本身的延迟可以做到单笔交易 1.35 秒这么一个量级,跟支付宝、VISA 这些相比,没有感觉到特别难用。

人们经常把 TPS 和延迟两个概念混淆起来,但其中有很大的差别。让我们好好想一想:世界上把 TP S 能做的最高的东西是什么?纳斯达克吗?是上交所和深交所吗?不是。其实是顺丰快递、中国邮政、联邦快递。假设我现在在上海,你在北京,我要和你做交易,把一堆数据传送给你,而这堆数据体量非常之大。这时,我可以雇一个顺丰快递的卡车,从上海一路开到北京。这里面的延迟就很高了,至少需要一两天的时间才能到。

然而,假设我在这辆卡车里面直接铺满硬盘,或者在里面放满 128G 甚至 1T 的手机 SD 卡,给它装上几十吨,那这个卡车装载的数据量可能是兆 T 级别的。这时,哪怕它的延迟达到了一两天,但由于它运了这么一个天文数字量级的数据过去,你会发现它平均每秒对应的 TPS 还是很高。

所以,TPS 指标反映的是这个系统在某一个时刻能够承载的所有交易总量,它并不能完全反映所谓的快和慢。要真正满足用户的产品体验,你得把 TPS 和延迟结合到一起看。也就是说,你不仅要保证这个系统有一个较大的吞吐量,你还有保证每一笔交易完成所需的时间都较短。

对单个用户来说,协议本身效率的高低,决定了他本地延迟的长短,这是很难去伪装的。因为每个协议都可以通过一些办法去优化吞吐量(TPS)。它可以通过在吞吐量和延迟之间做均衡,比如说可以增加吞吐量,但是以增加延迟为代价;也可以降低延迟,但又会降低吞吐量。

许多公链都遇到了这个问题,甚至连比特币的中本聪共识也不例外。在同等安全的情况下,他们需要等待非常长的时间,这个时间基本上是以数 10 分钟到数小时的量级计的。试问在日常生活中你会去使用它吗?肯定不会。可是如果我们从数据上去看该系统的安全性,可能还不如我刚才说的确定性安全的算法,这就非常尴尬。

因此,如果延迟高的话,就算吞吐量再大,只能说明慢的系统会有很多人可以用,但并不代表每个人用的体验会足够好。然而我们的系统,能够在一个令人满意的吞吐量的前提下来获得较低的延迟,我认为这是 Avalanche 的主要优势。

碳链价值: 能否介绍一下 Avalanche 的分层机制?

Ted: 在系统层面,分层是一个非常普遍、非常常见的做法。不只区块链,所有计算机系统都有这个概念。比如说你现在用的 iPhone iOS 系统,它内在就分为很多层次。最上层是应用层,也就是我们常用到的 App;底下是手机系统层;最下面那层要直接去跟苹果芯片打交道。再比如说我们现在打网络电话用的通讯协议,它一共分为 7 层,每一层都要负责和它所对应的单元进行交互。不过,一般没有人会在意苹果系统分为多少层,网络电话通讯协议又分为多少层,大家只会在意这些产品用起来是否顺畅。

类似地,我们也对 Avalanche 策划了分层。不同于很多区块链单层的架构,Avalanche Lab 设计了三层网络结构。最上面的应用与链之间是分离的;链与共识是分离的,而共识和最底层的网络是分离的。

将共识与网络分开,也就意味着我们有一个相对独立的、偏算法偏数学的对共识的抽象或者描述。这样的话,无论是用哪种网络的实现,对共识本身都没有太大的干扰。将执行环境和链本身分开,从设计角度就考虑了可扩展性、模块化和可组合性。

此外,我们在架构上设计了单链版本的 Snowman 用于智能合约,以及 DAG 版本用于支付,两者是并行关系。DAG 网络上会有很多逻辑自洽的独立子网,每个子网都可以自己设定执行环境、规则和独立的验证者,也就是说这种子网的架构可以允许任何人部署自己的区块链平台。Avalanche 代币所在的子网作为 ID-0,负责管理达成共识、给子网提供安全性、跨链资产审核和对于新增子网的收费。子网之间具有互操作性,也就是说可以实现原子级别的跨链。

话说回来,如果有一天区块链技术真的普及开了,大家可能也就不会关心分层了。就像小米的 MIUI 针对安卓深度定制,你会关心它到底分了几层吗?不会的。我也真心期待那一天的到来。

碳链价值: 凭借强大的 DeFi 生态,以太坊稳稳占据着公链市值第二的位置。你们最近业宣布将支持 5 类 DeFi 项目。能否分享一下你对 DeFi 的看法?要打造丰富的 DeFi 生态,你认为 Avalanche 需要做到哪些?

Ted: 区块链领域是一个「在概念上」发展得特别快的行业。每次我看到那些新概念的时候都觉得很神奇:怎么又造一个词出来了?后来我意识到一件事情,你不需要去理解每一个词,你只需要抓住它的本质就行了。特别是在本行业,虽然有一些方法上的改进,但不同的词语其实表达的是同一个概念,只是大家对前一任最后的方案失望以后,在某个时候突然「换皮重现」。

在 DeFi 之前,「开放式金融」的概念如雷贯耳。我记得在 2016 年,大家在以太坊上就很热烈地讨论过,能不能用智能合约来做交易。当时我们学校有个组织叫 IC3,他们在纽约组织了一场 work shop,请了一个专门做金融并且完全不懂计算机的人,来给我们讲对区块链的看法。通过那场活动我意识到,金融行业可以和区块链融合,碰撞出热烈的火花。传统金融行业的从业人员,是以一种既期待又害怕的心态来看待这场融合的。

2014 年,大家可能还没把这当成一回事,天天说比特币第二年就要完蛋;可慢慢的,大家感受到了这么一个气候。再后来,大家发现这个东西是短时间内不太能抵挡得住的潮流了,不得不开始去学习或者去接受。

现在我能感受到,传统金融和新锐的区块链行业正在相互交织。我们可以看到摩根大通的区块链团队,虽然他们在计算机分布式系统这方面研究要薄弱一点,但确实是在拼命尝试。而原来区块链圈子的那堆极客们,也在思考如何提供更好的金融服务。从中本聪的带有无政府主义的 Crypto Currency 开始,到现在基于 Crypto Currency 搭建的乐高式的去中心化金融工具,一个新的行业正在被构建出来。

如果哪天区块链登上世界各地的头条,说世界因为区块链技术而得到改变,那人们生活里感觉到的第一个现象,可能就是跟金融相关的产品和服务。

碳链价值: 在你看来,未来公链的竞争格局将会出现怎样的变化?

Ted: 在我看来,公链之间的竞争之前是劣币驱逐良币,那些最会投机取巧的项目获胜。现在,随着监管日渐完善,投资者日益被市场教育,人们对公链的评价机制正在好转,开始辨别哪些项目有法律风险,哪些项目完全是骗钱的。合规是一个很明显的发展趋势。

谈到公链未来的竞争格局,很多人会站出来说:比特币和以太坊的「两超格局」已经很明显了,它们把所有的蛋糕都吃完了,剩下的人只能够分蛋糕里的渣渣。但其实并非如此。我觉得比特币和以太坊更像是先驱者。什么是先驱者?先驱就是抛砖引玉,给后来者做榜样。二者固然有很多出色之处,但他们本身还不具备实用价值,这是很多人已经深刻意识到的问题。

让我们回忆一下以太坊上最火热的应用 Crypto Kitty (加密猫)。大家一开始觉得很有意思,但时间一长就发现:不就是在网络上养个猫吗,除此之外还能让它干嘛?现在又提出了 NFT 概念,但本质还是一样的。它并没有和外在的实体世界打通,只是在自己的世界里打转转。就像你画一张北京的地图,说我在这认购了一套房子,但这是虚拟的房子,虽然它可以给人来来一种占有欲和满足感,但它发挥不了实际的用处。公链要真正做大,必须跟实际生活相结合。

所以说我更倾向于认为,比特币和以太坊只是把前菜给吃了,真正的大蛋糕还没上来。至于这个蛋糕到底做不做得出来?现在还得靠同仁们努力,而不是在饭桌上打架,也不做菜了,这个情况就会很危险。

如果你问这个行业会怎么去发展,我觉得很大程度取决于它现在的气氛如何。不是说以太坊是原来的老大,我要干掉他成为新的老大,而是大家要去打天下。咱们不能老呆在这个狭小的数字货币圈内搞概念、搞营销,老去争这一亩三分地,咱们得出圈,做出真正有意义的应用。如果不能做到这一点,那么别的很多事情都是空中楼阁。

碳链价值: 在区块链的第一个十年里,无论是比特币还是其他数字货币,抑或是现在火热的 DeFi,都在围绕金融做文章。在区块链的下一个十年中,公链的主要战场还将是金融吗?

Ted: 现在已经有一些除金融之外其他业务的迹象了。

比如有人提出,咱们能不能用区块链的可溯源、可验证、不能伪造的特性,去处理公证类型的业务。我觉得当然可以。公证是一个古老的需求。现在国内的公证处,如果要证明一些事情,往往会需要一个受信任的第三方提供相关材料,其流程相对复杂繁琐。现在,区块链可以简化其中的流程,在这方面它能够给人们带来实实在在的便利。

还有人提资产上链。资产上链看上去是一个和金融高度相关的话题,但它带来的影响远远不至于金融。快递公司、奢侈品公司、食品监督委员会等等机构,可能都用得到这项功能。

区块链也可以用于不同行业、不同机构之间的业务协同。在同一个行业,只要它不是完全垄断的,必然就存在两个及以上的公司。这些公司肯定是相互竞争的,因为他们提供的是类似的服务或者类似的产品;在他们做大之后,他们肯定是不愿意直接合作的。这时候,区块链会给他们一个相对能接受的一种方式,去让他们合作。

这样的逻辑不仅仅可以用在公司与公司之间,也同样适用于公司与监管机构,市场经济主体与政府部门,地方政府与地方政府,以及地方政府与中央政府之间。如果再上升一个层面,我认为甚至可以用于在国家与国家之间展开协作。

现在其实还有个思维误区:很多人觉得,区块链就是用于解决一些传统技术解决不了或解决不好的问题。可是如果把时间尺度拉到未来 10 年看,我觉得这样的想法是不够的。在有了区块链技术后,我们不能只去想已有的问题,而是原来没想过的问题,现在要想想看是不是也能解决。这才是区块链技术最独特、最有亮点的地方,想的人也比较少,但是这一块非常有意思。

碳链价值: 然而,这样的思想在圈内并不是主流。或许是因为无政府主义思潮,圈内的思想者不愿意去想这个问题;又或者是因为本身就没有资源,所以想这个问题也显得可笑——总之,业内很少有这样的声音出来。

Ted: 大家现在还在挣扎于能不能解决传统问题,以此来证明自身的价值。这当然无可厚非。如果能解决前面的这种问题,只能说明区块链技术可以站稳脚跟,能够证明自身价值。但是如果要成为很多人口中的所谓「下一代革命」,也就是互联网方面本质性革命的话,你就得改变大家的生活、改变大家思考问题的方式以及商业的模式,要做进一步所谓革命性的变化。那么,我猜你得有自己不一样的东西。

为什么我们说人工智能是革命性的?并不是因为它能够取代几个在工厂流水线上的工人,而是它让原来一些完全做不到的事情成为了可能。拿一个俗气的例子——比如美颜功能来说:原来你根本想不到,拍照后会有这么多东西,最后可以拍出这样好的照片,做出这样多的变化,甚至你还可以辅助发展出一个行业。类似地,直播在某种意义上,或多或少的受到了人工智能的恩惠。

不可否认,人工智能不仅仅解决了一些原来技术解决不了的问题,同时还解决了一些我们从未想到过的问题。如果有人说区块链是下一个类似于人工智能的东西,那它的发展方向也一样会突破现实的条条框框。——当然,现阶段这个评价确实有点拔高了,毕竟区块链行业还远没达到人工智能的工业化程度。

对话 Ted:关于 Avalanche 的二三事

来源链接:mp.weixin.qq.com